Received: from localhost ([::1]:36278 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1V35We-0003e6-W5; Sat, 27 Jul 2013 07:31:17 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:50930 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1V35WS-0003dw-8B for wikineurotic@lojban.org; Sat, 27 Jul 2013 07:31:11 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Sat, 27 Jul 2013 07:31:04 -0700 From: "Apache" Date: Sat, 27 Jul 2013 07:31:04 -0700 To: wikineurotic@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 2.0 (++) X-Spam_score: 2.0 X-Spam_score_int: 20 X-Spam_bar: ++ X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page wavelessonscontinued was changed by gleki at 14:29 UTC You can view the page by following this link: http://www.lojban.org/tiki/wavelessonscontinued [...] Content analysis details: (2.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: lojban.org] 0.0 RCVD_IN_DNSWL_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to DNSWL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [173.13.139.235 listed in list.dnswl.org] 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 Subject: [Wikineurotic] Wiki page wavelessonscontinued changed by gleki X-BeenThere: wikineurotic@lojban.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikineurotic-bounces@lojban.org VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWQgd2FzIGNoYW5nZWQgYnkgZ2xla2kgYXQgMTQ6 MjkgVVRDCgpZb3UgY2FuIHZpZXcgdGhlIHBhZ2UgYnkgZm9sbG93aW5nIHRoaXMgbGluazoKIApo dHRwOi8vd3d3LmxvamJhbi5vcmcvdGlraS93YXZlbGVzc29uc2NvbnRpbnVlZAoKWW91IGNhbiB2 aWV3IGEgZGlmZiBiYWNrIHRvIHRoZSBwcmV2aW91cyB2ZXJzaW9uIGJ5IGZvbGxvd2luZyB0aGlz IGxpbms6IApodHRwOi8vd3d3LmxvamJhbi5vcmcvdGlraS90aWtpLXBhZ2VoaXN0b3J5LnBocD9w YWdlPXdhdmVsZXNzb25zY29udGludWVkJmNvbXBhcmU9MSZvbGR2ZXI9ODMmbmV3dmVyPTg0CgoK KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioKVGhlIGNoYW5nZXMgaW4gdGhpcyB2ZXJzaW9uIGZvbGxvdyBiZWxvdywgZm9sbG93ZWQgYWZ0 ZXIgYnkgdGhlIGN1cnJlbnQgZnVsbCBwYWdlIHRleHQuCioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgoKKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKQEAgLUxpbmVzOiA1OTkt NjExIGNoYW5nZWQgdG8gK0xpbmVzOiA1OTktNjEyIEBACistKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCgpfXycnenVrdGUnJ19fIOKAnHgx IGlzIGEgdm9saXRpb25hbCBlbnRpdHkgY2Fycnlpbmcgb3V0IGFjdGlvbiB4MiBmb3IgcHVycG9z ZSB4M+KAnQorIF9fJyd6YXJjaScnX18g4oCceDEgaXMgYSBtYXJrZXQvc3RvcmUvZXhjaGFuZ2Uv c2hvcChzKSBzZWxsaW5nL3RyYWRpbmcgKGZvcikgeDIsIG9wZXJhdGVkIGJ5L3dpdGggcGFydGlj aXBhbnRzIHgz4oCdCgotICcnZmknbyB6dWt0ZSB7ZmUndX0ga3UgbG8gc2thbWkge2t1fSBjdSBw aWxubyBsbyBsb2pibyB7a3V9e3ZhdX0nJyAtIFdpdGggdm9saXRpb24sIGEgY29tcHV0ZXIgdXNl ZCBzb21ldGhpbmcgTG9qYmFuaWMgKHBlcmhhcHMgaW1wbHlpbmcgdGhhdCBhIExvamJhbmljIGNv bXB1dGVyIHdlbnQgc2VudGllbnQ/IFRvdWdoIGl0IGRvZXMgbm90IHNwZWNpZnkgd2hvIGhhZCB2 b2xpdGlvbi4gSXQgY291bGQganVzdCBiZSB0aGUgcHJvZ3JhbW1lciB3aG8gcHJvZ3JhbW1lZCB0 aGUgY29tcHV0ZXIgLSBob3cgYm9yaW5nLikKKyAnJ2ZpJ28genVrdGUge2ZlJ3V9IGt1IGxvIHBy ZW51IHtrdX0gY3Uga2xhbWEgbG8gemFyY2kge2t1fXt2YXV9JycgLSBCeSB0aGVpciBvd24gdm9s aXRpb24sIGEgcGVyc29uIGlzIGdvaW5nIHRvIHRoZSBzdG9yZQoKTm90ZSB0aGF0IHRoZXJlIGlz ICcna3UnJyBpbiAnJ2ZpJ28genVrdGUge2ZlJ3V9IGt1JycuIFdpdGhvdXQgaXQgdGhlIHN1bXRj aXRhIHdvdWxkIGhhdmUgYWJzb3JiZWQgJydsbyBza2FtaSB7a3V9JycgYW5kIHdlIGRvbid0IHdh bnQgdGhhdC4KCi0gQWx0ZXJuYXRpdmVseSwgd2UgY2FuIHNheToKKyBXZSBjYW4gc2F5IHRoZSBz YW1lIGluIG90aGVyIHdvcmRzOgoKLSAnJ2ZpJ28genVrdGUge2ZlJ3V9IHpvJ2UgbG8gc2thbWkg e2t1fSBjdSBwaWxubyBsbyBsb2pibyB7a3V9e3ZhdX0nJyA8YnIgLz4nJ2xvIHNrYW1pIHtrdX0g Y3UgZmknbyB6dWt0ZSB7ZmUndX0gcGlsbm8gbG8gbG9qYm8ge2t1fXt2YXV9JycgCisgJydmaSdv IHp1a3RlIHtmZSd1fSB6bydlIGxvIHByZW51IHtrdX0gY3Uga2xhbWEgbG8gemFyY2kge2t1fXt2 YXV9JycgPGJyIC8+JydsbyBwcmVudSB7a3V9IGN1IGZpJ28genVrdGUge2ZlJ3V9IGtsYW1hIGxv IHphcmNpIHtrdX17dmF1fScnIAoKcmV0YWluaW5nIHRoZSBtZWFuaW5nLgoKKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKQEAgLUxpbmVz OiA2MTctNjIxIGNoYW5nZWQgdG8gK0xpbmVzOiA2MTgtNjIyIEBACistKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rClB1dHRpbmcgdGhlICcn c3VtdGNpdGEnJyByaWdodCBpbiBmcm9udCBvZiB0aGUgc2VsYnJpIGFsc28gbWFrZXMgaXQgc2Vs Zi10ZXJtaW5hdGUsIHNpbmNlIHN1bXRjaXRhIG9ubHkgY2FuIGFic29yYiBzdW10aSwgYW5kIG5v dCBzZWxicmkuIFRoaXMgZmFjdCB3aWxsIGJlIG9mIGltcG9ydGFuY2UgaW4gbmV4dCBsZXNzb24s IGFzIHlvdSB3aWxsIHNlZS4KCi0gU2FkbHksICcnZmknbycnIGlzIG5vdCB1c2VkIHZlcnkgb2Z0 ZW4gZGVzcGl0ZSBpdHMgZmxleGliaWxpdHkuIFdoYXQgSVMgdXNlZCB2ZXJ5IG9mdGVuLCB0aG91 Z2gsIGFyZSBCQUkuIEJBSSBpcyBhIGNsYXNzIG9mIExvamJhbiB3b3Jkcywgd2hpY2ggaW4gdGhl bXNlbHZlcyBhY3QgYXMgJydzdW10Y2l0YScnLiBBbiBleGFtcGxlIG9mIHRoaXMgaXMgJyd6dSdl JycsIHRoZSBCQUkgZm9yICcnenVrdGUnJy4gR3JhbWF0aWNhbGx5LCAnJ3p1J2UnJyBpcyB0aGUg c2FtZSBhcyAnJ2ZpJ28genVrdGUgZmUndScnLiBUaHVzLCB0aGUgYWJvdmUgZXhhbXBsZSBjb3Vs ZCBiZSByZWR1Y2VkIHRvOgorIEFjdHVhbGx5LCAnJ2ZpJ28nJyBpcyBub3QgdXNlZCB2ZXJ5IG9m dGVuIGRlc3BpdGUgaXRzIGZsZXhpYmlsaXR5LiBXaGF0IElTIHVzZWQgdmVyeSBvZnRlbiwgdGhv dWdoLCBhcmUgQkFJLiBCQUkgaXMgYSBjbGFzcyBvZiBMb2piYW4gd29yZHMsIHdoaWNoIGluIHRo ZW1zZWx2ZXMgYWN0IGFzICcnc3VtdGNpdGEnJy4gQW4gZXhhbXBsZSBvZiB0aGlzIGlzICcnenUn ZScnLCB0aGUgQkFJIGZvciAnJ3p1a3RlJycuIEdyYW1hdGljYWxseSwgJyd6dSdlJycgaXMgdGhl IHNhbWUgYXMgJydmaSdvIHp1a3RlIGZlJ3UnJy4gVGh1cywgdGhlIGFib3ZlIGV4YW1wbGUgY291 bGQgYmUgcmVkdWNlZCB0bzoKJyd6dSdlIGt1IGxvIHNrYW1pIHtrdX0gY3UgcGlsbm8gbG8gbG9q Ym8ge2t1fSB7dmF1fScnLiBUaGVyZSBleGlzdCBzb21ldGhpbmcgbGlrZSA2MCBCQUksIGFuZCBh IGxvdCBvZiB0aGVzZSBhcmUgdmVyeSB1c2VmdWwgaW5kZWVkLiBGdXJ0ZXJtb3JlLCBCQUkgY2Fu IGFsc28gYmUgY29udmVydGVkIHdpdGggJydzZScnIGFuZCBmcmllbmRzLCBtZWFuaW5nIHRoYXQg JydzZSB6dSdlJycgaXMgZXF1YWwgdG8gJydmaSdvIHNlIHp1a3RlIGZlJ3UnJywgd2hpY2ggcmVz dWx0cyBpbiBhIGdyZWF0IGRlYWwgbW9yZSBCQUkuCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24g dGVuIChQVSwgRkFoQSwgWkksIFZBLCBaRWhBLCBWRWhBKQoKCgoKKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKVGhlIG5ldyBwYWdlIGNv bnRlbnQgZm9sbG93cyBiZWxvdy4KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioKCiFMb2piYW4gV2F2ZSBMZXNzb25zIENvbnRpbnVlZDoK CiEhIU1hZGUgYnkgbGEga2xha3Ugd2l0aCBoZWxwIGZyb20gdmFyaW91cyBsb2piYW5pc3RzLiBC YXNlZCBvbiB0aGUgd29yayBvZiBsYSAua3JpYmFjci4gU3ByaW5nIDIwMTMuCgoKCiEhTG9qYmFu IExlc3NvbnMg4oCTIGxlc3NvbiB6ZXJvOiBGb3Jld29yZAoKVGhlc2UgbGVzc29ucyBhcmUgYW4g YXR0ZW1wdCB0byBleHBhbmQgb24gdGhlIEdvb2dsZSBXYXZlIExlc3NvbnMsIGFuIGV4Y2VsbGVu dCBMb2piYW4gdHV0b3JpYWwgYnkga3JpYmFjciwgeGFsYm8sIGFuZCBvdGhlcnMsIG9yaWdpbmFs bHkgdHJhbnNjcmliZWQsIGNvbGxhdGVkLCBhbmQgcmVzY3VlZCBmcm9tIG9ibGl2aW9uIGJ5IE1h cmVueiwgd2hpY2ggc2FkbHkgb25seSBjb3ZlcmVkIHRoZSBmaXJzdCBmb3VyIGNoYXB0ZXJzIGlu IHRoaXMgdHV0b3JpYWwuIEl0IGltcGxlbWVudHMgdGhlIG5ld2VzdCBydWxlcyBvZiBMb2piYW4g bm90IGNvdmVyZWQgYnkgb2xkZXIgbWF0ZXJpYWxzIHN1Y2ggYXMgV2hhdCBpcyBMb2piYW4/IGFu ZCBMb2piYW4gZm9yIEJlZ2lubmVycy4KCgoKSWYgeW91IGFyZSBuZXcgdG8gTG9qYmFuLCBJIHJl Y29tbWVuZCBsaXN0ZW5pbmcgdG8gYW55IHJlY29yZGluZ3MgeW91IGNhbiBmaW5kIG9mIHNwb2tl biBMb2piYW4gYm90aCBiZWZvcmUgYW5kIHdoaWxlIHlvdSBhcmUgdGFraW5nIHRoaXMgdHV0b3Jp YWwsIGluIG9yZGVyIHRvIG1ha2UgeW91cnNlbGYgZmFtaWxpYXIgd2l0aCB0aGUgc291bmRzIGFu ZCB3b3JkcyBvZiB0aGUgbGFuZ3VhZ2V+dGN+LCB3aGljaCB3aWxsIG5vdCBiZSBleHBsYWluZWQg aGVyZX4vdGN+LiBGdXJ0aGVybW9yZSwgdHJ5IHRvIHNheSB0aGUgdGhpbmdzIHlvdSByZWFkIGlu IExvamJhbiBhY2NlbnQgaWYgaXQncyByZWFzb25hYmx5IHByYWN0aWNhbC4gVGhpcyBjYW4gaGVs cCB5b3VyIHByb251bmNpYXRpb24gYSBsb3QuCgoKCldoZW4gdGFraW5nIHRoaXMgdHV0b3JpYWws IGl0J3MgYmVzdCB0byBwYXVzZSBiZXR3ZWVuIGxlc3NvbnMgaW4gb3JkZXIgdG8gaW50ZXJuYWxp emUgd2hhdCB5b3UgaGF2ZSBsZWFybnQuIEkgaGF2ZSBhdHRlbXB0ZWQgdG8gYnVpbGQgdGhlc2Ug bGVzc29ucyBmcm9tIHRoZSBib3R0b20gdXAgYW5kIGV4Y2x1ZGUgYW55IHdvcmRzIG9yIGNvbmNl cHRzIHRoYXQgaGF2ZSBub3QgYmVlbiBleHBsYWluZWQgaW4gcHJldmlvdXMgbGVzc29ucy4gT25j ZSBleHBsYWluZWQsIHRoZXkgYXJlIHVzZWQgZnJlZWx5IHRocm91Z2hvdXQgdGhlIHJlbWFpbmRl ciBvZiB0aGUgdHV0b3JpYWwuIEkgdXJnZSByZWFkZXJzIG5vdCB0byBwYXNzIGFueSBtaXN1bmRl cnN0b29kIGNvbnRlbnQ7IGlmIHlvdSBoYXZlIHF1ZXN0aW9ucyBvciBhcmUgdW5jZXJ0YWluIGFi b3V0IHNvbWV0aGluZywgZmVlbCBmcmVlIHRvIGFzayB0aGUgTG9qYmFuIGNvbW11bml0eSwgd2hp Y2ggY2FuIGJlIGZvdW5kIGluICNsb2piYW4gb24gdGhlIEZyZWVub2RlIElSQyBuZXR3b3JrLiBU aGV5IHdpbGwgYmUgaGFwcHkgdG8gaGVscC4KCgoKSW4gdGhpcyB0dXRvcmlhbCwgTG9qYmFuIHRl eHQgaXMgd3JpdHRlbiBpbiAnJ2l0YWxpY3MnJy4gTGF0ZXIsIHdoZW4gdXNlZCBhcyBMb2piYW4g bG9hbndvcmRzIGluIEVuZ2xpc2ggc2VudGVuY2VzLCB0aGV5IGFyZSBub3QgbWFya2VkLiBBbnN3 ZXJzIHRvIGV4ZXJjaXNlcyBhcmUgZGlzcGxheWVkIGFzIGEgZ3JleSBiYXIuIEhpZ2hsaWdodCB0 aGUgdGV4dCBpbiBvcmRlciB0byBzZWUgaXQuCgoKCkxhc3RseSwgSSBoYXZlIGFzIGZhciBhcyBw b3NzaWJsZSBhdHRlbXB0ZWQgdG8gdXNlIHRoZSBMb2piYW4gd29yZHMgZm9yIGdyYW1tYXRpY2Fs IGNvbnN0cnVjdHM6ICcnc3Vta2EnaScnIGluc3RlYWQgb2YgcHJvLXN1bXRpLCAnJ3N1bXRjaXRh JycgaW5zdGVhZCBvZiBtb2RhbCBhbmQgJydqdWZyYScnIGluc3RlYWQgb2YgdXR0ZXJhbmNlLiBU aGlzIGlzIGJlY2F1c2UgSSBmZWVsIHRoZSBFbmdsaXNoIHdvcmRzIGFyZSBvZnRlbiBlaXRoZXIg YXJiaXRyYXJ5LCBpbiB3aGljaCBjYXNlIHRoZXkgYXJlIGp1c3QgbW9yZSB3b3JkcyB0byBsZWFy biwgb3IgbWlzbGVhZGluZywgaW4gd2hpY2ggY2FzZSB0aGV5IGFyZSB3b3JzZSB0aGFuIHVzZWxl c3MuIEluIGVpdGhlciBjYXNlLCBhcyBsb25nIGFzIHRoZSB3b3JkcyBhcmUgc3BlY2lmaWMgdG8g dGhvc2Ugd2hvIGFyZSBsZWFybmluZyBMb2piYW4gYW55d2F5LCB0aGVyZSBpcyBubyByZWFzb24g Zm9yIHRoZW0gdG8gZXhpc3QgYXMgc2VwYXJhdGUgRW5nbGlzaCB3b3Jkcy4KCgoKISEhUHJlZmFj ZS4gU291bmRzCgpUaGUgZmlyc3QgdGhpbmcgeW91IG5lZWQgdG8gZG8gd2hlbiB5b3UgbGVhcm4g YSBmb3JlaWduIGxhbmd1YWdlIGlzIHRvIGJlY29tZSBmYW1pbGlhciB3aXRoIHRoZSBzb3VuZHMg b2YgdGhlIGxhbmd1YWdlIGFuZCBob3cgdGhleSBhcmUgd3JpdHRlbiwgYW5kIHRoZSBzYW1lIGdv ZXMgZm9yIExvamJhbi4gRm9ydHVuYXRlbHksIExvamJhbiBzb3VuZHMgKF9fcGhvbmVtZXNfXykg YXJlIGZhaXJseSBzdHJhaWdodGZvcndhcmQuCgoKCkZvciBtb3JlIGRldGFpbHMgb24gdm93ZWxz IGFuZCBjb25zb25hbnRzIHNvdW5kcyB1c2VkIGluIGxvamJhbiwgeW91IGNhbiBjbGljayBvbiB0 aGUgbGV0dGVycyBkZXNjcmliZWQuIFRoZXkgYXJlIHBvaW50aW5nIHRvIHdpa2lwZWRpYSBhcnRp Y2xlcyB3aGljaCBkZXNjcmliZSB0aGUgc291bmQgJydhbmQgdXN1YWxseSBoYXZlIGFuIGF1ZGlv IHJlY29yZCBvZiBpdCcnLgoKCgohISEhVm93ZWxzCgpUaGVyZSBhcmUgc2l4IHZvd2VscyBpbiBM b2piYW4uCgoKCnx8JydbaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9PcGVuX2Zyb250X3Vu cm91bmRlZF92b3dlbHxhXScnIHxhcyBpbiAiZl9fYV9fdGhlciIgKG5vdCBhcyBpbiAiaF9fYV9f dCIpCgonJ1todHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0Nsb3NlLW1pZF9mcm9udF91bnJv dW5kZWRfdm93ZWx8ZV0nJyB8YXMgaW4gImdfX2VfX3QiCgonJ1todHRwOi8vZW4ud2lraXBlZGlh Lm9yZy93aWtpL0Nsb3NlX2Zyb250X3Vucm91bmRlZF92b3dlbHxpXScnIHxhcyBpbiAibWFjaF9f aV9fbmUiIG9yIChJdGFsaWFuKSAidl9faV9fbm8iIChub3QgYXMgaW4gImhfX2lfX3QiKQoKJydb aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9DbG9zZS1taWRfYmFja19yb3VuZGVkX3Zvd2Vs fG9dJycgfGFzIGluICJiX19vX19sZCIgb3IgIm1fX29fX3JlIiDigJQgbm90IGFzIGluICJzX19v X18iICh0aGlzIHNob3VsZCBiZSBhICdwdXJlJyBzb3VuZC4pCgonJ1todHRwOi8vZW4ud2lraXBl ZGlhLm9yZy93aWtpL0Nsb3NlX2JhY2tfcm91bmRlZF92b3dlbHx1XScnIHxhcyBpbiAiY19fb29f X2wiIChub3QgYXMgaW4gImJfX3VfX3QiKSB8fAoKVGhlc2UgYXJlIHByZXR0eSBtdWNoIHRoZSBz YW1lIGFzIHZvd2VscyBpbiBJdGFsaWFuIG9yIFNwYW5pc2guIFRoZSBzaXh0aCB2b3dlbCwgJydb aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9TY2h3YXx5XScnLCBpcyBjYWxsZWQgYSBfX3Nj aHdhX18gaW4gdGhlIGxhbmd1YWdlIHRyYWRlLCBhbmQgaXMgcHJvbm91bmNlZCBsaWtlIHRoZSBm aXJzdCBhbmQgbGFzdCAiQSIncyBpbiAiQW1lcmljYSIgKHRoYXQncyBFbmdsaXNoICJBbWVyaWNh Iiwgbm90IFNwYW5pc2guKSBJdCdzIHRoZSBzb3VuZCB0aGF0IGNvbWVzIG91dCB3aGVuIHRoZSBt b3V0aCBpcyBjb21wbGV0ZWx5IHJlbGF4ZWQuCgpUd28gdm93ZWxzIHRvZ2V0aGVyIGFyZSBwcm9u b3VuY2VkIGFzIG9uZSBzb3VuZCAoX19kaXBodGhvbmdfXykuIFNvbWUgZXhhbXBsZXMgYXJlOgoK Cgp8fCcnYWknJyB8YXMgaW4gImhfX2lnaF9fIgoKJydhdScnIHxhcyBpbiAiaF9fb3dfXyIKCicn ZWknJyB8YXMgaW4gImhfX2V5X18iCgonJ29pJycgfGFzIGluICJiX19veV9fIgoKJydpYScnIHxs aWtlIEdlcm1hbiBfXyJKYV9fIgoKJydpZScnIHxsaWtlIF9fInllYWhfXyIKCicnaXUnJyB8bGlr ZSBfXyJ5b3VfXyIKCicndWEnJyB8YXMgaW4gX18id2FhaCFfXyIsIG9yIEZyZW5jaCAicV9fdW9p X18iCgonJ3VlJycgfGFzIGluICJxX191ZV9fc3Rpb24iCgonJ3VvJycgfGFzIGluICJxX191b19f dGUiCgonJ3VpJycgfGxpa2UgX18id2VfXyIsIG9yIEZyZW5jaCBfXyJvdWlfXyIgfHwKCkRvdWJs ZSB2b3dlbHMgYXJlIHJhcmUuIFRoZSBvbmx5IGV4YW1wbGVzIGFyZSAnJ2lpJycsIHdoaWNoIGlz IHByb25vdW5jZWQgbGlrZSBFbmdsaXNoICJ5ZSIgKGFzIGluIOKAnE9oIGNvbWUgYWxsIHllIGZh aXRoZnVs4oCdKSBvciBDaGluZXNlICJ5aSIsIGFuZCAnJ3V1JycsIHByb25vdW5jZWQgbGlrZSAi d29vIi4KCiEhISFDb25zb25hbnRzCgpNb3N0IExvamJhbiBjb25zb25hbnRzIGFyZSB0aGUgc2Ft ZSBhcyBFbmdsaXNoLCBidXQgdGhlcmUgYXJlIHNvbWUgZXhjZXB0aW9uczoKCgoKfHxbaHR0cDov L2VuLndpa2lwZWRpYS5vcmcvd2lraS9Wb2ljZWRfdmVsYXJfcGxvc2l2ZXxnXSB8YWx3YXlzICcn ZycnIGFzIGluICcnX19nX191bScnLCBuZXZlciAnJ2cnJyBhcyBpbiAnJ19fZ19fZW0nJwoKW2h0 dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1ZvaWNlbGVzc19wYWxhdG8tYWx2ZW9sYXJfc2li aWxhbnR8Y10gfCcnc2gnJywgYXMgaW4gJydfX3NoX19pcCcnCgpbaHR0cDovL2VuLndpa2lwZWRp YS5vcmcvd2lraS9Wb2ljZWRfcGFsYXRvLWFsdmVvbGFyX3NpYmlsYW50fGpdIHxhcyBpbiAnJ21l YV9fc19fdXJlJycgb3IgRnJlbmNoICcnYm9uX19qX19vdXInJwoKW2h0dHBzOi8vZW4ud2lraXBl ZGlhLm9yZy93aWtpL1ZvaWNlbGVzc192ZWxhcl9mcmljYXRpdmV8eF0gfGFzIGluIEdlcm1hbiAn J0JhX19jaCcnX18sIFNwYW5pc2ggJydfX0pfX29zZScnIG9yIEFyYWJpYyAnJ19fS2hfX2FsZWQn JyB8fAoKVGhlIEVuZ2xpc2ggc291bmRzICcnY2gnJyBhbmQgJydqJycgYXJlIHdyaXR0ZW4gYXMg dGMgYW5kIGRqLgoKTG9qYmFuIGRvZXNuJ3QgdXNlIHRoZSBsZXR0ZXJzICcnSCcnLCAnJ1EnJyBv ciAnJ1cnJy4KCgoKRm9yIGNvbXByZWhlbnNpdmVuZXNzIHNha2UsIGhlcmUgaXMgYSBsaXN0IG9m IHRoZSByZW1haW5pbmcgKGFuZCBsZXNzIHRyaWNreSkgbG9qYmFuIGNvbnNvbmFudHM6CgonJ1to dHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1ZvaWNlZF9iaWxhYmlhbF9wbG9zaXZlfGJdJycs ICcnW2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVm9pY2VkX2FsdmVvbGFyX3Bsb3NpdmV8 ZF0nJywgJydbaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Wb2ljZWxlc3NfbGFiaW9kZW50 YWxfZnJpY2F0aXZlfGZdJycsICcnW2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVm9pY2Vs ZXNzX3ZlbGFyX3Bsb3NpdmV8a10nJywgJydbaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9B bHZlb2xhcl9sYXRlcmFsX2FwcHJveGltYW50fGxdJycsICcnW2h0dHA6Ly9lbi53aWtpcGVkaWEu b3JnL3dpa2kvQmlsYWJpYWxfbmFzYWx8bV0nJywgJydbaHR0cDovL2VuLndpa2lwZWRpYS5vcmcv d2lraS9BbHZlb2xhcl9uYXNhbHxuXScnLCAnJ1todHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtp L1ZvaWNlbGVzc19iaWxhYmlhbF9wbG9zaXZlfHBdJycsICcnW2h0dHA6Ly9lbi53aWtpcGVkaWEu b3JnL3dpa2kvQWx2ZW9sYXJfdGFwfHJdJycsICcnW2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dp a2kvVm9pY2VsZXNzX2FsdmVvbGFyX3NpYmlsYW50I1ZvaWNlbGVzc19hbHZlb2xhcl9zaWJpbGFu dHxzXScnLCAnJ1todHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Wb2ljZWxlc3NfYWx2ZW9s YXJfcGxvc2l2ZXx0XScnLCAnJ1todHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Wb2ljZWRf bGFiaW9kZW50YWxfZnJpY2F0aXZlfHZdJycsICcnW2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dp a2kvVm9pY2VkX2FsdmVvbGFyX3NpYmlsYW50I1ZvaWNlZF9hbHZlb2xhcl9zaWJpbGFudHx6XScn CgoKCiEhISFTcGVjaWFsIENoYXJhY3RlcnMKCkxvamJhbiBkb2VzIG5vdCByZXF1aXJlIGFueSBw dW5jdHVhdGlvbiwgYnV0IHNvbWUgc3BlY2lhbCBjaGFyYWN0ZXJzIChub3JtYWxseSB1c2VkIGlu IHB1bmN0dWF0aW9uIGluIG90aGVyIGxhbmd1YWdlcykgYWZmZWN0IHRoZSB3YXkgTG9qYmFuIGlz IHByb25vdW5jZWQuCgpUaGUgb25seSBvbmUgb2YgdGhlc2UgY2hhcmFjdGVycyB3aGljaCBpcyBv YmxpZ2F0b3J5IGluIExvamJhbiBpcyB0aGUgW2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kv Vm9pY2VsZXNzX2dsb3R0YWxfZnJpY2F0aXZlfGFwb3N0cm9waGVdOyBpbiBmYWN0IHRoZSBhcG9z dHJvcGhlIGlzIHJlZ2FyZGVkIGFzIGEgcHJvcGVyIGxldHRlciBvZiBMb2piYW4uIEFuIGFwb3N0 cm9waGUgc2VwYXJhdGVzIHR3byB2b3dlbHMsIHByZXZlbnRpbmcgdGhlbSBmcm9tIGJlaW5nIHBy b25vdW5jZWQgdG9nZXRoZXIgKGFzIGEgX19kaXBodGhvbmdfXyk7IGl0IGlzIGl0c2VsZiBwcm9u b3VuY2VkIGxpa2UgYW4gImgiLiBGb3IgZXhhbXBsZSwgJyd1aScnIGlzIG5vcm1hbGx5IHByb25v dW5jZWQgIndlIiwgYnV0ICcndSdpJycgaXMgIm9vaGVlIicuCgpBIGZ1bGwgc3RvcCAocGVyaW9k KSBpcyBhIHNob3J0IHBhdXNlIHRvIHN0b3Agd29yZHMgcnVubmluZyBpbnRvIGVhY2ggb3RoZXIu IFRoZSBydWxlcyBvZiBMb2piYW4gbWFrZSBpdCBlYXNpZXIgZm9yIG9uZSB3b3JkIHRvIHJ1biBp bnRvIGFub3RoZXIgd2hlbiB0aGUgc2Vjb25kIHdvcmQgYmVnaW5zIHdpdGggYSB2b3dlbDsgc28g YW55IHdvcmQgc3RhcnRpbmcgd2l0aCBhIHZvd2VsIGNvbnZlbnRpb25hbGx5IGhhcyBhIGZ1bGwg c3RvcCBwbGFjZWQgaW4gZnJvbnQgb2YgaXQuCgpDb21tYXMgYXJlIHJhcmUgaW4gTG9qYmFuLCBi dXQgY2FuIGJlIHVzZWQgdG8gc3RvcCB0d28gdm93ZWxzIGJsdXJyaW5nIHRvZ2V0aGVyIHdoZW4g eW91IGRvbid0IHdhbnQgdG8gdXNlIGFuIGFwb3N0cm9waGUgKHdoaWNoIHdvdWxkIHB1dCBhICcn aCcnIGJldHdlZW4gdGhlbSkuIE5vIExvamJhbiB3b3JkcyBoYXZlIGNvbW1hcywgYnV0IHRoZXkn cmUgc29tZXRpbWVzIHVzZWQgaW4gd3JpdGluZyBub24tTG9qYmFuIG5hbWVzLCBmb3IgZXhhbXBs ZSAnJy5waSxFUi4nJyAoIlBpZXJyZSIpLCBhcyBvcHBvc2VkIHRvICcnLnBpZXIuJycgKCJQLXll cnIiKSwgJycucGkuRVIuJycgKCJQZWU7IEVociIpLCBvciAnJy5waSdFUi4nJyAoIlBpaGVyciIp LgoKQ2FwaXRhbCBsZXR0ZXJzIGFyZSBub3Qgbm9ybWFsbHkgdXNlZCBpbiBMb2piYW4uIFdlIHVz ZSB0aGVtIGluIG5vbi1Mb2piYW4gd29yZHMgKGxpa2UgIlBpZXJyZSIpIHdoZW4gdGhlIHN0cmVz cyBvZiBhIHdvcmQgaXMgZGlmZmVyZW50IGZyb20gdGhlIExvamJhbiBub3JtLiBUaGUgbm9ybSBp cyB0byBwdXQgdGhlIHN0cmVzcyBvbiB0aGUgbGFzdC1idXQtb25lIHN5bGxhYmxlOyBzbywgZm9y IGV4YW1wbGUsICcna3VqbWlrY2UnJyAibnVyc2UiIGlzICcna3VqX19NSUtfX2NlJycsIG5vdCAn J19fS1VKX19taWtjZScnLiBUaGUgbmFtZSAiSnVsaWV0dGUiIHdvdWxkIGJlIHdyaXR0ZW4gJycu REpVbGksZXQuJycgaWYgcHJvbm91bmNlZCBpbiBhbiBFbmdsaXNoIHdheSwgYnV0ICcnLmp1TElF VC4nJyBpZiBwcm9ub3VuY2VkIGFzIGluIEZyZW5jaC4KCiEhISFBbHBoYWJldAoKSW4gbW9zdCBs YW5ndWFnZSB0ZXh0Ym9va3MsIHlvdSBnZXQgdGhlIGFscGhhYmV0IG9mIHRoZSBsYW5ndWFnZSB0 b2dldGhlciB3aXRoIGl0cyBzb3VuZHMuIExldHRlcnMgKCcnbGVyZnUnJykgdHVybiBvdXQgdG8g YmUgZXZlbiBtb3JlIGltcG9ydGFudCB0aGFuIHVzdWFsIGluIExvamJhbiwgc28gd2UgbWlnaHQg YXMgd2VsbCBnbyB0aHJvdWdoIHRoZWlyIG5hbWVzIHF1aWNrbHkuCgpDb25zb25hbnRzIGFyZSBz dHJhaWdodGZvcndhcmQ6IHRoZSBuYW1lIG9mIGEgY29uc29uYW50IGxldHRlciBpcyB0aGF0IGxl dHRlciwgcGx1cyB5LiBTbyB0aGUgY29uc29uYW50IGxldHRlcnMgb2YgTG9qYmFuLCAiYiwgYywg ZCwgZiwgZyAuLi4iLCBhcmUgY2FsbGVkICcnYnkuLCBjeS4sIGR5LiwgZnkuLCBneS4nJyAuLi4g aW4gTG9qYmFuICh1c2luZyB0aGUgZnVsbCBzdG9wIGFzIHdlJ3ZlIGp1c3QgZGVzY3JpYmVkLikK ClZvd2VscyBfX3dvdWxkX18gYmUgY2FsbGVkICcnLmF5LCAuZXksIC5peScnLCBidXQgdGhhdCB3 b3VsZCBiZSByYXRoZXIgZGlmZmljdWx0IHRvIHByb25vdW5jZS4gSW5zdGVhZCwgdGhleSBhcmUg aGFuZGxlZCBieSBmb2xsb3dpbmcgdGhlIHZvd2VsIHNvdW5kIHdpdGggdGhlIHdvcmQgJydidScn LCB3aGljaCBiYXNpY2FsbHkgbWVhbnMgJ2xldHRlcicuIFNvIHRoZSB2b3dlbHMgb2YgTG9qYmFu IGFyZTogJycuYWJ1LCAuZWJ1LCAuaWJ1LCAub2J1LCAudWJ1LCB5YnUuJycKClRoZSBhcG9zdHJv cGhlIGlzIHJlZ2FyZGVkIGFzIGEgcHJvcGVyIGxldHRlciBpbiBMb2piYW4sIGFuZCBpcyBjYWxs ZWQgJycueSd5LicnIC4gVG8gc29tZSBwZW9wbGUsIHRoaXMgc291bmRzIGxpa2UgYSBjb3VnaDsg dG8gb3RoZXIsIGxpa2UgInVoLWh1aCIgKHdoZW4gaXQgbWVhbnMgJ1llcycgcmF0aGVyIHRoYW4g J05vJy4pCgpMb2piYW4gaGFzIHdheXMgb2YgcmVmZXJpbmcgdG8gbW9zdCBsZXR0ZXJzIHlvdSBj YW4gdGhpbmsgb2YuIElmIHlvdSBoYXZlIHRoZSB1cmdlIHRvIHNwZWxsIG91dCB5b3VyIG5hbWUg aW4gTG9qYmFuIGFuZCBoYXZlIGFuICJIIiwgIlEiLCBvciAiVyIgdG8gZGVhbCB3aXRoLCB5b3Ug Y2FuIHVzZSAnJy55J3kuYnUsIGt5LmJ1JycgYW5kICcndnkuYnUnJy4gU28gIlNjaHdhcnplbmVn Z2VyIiBpcyBzcGVsdCBpbiBMb2piYW4gYXM6CgonJ3N5LiBjeS4gLnkneWJ1IHZ5YnUuIC5hYnUg cnkuIHp5LiAuZWJ1IG55LiAuZWJ1IGd5LiBneS4gLmVidSByeS4nJwoKQW5kIHNwZWxsaW5nICJ0 aGF0IiBpcyBhIHRhc2sgdGhlIGVxdWFsIG9mIGFueXRoaW5nIHRoZSBUZXJtaW5hdG9yIGV2ZXIg ZGlkIQoKCgpOb3cgc3BlbGwgeW91ciBuYW1lIGluIExvamJhbiAob3IgYXQgbGVhc3Qgc29tZXRo aW5nIGNsb3NlIGVub3VnaCB0byBpdCB0byB1c2UgdGhlIHR3ZW50eS1zaXggbGV0dGVycyBvZiBF bmdsaXNoIHdlIGhhdmUgbGVhcm5lZCwgYW5kIHRoZSBhcG9zdHJvcGhlKS4KCgoKISEhISAnQ29y cmVjdCcgcHJvbnVuY2lhdGlvbgoKWW91IGRvbid0IGhhdmUgdG8gYmUgdmVyeSBwcmVjaXNlIGFi b3V0IExvamJhbiBwcm9udW5jaWF0aW9uLCBiZWNhdXNlIHRoZSBwaG9uZW1lcyBhcmUgZGlzdHJp YnV0ZWQgc28gdGhhdCBpdCBpcyBoYXJkIHRvIG1pc3Rha2Ugb25lIHNvdW5kIGZvciBhbm90aGVy LiBUaGlzIG1lYW5zIHRoYXQgcmF0aGVyIHRoYW4gb25lICdjb3JyZWN0JyBwcm9udW5jaWF0aW9u LCB0aGVyZSBpcyBhIHJhbmdlIG9mIGFjY2VwdGFibGUgcHJvbnVuY2lhdGlvbuKAlHRoZSBnZW5l cmFsIHByaW5jaXBsZSBpcyB0aGF0IGFueXRoaW5nIGlzIE9LIHNvIGxvbmcgYXMgaXQgZG9lc24n dCBzb3VuZCB0b28gbXVjaCBsaWtlIHNvbWV0aGluZyBlbHNlLiBGb3IgZXhhbXBsZSwgTG9qYmFu IHIgY2FuIGJlIHByb25vdW5jZWQgbGlrZSB0aGUgInIiIGluIEVuZ2xpc2gsIFNjb3R0aXNoIG9y IEZyZW5jaC4KClR3byB0aGluZ3MgdG8gYmUgY2FyZWZ1bCBvZiwgdGhvdWdoLCBhcmUgcHJvbm91 bmNpbmcgTG9qYmFuICcnaScnIGFuZCAnJ3UnJyBsaWtlIFN0YW5kYXJkIEJyaXRpc2ggRW5nbGlz aCAiaGl0IiBhbmQgImJ1dCIgKE5vcnRoZXJuIEVuZ2xpc2ggImJ1dCIgaXMgZmluZSEpLiBUaGlz IGlzIGJlY2F1c2Ugbm9uLUxvamJhbiB2b3dlbHMsIHBhcnRpY3VsYXJseSB0aGVzZSB0d28sIGFy ZSB1c2VkIHRvIHNlcGFyYXRlIGNvbnNvbmFudHMgYnkgcGVvcGxlIHdobyBmaW5kIHRoZW0gaGFy ZCB0byBzYXkuIEZvciBleGFtcGxlLCBpZiB5b3UgaGF2ZSBwcm9ibGVtcyBzcGl0dGluZyBvdXQg dGhlICcnemQnJyBpbiAnJ3pkYW5pJycgKGhvdXNlKSwgeW91IGNhbiBzYXkgesmqZGFuaeKAlHdo ZXJlIHRoZSAiyaoiIGlzIHZlcnkgc2hvcnQsIGJ1dCB0aGUgZmluYWwgImkiIGhhcyB0byBiZSBs b25nLgoKISEhIUxvamJhbiBOYW1lcyAoY21ldmxhKQoKV2F0Y2ggYW55IGZpbG0gd2hlcmUgcGVv cGxlIGRvbid0IGtub3cgZWFjaCBvdGhlcidzIGxhbmd1YWdlLiBUaGV5IHN0YXJ0IG9mZiBzYXlp bmcgdGhpbmdzIGxpa2Ug4oCcTWUgVGFyemFuLOKAnSB3aGljaCBpcyBhcyBnb29kIGEgcGxhY2Ug dG8gc3RhcnQgbGVhcm5pbmcgTG9qYmFuIGFzIGFueS4gU28gaGVyZSB3ZSBnby4KCl9fJydtaSdl IC5yb2Jpbi4nJ19fCgoiSS1hbS1uYW1lZCBSb2JpbiIKCiJJJ20gUm9iaW4iCgonJ21pJ2UnJyBp cyByZWxhdGVkIHRvICcnbWknJywgd2hpY2ggaXMgJ0knLCAnbWUnIGFuZCBzbyBvbi4gSXQncyBh IGdvb2QgZXhhbXBsZSBvZiB0aGUgYXBvc3Ryb3BoZSBzZXBhcmF0aW5nIHR3byB2b3dlbHMsIGFu ZCBzb3VuZHMgYSBiaXQgbGlrZSAibWUgaGVoIi4KClRoaXMgZ3V5IFJvYmluIGlzIGx1Y2t5IGJl Y2F1c2UgaGlzIG5hbWUgZ29lcyBkaXJlY3RseSBpbnRvIExvamJhbiB3aXRob3V0IGFueSBjaGFu Z2VzLiBIb3dldmVyLCB0aGVyZSBhcmUgc29tZSBydWxlcyBmb3IgTG9qYmFuIG5hbWVzIHdoaWNo IG1lYW4gdGhhdCBzb21lIG5hbWVzIGhhdmUgdG8gYmUgJ0xvamJhbmlzZWQnLiBUaGlzIG1heSBz b3VuZCBzdHJhbmdl4oCUYWZ0ZXIgYWxsLCBhIG5hbWUgaXMgYSBuYW1l4oCUYnV0IGluIGZhY3Qg YWxsIGxhbmd1YWdlcyBkbyB0aGlzIHRvIHNvbWUgZXh0ZW50LiBGb3IgZXhhbXBsZSwgRW5nbGlz aCBzcGVha2VycyB0ZW5kIHRvIHByb25vdW5jZSAiSm9zZSIgc29tZXRoaW5nIGxpa2UgIkhvemF5 IiwgYW5kICJNYXJnYXJldCIgaW4gQ2hpbmVzZSBpcyAiTWFnZWxpdGEiLiBTb21lIHNvdW5kcyBq dXN0IGRvbid0IGV4aXN0IGluIHNvbWUgbGFuZ3VhZ2VzLCBzbyB0aGUgZmlyc3QgdGhpbmcgeW91 IG5lZWQgdG8gZG8gaXMgcmV3cml0ZSB0aGUgbmFtZSBzbyB0aGF0IGl0IG9ubHkgY29udGFpbnMg TG9qYmFuIHNvdW5kcywgYW5kIGlzIHNwZWx0IGluIGEgTG9qYmFuIHdheS4KCl9fTm90ZTogX19U aGUgY2F0Y2ggaGVyZSBpcywgd2hhdCB2ZXJzaW9uIG9mIHRoZSBzb3VuZHMgd2lsbCB5b3UgYmUg dXNpbmc/IEZvciBFbmdsaXNoIGluIHBhcnRpY3VsYXIsIEJyaXRpc2ggYW5kIEFtZXJpY2FuIHZv d2VscyBjYW4gYmUgcXVpdGUgZGlmZmVyZW50LiBUaGUgQnJpdGlzaCB2ZXJzaW9uIG9mICJSb2Jp biIgaXMgcmVhc29uYWJseSBhcHByb3hpbWF0ZWQgYnkgJycucm9iaW4uJyc7IGJ1dCB0aGUgQW1l cmljYW4gdmVyc2lvbiBpcyBjbG9zZXIgdG8gJycucmFieW4uJycgb3IgJycucmFiLG4uJycuIEFu ZCB3aXRoaW4gQW1lcmljYSBhbmQgQnJpdGFpbiwgdGhlcmUgaXMgYWxzbyBhIGdvb2QgZGVhbCBv ZiB2YXJpYXRpb24uIFNvIHlvdSBzaG91bGQgdGFrZSB0aGUgdHJhbnNsaXRlcmF0aW9ucyBnaXZl biBiZWxvdyB3aXRoIGEgZ3JhaW4gb2Ygc2FsdC4KCkxldCdzIHRha2UgdGhlIEVuZ2xpc2ggbmFt ZSAiU3VzYW4iLiBUaGUgdHdvICcncycnJ3MgYXJlIHByb25vdW5jZWQgZGlmZmVyZW50bHnigJR0 aGUgc2Vjb25kIG9uZSBpcyBhY3R1YWxseSBhICJ6IuKAlGFuZCB0aGUgImEiIGlzIG5vdCByZWFs bHkgYW4gImEiIHNvdW5kLCBpdCdzIHRoZSAnc2Nod2EnIHdlIGp1c3QgbWVudGlvbmVkLiBTbyAi U3VzYW4iIGNvbWVzIG91dCBpbiBMb2piYW4gYXMgJycuc3V6eW4uJycuCgpZb3UgbWF5IGhhdmUg bm90aWNlZCB0d28gZXh0cmEgZnVsbCBzdG9wcyAocGVyaW9kcykgdGhlcmUuIFRoaXMgaXMgbmVj ZXNzYXJ5IGJlY2F1c2UgaWYgeW91IGRpZG4ndCBwYXVzZSwgeW91IG1pZ2h0IG5vdCBrbm93IHdo ZXJlIHRoZSBwcmV2aW91cyB3b3JkIGVuZGVkIGFuZCB0aGUgbmV4dCB3b3JkIGJlZ2FuLgoKCgpZ b3Ugc2hvdWxkIGFsc28gcHV0IGEgZnVsbCBzdG9wIGluIGJldHdlZW4gYSBwZXJzb24ncyBmaXJz dCBhbmQgbGFzdCBuYW1lcyAodGhvdWdoIGl0J3Mgbm90IGNvbXB1bHNvcnkpLCBzbyAiSmltIEpv bmVzIiBiZWNvbWVzICcnLmRqaW0uZGpvbnouJycuCgpBbiBpbXBvcnRhbnQgcnVsZSBmb3IgTG9q YmFuaXNpbmcgbmFtZXMgaXMgdGhhdCB0aGUgbGFzdCBsZXR0ZXIgb2YgYSBjbWV2bGEgKExvamJh biBuYW1lKSBtdXN0IGJlIGEgY29uc29uYW50LiBBZ2FpbiwgdGhpcyBpcyB0byBwcmV2ZW50IGNv bmZ1c2lvbiBhcyB0byB3aGVyZSBhIG5hbWUgZW5kcywgYW5kIHdoYXQgaXMgYW5kIGlzIG5vdCBh IG5hbWUgKGFsbCBvdGhlciBMb2piYW4gd29yZHMgZW5kIGluIGEgdm93ZWwpLiBXZSB1c3VhbGx5 IHVzZSAnJ3MnJyBmb3IgdGhpczsgc28gaW4gTG9qYmFuLCAiTWFyeSIgYmVjb21lcyAnJy5tZXJp cy4nJyAsICJKb2UiIGJlY29tZXMgJycuZGpvcy4nJyBhbmQgc28gb24uIEFuIGFsdGVybmF0aXZl IGlzIHRvIGxlYXZlIG91dCB0aGUgbGFzdCB2b3dlbCwgc28gIk1hcnkiIHdvdWxkIGJlY29tZSAn Jy5tZXIuJycgb3IgJycubWVpci4nJy4KCgoKVGhlIGZpbmFsIHBvaW50IGlzIHN0cmVzcy4gQXMg d2UndmUgc2VlbiwgTG9qYmFuIHdvcmRzIGFyZSBzdHJlc3NlZCBvbiB0aGUgcGVudWx0aW1hdGUg c3lsbGFibGUsIGFuZCBpZiBhIG5hbWUgaGFzIGRpZmZlcmVudCBzdHJlc3MsIHdlIHVzZSBjYXBp dGFsIGxldHRlcnMuIFRoaXMgbWVhbnMgdGhhdCB0aGUgRW5nbGlzaCBhbmQgRnJlbmNoIG5hbWVz ICJSb2JlcnQiIGNvbWUgb3V0IGRpZmZlcmVudGx5IGluIExvamJhbjogdGhlIEVuZ2xpc2ggbmFt ZSBpcyAnJy5yb2J5dC4nJyBpbiBVSyBFbmdsaXNoLCBvciAnJy5yYWIscnQuJycgaW4gc29tZSBB bWVyaWNhbiBkaWFsZWN0cywgYnV0IHRoZSBGcmVuY2ggaXMgJycucm9CRVIuJycuCgpUbyBnaXZl IGFuIGlkZWEgb2YgaG93IGFsbCB0aGlzIHdvcmtzLCBoZXJlIGFyZSBzb21lIG5hbWVzIG9mIGZh bW91cyBwZW9wbGUgaW4gdGhlaXIgb3duIGxhbmd1YWdlIGFuZCBpbiBMb2piYW4uCgoKCnx8X19F bmdsaXNoX18KCk1hcmdhcmV0IFRoYXRjaGVyIHwnJy5tYWdyeXQudGF0Y3lyLicnIChubyAidGgi IGluIExvamJhbiBiZWNhdXNlIG1vc3QgcGVvcGxlIGFyb3VuZCB0aGUgd29ybGQgY2FuJ3Qgc2F5 IGl0ISkKCk1pY2sgSmFnZ2VyIHwnJy5taWsuZGphZ3lzLicnIHx8Cgp8fF9fRnJlbmNoX18KCk5h cG9sZW9uIEJvbmFwYXJ0ZSB8JycubmFwb2xlLE9OLmJvbmFQQVJULicnCgpKdWxpZXR0ZSBCaW5v Y2hlIHwnJy5qdUxJRVQuYmluT0MuJycgfHwKCnx8X19DaGluZXNlX18KCkxhb3ppIHwnJy5sYXVk ei4nJwoKTWFvIFplZG9uZyB8JycubWF1ZHp5RFlOLicnIChGaW5hbCAnJ25nJycgaXMgaW4gTG9q YmFuIGNvbnZlbnRpb25hbGx5IHR1cm5lZCBpbnRvIG4uKSB8fAoKfHxfX1R1cmtpc2hfXwoKTXVz dGFmYSBLZW1hbCB8JycuTVVTdGFmYXMua2VNQUwuJycKCkVya2luIEtvcmF5IHwnJy5lcmtpbi5r b3JhaXMuJycgfHwKCnx8X19HZXJtYW5fXwoKRnJpZWRyaWNoIE5pZXR6c2NoZSB8JycuZnJpZHJp eC5uaXRjeXMuJycKCkNsYXJhIFNjaHVtYW5uIHwnJy5rbGFyYXMuY3VtYW4uJycgfHwKCnx8X19T cGFuaXNoX18KCklzYWJlbCBBbGxlbmRlIHwnJy5pemFCRUwuYWllbmRlcy4nJwoKQ2hlIEd1ZXZh cmEgfCcnLnRjZWdldmFyYXMuJycgfHwKCl9fRXhlcmNpc2VfXy4KCldoZXJlIGFyZSB0aGVzZSBw bGFjZXM/CgojLm51LElPUksuCgojLnJvbWFzLgoKIy54YXZhbmFzLgoKIy5rYXJkaWYuCgojLmJl aWRqaW4uCgojLkFOa2FyYXMuCgojLkFMYmVrZXJraXMuCgojLnZhbmt1dmVyLgoKIy5rZWlwdGF1 bi4KCiMudGFpYmVpcy4KCiMuYm9uLgoKIy5kZWxpcy4KCiMubmlzLgoKIy5hdGluYXMuCgojLmxp ZHouCgojLnhlbHNpbmtpcy4KCkFuc3dlcjoKCn5+Z3JheSxncmF5On5+Cgojfn5ncmF5LGdyYXk6 TmV3IFlvcms6IFVTQX5+Cgojfn5ncmF5LGdyYXk6Um9tZTogSXRhbHl+fgoKI35+Z3JheSxncmF5 OkhhdmFuYTogQ3ViYX5+Cgojfn5ncmF5LGdyYXk6Q2FyZGlmZjogV2FsZXMgKFRoZSBXZWxzaCBm b3IgIkNhcmRpZmYiIGlzICJDYWVyZHlkZCIsIHdoaWNoIHdvdWxkIExvamJhbmlzZSB0byBzb21l dGhpbmcgbGlrZSBrYWlyZHlkLi4pfn4KCiN+fmdyYXksZ3JheTpCZWlqaW5nOiBDaGluYX5+Cgoj fn5ncmF5LGdyYXk6QW5rYXJhOiBUdXJrZXl+fgoKI35+Z3JheSxncmF5OkFsYmVxdWVycXVlOiBO ZXcgTWV4aWNvLCBVU0F+fgoKI35+Z3JheSxncmF5OlZhbmNvdXZlcjogQ2FuYWRhfn4KCiN+fmdy YXksZ3JheTpDYXBlIFRvd246IFNvdXRoIEFmcmljYX5+Cgojfn5ncmF5LGdyYXk6VGFpcGVpOiBU YWl3YW4gKG5vdGUgYiwgbm90IHAuIEFsdGhvdWdoIGFjdHVhbGx5LCB0aGUgYiBpbiBQaW55aW4g aXMgcHJvbm91bmNlZCBhcyBhIHAuLi4gQnV0IHRoaXMgaXNuJ3QgbWVhbnQgdG8gYmUgYSBjb3Vy c2Ugb24gTWFuZGFyaW4hKX5+Cgojfn5ncmF5LGdyYXk6Qm9ubjogR2VybWFueX5+Cgojfn5ncmF5 LGdyYXk6RGVsaGk6IEluZGlhIChUaGUgSGluZGkgZm9yICJEZWxoaSIgaXMgIkRpbGzDriIsIHdo aWNoIHdvdWxkIGdpdmUgZGlsaXlzLiBvciBkaWxpJ2lzLi4pfn4KCiN+fmdyYXksZ3JheTpOaWNl OiBGcmFuY2V+fgoKI35+Z3JheSxncmF5OkF0aGVuczogR3JlZWNlICgiQXRoaW5hIiBpbiBHcmVl ayl+fgoKI35+Z3JheSxncmF5OkxlZWRzOiBFbmdsYW5kfn4KCiN+fmdyYXksZ3JheTpIZWxzaW5r aTogRmlubGFuZH5+CgpfX0V4ZXJjaXNlX18uCgpMb2piYW5pc2UgdGhlIGZvbGxvd2luZyBuYW1l cwoKI0pvaG4KCiNNZWxpc3NhCgojQW1hbmRhCgojTWF0dGhldwoKI01pY2hhZWwKCiNEYXZpZCBC b3dpZQoKI0phbmUgQXVzdGVuCgojV2lsbGlhbSBTaGFrZXNwZWFyZQoKI1NpZ291cm5leSBXZWF2 ZXIKCiNSaWNoYXJkIE5peG9uCgojSXN0YW5idWwKCiNNYWRyaWQKCiNUb2t5bwoKI1NhbiBTYWx2 YWRvcgoKQW5zd2VyOgoKfn5ncmF5LGdyYXk6VGhlcmUgYXJlIHVzdWFsbHkgYWx0ZXJuYXRpdmUg c3BlbGxpbmdzIGZvciBuYW1lcywgZWl0aGVyIGJlY2F1c2UgcGVvcGxlIHByb25vdW5jZSB0aGUg b3JpZ2luYWxzIGRpZmZlcmVudGx5LCBvciBiZWNhdXNlIHRoZSBleGFjdCBzb3VuZCBkb2Vzbid0 IGV4aXN0IGluIExvamJhbiwgc28geW91IG5lZWQgdG8gY2hvb3NlIGJldHdlZW4gdHdvIExvamJh biBsZXR0ZXJzLiBUaGlzIGRvZXNuJ3QgbWF0dGVyLCBzbyBsb25nIGFzIGV2ZXJ5b25lIGtub3dz IHdobyBvciB3aGVyZSB5b3UncmUgdGFsa2luZyBhYm91dC5+fgoKI35+Z3JheSxncmF5Oi5kam9u LiAob3IgLmRqYW4uIHdpdGggc29tZSBhY2NlbnRzKX5+Cgojfn5ncmF5LGdyYXk6Lm1lbGlzeXMu fn4KCiN+fmdyYXksZ3JheTouYW1hbmR5cy4gKGFnYWluLCBkZXBlbmRpbmcgb24geW91ciBhY2Nl bnQsIHRoZSBmaW5hbCB5IG1heSBiZSBhLCB0aGUgaW5pdGlhbCBhIG1heSBiZSB5LCBhbmQgdGhl IG1pZGRsZSBhIG1heSBiZSBlLil+fgoKI35+Z3JheSxncmF5Oi5tYXRpdXMufn4KCiN+fmdyYXks Z3JheToubWFpa3lsLiBvciAubWFpayxsLiAsIGRlcGVuZGluZyBvbiBob3cgeW91IHNheSBpdC5+ fgoKI35+Z3JheSxncmF5Oi5kZWl2eWQuYmF1LGlzLiBvciAuYm8saXMuIChidXQgbm90IC5idSxp cy4g4oCUIHRoYXQncyB0aGUga25pZmUpfn4KCiN+fmdyYXksZ3JheTouZGplaW4ub3N0aW4ufn4K CiN+fmdyYXksZ3JheToudWlsaWFtLmNla3NwaXIufn4KCiN+fmdyYXksZ3JheTouc2lnb3JuaXMu dWl2eXIuIG9yIC5zeWdvcm5pcy51aXZ5ci5+fgoKI35+Z3JheSxncmF5Oi5yaXRjeXJkLm5pa3N5 bi5+fgoKI35+Z3JheSxncmF5Oi5pc3RhbkJVTC4gd2l0aCBFbmdsaXNoIHN0cmVzcywgLklTdGFu YnVsLiB3aXRoIEFtZXJpY2FuLCAuaXN0YW5idWwuIHdpdGggVHVya2lzaC4gTG9qYmFuaXN0cyBn ZW5lcmFsbHkgcHJlZmVyIHRvIGJhc2UgY21ldmxhIG9uIGxvY2FsIHByb251bmNpYXRpb24sIGJ1 dCB0aGlzIGlzIG5vdCBhbiBhYnNvbHV0ZSBydWxlLn5+Cgojfn5ncmF5LGdyYXk6Lm1hRFJJRC5+ fgoKI35+Z3JheSxncmF5Oi50b2tpb3Mufn4KCiN+fmdyYXksZ3JheTouc2FuLnNhbHZhRE9SLiAo d2l0aCBTcGFuaXNoIHN0cmVzcykgPC9zcGFuPjwvaHRtbD5+fgoKISEhIUxvamJhbiB3b3JkcyBh cyBuYW1lcwoKQnkgbm93IHlvdSBzaG91bGQgYmUgYWJsZSB0byBMb2piYW5pc2UgeW91ciBvd24g bmFtZS4gSG93ZXZlciwgaWYgeW91IHByZWZlciwgeW91IGNhbiB0cmFuc2xhdGUgeW91ciBuYW1l IGludG8gTG9qYmFuIChpZiB5b3Uga25vdyB3aGF0IGl0IG1lYW5zLCBvZiBjb3Vyc2UpIG9yIGFk b3B0IGEgY29tcGxldGVseSBuZXcgTG9qYmFuIGlkZW50aXR5LiBOYXRpdmUgQW1lcmljYW5zIGdl bmVyYWxseSB0cmFuc2xhdGUgdGhlaXIgbmFtZSB3aGVuIHNwZWFraW5nIEVuZ2xpc2gsIHBhcnRs eSBiZWNhdXNlIHRoZXkgaGF2ZSBtZWFuaW5nZnVsIG5hbWVzLCBhbmQgcGFydGx5IGJlY2F1c2Ug dGhleSBkb24ndCBleHBlY3QgdGhlICJ3YXNpY2h1IiB0byBiZSBhYmxlIHRvIHByb25vdW5jZSB3 b3JkcyBpbiBMYWtvdGEsIENoZXJva2VlIG9yIHdoYXRldmVyIQoKTG9qYmFuIHdvcmRzIChleGNl cHQgY21ldmxhKSBlbmQgaW4gYSB2b3dlbC4gWW91IGNhbiB1c2UgbG9qYmFuIHdvcmRzIGFzIG5h bWVzIHRvby4gQnV0IGlmIHlvdSBwcmVmZXIgdGhhdCB5b3VyIG5hbWUgaXMgYSBjbWV2bGEgYW5k IGl0IGVuZHMgaW4gYSB2b3dlbCB0aGVuIHlvdSBjYW4gZWl0aGVyIGFkZCBhIGNvbnNvbmFudCB0 byB0aGUgZW5kIG9mIGl0IG9yIGp1c3QgY2hvcCB0aGUgZW5kIHZvd2VsIG9mZi4KCkhlcmUgYXJl IGEgZmV3IGV4YW1wbGVzIChvcmlnaW5hbCBuYW1lLCBtZWFuaW5nLCBuYW1lIGFuZCBuYW1lIGFz IGNtZXZsYSk6CgoqRmlzaCDigJMgZmlucGUg4oCTICcnLmZpbnAuJycKCipCasO2cm4gKFNjYW5k aW5hdmlhbiA9IGJlYXIpIOKAkyBjcmliZSDigJMgJycuY3JpYi4nJwoKKkdyZWVuIOKAkyBjcmlu byDigJMgJycuY3Jpbi4nJwoKKk1laSBMaSAoQ2hpbmVzZSA9IGJlYXV0aWZ1bCkg4oCTIG1lbGJp IOKAkyAnJy5tZWxiLicnCgoqQXloYW4gKFR1cmtpc2ggPSBNb29uIExvcmQpIOKAkyBsdW5yYSBu b2JsaSAoPSBsdXJub2JsaSkg4oCTICcnLmx1cm5vYmxpcy4nJwoKCgohIUxvamJhbiBMZXNzb25z IOKAkyBsZXNzb24gb25lIChicmlkaSwganVmcmEsIHN1bXRpIGFuZCBzZWxicmkpCgpBICcnYnJp ZGknJyBpcyB0aGUgbW9zdCBjZW50cmFsIHVuaXQgb2YgTG9qYmFuIHV0dGVyYW5jZXMuIFRoZSBj b25jZXB0IGlzIHZlcnkgY2xvc2UgdG8gd2hhdCB3ZSBjYWxsIGEgcHJvcG9zaXRpb24gaW4gRW5n bGlzaC4gQSBicmlkaSBpcyBhIGNsYWltIHRoYXQgc29tZSBvYmplY3RzIHN0YW5kIGluIGEgcmVs YXRpb24gdG8gZWFjaCBvdGhlciwgb3IgdGhhdCBhbiBvYmplY3QgaGFzIHNvbWUgcHJvcGVydHku IFRoaXMgc3RhbmRzIGluIGNvbnRyYXN0IHRvICcnanVmcmEnJywgd2hpY2ggYXJlIG1lcmVseSBM b2piYW4gdXR0ZXJhbmNlcywgd2hpY2ggY2FuIGJlIGJyaWRpIG9yIGFueXRoaW5nIGVsc2UgYmVp bmcgc2FpZC4gVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBhIGJyaWRpIGFuZCBhIGp1ZnJhIGlzIHRo YXQgYSBqdWZyYSBkb2VzIG5vdCBuZWNlc3NhcmlseSBzdGF0ZSBhbnl0aGluZywgd2hpbGUgYSBi cmlkaSBkb2VzLiBUaHVzLCBhIGJyaWRpIG1pZ2h0IGJlIHRydWUgb3IgZmFsc2UsIHdoaWxlIG5v dCBhbGwganVmcmEgY2FuIGJlIHNhaWQgdG8gYmUgc3VjaC4KClRvIGhhdmUgc29tZSBleGFtcGxl cyAoaW4gRW5nbGlzaCwgdG8gYmVnaW4gd2l0aCksIOKAnE1vemFydCB3YXMgdGhlIGdyZWF0ZXN0 IG11c2ljaWFuIG9mIGFsbCB0aW1l4oCdIGlzIGEgYnJpZGksIGJlY2F1c2UgaXQgbWFrZXMgYSBj bGFpbSB3aXRoIGEgdHJ1dGggdmFsdWUsIGFuZCBpdCBpbnZvbHZlcyBhbiBvYmplY3QsIE1vemFy dCwgYW5kIGEgcHJvcGVydHksIGJlaW5nIHRoZSBncmVhdGVzdCBtdXNpY2lhbiBvZiBhbGwgdGlt ZS4gT24gdGhlIGNvbnRyYXJ5LCDigJxPdyEgTXkgdG9lIeKAnSBpcyBub3QgYSBicmlkaSwgc2lu Y2UgaXQgZG9lcyBub3QgaW52b2x2ZSBhIHJlbGF0aW9uLCBhbmQgdGh1cyBkb2VzIG5vdCBzdGF0 ZSBhbnl0aGluZy4gQm90aCwgdGhvdWdoLCBhcmUganVmcmEuCgpUcnkgdG8gaWRlbnRpZnkgdGhl IGJyaWRpIGFtb25nIHRoZXNlIEVuZ2xpc2gganVmcmE6CgoKCiMg4oCcSSBoYXRlIGl0IHdoZW4g eW91IGRvIHRoYXQu4oCdCgojIOKAnFJ1bnMu4oCdCgojIOKAnFdvYWgsIHRoYXQgbG9va3MgZGVs aWNpb3VzIeKAnQoKIyDigJxHZWV6LCBub3QgYWdhaW4u4oCdCgojIOKAnE5vLCBJIG93biB0aHJl ZSBjYXJz4oCdCgojIOKAnE5pbmV0ZWVuIG1pbnV0ZXMgcGFzdCBlaWdodC7igJ0KCiMg4oCcVGhp cyBTYXR1cmRheSwgeWVzLuKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OjEsIDMgYW5kIDUgYXJl IGJyaWRpLiAyIGNvbnRhaW5zIG5vIG9iamVjdHMgYW5kIHRoZSByZXN0IGNvbnRhaW4gbm8gcmVs YXRpb24gb3IgY2xhaW0gb2YgYSBwcm9wZXJ0eS5+fgoKCgpQdXQgaW4gTG9qYmFuIHRlcm1zLCBh IGJyaWRpIGNvbnNpc3RzIG9mIG9uZSAnJ3NlbGJyaScnLCBhbmQgb25lIG9yIG1vcmUgJydzdW10 aScnLiBUaGUgc2VsYnJpIGlzIHRoZSByZWxhdGlvbiBvciBjbGFpbSBhYm91dCB0aGUgb2JqZWN0 LCBhbmQgdGhlIHN1bXRpIGFyZSB0aGUgb2JqZWN0cyB3aGljaCBhcmUgaW4gYSByZWxhdGlvbi4g Tm90ZSB0aGF0IOKAnG9iamVjdOKAnSBpcyBub3QgYSBwZXJmZWN0IHRyYW5zbGF0aW9uIG9mIOKA nHN1bXRp4oCdLCBzaW5jZSDigJxzdW10aeKAnSBjYW4gcmVmZXIgdG8gbm90IGp1c3QgcGh5c2lj YWwgb2JqZWN0cywgYnV0IGNhbiBhbHNvIHB1cmVseSBhYnN0cmFjdCB0aGluZ3MgbGlrZSDigJxU aGUgaWRlYSBvZiB3YXJmYXJl4oCdLiBBIGJldHRlciB0cmFuc2xhdGlvbiB3b3VsZCBiZSBzb21l dGhpbmcgbGlrZSDigJxzdWJqZWN0LCBkaXJlY3Qgb3IgaW5kaXJlY3Qgb2JqZWN04oCdIGZvciBz dW10aSwgYW5kIOKAnHZlcmLigJ0gZm9yIHNlbGJyaSwgdGhvdWdoLCBhcyB3ZSB3aWxsIHNlZSwg dGhpcyBpcyBub3Qgb3B0aW1hbCBlaXRoZXIuCgpXZSBjYW4gbm93IHdyaXRlIHRoZSBmaXJzdCBp bXBvcnRhbnQgbGVzc29uIGRvd246CgpicmlkaSA9IHNlbGJyaSArIG9uZSBvciBtb3JlIHN1bXRp CgpQdXQgYW5vdGhlciB3YXksIGEgYnJpZGkgc3RhdGVzIHRoYXQgc29tZSBzdW10aSBkby9hcmUg c29tZXRoaW5nIGV4cGxhaW5lZCBieSBhIHNlbGJyaS4KCgoKSWRlbnRpZnkgdGhlIHN1bXRpIGFu ZCBzZWxicmkgZXF1aXZhbGVudHMgaW4gdGhlc2UgRW5nbGlzaCBqdWZyYToKCuKAnEkgd2lsbCBw aWNrIHVwIG15IGRhdWdodGVycyB3aXRoIG15IGNhcuKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5 OnNlbGJyaTog4oCccGljayB1cCAod2l0aCnigJ0uIHN1bXRpOiDigJxJ4oCdLCDigJxteSBkYXVn aHRlcnPigJ0sIOKAnG15IGNhcuKAnX5+CgoKCuKAnEhlIGJvdWdodCA1IG5ldyBzaGlydHMgZnJv bSBNYXJrIGZvciBqdXN0IHR3byBodW5kcmVkIGV1cm8h4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdy ZXk6c2VsYnJpOiDigJxib3VnaHQgKGZyb20pIChmb3Ip4oCdIHN1bXRpOiDigJxIZeKAnSwg4oCc NSBuZXcgc2hpcnRz4oCdLCDigJxNYXJr4oCdIGFuZCDigJx0d28gaHVuZHJlZCBldXJvc+KAnX5+ CgoKClNpbmNlIHRoZXNlIGNvbmNlcHRzIGFyZSBzbyBmdW5kYW1lbnRhbCB0byBMb2piYW4sIGxl dCdzIGhhdmUgYSB0aGlyZCBleGFtcGxlOiDigJxTbyBmYXIsIHRoZSBFUEEgaGFzIGRvbmUgbm90 aGluZyBhYm91dCB0aGUgYW1vdW50IG9mIHN1bHBodXIgZGlveGlkZS7igJ0KCgoKQW5zd2VyOiB+ fmdyZXksZ3JleTpzZWxicmk6IOKAnGhhcyBkb25lIChhYm91dCnigJ0gc3VtdGk6IOKAnFRoZSBF UEHigJ0sIOKAnG5vdGhpbmfigJ0gYW5kIOKAnHRoZSBhbW91bnQgb2Ygc3VscGh1ciBkaW94aWRl 4oCdfn4KCgoKTm93IHRyeSBiZWdpbiBtYWtpbmcgTG9qYmFuIGJyaWRpLiBGb3IgdGhpcyB5b3Ug d2lsbCBuZWVkIHRvIHVzZSBzb21lIHdvcmRzLCB3aGljaCBjYW4gYWN0IGFzIHNlbGJyaToKCicn X19kdW5kYV9fJycgeDEgZ2l2ZXMgeDIgdG8geDMgKHdpdGhvdXQgcGF5bWVudCkKCicnX19wZWx4 dV9fJycgeDEgaXMgeWVsbG93CgonJ19femRhbmlfXycnIHgxIGlzIGEgaG9tZSBvZiB4MgoKCgpO b3RpY2UgdGhhdCB0aGVzZSB3b3JkcyBtZWFuaW5nIOKAnGdpdmXigJ0sIOKAnHllbGxvd+KAnSBh bmQg4oCcaG9tZeKAnSB3b3VsZCBiZSBjb25zaWRlcmVkIGEgdmVyYiwgYW4gYWRqZWN0aXZlIGFu ZCBhIG5vdW4gaW4gRW5nbGlzaC4gSW4gTG9qYmFuLCB0aGVyZSBhcmUgbm8gc3VjaCBjYXRlZ29y aWVzIGFuZCBubyBzdWNoIGRpc3RpbmN0aW9uLiAnJ2R1bmRhJycgY2FuIGJlIHRyYW5zbGF0ZWQg 4oCcZ2l2ZXPigJ0gKHZlcmIpLCDigJxpcyBhIGdpdmVy4oCdIChub3VuKSwg4oCcaXMgZ2l2aW5n 4oCdIChhZGplY3RpdmUpIGFzIHdlbGwgYXMgdG8gYW4gYWR2ZXJiIGZvcm0uIFRoZXkgYWxsIGFj dCBhcyBzZWxicmksIGFuZCBhcmUgdXNlZCBpbiB0aGUgc2FtZSB3YXkuCgoKCkFzIHdlbGwgYXMg YSBmZXcgd29yZHMsIHdoaWNoIGNhbiBhY3QgYXMgc3VtdGk6CgonJ19fbWlfXycnIOKAnEnigJ0g b3Ig4oCcd2XigJ0g4oCTIHRoZSBvbmUgb3IgdGhvc2Ugd2hvIGFyZSBzcGVha2luZy4KCicnX190 aV9fJycg4oCcdGhpc+KAnSDigJMgYSBjbG9zZSB0aGluZyBvciBldmVudCBuZWFyYnkgd2hpY2gg Y2FuIGJlIHBvaW50ZWQgdG8gYnkgdGhlIHNwZWFrZXIuCgonJ19fZG9fXycnIOKAnHlvdeKAnSDi gJMgdGhlIG9uZSBvciB0aG9zZSB3aG8gYXJlIGJlaW5nIHNwb2tlbiB0by4KCgoKU2VlIHRoZSBz dHJhbmdlIHRyYW5zbGF0aW9ucyBvZiB0aGUgc2VsYnJpIGFib3ZlIC0gZXNwZWNpYWxseSB0aGUg eDEsIHgyIGFuZCB4Mz8gVGhvc2UgYXJlIGNhbGxlZCBzdW10aSBwbGFjZXMuIFRoZXkgYXJlIHBs YWNlcyB3aGVyZSBzdW10aSBjYW4gZ28gdG8gZmlsbCBhIGJyaWRpLiBGaWxsaW5nIGEgc3VtdGkg aW4gYSBwbGFjZSBzdGF0ZXMgdGhhdCB0aGUgc3VtdGkgZml0cyBpbiB0aGF0IHBsYWNlLiBUaGUg c2Vjb25kIHBsYWNlIG9mICcnZHVuZGEnJywgZm9yIGV4YW1wbGUsIHgyLCBpcyB0aGUgdGhpbmcg YmVpbmcgZ2l2ZW4uIFRoZSB0aGlyZCBpcyB0aGUgb2JqZWN0IHdoaWNoIHJlY2VpdmVzIHRoZSB0 aGluZy4gTm90aWNlIGFsc28gdGhhdCB0aGUgdHJhbnNsYXRpb24gb2YgJydkdW5kYScnIGhhcyB0 aGUgd29yZCDigJx0b+KAnSBpbiBpdC4gVGhpcyBpcyBiZWNhdXNlLCB3aGlsZSB0aGlzIHdvcmQg aXMgbmVlZGVkIGluIEVuZ2xpc2ggdG8gc2lnbmlmeSB0aGUgcmVjZWl2ZXIsIHRoZSByZWNlaXZl ciBpcyBpbiB0aGUgdGhpcmQgc3VtdGkgcGxhY2Ugb2YgJydkdW5kYScnLiBTbyB3aGVuIHlvdSBm aWxsIHRoZSB0aGlyZCBzdW10aSBwbGFjZSBvZiAnJ2R1bmRhJycsIHRoZSBzdW10aSB5b3UgZmls bCBpbiBpcyBhbHdheXMgdGhlIHJlY2VpdmVyLCBhbmQgeW91IGRvbid0IG5lZWQgYW4gZXF1aXZh bGVudCB0byB0aGUgd29yZCDigJx0b+KAnSEKCgoKVG8gc2F5IGEgYnJpZGksIHlvdSBzaW1wbHkg c2F5IHRoZSB4MSBzdW10aSBmaXJzdCwgdGhlbiB0aGUgc2VsYnJpLCB0aGVuIGFueSBvdGhlciBz dW10aS4KClVzdWFsIGJyaWRpOiB7eDEgc3VtdGl9IF9fe3NlbGJyaX1fXyB7eDIgc3VtdGl9IHt4 MyBzdW10aX0ge3g0IHN1bXRpfSB7eDUgc3VtdGl9IHthbmQgc28gb259CgpUaGUgb3JkZXIgY2Fu IGJlIHBsYXllZCBhcm91bmQgd2l0aCwgYnV0IGZvciBub3csIHdlIHN0aWNrIHdpdGggdGhlIHVz dWFsIGZvcm0uIFRvIHNheSDigJxJIGdpdmUgdGhpcyB0byB5b3XigJ0geW91IGp1c3Qgc2F5ICcn bWkgZHVuZGEgdGkgZG8nJywgd2l0aCB0aGUgdGhyZWUgc3VtdGkgYXQgdGhlIHJpZ2h0IHBsYWNl cy4KCgoKU28sIGhvdyB3b3VsZCB5b3Ugc2F5IOKAnFRoaXMgaXMgYSBob21lIG9mIG1l4oCdPwoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OicndGkgemRhbmkgbWknJ35+CgoKClRyeSBhIGZldyBtb3Jl IGluIG9yZGVyIHRvIGdldCB0aGUgaWRlYSBvZiBhIHBsYWNlIHN0cnVjdHVyZSBzaW5rIGluLgoK CgrigJxZb3UgZ2l2ZSB0aGlzIHRvIG1l4oCdPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnZG8g ZHVuZGEgdGkgbWknJ35+CgoKCkFuZCB0cmFuc2xhdGUgJyd0aSBwZWx4dScnCgoKCkFuc3dlcjog fn5ncmV5LGdyZXk64oCcVGhpcyBpcyB5ZWxsb3cu4oCdfn4KCgoKUXVpdGUgZWFzeSBvbmNlIHlv dSBnZXQgdGhlIGhhbmcgb2YgaXQsIHJpZ2h0PwoKCgpNdWx0aXBsZSBicmlkaSBhZnRlciBlYWNo IG90aGVyIGFyZSBzZXBhcmF0ZWQgYnkgJycuaScnIFRoaXMgaXMgdGhlIExvamJhbiBlcXVpdmFs ZW50IG9mIGZ1bGwgc3RvcCwgYnV0IGl0IHVzdWFsbHkgZ29lcyBiZWZvcmUgYnJpZGkgaW5zdGVh ZCBvZiBhZnRlciB0aGVtLiBJdCdzIG9mdGVuIGxlZnQgb3V0IGJlZm9yZSB0aGUgZmlyc3QgYnJp ZGksIHRob3VnaCwgYXMgaW4gYWxsIHRoZXNlIGV4YW1wbGVzOgoKJydfXy5pX18nJyBTZW50ZW5j ZSBzZXBhcmF0b3IuIFNlcGFyYXRlcyBhbnkgdHdvIGp1ZnJhIChhbmQgdGhlcmVmb3JlIGFsc28g YnJpZGkpLgoKCgonJ3RpIHpkYW5pIG1pICAuaSB0aSBwZWx4dScnIOKAnVRoaXMgaXMgYSBob21l IHRvIG1lLiBUaGlzIGlzIHllbGxvdy7igJ0KCgoKQmVmb3JlIHlvdSBtb3ZlIG9uIHRvIHRoZSBu ZXh0IGxlc3NvbiwgSSByZWNvbW1lbmQgdGhhdCB5b3UgdGFrZSBhIGJyZWFrIGZvciBhdCBsZWFz dCBzZXZlbiBtaW51dGVzIHRvIGxldCB0aGUgaW5mb3JtYXRpb24gc2luayBpbi4KCgoKCgohIUxv amJhbiBMZXNzb25zIOKAkyBsZXNzb24gdHdvIChGQSBhbmQgem8nZSkKCk1vc3Qgc2VsYnJpIGhh dmUgZnJvbSBvbmUgdG8gZml2ZSBzdW10aSBwbGFjZXMsIGJ1dCBzb21lIGhhdmUgbW9yZS4gSGVy ZSBpcyBhIHNlbGJyaSB3aXRoIGZvdXIgc3VtdGkgcGxhY2VzOgoKJydfX3ZlY251X18nJyB4MSBz ZWxscyB4MiB0byB4MyBmb3IgcHJpY2UgeDQKCgoKSWYgSSB3YW50IHRvIHNheSDigJxJIHNlbGwg dGhpc+KAnSwgaXQgd291bGQgYmUgdG9vIG11Y2ggdG8gaGF2ZSB0byBmaWxsIHRoZSBzdW10aSBw bGFjZXMgeDMgYW5kIHg0LCB3aGljaCBzcGVjaWZ5IHdobyBJIHNlbGwgdGhlIHRoaW5nIHRvLCBh bmQgZm9yIHdoYXQgcHJpY2UuIEx1Y2tpbHksIEkgZG9uJ3QgbmVlZCB0by4gc3VtdGkgcGxhY2Vz IGNhbiBiZSBmaWxsZWQgd2l0aCAnJ3pvJ2UnJy4gJyd6bydlJycgaW5kaWNhdGVzIHRvIHVzIHRo YXQgdGhlIHZhbHVlIG9mIHRoZSBzdW10aSBwbGFjZSBpcyB1bnNwZWNpZmllZCBiZWNhdXNlIGl0 J3MgdW5pbXBvcnRhbnQgb3IgY2FuIGJlIGRldGVybWluZWQgZnJvbSBjb250ZXh0LgoKJydfX3pv J2VfXycnIOKAnHNvbWV0aGluZ+KAnSBGaWxscyBhIHN1bXRpIHBsYWNlIHdpdGggc29tZXRoaW5n LCBidXQgZG9lcyBub3Qgc3RhdGUgd2hhdC4KCgoKU28gdG8gc2F5IOKAnEkgc2VsbCB0byB5b3Xi gJ0sIEkgY291bGQgc2F5ICcnbWkgdmVjbnUgem8nZSBkbyB6bydlJycg4oCTIEkgc2VsbCBzb21l dGhpbmcgdG8geW91IGZvciBzb21lIHByaWNlLgoKSG93IHdvdWxkIHlvdSBzYXk6IOKAnFRoYXQn cyBhIGhvbWUgKGZvciBzb21lYm9keSnigJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6ICcndGkg emRhbmkgem8nZScnfn4KCgoKSG93IGFib3V0IOKAnChzb21lb25lKSBnaXZlcyB0aGlzIHRvIChz b21lb25lKeKAnT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ3pvJ2UgZHVuZGEgdGkgem8nZScn fn4KCgoKU3RpbGwsIGZpbGxpbmcgb3V0IHRocmVlIHpvJ2UganVzdCB0byBzYXkgdGhhdCBhIHRo aW5nIGlzIGJlaW5nIHNvbGQgdGFrZXMgdGltZS4gVGhlcmVmb3JlIHlvdSBkb24ndCBuZWVkIHRv IHdyaXRlIGFsbCB0aGUgJyd6bydlJycgaW4gYSBicmlkaS4gVGhlIHJ1bGUgc2ltcGx5IGlzIHRo YXQgaWYgeW91IGxlYXZlIG91dCBhbnkgc3VtdGksIHRoZXkgd2lsbCBiZSBjb25zaWRlcmVkIGFz IGlmIHRoZXkgY29udGFpbmVkICcnem8nZScnLiBJZiB0aGUgYnJpZGkgYmVnaW5zIHdpdGggYSBz ZWxicmksIHRoZSB4MSBpcyBwcmVzdW1lZCB0byBiZSBvbWl0dGVkIGFuZCBpdCBiZWNvbWVzICcn em8nZScnLgoKVHJ5IGl0IG91dC4gV2hhdCdzIExvamJhbiBmb3Ig4oCcSSBzZWxs4oCdPwoKCgpB bnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgdmVjbnUnJ35+CgoKCkFuZCB3aGF0IGRvZXMgJyd6ZGFu aSBtaScnIG1lYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcU29tZXRoaW5nIGlzIGEgaG9t ZSBvZiBtZeKAnSBvciBqdXN0IOKAnEkgaGF2ZSBhIGhvbWUu4oCdfn4KCgoKQXMgbWVudGlvbmVk IGVhcmxpZXIsIHRoZSBmb3JtIGRvZXNuJ3QgaGF2ZSB0byBiZSB7eDEgc3VtdGl9IHtzZWxicml9 IHt4MiBzdW10aX0ge3gzIHN1bXRpfSAoZWN0LikgSW4gZmFjdCwgeW91IGNhbiBwbGFjZSB0aGUg c2VsYnJpIGFueXdoZXJlIHlvdSB3YW50LCBqdXN0IG5vdCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRo ZSBicmlkaS4gSWYgeW91IGRvIHRoYXQsIHRoZSB4MSBpcyBjb25zaWRlcmVkIGxlZnQgb3V0IGFu ZCBmaWxsZWQgd2l0aCAnJ3pvJ2UnJyBpbnN0ZWFkLiBTbyB0aGUgZm9sbG93aW5nIHRocmVlIGp1 ZnJhIGFyZSBhbGwgdGhlIGV4YWN0bHkgc2FtZSBicmlkaToKCicnbWkgZHVuZGEgdGkgZG8nJwoK JydtaSB0aSBkdW5kYSBkbycnCgonJ21pIHRpIGRvIGR1bmRhJycKCgoKU29tZXRpbWVzIHRoaXMg aXMgdXNlZCBmb3IgcG9ldGljIGVmZmVjdC4g4oCcWW91IHNlbGwgeW91cnNlbGbigJ0gY291bGQg YmUgJydkbyBkbyB2ZWNudScnLCB3aGljaCBzb3VuZHMgYmV0dGVyIHRoYW4gJydkbyB2ZWNudSBk bycnLiBPciBpdCBjYW4gYmUgdXNlZCBmb3IgY2xhcml0eSBpZiB0aGUgc2VsYnJpIGlzIHZlcnkg bG9uZyBhbmQgdGhlcmVmb3JlIGJldHRlciBiZSBsZWZ0IGF0IHRoZSBlbmQgb2YgdGhlIGJyaWRp LgoKCgpUaGVyZSBhcmUgYWxzbyBzZXZlcmFsIHdheXMgdG8gcGxheSBhcm91bmQgd2l0aCB0aGUg b3JkZXIgb2YgdGhlIHN1bXRpIGluc2lkZSB0aGUgYnJpZGkuIFRoZSBlYXNpZXN0IG9uZSBpcyBi eSB1c2luZyB0aGUgd29yZHMgJydmYScnLCAnJ2ZlJycsICcnZmknJywgJydmbycnIGFuZCAnJ2Z1 JycuIE5vdGljZSB0aGF0IHRoZSB2b3dlbHMgYXJlIHRoZSBmaXZlIHZvd2VscyBpbiB0aGUgTG9q YmFuIGFscGhhYmV0IGluIG9yZGVyLiBVc2luZyBvbmUgb2YgdGhlc2Ugd29yZHMgbWFya3MgdGhh dCB0aGUgbmV4dCBzdW10aSB3aWxsIGZpbGwgdGhlIHgxLCB4MiwgeDMsIHg0IGFuZCB4NSByZXNw ZWN0aXZlbHkuIFRoZSBuZXh0IHN1bXRpIGFmdGVyIHRoYXQgd2lsbCBiZSBwcmVzdW1lZCB0byBm aWxsIGEgc2xvdCBvbmUgZ3JlYXRlciB0aGFuIHRoZSBwcmV2aW91cy4gVG8gdXNlIGFuIGV4YW1w bGU6CgonJ2R1bmRhIGZhIGRvIGZlIHRpIGRvJycg4oCTIOKAnEdpdmluZyBieSB5b3Ugb2YgdGhp cyB0aGluZyB0byB5b3XigJ0uICcnZmEnJyBtYXJrcyB0aGUgeDEsIHRoZSBnaXZlciwgd2hpY2gg aXMgeW91LiAnJ2ZlJycgbWFya3MgdGhlIHRoaW5nIGJlaW5nIGdpdmVuLCB0aGUgeDIuIFN1bXRp IGNvdW50aW5nIHRoZW4gY29udGludWVzIGZyb20gJydmZScnLCBtZWFuaW5nIHRoYXQgdGhlIGxh c3Qgc3VtdGkgZmlsbHMgeDMsIHRoZSBvYmplY3QgcmVjZWl2aW5nLgoKCgpBdHRlbXB0IHRvIHRy YW5zbGF0ZSB0aGUgZm9sbG93aW5nIHRocmVlIHNlbnRlbmNlczoKCgoKJydtaSB2ZWNudSBmbyB0 aSBmZSBkbycnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCdSSBzZWxsLCBmb3IgdGhlIHByaWNl IG9mIHRoaXMsIHlvdeKAnS4gb3Ig4oCcSSBzZWxsIHlvdSBmb3IgdGhlIHByaWNlIG9mIHRoaXPi gJ0gKHByb2JhYmx5IHBvaW50aW5nIHRvIGEgYnVuY2ggb2YgbW9uZXkpfn4KCgoKJyd6ZGFuaSBm ZSB0aScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcVGhpcyBoYXMgYSBob21l4oCdLiBIZXJl LCB0aGUgZmUgaXMgcmVkdW5kYW50Ln5+CgoKCicndmVjbnUgem8nZSBtaSB0aSBmYSBkbycnCgoK CkFuc3dlcjogfn5ncmV5LGdyZXk64oCcWW91IHNlbGwgc29tZXRoaW5nIHRvIG1lIGZvciB0aGlz IHByaWNl4oCdfn4KCgoKCgohIUxvamJhbiBMZXNzb25zIOKAkyBsZXNzb24gdGhyZWUgKHRhbnJ1 IGFuZCBsbykKCkluIHRoaXMgbGVzc29uLCB5b3Ugd2lsbCBiZWNvbWUgZmFtaWxpYXIgd2l0aCB0 aGUgY29uY2VwdCBvZiBhICcndGFucnUnJy4gQSB0YW5ydSBpcyBmb3JtZWQgd2hlbiBhIHNlbGJy aSBpcyBwdXQgaW4gZnJvbnQgb2YgYW5vdGhlciBzZWxicmksIG1vZGlmeWluZyBpdHMgbWVhbmlu Zy4gQSB0YW5ydSBpcyBpdHNlbGYgYSBzZWxicmksIGFuZCBjYW4gY29tYmluZSB3aXRoIG90aGVy IHNlbGJyaSBvciB0YW5ydSB0byBmb3JtIG1vcmUgY29tcGxleCB0YW5ydS4gVGh1cyAnJ3pkYW5p IHZlY251JycgaXMgYSB0YW5ydSwgYXMgd2VsbCBhcyAgJydwZWx4dSB6ZGFuaSB2ZWNudScnLCB3 aGljaCBpcyBtYWRlIGZyb20gdGhlIHRhbnJ1ICcncGVseHUgemRhbmknJyBhbmQgdGhlIHNpbmds ZSBicml2bGEgd29yZCAnJ3ZlY251JycuIFRvIHVuZGVyc3RhbmQgdGhlIGNvbmNlcHQgb2YgdGFu cnUsIGNvbnNpZGVyIHRoZSBFbmdsaXNoIG5vdW4gY29tYmluYXRpb24g4oCcbGVtb24gdHJlZeKA nS4gSWYgeW91IGRpZG4ndCBrbm93IHdoYXQgYSBsZW1vbiB0cmVlIHdhcywgYnV0IGhhZCBoZWFy ZCBhYm91dCBib3RoIGxlbW9ucyBhbmQgdHJlZXMsIHlvdSB3b3VsZCBub3QgYmUgYWJsZSB0byBk ZWR1Y2Ugd2hhdCBhIGxlbW9uIHRyZWUgd2FzLiBQZXJoYXBzIGEgbGVtb24tY29sb3JlZCB0cmVl LCBvciBhIHRyZWUgc2hhcGVkIGxpa2UgYSBsZW1vbiwgb3IgYSB0cmVlIHdob3NlIGJhcmsgdGFz dGVzIGxpa2UgbGVtb24uIFRoZSBvbmx5IHRoaW5ncyB5b3UgY291bGQga25vdyBmb3Igc3VyZSB3 b3VsZCBiZSB0aGF0IGl0IHdvdWxkIGJlIGEgdHJlZSwgYW5kIGl0IHdvdWxkIGJlIGxlbW9uLWxp a2UgaW4gc29tZSB3YXkuCgpBIHRhbnJ1IGlzIGNsb3NlbHkgYW5hbG9nb3VzIHRvIHRoaXMuIEl0 IGNhbm5vdCBiZSBzYWlkIGV4YWN0bHkgd2hhdCBhICcnemRhbmkgdmVjbnUnJyBpcywgYnV0IGl0 IGNhbiBiZSBzYWlkIHRoYXQgaXQgaXMgZGVmaW5pdGVseSBhIHZlY251LCBhbmQgdGhhdCBpdCdz IHpkYW5pLWxpa2UgaW4gc29tZSB3YXkuIEFuZCBpdCBjb3VsZCBiZSB6ZGFuaS1saWtlIGluIGFu eSB3YXkuIEluIHRoZW9yeSwgbm8gbWF0dGVyIGhvdyBzaWxseSBvciBhYnN1cmQgdGhlIGNvbm5l Y3Rpb24gdG8gemRhbmkgd2FzLCBpdCBjb3VsZCBzdGlsbCB0cnVseSBiZSBhICcnemRhbmkgdmVj bnUnJy4gSG93ZXZlciwgaXQgbXVzdCBhY3R1YWxseSBiZSBhIHZlY251IGluIHRoZSBvcmRpbmFy eSBzZW5zZSBpbiBvcmRlciBmb3IgdGhlIHRhbnJ1IHRvIGFwcGx5LiBZb3UgY291bGQgZ2xvc3Mg Jyd6ZGFuaSB2ZWNudScnIGFzIOKAnGhvbWUgc2VsbGVy4oCdLCBvciBldmVuIGJldHRlciBidXQg d29yc2Ugc291bmRpbmcg4oCcYSBob21lLXR5cGUtb2Ygc2VsbGVy4oCdLiBUaGUgcGxhY2Ugc3Ry dWN0dXJlIG9mIGEgdGFucnUgaXMgYWx3YXlzIHRoYXQgb2YgdGhlIHJpZ2h0bW9zdCBzZWxicmku IEl0J3MgYWxzbyBzYWlkIHRoYXQgdGhlIGxlZnQgc2VsYnJpIG1vZGlmaWVzIHRoZSByaWdodCBz ZWxicmkuCgrigJxSZWFsbHk/4oCdLCB5b3UgYXNrLCBzY2VwdGljYWxseSwg4oCcSXQgZG9lc24n dCBtYXR0ZXIgaG93IHNpbGx5IHRoZSBjb25uZWN0aW9uIHRvIHRoZSBsZWZ0IHdvcmQgaW4gYSB0 YW5ydSBpcywgaXQncyBzdGlsbCB0cnVlPyBTbyBJIGNvdWxkIGNhbGwgYWxsIHNlbGxlcnMgZm9y ICcnemRhbmkgdmVjbnUnJyBhbmQgdGhlbiBtYWtlIHVwIHNvbWUgc2lsbHkgZXhjdXNlIHdoeSBJ IHRoaW5rIGl0J3MgemRhbmktbGlrZT/igJ0KCldlbGwgeWVzLCBidXQgdGhlbiB5b3UnZCBiZSBh IGRpY2suIE9yIGF0IGxlYXN0IHlvdSdkIGJlIGludGVudGlvbmFsbHkgbWlzbGVhZGluZy4gSW4g Z2VuZXJhbCwgeW91IHNob3VsZCB1c2UgYSB0YW5ydSB3aGVuIGl0J3Mgb2J2aW91cyBob3cgdGhl IGxlZnQgd29yZCByZWxhdGVzIHRvIHRoZSByaWdodC4KCgoKQXR0ZW1wdCB0byB0cmFuc2xhdGUg dGhlIGZvbGxvd2luZzogJyd0aSBwZWx4dSB6ZGFuaSBkbycnCgoKCkFuc3dlcjogfn5ncmV5LGdy ZXk64oCcVGhhdCBpcyBhIHllbGxvdyBob21lIGZvciB5b3XigJ0gQWdhaW4sIHdlIGRvbid0IGtu b3cgaW4gd2hpY2ggd2F5IGl0J3MgeWVsbG93LiBQcm9iYWJseSBpdCdzIHBhaW50ZWQgeWVsbG93 LCBidXQgd2UgZG9uJ3Qga25vdyBmb3Igc3VyZS5+fgoKCgonJ21pIHZlY251IGR1bmRhJycKCgoK QW5zd2VyOiB+fmdyZXksZ3JleTrigJxJIHNlbGwtbGlrZSBnaXZl4oCdLiBXaGF0IGNhbiB0aGF0 IG1lYW4/IE5vIGlkZWEuIEl0IGNlcnRhaW5seSBkb2Vzbid0IG1lYW4gdGhhdCB5b3Ugc29sZCBz b21ldGhpbmcsIHNpbmNlLCBieSBkZWZpbml0aW9uIG9mICcnZHVuZGEnJywgdGhlcmUgY2FuIGJl IG5vIHBheW1lbnQgaW52b2x2ZWQuIEl0IGhhcyB0byBiZSBhIGdpdmVhd2F5LCBidXQgYmUgc2Vs bC1saWtlIGluIHNvbWUgYXNwZWN0Ln5+CgoKCkFuZCBub3cgZm9yIHNvbWV0aGluZyBjb21wbGV0 ZWx5IGRpZmZlcmVudC4gV2hhdCBpZiBJIHdhbnRlZCB0byBzYXkgSSBzb2xkIHRvIGEgR2VybWFu PwoKJydfX2RvdGNvX18nJyB4MSBpcyBHZXJtYW4vcmVmbGVjdHMgR2VybWFuIGN1bHR1cmUgaW4g YXNwZWN0IHgyCgoKCkkgY2FuJ3Qgc2F5ICcnbWkgdmVjbnUgem8nZSBkb3RjbycnIGJlY2F1c2Ug dGhhdCB3b3VsZCBsZWF2ZSB0d28gc2VsYnJpIGluIGEgYnJpZGksIHdoaWNoIGlzIG5vdCBwZXJt aXR0ZWQuIEkgY291bGQgc2F5ICcnbWkgZG90Y28gdmVjbnUnJyBidXQgdGhhdCB3b3VsZCBiZSB1 bm5lY2Vzc2FyeSB2YWd1ZSAtIEkgY291bGQgc2VsbCBpbiBhIEdlcm1hbiB3YXkuIExpa2V3aXNl LCBpZiBJIHdhbnQgdG8gc2F5IOKAnEkgYW0gZnJpZW5kcyB3aXRoIGFuIEFtZXJpY2Fu4oCdLCB3 aGF0IHNob3VsZCBJIHNheT8KCicnX19wZW5kb19fJycgMXggaXMgYSBmcmllbmQgb2YgeDIKCicn X19tZXJrb19fJycgeDEgaXMgQW1lcmljYW4vcmVmbGVjdCBVUyBjdWx0dXJlIGluIGFzcGVjdCB4 MgoKCgpBZ2FpbiwgdGhlIG9idmlvdXMgd291bGQgYmUgdG8gc2F5ICcnbWkgcGVuZG8gbWVya28n JywgYnV0IHRoYXQgd291bGQgZm9ybSBhIHRhbnJ1LCBtZWFuaW5nIOKAnEkgYW0gZnJpZW5kLWxp a2UgQW1lcmljYW7igJ0sIHdoaWNoIGlzIHdyb25nLiBXaGF0IHdlIHJlYWxseSB3YW50IHRvIGlz IHRvIHRha2UgdGhlIHNlbGJyaSAnJ21lcmtvJycgYW5kIHRyYW5zZm9ybSBpdCBpbnRvIGEgc3Vt dGkgc28gaXQgY2FuIGJlIHVzZWQgaW4gdGhlIHNlbGJyaSAnJ3BlbmRvJycuIFRoaXMgaXMgZG9u ZSBieSB0aGUgdHdvIHdvcmRzICcnbG8nJyBhbmQgJydrdScnLgoKX18nJ2xvJydfXyDigJMgZ2Vu ZXJpYyBiZWdpbiBjb252ZXJ0IHNlbGJyaSB0byBzdW10aSB3b3JkLiBFeHRyYWN0cyB4MSBvZiBz ZWxicmkgdG8gdXNlIGFzIHN1bXRpLgoKX18nJ2t1JydfXyDigJMgZW5kIGNvbnZlcnQgc2VsYnJp IHRvIHN1bXRpIHByb2Nlc3MuCgoKCllvdSBzaW1wbHkgcGxhY2UgYSBzZWxicmkgYmV0d2VlbiB0 aGVzZSB0d28gd29yZHMsIGFuZCBpdCB0YWtlcyBhbnl0aGluZyB0aGF0IGNhbiBmaWxsIHRoZSB4 MSBvZiB0aGF0IHNlbGJyaSBhbmQgdHVybnMgaXQgaW50byBhIHN1bXRpLgoKU28gZm9yIGluc3Rh bmNlLCB0aGUgdGhpbmdzIHRoYXQgY2FuIGZpbGwgemRhbmnigJhzIHgxIGFyZSBvbmx5IHRoaW5n cyB3aGljaCBhcmUgaG9tZXMgb2Ygc29tZWJvZHkuIFNvICcnbG8gemRhbmkga3UnJyBtZWFucyDi gJxhIGhvbWUgb3Igc29tZSBob21lcyBmb3Igc29tZWJvZHku4oCdIFNpbWlsYXJseSwgaWYgSSBz YXkgdGhhdCBzb21ldGhpbmcgaXMgcGVseHUsIGl0IG1lYW5zIGl0J3MgeWVsbG93LiBTbyAnJ2xv IHBlbHh1IGt1JycgcmVmZXJzIHRvIHNvbWV0aGluZyB5ZWxsb3cuCgoKCk5vdyB5b3UgaGF2ZSB0 aGUgbmVjZXNzYXJ5IGdyYW1tYXIgdG8gYmUgYWJsZSB0byBzYXkg4oCcSSBhbSBmcmllbmRzIHdp dGggYW4gQW1lcmljYW4u4oCdIEhvdz8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIHBlbmRv IGxvIG1lcmtvIGt1Jyd+fgoKCgpUaGVyZSBpcyBhIGdvb2QgcmVhc29uIHdoeSB0aGUgJydrdScn IGlzIG5lY2Vzc2FyeS4gVHJ5IHRvIHRyYW5zbGF0ZSDigJxBIEdlcm1hbiBzZWxscyB0aGlzIHRv IG1l4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydsbyBkb3RjbyBrdSB2ZWNudSB0aSBtaScn IElmIHlvdSBsZWF2ZSBvdXQgdGhlIGt1LCB5b3UgZG8gbm90IGdldCBhIGJyaWRpLCBidXQgc2lt cGx5IHRocmVlIHN1bXRpLiBTaW5jZSBsb+KApmt1IGNhbm5vdCBjb252ZXJ0IGJyaWRpLCB0aGUg dGkgaXMgZm9yY2VkIG91dHNpZGUgdGhlIHN1bXRpLCB0aGUgbG8tY29uc3RydWN0IGlzIGZvcmNl ZCB0byBjbG9zZSBhbmQgaXQgc2ltcGx5IGJlY29tZXMgdGhlIHRocmVlIHN1bXRpIG9mICcnbG8g ZG90Y28gdmVjbnUge2t1fScnLCAnJ3RpJycgYW5kICcnbWknJy5+fgoKCgpZb3UgYWx3YXlzIGhh dmUgdG8gYmUgY2FyZWZ1bCB3aXRoIGp1ZnJhIGxpa2UgJydsbyB6ZGFuaSBrdSBwZWx4dScnLiBJ ZiB0aGUgJydrdScnIGlzIGxlZnQgb3V0IHRoZSBjb252ZXJzaW9uIHByb2Nlc3MgZG9lcyBub3Qg ZW5kLCBhbmQgaXQgc2ltcGx5IGJlY29tZXMgb25lIHN1bXRpLCBtYWRlIGZyb20gdGhlIHRhbnJ1 ICcnemRhbmkgcGVseHUnJyBhbmQgdGhlbiBjb252ZXJ0ZWQgd2l0aCAnJ2xvJycuCgoKCgoKISFM b2piYW4gTGVzc29ucyDigJMgbGVzc29uIGZvdXIgKGF0dGl0dWRpbmFscykKCkFub3RoZXIgY29u Y2VwdCB3aGljaCBjYW4gYmUgdW5mYW1pbGlhciB0byBFbmdsaXNoIHNwZWFrZXJzIGlzIHRoYXQg b2YgYXR0aXR1ZGluYWxzLiBBdHRpdHVkaW5hbHMgYXJlIHdvcmRzIHRoYXQgZXhwcmVzcyBlbW90 aW9ucyBkaXJlY3RseS4gVGhlIGlkZWEgb2YgYXR0aXR1ZGluYWxzIG9yaWdpbmF0ZWQgaW4gdGhl IGZlbWluaXN0IGNvbnN0cnVjdGVkIGxhbmd1YWdlIExhZGFuLCBzdXBwb3NlZGx5IHRvIGVuYWJs ZSB0cnVlIGZlbWFsZSBlbW90aW9ucy4gVGhlIGlkZWEgd2FzIHRoYXQgZmVtYWxlIGVtb3Rpb25h bCBleHByZXNzaW9uIHdhcyBoaW5kZXJlZCBieSBtYWxlIGRvbWluYXRlZCBsYW5ndWFnZSwgYW5k IGlmIG9ubHkgdGhleSB3ZXJlIGFibGUgdG8gYmUgZXhwcmVzc2VkIG1vcmUgZnJlZWx5LCB0aGlz IHdvdWxkIGVtcG93ZXIgd29tZW4gdGhyb3VnaCBsaWJlcmF0aW9uIG9mIHRoZSBsYW5ndWFnZS4K CkluIExvamJhbiwgdGhlcmUgaXMgbm8gc3VjaCBhZ2VuZGEsIGFuZCBhdHRpdHVkaW5hbHMgbW9z dCBwcm9iYWJseSBoYXZlIGJlZW4gZGVzaWduZWQgaW50byB0aGUgbGFuZ3VhZ2UgYmVjYXVzZSB0 aGV5IHR1cm5lZCBvdXQgdG8gYmUgaW5jcmVkaWJseSBhd2Vzb21lIGFuZCB1c2VmdWwuIFRoZXkg YWxsIGhhdmUgYSBzby1jYWxsZWQgZnJlZSBncmFtbWFyLCB3aGljaCBtZWFucyB0aGF0IHRoZXkg Y2FuIGFwcGVhciBhbG1vc3QgYW55d2hlcmUgd2l0aGluIGJyaWRpIHdpdGhvdXQgZGlzcnVwdGlu ZyB0aGUgYnJpZGkncyBncmFtbWFyIG9yIGFueSBncmFtbWF0aWNhbCBjb25zdHJ1Y3RzLgoKSW4g TG9qYmFuIGdyYW1tYXIsIGFuIGF0dGl0dWRpbmFsIGFwcGxpZXMgdG8gdGhlIHByZXZpb3VzIHdv cmQuIElmIHRoYXQgcHJldmlvdXMgd29yZCBpcyBhIHdvcmQgd2hpY2ggYmVnaW5zIGEgY29uc3Ry dWN0IChsaWtlICcnLmknJyBvciAnJ2xvJycpLCBpdCBhcHBsaWVzIHRvIHRoZSBlbnRpcmUgY29u c3RydWN0LiBMaWtld2lzZSwgaWYgdGhlIGF0dGl0dWRpbmFsIGZvbGxvd3MgYSB3b3JkIHdoaWNo IGVuZHMgYSBjb25zdHJ1Y3QgbGlrZSAnJ2t1JycsIGl0IGFwcGxpZXMgdG8gdGhlIGVuZGVkIGNv bnN0cnVjdC4KCgoKTGV0J3MgaGF2ZSB0d28gYXR0aXR1ZGluYWxzIHRvIG1ha2Ugc29tZSBleGFt cGxlczoKCl9fJycudWknJ19fOiBhdHRpdHVkaW5hbDogc2ltcGxlIHB1cmUgZW1vdGlvbjogaGFw cGluZXNzIC0gdW5oYXBwaW5lc3MKCl9fJyd6YSdhJydfXzogYXR0aXR1ZGluYWw6IGV2aWRlbnRp YWw6IEkgZGlyZWN0bHkgb2JzZXJ2ZQoKCgpOb3RlIHRoYXQgaW4gdGhlIGRlZmluaXRpb24gb2Yg JycudWknJywgdGhlcmUgYXJlIGxpc3RlZCB0d28gZW1vdGlvbnMsIGhhcHBpbmVzcyBhbmQgdW5o YXBwaW5lc3MuIFRoaXMgbWVhbnMgdGhhdCAnJy51aScnIGlzIGRlZmluZWQgYXMgaGFwcGluZXNz LCB3aGlsZSBpdHMg4oCcbmVnYXRpb27igJ0sIG1lYW5zIHVuaGFwcGluZXNzLiDigJxOZWdhdGlv buKAnSBtaWdodCBiZSB0aGUgd3Jvbmcgd29yZCBoZXJlLiBUZWNobmljYWxseSwgdGhlIG90aGVy IGRlZmluaXRpb24gb2YgJycudWknJyBpcyBhbm90aGVyIGNvbnN0cnVjdCwgJycudWkgbmFpJycu IE1vc3Qgb2YgdGhlIHRpbWUsIHRoZSBzZWNvbmQgZGVmaW5pdGlvbiBvZiBhdHRpdHVkaW5hbHMg LSB0aGUgb25lcyBzdWZmaXhlZCB3aXRoICcnbmFpJycgLSByZWFsbHkgaXMgdGhlIG5lZ2F0aW9u IG9mIHRoZSBiYXJlIGF0dGl0dWRpbmFsLiBPdGhlciB0aW1lcywgbm90IHNvIG11Y2guCgpfXycn bmFpJydfXyBtaXNjLiBuZWdhdGlvbiAtIGF0dGFjaGVkIHRvIGF0dGl0dWRpbmFscywgaXQgY2hh bmdlcyB0aGUgbWVhbmluZyBpbnRvIHRoZSBhdHRpdHVkaW5hbCdzICJuZWdhdGlvbiIKCgoKQW5k IHNvbWUgbW9yZSBzZWxicmksIGp1c3QgZm9yIHRoZSBoZWNrIG9mIGl0OgoKX18nJ2NpdGthJydf XyDigJMgeDEgZWF0cyB4MgoKX18nJ3BsaXNlJydfXyDigJMgeDEgaXMgYW4gYXBwbGUgb2Ygc3Ry YWluL3R5cGUgeDIKCgoKVGhlIHNlbnRlbmNlICcnZG8gY2l0a2EgbG8gcGxpc2Uga3UgLnVpJycs IG1lYW5zIOKAnFlvdSBlYXQgYW4gYXBwbGUsIHlheSHigJ0gKGVzcGVjaWFsbHkgZXhwcmVzc2lu ZyB0aGF0IGl0IGlzIHRoZSBfX2FwcGxlX18gdGhhdCB0aGUgc3BlYWtlciBpcyBoYXBweSBhYm91 dCwgbm90IHRoZSBlYXRpbmcsIG9yIHRoZSBmYWN0IHRoYXQgaXQgd2FzIHlvdS4pIEluIHRoZSBz ZW50ZW5jZSAnJ2RvIHphJ2EgY2l0a2EgbG8gcGxpc2Uga3UnJywgdGhlIHNwZWFrZXIgZGlyZWN0 bHkgb2JzZXJ2ZXMgdGhhdCBpdCBpcyBpbmRlZWQgdGhlIF9f4oCceW914oCdX18sIHdobyBlYXRz IGFuIGFwcGxlIGFzIG9wcG9zZWQgdG8gc29tZW9uZSBlbHNlLgoKCgpJZiBhbiBhdHRpdHVkaW5h bCBpcyBwbGFjZWQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgYnJpZGksIGl0IGlzIHVuZGVyc3Rv b2QgdG8gYXBwbHkgdG8gYW4gZXhwbGljaXQgb3IgaW1wbGljaXQgJycuaScnLCB0aHVzIGFwcGx5 aW5nIHRvIHRoZSBlbnRpcmUgYnJpZGk6CgonJy51aSB6YSdhIGRvIGR1bmRhIGxvIHBsaXNlIGt1 IG1pJycg4oCTIOKAnFlheSwgSSBvYnNlcnZlIHRoYXQgeW91IGdpdmUgYW4vc29tZSBhcHBsZSB0 byBtZSHigJ0KCgoKJydtaSB2ZWNudSAudWkgbmFpIGxvIHpkYW5pIGt1Jycg4oCcSSBzZWxsICh3 aGljaCBzdWNrcyEpIGEgaG9tZeKAnS4KCgoKVHJ5IGl0IG91dCB3aXRoIGEgZmV3IGV4YW1wbGVz LiBGaXJzdCwgdGhvdWdoLCBoZXJlIGFyZSBzb21lIG1vcmUgYXR0aXR1ZGluYWxzOgoKX18nJy51 J3UnJ19fIGF0dGl0dWRpbmFsOiBzaW1wbGUgcHVyZSBlbW90aW9uOiBndWlsdCAtIHJlbW9yc2Vs ZXNzbmVzcyAtIGlubm9jZW5jZS4KCl9fJycub2knJ19fIGF0dGl0dWRpbmFsOiBjb21wbGV4IHB1 cmUgZW1vdGlvbjogY29tcGxhaW50IC0gcGxlYXN1cmUuCgpfXycnLml1JydfXyBhdHRpdHVkaW5h bDogbWlzY2VsbGFuZW91cyBwdXJlIGVtb3Rpb246IGxvdmUgLSBoYXRlLgoKCgpMb29rIGF0IHRo YXQsIGEgd29yZCB3aXRoIHRocmVlIGVtb3Rpb25zIGluIHRoZSBkZWZpbml0aW9uISBUaGUgbWlk ZGxlIG9uZSBpcyBhY2Nlc3NlZCBieSBzdWZmaXhpbm5nIHdpdGggJydjdSdpJycuIEl0J3MgY29u c2lkZXJlZCB0aGUgbWlkcG9pbnQgb2YgdGhlIGVtb3Rpb24uCgpfXycnY3UnaScnX18gYXR0aXR1 ZGluYWwgbWlkcG9pbnQgc2NhbGFyOiBhdHRhY2ggdG8gYXR0aXR1ZGluYWwgdG8gY2hhbmdlIHRo ZSBtZWFuaW5nIHRvIHRoZSAibWlkcG9pbnQiIG9mIHRoZSBlbW90aW9uLgoKCgpUcnkgc2F5aW5n IOKAnEkgZ2l2ZSBzb21ldGhpbmcgdG8gYSBHZXJtYW4sIHdobyBJIGxvdmXigJ0KCgoKQW5zd2Vy OiB+fmdyZXksZ3JleTonJ21pIGR1bmRhIGZpIGxvIGRvdGNvIGt1IC5pdScnIG9yICcnem8nZScn IGluc3RlYWQgb2YgJydmaScnfn4KCgoKTm93IOKAnEFhaCwgSSBlYXQgYSB5ZWxsb3cgYXBwbGXi gJ0KCkFuc3dlcjogfn5ncmV5LGdyZXk6Jycub2kgbmFpIG1pIGNpdGthIGxvIHBlbHh1IHBsaXNl IGt1Jyd+fgoKCgpMZXQncyBoYXZlIGFub3RoZXIgYXR0aXR1ZGluYWwgb2YgYSBkaWZmZXJlbnQg a2luZCB0byBpbGx1c3RyYXRlIHNvbWV0aGluZyBwZWN1bGlhcjoKCicnLmVpJycgQXR0aXR1ZGlu YWw6IGNvbXBsZXggcHJvcG9zaXRpb25hbCBlbW90aW9uOiBvYmxpZ2F0aW9uIC0gZnJlZWRvbS4K CgoKU28sIHF1aXRlIGVhc3k6IOKAnEkgaGF2ZSB0byBnaXZlIHRoZSBhcHBsZSBhd2F54oCdIGlz ICcnbWkgZHVuZGEgLmVpIGxvIHBsaXNlIGt1JycsIHJpZ2h0PyBJdCBpcywgYWN0dWFsbHkhIFdo ZW4geW91IHRoaW5rIGFib3V0IGl0LCB0aGF0J3Mgd2VpcmQuIFdoeSBpcyBpdCB0aGF0IGFsbCB0 aGUgb3RoZXIgYXR0aXR1ZGluYWxzIHdlIGhhdmUgc2VlbiBzbyBmYXIgZXhwcmVzc2VzIHRoZSBz cGVha2VyJ3MgZmVlbGluZyBhYm91dCB0aGUgYnJpZGksIGJ1dCB0aGlzIG9uZSBhY3R1YWxseSBj aGFuZ2VzIHdoYXQgdGhlIGJyaWRpIG1lYW5zPyBTdXJlbHksIGJ5IHNheWluZyDigJxJIGhhdmUg dG8gZ2l2ZSB0aGUgYXBwbGUgYXdheeKAnSwgd2Ugc2F5IG5vdGhpbmcgYWJvdXQgd2hldGhlciB0 aGUgYXBwbGUgYWN0dWFsbHkgaXMgYmVpbmcgZ2l2ZW4gYXdheS4gSWYgSSBoYWQgdXNlZCAnJy51 aScnLCBob3dldmVyLCBJIHdvdWxkIGFjdHVhbGx5IGhhdmUgc3RhdGVkIHRoYXQgSSBnYXZlIHRo ZSBhcHBsZSBhd2F5LCBhbmQgdGhhdCBJIHdhcyBoYXBweSBhYm91dCBpdC4gV2hhdCdzIHRoYXQg YWxsIGFib3V0PwoKCgpUaGlzIGlzc3VlLCBleGFjdGx5IGhvdyBhdHRpdHVkaW5hbHMgY2hhbmdl IHRoZSBjb25kaXRpb25zIG9uIHdoaWNoIGEgYnJpZGkgaXMgdHJ1ZSwgaXMgYSBzdWJqZWN0IG9m IGEgbWlub3IgZGViYXRlLiBUaGUgb2ZmaWNpYWwsIOKAnHRleHRib29r4oCdIHJ1bGUsIHdoaWNo IHByb2JhYmx5IHdvbid0IGJlIGNoYW5nZWQsIGlzIHRoYXQgdGhlcmUgaXMgYSBkaXN0aW5jdGlv biBiZXR3ZWVuIOKAnHB1cmUgZW1vdGlvbnPigJ0gYW5kIOKAnHByb3Bvc2l0aW9uYWwgZW1vdGlv bnPigJ0uIE9ubHkgcHJvcG9zdGlvbmFsIGVtb3Rpb25zIGNhbiBjaGFuZ2UgdGhlIHRydXRoIGNv bmRpdGlvbnMsIHdoaWxlIHB1cmUgZW1vdGlvbnMgY2Fubm90LiBJbiBvcmRlciB0byBleHByZXNz IGEgcHJvcG9zaXRpb25hbCBlbW90aW9uYWwgYXR0aXR1ZGluYWwgd2l0aG91dCBjaGFuZ2luZyB0 aGUgdHJ1dGggdmFsdWUgb2YgdGhlIGJyaWRpLCB5b3UgY2FuIGp1c3Qgc2VwYXJhdGUgaXQgZnJv bSB0aGUgYnJpZGkgd2l0aCAnJy5pJycuIFRoZXJlIGlzIGFsc28gYSB3b3JkIGZvciBleHBsaWNp dGx5IGNvbnNlcnZpbmcgb3IgY2hhbmdpbmcgdGhlIHRydXRoIGNvbmRpdGlvbnMgb2YgYSBicmlk aToKCgoKX18nJ2RhJ2knJ19fIGF0dGl0dWRpbmFsOiBkaXNjdXJzaXZlOiBzdXBwb3NpbmcgLSBp biBmYWN0CgpTYXlpbmcgJydkYSdpJycgaW4gYSBicmlkaSBjaGFuZ2VzIHRoZSB0cnV0aCBjb25k aXRpb25zIHRvIGh5cG90aGV0aWNhbCwgd2hpY2ggaXMgdGhlIGRlZmF1bHQgdXNpbmcgcHJvcG9z aXRpb25hbCBhdHRpdHVkaW5hbHMuIFNheWluZyAnJ2RhJ2kgbmFpJycgY2hhbmdlcyB0aGUgdHJ1 dGggY29uZGl0aW9uIHRvIHRoZSBub3JtYWwsIHdoaWNoIGlzIGRlZmF1bHQgdXNpbmcgcHVyZSBh dHRpdHVkaW5hbHMuCgoKClNvLCB3aGF0J3MgdHdvIHdheXMgb2Ygc2F5aW5nIOKAnEkgZ2l2ZSB0 aGUgYXBwbGUgYXdheeKAnT8gKGFuZCBmZWVsIG9ibGlnYXRpb24gYWJvdXQgaXQpCgoKCkFuc3dl cjogfn5ncmV5LGdyZXk6JydtaSBkdW5kYSBsbyBwbGlzZSAuaSAuZWknJyAgYW5kICcnbWkgZHVu ZGEgZGEnaSBuYWkgLmVpIGxvIHBsaXNlJyd+fgoKCgpUaGUgZmVlbGluZyBvZiBhbiBhdHRpdHVk aW5hbCBjYW4gYmUgc3Vic2NyaWJlZCB0byBzb21lb25lIGVsc2UgdXNpbmcgJydkYWknJy4gVXN1 YWxseSBpbiBvcmRpbmFyeSBzcGVlY2gsIHRoZSBhdHRpdHVkaW5hbCBpcyBzdWJzY3JpYmVkIHRv IHRoZSBsaXN0ZW5lciwgYnV0IGl0IGRvZXNuJ3QgaGF2ZSB0byBiZSBzby4gQWxzbywgYmVjYXVz ZSB0aGUgd29yZCBpcyBnbG9zc2VkIOKAnGVtcGF0aHnigJ0gKGZlZWxpbmcgb3RoZXJzIGVtb3Rp b25zKSwgc29tZSBMb2piYW5pc3RzIG1pc3Rha2VubHkgdGhpbmsgdGhhdCB0aGUgc3BlYWtlciBt dXN0IHNoYXJlIHRoZSBlbW90aW9uIGJlaW5nIHN1YnNjcmliZWQgdG8gb3RoZXJzLgoKX18nJ2Rh aScnX18gYXR0aXR1ZGluYWwgbW9kaWZ5ZXI6IEVtcGF0aHkgKHN1YnNjcmliZXMgYXR0aXR1ZGlu YWwgdG8gc29tZW9uZSBlbHNlLCB1bnNwZWNpZmllZCkKCkV4YW1wbGU6ICcndSdpIC5vaSBkYWkg Y2l0a2EgdGknJyAtIOKAnEhhIGhhLCB0aGlzIHdhcyBlYXRlbiEgVGhhdCBtdXN0IGhhdmUgaHVy dCHigJ0KCgoKV2hhdCBvZnRlbiB1c2VkIHBocmFzZSBjb3VsZCAnJy5vaSB1J2kgZGFpJycgbWVh bj8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxPdWNoLCB2ZXJ5IGZ1bm55LuKAnX5+CgoKCkFu ZCBhbm90aGVyIG9uZSB0byB0ZXN0IHlvdXIga25vd2xlZGdlOiBUcnkgdG8gdHJhbnNsYXRlIOKA nEhlIHdhcyBzb3JyeSBoZSBzb2xkIGEgaG9tZeKAnSAocmVtZW1iZXJpbmcsIHRoYXQgdGVuc2Ug aXMgaW1wbGllZCBhbmQgbmVlZCBub3QgYmUgc3BlY2lmaWVkLiBBbHNvLCDigJxoZeKAnSBjb3Vs ZCBiZSBvYnZpb3VzIGZyb20gY29udGV4dCkKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ3UndSBk YWkgdmVjbnUgbG8gemRhbmkga3UnJ35+CgoKCkxhc3RseSwgdGhlIGludGVuc2l0eSBvZiBhbiBh dHRpdHVkaW5hbCBjYW4gYmUgc3BlY2lmaWVkIHVzaW5nIGNlcnRhaW4gd29yZHMuIFRoZXNlIGNh biBiZSB1c2VkIGFmdGVyIGFuIGF0dGl0dWRpbmFsLCBvciBhbiBhdHRpdHVkaW5hbCB3aXRoICcn bmFpJycgb3IgJydjdSdpJycgc3VmZml4ZWQuIEl0J3MgbGVzcyBjbGVhciB3aGF0IGhhcHBlbnMg d2hlbiB5b3UgYXR0YWNoIGl0IHRvIG90aGVyIHdvcmRzLCBsaWtlIGEgc2VsYnJpLCBidXQgaXQn cyBtb3N0bHkgdW5kZXJzdG9vZCBhcyBpbnRlbnNpZnlpbmcgb3Igd2Vha2VuaW5nIHRoZSBzZWxi cmkgaW4gc29tZSB1bnNwZWNpZmllZCB3YXk6Cgp8fCBNb2RpZnlpbmcgd29yZCAgfCBJbnRlbnNp dHkgIAoKIGNhaXwgICBFeHRyZW1lCgogc2FpfCAgIFN0cm9uZwoKIChub25lKXwgICBVbnNwZWNp ZmllZCAobWVkaXVtKQoKIHJ1J2UgIHwgICBXZWFrfHwKCgoKV2hhdCBlbW90aW9uIGlzIGV4cHJl c3NlZCB1c2luZyAnJy51J2kgbmFpIHNhaScnID8KCl9fJycudSdpJydfXzogYXR0aXR1ZGluYWw6 IHNpbXBsZSBwdXJlIGVtb3Rpb246IGFtdXNlbWVudCAtIHdlYXJpbmVzcwoKCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OlN0cm9uZyB3ZWFyaW5lc3N+fgoKCgpBbmQgaG93IHdvdWxkIHlvdSBleHByZXNz IHRoYXQgeW91IGFyZSBtaWxkbHkgcmVtb3JzZWxlc3M/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6 JycudSd1IGN1J2kgcnUnZScnfn4KCgoKISFMb2piYW4gbGVzc29ucyDigJMgbGVzc29uIGZpdmUg KFNFKQoKQmVmb3JlIHdlIHZlbnR1cmUgaW50byB0aGUgdGVycml0b3J5IG9mIG1vcmUgY29tcGxl eCBjb25zdHJ1Y3RzLCB5b3Ugc2hvdWxkIGxlYXJuIGFub3RoZXIgbWVjaGFuaXNtIGZvciByZW9y ZGVyaW5nIHRoZSBzdW10aSBvZiBhIHNlbGJyaS4gVGhpcywgYXMgd2Ugd2lsbCBzaG93LCBpcyB2 ZXJ5IHVzZWZ1bCBmb3IgbWFraW5nIGRlc2NyaXB0aW9uLWxpa2Ugc3VtdGkgKHRoZSBraW5kIG9m IHN1bXRpIHdpdGggJydsbycnKS4KCkNvbnNpZGVyIHRoZSBzZW50ZW5jZSDigJxJIGVhdCBhIGdp ZnTigJ0sIHdoaWNoIG1pZ2h0IGJlIGFwcHJvcHJpYXRlIGlmIHRoYXQgZ2lmdCBpcyBhbiBhcHBs ZS4gVG8gdHJhbnNsYXRlIHRoaXMsIGl0IHdvdWxkIHNlZW0gbmF0dXJhbCB0byBsb29rIHVwIGEg c2VsYnJpIG1lYW5pbmcg4oCcZ2lmdOKAnSBiZWZvcmUgY29udGludWluZy4gSG93ZXZlciwgaWYg b25lIGxvb2tzIGNhcmVmdWxseSBhdCB0aGUgZGVmaW5pdGlvbiBvZiAnJ2R1bmRhJycsIHgxIGdp dmVzIHgyIHRvIHgzLCBvbmUgcmVhbGl6ZXMgdGhhdCB0aGUgeDIgb2YgJydkdW5kYScnIGlzIHNv bWV0aGluZyBnaXZlbiDigJMgYSBnaWZ0LgoKU28sIHRvIGV4cHJlc3MgdGhhdCBzZW50ZW5jZSwg d2UgY2FuJ3Qgc2F5ICcnbWkgY2l0a2EgbG8gZHVuZGEga3UnJywgYmVjYXVzZSAnJ2xvIGR1bmRh IGt1Jycgd291bGQgYmUgdGhlIHgxIG9mICcnZHVuZGEnJywgd2hpY2ggaXMgYSBkb25vciBvZiBh IGdpZnQuIENhbm5pYmFsaXNtIGFzaWRlLCB3ZSBkb24ndCB3YW50IHRvIHNheSB0aGF0LiBXaGF0 IHdlIHdhbnQgaXMgYSB3YXkgdG8gZXh0cmFjdCB0aGUgeDIgb2YgYSBzZWxicmkuCgpUaGlzIGlz IG9uZSBleGFtcGxlIHdoZXJlIGl0IGlzIHVzZWZ1bCB0byB1c2UgdGhlIHdvcmQgJydzZScnLiBX aGF0ICcnc2UnJyBkb2VzIGlzIHRvIG1vZGlmeSBhIHNlbGJyaSBzdWNoIHRoYXQgdGhlIHgxIGFu ZCB4MiBvZiB0aGF0IHNlbGJyaSB0cmFkZSBwbGFjZXMuIFRoZSBjb25zdHJ1Y3Qgb2YgJydzZScn ICsgc2VsYnJpIGlzIG9uIGl0cyBvd24gY29uc2lkZXJlZCBvbmUgc2VsYnJpLiBMZXQncyB0cnkg d2l0aCBhbiBvcmRpbmFyeSBzZW50ZW5jZToKCl9fJydmYW52YScnX18gPSDigJx4MSB0cmFuc2xh dGVzIHgyIHRvIGxhbmd1YWdlIHgzIGZyb20gbGFuZ3VhZ2UgeDQgd2l0aCByZXN1bHQgb2YgdHJh bnNsYXRpb24geDXigJ0KCicndGkgc2UgZmFudmEgbWknJyA9ICcnbWkgZmFudmEgdGknJwoKVGhp cyBpcyB0cmFuc2xhdGVkIGJ5IG1lICg9IEkgdHJhbnNsYXRlIHRoaXMpLiBPZnRlbiwgYnV0IG5v dCBhbHdheXMsIGJyaWRpIHdpdGggJydzZScnLWNvbnN0cnVjdHMgYXJlIHRyYW5zbGF0ZWQgdG8g c2VudGVuY2VzIHdpdGggdGhlIHBhc3NpdmUgdm9pY2UsIHNpbmNlIHRoZSB4MSBpcyBvZnRlbiB0 aGUgb2JqZWN0IHRha2luZyBhY3Rpb24uCgonJ3NlJycgaGFzIGl0cyBvd24gZmFtaWx5IG9mIHdv cmRzLiBBbGwgb2YgdGhlbSBzd2FwIGEgZGlmZmVyZW50IHBsYWNlIHdpdGggdGhlIHgxLgoKfHxz ZQl8c3dhcCB4MSBhbmQgeDIKCnRlCXxzd2FwIHgxIGFuZCB4MwoKdmUJfHN3YXAgeDEgYW5kIHg0 Cgp4ZQl8c3dhcCB4MSBhbmQgeDV8fAoKTm90ZSB0aGF0IHMsIHQsIHYsIGFuZCB4IGFyZSBjb25z ZWN1dGl2ZSBjb25zb25hbnRzIGluIHRoZSBsb2piYW4gYWxwaGFiZXQuCgoKClNvOiBVc2luZyB0 aGlzIGtub3dsZWRnZSwgd2hhdCB3b3VsZCAnJ3RpIHhlIGZhbnZhIHRpJycgbWVhbj8KCgoKQW5z d2VyOiB+fmdyZXksZ3JleTrigJxUaGlzIGlzIGEgdHJhbnNsYXRpb24gb2YgdGhpc+KAnSAob3Ig JydmYW52YSB0aSBmdSB0aScnKX5+CgoKCicnc2UnJyBhbmQgaXRzIGZhbWlseSBjYW4gb2YgY291 cnNlIGJlIGNvbWJpbmVkIHdpdGggJydmYScnIGFuZCBpdHMgZmFtaWx5LiBUaGUgcmVzdWx0IGNh biBiZSB2ZXJ5IGNvbmZ1c2luZyBpbmRlZWQsIGlmIHlvdSB3aXNoIHRvIG1ha2UgaXQgc286Cgpf Xycna2xhbWEnJ19fID0g4oCceDEgdHJhdmVscy9nb2VzIHRvIHgyIGZyb20geDMgdmlhIHg0IHVz aW5nIHg1IGFzIHRyYW5zcG9ydGF0aW9uIGRldmljZeKAnQoKJydmdSBsbyB6ZGFuaSBrdSB0ZSBr bGFtYSBmZSBkbyB0aSBmYSBtaScnID0gJydtaSB0ZSBrbGFtYSBkbyB0aSBsbyB6ZGFuaSBrdScn IGFuZCBzaW5jZSAnJ3RlJycgZXhjaGFuZ2VzIHgxIGFuZCB4MzogPSAnJ3RpIGtsYW1hIGRvIG1p IGxvIHpkYW5pIGt1JycKCuKAnFRoaXMgdHJhdmVscyB0byB5b3UgZnJvbSBtZSB2aWEgYSBob21l LuKAnSBPZiBjb3Vyc2UsIG5vIG9uZSB3b3VsZCBtYWtlIHN1Y2ggYSBzZW50ZW5jZSBleGNlcHQg dG8gY29uZnVzZSBwZW9wbGUsIG9yIGNydWVsbHkgdG8gdGVzdCB0aGVpciB1bmRlcnN0YW5kaW5n IG9mIExvamJhbiBncmFtbWFyLgoKQW5kIHRodXMsIHdlIGhhdmUgY29tZSB0byB0aGUgcG9pbnQg d2hlcmUgd2UgY2FuIHNheSDigJxJIGVhdCBhIGdpZnQu4oCdLiBTaW1wbHkgZXhjaGFuZ2UgdGhl IHN1bXRpIHBsYWNlcyBvZiAnJ2R1bmRhJycgdG8gZ2V0IHRoZSBnaWZ0IHRvIGJlIHgxLCB0aGVu IGV4dHJhY3QgdGhpcyBuZXcgeDEgd2l0aCAnJ2xvJycuLi4nJ2t1JycuIFNvLCBob3cgd291bGQg eW91IHNheSBpdD8KCk9uZSAocG9zc2libGUpIGFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBjaXRr YSBsbyBzZSBkdW5kYSBrdScnfn4KClRoaXMgc2hvd3Mgb25lIG9mIHRoZSBtYW55IHVzZXMgZm9y ICcnc2UnJyBhbmQgaXRzIGZhbWlseS4KCgoKCgohIUxvamJhbiBsZXNzb25zIOKAkyBsZXNzb24g c2l4IChhYnN0cmFjdGlvbnMpCgpTbyBmYXIgd2UgaGF2ZSBvbmx5IGV4cHJlc3NlZCBzaW5nbGUg c2VudGVuY2VzIG9uZSBhdCBhIHRpbWUuIFRvIGV4cHJlc3MgbW9yZSBjb21wbGV4IHRoaW5ncywg aG93ZXZlciwgeW91IG9mdGVuIG5lZWQgc3Vib3JkaW5hdGUgc2VudGVuY2VzLiBMdWNraWx5LCB0 aGVzZSBhcmUgbXVjaCBlYXNpZXIgaW4gTG9qYmFuIHRoYW4gd2hhdCBvbmUgd291bGQgZXhwZWN0 LgoKV2UgY2FuIGJlZ2luIHdpdGggYW4gZXhhbXBsZSB0byBkZW1vbnN0cmF0ZSB0aGlzOiDigJxJ IGFtIGhhcHB5IHRoYXQgeW91IGFyZSBteSBmcmllbmQu4oCdIEhlcmUsIHRoZSBtYWluIGJyaWRp IGlzIOKAnEkgYW0gaGFwcHkgdGhhdCBYLuKAnSwgYW5kIHRoZSBzdWItYnJpZGkgaXMg4oCcWW91 IGFyZSBteSBmcmllbmQu4oCdIExvb2tpbmcgYXQgdGhlIGRlZmluaXRpb24gZm9yIOKAnGhhcHB5 4oCdLCB3aGljaCBpcyAnJ2dsZWtpJyc6CgpfXycnZ2xla2knJ19fIOKAnHgxIGlzIGhhcHB5IGFi b3V0IHgyIChldmVudC9zdGF0ZSnigJ0KCk9uZSBzZWVzIHRoYXQgdGhlIHgyIG5lZWRzIHRvIGJl IGFuIGV2ZW50IG9yIGEgc3RhdGUuIFRoaXMgaXMgbmF0dXJhbCwgYmVjYXVzZSBvbmUgY2Fubm90 IGJlIGhhcHB5IGFib3V0IGFuIG9iamVjdCBpbiBpdHNlbGYsIG9ubHkgYWJvdXQgc29tZSBzdGF0 ZSB0aGUgb2JqZWN0IGlzIGluLiBCdXQgYWxhcyEgT25seSBicmlkaSBjYW4gZXhwcmVzcyBhIHN0 YXRlIG9yIGFuIGV2ZW50LCBhbmQgb25seSBzdW10aSBjYW4gZmlsbCB0aGUgeDIgb2YgJydnbGVr aScnIQoKQXMgeW91IG1pZ2h0IGhhdmUgZ3Vlc3NlZCwgdGhlcmUgaXMgYSBzb2x1dGlvbi4gVGhl IHdvcmRzICcnc3UndScnLi4uJydrZWknJyBpcyBhIGdlbmVyaWMg4oCcY29udmVydCBicmlkaSB0 byBzZWxicmnigJ0gZnVuY3Rpb24sIGFuZCB3b3JrcyBqdXN0IGxpa2UgJydsbycn4oCmJydrdScn LgoKX18nJ3N1J3UnJ19fIHgxIGlzIGFuIGFic3RyYWN0aW9uIG9mIHticmlkaX0gb2YgdHlwZSB4 MgoKX18nJ2tlaScnX18gZW5kIGFic3RyYWN0aW9uCgoKCkV4YW1wbGU6CgpfXycnbWVsYmknJ19f IHgxIGlzIGJlYXV0aWZ1bCB0byB4Mi4KCl9fJydkYW5zdScnX18geDEgZGFuY2VzIHRvIGFjY29t cGFuaW1lbnQvbXVzaWMvcmh5dGhtIHgyLgoKJydtZWxiaSBzdSd1IGRhbnN1IGtlaScnIC0g4oCc QmVhdXRpZnVsIGRhbmNpbmfigJ0v4oCcQmVhdXRpZnVsIGRhbmNl4oCdCgoKCkl0J3MgdXN1YWxs eSBoYXJkIHRvIGZpbmQgZ29vZCB1c2VzIG9mIGEgYnJpZGkgYXMgYSBzZWxicmkuIEhvd2V2ZXIs IHNpbmNlICcnc3UndSBCUklESSBrZWknJyBpcyBhIHNlbGJyaSwgb25lIGNhbiBjb252ZXJ0IGl0 IHRvIGEgc3VtdGkgdXNpbmcgJydsbycnLi4uJydrdScnLgoKTm93IHdlIGhhdmUgdGhlIGVxdWlw bWVudCB0byBleHByZXNzIOKAnEkgYW0gaGFwcHkgdGhhdCB5b3UgYXJlIG15IGZyaWVuZOKAnS4g VHJ5IGl0IG91dCEKCl9fJydwZW5kbycnX18g4oCceDEgaXMgYSBmcmllbmQgb2YgeDLigJ0KCgoK QW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGdsZWtpIGxvIHN1J3UgZG8gcGVuZG8gbWkga2VpIGt1 Jyd+fgoKCgpIb3dldmVyLCAnJ3N1J3UnJ+KApicna2VpJycgZG9lcyBub3Qgc2VlIG11Y2ggdXNl LiBQZW9wbGUgcHJlZmVyIHRvIHVzZSB0aGUgbW9yZSBzcGVjaWZpYyB3b3JkcyAnJ251JyfigKYn J2tlaScnIGFuZCAnJ2R1J3UnJ+KApicna2VpJycuIFRoZXkgd29yayB0aGUgc2FtZSB3YXksIGJ1 dCBtZWFuIHNvbWV0aGluZyBkaWZmZXJlbnQuICcnbnXigKZrZWknJyB0cmVhdHMgdGhlIGJyaWRp IGluIGJldHdlZW4gYXMgYW4gZXZlbnQgb3Igc3RhdGUsIGFuZCAnJ2R1J3XigKZrZWknJyB0cmVh dHMgaXQgYXMgYW4gYWJzdHJhY3QgYnJpZGksIGZvciBleHByZXNzaW5nIHRoaW5ncyBsaWtlIGlk ZWFzLCB0aG91Z2h0cyBvciB0cnV0aHMuIEFsbCB0aGVzZSB3b3JkcyAoZXhjZXB0ICcna2VpJycp IGFyZSBjYWxsZWQgYWJzdHJhY3RvcnMuIFRoZXJlIGFyZSBtYW55IG9mIHRoZW0sIGFuZCBvbmx5 IGZldyBhcmUgdXNlZCBtdWNoLiAnJ3N1J3XigKZrZWknJyBpcyBhIGdlbmVyYWwgYWJzdHJhY3Rv ciwgYW5kIHdpbGwgd29yayBpbiBhbGwgY2FzZXMuCgoKClVzZSAnJ251JycgdG8gc2F5IOKAnEkn bSBoYXBweSBhYm91dCB0YWxraW5nIHRvIHlvdS7igJ0KCl9fJyd0YXZsYScnX18geDEgdGFsa3Mg dG8geDIgYWJvdXQgc3ViamVjdCB4MyBpbiBsYW5ndWFnZSB4NC4KCgoKQW5zd2VyOiB+fmdyZXks Z3JleTonJ21pIGdsZWtpIGxvIG51IHRhdmxhIGRvIGtlaSBrdScnIChub3RpY2UgYm90aCB0aGUg RW5nbGlzaCBhbmQgdGhlIExvamJhbiBpcyB2YWd1ZSBhcyB0byB3aG8gaXMgZG9pbmcgdGhlIHRh bGtpbmcpLn5+CgoKCk90aGVyIGltcG9ydGFudCBhYnN0cmFjdG9ycyBpbmNsdWRlOiAnJ2thLi4u a2VpJycgKHByb3BlcnR5L2FzcGVjdCBhYnN0cmFjdGlvbiksICcnc2knby4uLmtlaScnIChjb25j ZXB0L2lkZWEgYWJzdHJhY3Rpb24pLCAnJ25pLi4ua2VpJycgKHF1YW50aXR5IGFic3RyYWN0aW9u KSBhbW9uZyBvdGhlcnMuIFRoZSBtZWFuaW5ncyBvZiB0aGVzZSBpcyBhIGNvbXBsaWNhdGVkIG1h dHRlciwgYW5kIHdpbGwgYmUgZGlzY3Vzc2VkIG11Y2ggbGF0ZXIsIGluIGxlc3NvbiB0d2VudHkt bmluZS4gRm9yIG5vdywgeW91J2xsIGhhdmUgdG8gZG8gd2l0aG91dCB0aGVtLgoKCgpJdCBpcyBp bXBvcnRhbnQgdG8gbm90aWNlIHRoYXQgc29tZSBhYnN0cmFjdG9ycyBoYXZlIHNldmVyYWwgc3Vt dGkgcGxhY2VzLiBBcyBhbiBleGFtcGxlLCAnJ2R1J3UnJyBjYW4gYmUgbWVudGlvbmVkLiAnJ2R1 J3UnJyBpcyBkZWZpbmVkOgoKJydkdSd1JycgPSDigJxhYnN0cmFjdG9yLiB4MSBpcyB0aGUgcHJl ZGljYXRlL2JyaWRpIG9mIHticmlkaX0gZXhwcmVzc2VkIGluIHNlbnRlbmNlIHgy4oCdLgoKVGhl IG90aGVyIHN1bXRpIHBsYWNlcyBiZXNpZGVzIHgxIGlzIHJhcmVseSB1c2VkLCBidXQgJydsbyBz ZSBkdSd1IHticmlkaX0ga2VpIGt1JycgaXMgc29tZXRpbWVzIHVzZWQgYXMgYSBzdW10aSBmb3Ig aW5kaXJlY3QgcXVvdGF0aW9uOiDigJxJIHNhaWQgdGhhdCBJIHdhcyBnaXZlbiBhIGRvZ+KAnSBj YW4gYmUgd3JpdHRlbiAnJ21pIGN1c2t1IGxvIHNlIGR1J3UgbWkgdGUgZHVuZGEgbG8gZ2Vya3Ug a3Uga2VpIGt1JycsIGlmIHlvdSB3aWxsIHBhcmRvbiB0aGUgd2VpcmQgZXhhbXBsZS4KCl9fJydj dXNrdScnX18geDEgZXhwcmVzc2VzIHgyIHRvIHgzIHRocm91Z2ggbWVkaXVtIHg0CgpfXycnZ2Vy a3UnJ19fIHgxIGlzIGEgZG9nIG9mIHJhY2UgeDIKCiEhTG9qYmFuIGxlc3NvbnMg4oCTIGxlc3Nv biBzZXZlbiAoTk9JKQoKV2hpbGUgd2UncmUgYXQgaXQsIHRoZXJlJ3MgYW5vdGhlciB0eXBlIG9m IHN1Ym9yZGluYXRlIGJyaWRpLiBUaGVzZSBhcmUgY2FsbGVkIHJlbGF0aXZlIGNsYXVzZXMuIFRo ZXkgYXJlIHNlbnRlbmNlcyB3aGljaCBhZGQgc29tZSBkZXNjcmlwdGlvbiB0byBhIHN1bXRpLiBJ bmRlZWQsIHRoZSDigJx3aGljaOKAnSBpbiB0aGUgcHJldmlvdXMgc2VudGVuY2UgbWFya2VkIHRo ZSBiZWdpbm5pbmcgb2YgYSByZWxhdGl2ZSBjbGF1c2UgaW4gRW5nbGlzaCBkZXNjcmliaW5nIHJl bGF0aXZlIGNsYXVzZXMuIEluIExvamJhbiwgdGhleSBjb21lIGluIHR3byBmbGF2b3JzLCBhbmQg aXQgbWlnaHQgYmUgd29ydGggZGlzdGluZ3Vpc2hpbmcgdGhlIHR3byBraW5kcyBiZWZvcmUgbGVh cm5pbmcgaG93IHRvIGV4cHJlc3MgdGhlbS4KClRoZSB0d28ga2luZHMgYXJlIGNhbGxlZCByZXN0 cmljdGl2ZSBhbmQgbm9uLXJlc3RyaWN0aXZlIChvciBpbmNpZGVudGlhbCkgcmVsYXRpdmUgY2xh dXNlcy4gQW4gZXhhbXBsZSB3b3VsZCBiZSBnb29kIGhlcmU6CgrigJxNeSBicm90aGVyLCB3aG8g aXMgdHdvIG1ldGVycyB0YWxsLCBpcyBhIHBvbGl0aWNpYW4u4oCdIFRoaXMgY2FuIGJlIHVuZGVy c3Rvb2QgaW4gdHdvIHdheXMuIEkgY291bGQgaGF2ZSBzZXZlcmFsIGJyb3RoZXJzLCBpbiB3aGlj aCBjYXNlIHNheWluZyBoZSBpcyB0d28gbWV0ZXJzIHRhbGwgd2lsbCBsZXQgeW91IGtub3cgd2hp Y2ggYnJvdGhlciBJIGFtIHRhbGtpbmcgYWJvdXQuIE9yIEkgbWlnaHQgaGF2ZSBvbmx5IG9uZSBi cm90aGVyLCBpbiB3aGljaCBjYXNlIEkgYW0gc2ltcGx5IGdpdmluZyB5b3UgYWRkaXRpb25hbCBp bmZvcm1hdGlvbi4KCgoKSW4gRW5nbGlzaCBhcyB3ZWxsIGFzIExvamJhbiB3ZSBkaXN0aW5ndWlz aCBiZXR3ZWVuIHRoZXNlIHR3byBraW5kcyDigJMgdGhlIGZpcnN0IGludGVycHJldGF0aW9uIGlz IHJlc3RyaWN0aXZlIChzaW5jZSBpdCBoZWxwcyByZXN0cmljdCB0aGUgcG9zc2libGUgYnJvdGhl cnMgSSBtaWdodCBiZSB0YWxraW5nIGFib3V0KSwgdGhlIHNlY29uZCBub24tcmVzdHJpY3RpdmUu IFdoZW4gc3BlYWtpbmcgRW5nbGlzaCwgY29udGV4dCBhbmQgdG9uZSBvZiB2b2ljZSAob3IgaW4g d3JpdHRlbiBFbmdsaXNoLCBwdW5jdHVhdGlvbikgaGVscHMgdXMgZGlzdGluZ3Vpc2ggYmV0d2Vl biB0aGVzZSB0d28sIGJ1dCBub3Qgc28gaW4gTG9qYmFuLiBMb2piYW4gdXNlcyB0aGUgY29uc3Ry dWN0cyAnJ3BvaeKApmt1J28nJyBhbmQgJydub2nigKZrdSdvJycgZm9yIHJlc3RyaWN0aXZlIGFu ZCBub24tcmVzdHJpY3RpdmUgcmVsYXRpdmUgY2xhdXNlcywgcmVzcGVjdGl2ZWx5LgoKTGV0J3Mg aGF2ZSBhIExvamJhbmljIGV4YW1wbGUsIHdoaWNoIGNhbiBhbHNvIGV4cGxhaW4gb3VyIHN0cmFu Z2UgZ2lmdC1lYXRpbmcgYmVoYXZpb3VyIGluIHRoZSBleGFtcGxlIGluIGxlc3NvbiBmaXZlOgoK X18nJ25vaScnX18gYmVnaW4gbm9uLXJlc3RyaWN0aXZlIHJlbGF0aXZlIGNsYXVzZSAoY2FuIG9u bHkgYXR0YWNoIHRvIHN1bXRpKQoKX18nJ3BvaScnX18gYmVnaW4gcmVzdHJpY3RpdmUgcmVsYXRp dmUgY2xhdXNlIChjYW4gb25seSBhdHRhY2ggdG8gc3VtdGkpCgpfXycna3UnbycnX18gZW5kIHJl bGF0aXZlIGNsYXVzZQoKCgonJ21pIGNpdGthIGxvIHNlIGR1bmRhIGt1IHBvaSBwbGlzZSBrdSdv JycgPSDigJxJIGVhdCBhIGdpZnQgc3VjaCB0aGF0IChzb21ldGhpbmcgaXMpIGFuIGFwcGxl4oCd LiAKCkhlcmUgdGhlICcncG9p4oCma3UnbycnIGlzIHBsYWNlZCBqdXN0IGFmdGVyICcnbG8gc2Ug ZHVuZGEga3UnJywgc28gaXQgYXBwbGllcyB0byB0aGUgZ2lmdC4gVG8gYmUgc3RyaWN0LCB0aGUg cmVsYXRpdmUgY2xhdXNlIGRvZXMgbm90IHNwZWNpZnkgd2hhdCBpdCBpcywgd2hpY2ggaXMgYW4g YXBwbGUsIGJ1dCBzaW5jZSB0aGUgcmVsYXRpdmUgY2xhdXNlIGFwcGxpZXMgdG8gdGhlIGdpZnQs IHdlIGNhbiBzYWZlbHkgYXNzdW1lIHRoYXQgaXQgbWVhbnMgdGhhdCB0aGUgZ2lmdCBpcyBhbiBh cHBsZS4gQWZ0ZXIgYWxsLCBpbiB0aGUgY29udGV4dCBvZiBsZXNzb24gZml2ZSwgdGhpcyBzZWVt cyByZWFzb25hYmxlLiBJZiB3ZSB3YW50IHRvIGJlIGFic29sdXRlbHkgc3VyZSB0aGF0IGl0IGlu ZGVlZCB3YXMgdGhlIGdpZnQgdGhhdCB3YXMgYW4gYXBwbGUsIHdlIHVzZSB0aGUgd29yZCAnJ2tl J2EnJywgd2hpY2ggaXMgYSAnJ3N1bWthJ2knJyAoYSBMb2piYW4gcHJvbm91biwgbW9yZSBvbiB0 aGVtIGxhdGVyKSByZXByZXNlbnRpbmcgdGhlIHN1bXRpIHdoaWNoIHRoZSByZWxhdGl2ZSBjbGF1 c2UgaXMgYXR0YWNoZWQgdG8uCgpfXycna2UnYScnX18gc3Vta2EnaTsgcmVmZXJzIHRvIHRoZSBz dW10aSwgdG8gd2hpY2ggdGhlIHJlbGF0aXZlIGNsYXVzZSBpdCBhdHRhY2hlZC4KCgoKJycudWkg bWkgY2l0a2EgbG8gc2UgZHVuZGEga3UgcG9pIGtlJ2EgcGxpc2Uga3UnbycnID0g4oCcWWF5LCBJ IGVhdCBhIGdpZnQgd2hpY2ggaXMgYW4gYXBwbGXigJ0uCgpUbyB1bmRlcmxpbmUgdGhlIGRpZmZl cmVuY2UgYmV0d2VlbiByZXN0cmljdGl2ZSBhbmQgbm9uLXJlc3RyaWN0aXZlIHJlbGF0aXZlIGNs YXVzZXMsIGhlcmUncyBhbm90aGVyIGV4YW1wbGU6CgoKCl9fJydsb2pibycnX18g4oCceDEgcmVm bGVjdHMgTG9qYmFuaWMgY3VsdHVyZS9jb21tdW5pdHkgaXMgYXNwZWN0IHgyOyB4MSBpcyBMb2pi YW5pYy7igJ0KCgoKJydtaSBub2kgbG9qYm8ga3UnbyBmYW52YSBmbyBsbyBsb2pibyBrdScnID0g 4oCcSSwgd2hvIGFtIGEgTG9qYmFuaWMsIHRyYW5zbGF0ZSBmcm9tIHNvbWUgTG9qYmFuaWMgbGFu Z3VhZ2Uu4oCdIEhlcmUsIHRoZXJlIGlzIG5vdCBtdWx0aXBsZSB0aGluZ3Mgd2hpY2ggJydtaScn IGNvdWxkIHJlZmVyIHRvLCBhbmQgdGhlIGZhY3QgdGhhdCBJIGFtIGxvamJhbmljIGlzIG1lcmVs eSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIG5vdCBuZWVkZWQgdG8gaWRlbnRpZnkgbWUuIFRoZXJl Zm9yZSAnJ25vaeKApmt1J28nJyBpcyBhcHByb3ByaWF0ZS4KClNlZSBpZiB5b3UgY2FuIHRyYW5z bGF0ZSB0aGlzOiDigJxJIGZsaXJ0IHdpdGggYSBtYW4gd2hvIGlzIGJlYXV0aWZ1bC9oYW5kc29t ZeKAnS4KCl9fJyduYW5tdScnX18g4oCceDEgaXMgYSBtYW7igJ0KCl9fJydtZWxiaScnX18g4oCc eDEgaXMgYmVhdXRpZnVsIHRvIHgyIGluIGFzcGVjdCAoa2EpIHgzIGJ5IHN0YW5kYXJkIHg04oCd CgpfXycnY2luamlrY2EnJ19fIOKAnHgxIGZsaXJ0cy9jb3VydHMgeDIsIGV4aGliaXRpbmcgc2V4 dWFsaXR5IHgzIGJ5IHN0YW5kYXJkIHg04oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBj aW5qaWtjYSBsbyBuYW5tdSBrdSBwb2kge2tlJ2F9IG1lbGJpIGt1J28nJ35+CgoKCk9uIGEgbW9y ZSB0ZWNobmljYWwgc2lkZSBub3RlLCBpdCBtaWdodCBiZSB1c2VmdWwgdG8ga25vdyB0aGF0ICcn bG8ge3NlbGJyaX0ga3UnJyBpcyBvZnRlbiBzZWVuIGRlZmluZWQgYXMgJyd6bydlIG5vaSBrZSdh IHtzZWxicml9IGt1J28nJy4KCgoKQmVzaWRlcywgaXQgaXMgYWxzbyBwb3NzaWJsZSB0byBjb25u ZWN0IHR3byBvciBtb3JlIHJlbGF0aXZlIGNsYXVzZXMgdG8gdGhlIHNhbWUgc3VtdGksIGJ5IHVz aW5nIHRoZSByZWxhdGl2ZSBjbGF1c2Ugam9pbmVyIHt6aSdlfS4gSXQncyBzeW50YXggaXMgInN1 bXRpICsgcmVsYXRpdmUgY2xhdXNlICsgemknZSArIHJlbGF0aXZlIGNsYXVzZSAoKyB6aSdlICsg cmVsYXRpdmUgY2xhdXNlICguLi4pKSIuIEhlcmUgaXMgYW4gZXhhbXBsZToKCgoKX18nJ3Blbm1p JydfXyDigJx4MSBtZWV0cy9lbmNvdW50ZXJzIHgyIGF0L2luIGxvY2F0aW9uIHgz4oCdCgpfXycn ZGFzbmknJ19fIOKAnHgxIHdlYXJzL2lzIHJvYmVkL2dhcmJlZCBpbiB4MiBhcyBhIGdhcm1lbnQg b2YgdHlwZSB4M+KAnQoKCgonJ21pIHRhdmxhIGxvIG5hbm11IGt1IHBvaSBkbyBwZW5taSBrZSdh IGt1J28gemknZSBub2kgZGFzbmkgbG8geHVucmUga3Uga3UnbycnCgo9IOKAnEkgdGFsa2VkIHRv IHRoZSBtYW4gdGhhdCB5b3UgbWV0IGFuZCB3aGljaCAoaW5jaWRlbnRhbGx5KSB3YXMgZHJlc3Nl ZCBpbiByZWQu4oCdCgooTGl0ZXJhbGx5OiDigJwuLi4gYW5kIHdoaWNoIHdlYXJzIHNvbWV0aGlu ZyByZWTigJ0uKQoKCgoKCiEhTG9qYmFuIExlc3NvbnMg4oCTIExlc3NvbiBlaWdodCAodGVybWlu YXRvciBlbGlzaW9uKQoKJycuYXUgZGEnaSBtaSBkamljYSBsbyBudSBsZSBtZXJrbyBwb2kgdHVu YmEgbWkgX192YXUga3UnbyBrdV9fIGppbXBlIGxvIGR1J3UgbWkgbmEgbmVsY2kgbG8gbnUgdm8n YSBkYXJ4aSBtaSBfX3ZhdSBrZWkga3UgdmF1IGtlaSBrdSB2YXUga2VpIGt1IHZhdV9fJycKCiAt ICDigJxJIHdpc2ggdGhlIEFtZXJpY2FuLCB3aG8gaXMgbXkgc2libGluZywgd291bGQgdW5kZXJz dGFuZCB0aGF0IEkgZG9uJ3QgbGlrZSB0aGF0IGhlIGhpdHMgbWUu4oCdCgpSZWdhcmRsZXNzIG9m IHdoZXRoZXIgdGhlIGFib3ZlIHNlbnRlbmNlIGlzIGJlaW5nIHVuZGVyc3Rvb2QsIChpdCBzaG91 bGRuJ3QsIGFzIGl0IGNvbnRhaW5zIHdvcmRzIHdlIGhhdmUgbm90IGNvdmVyZWQgaW4gdGhlc2Ug bGVzc29ucyB5ZXQpIG9uZSB0aGluZyBzdGFuZHMgb3V0OiBBcyBtb3JlIGNvbXBsZXggTG9qYmFu IHN0cnVjdHVyZXMgYXJlIGxlYXJuZWQsIG1vcmUgYW5kIG1vcmUgb2YgdGhlIHNlbnRlbmNlcyBn ZXQgZmlsbGVkIHdpdGggJydrdScnLCAnJ2tlaScnLCAnJ2t1J28nJyBhbmQgb3RoZXIgb2YgdGhv c2Ugd29yZHMgd2hpY2ggYnkgdGhlbXNlbHZlcyBjYXJyeSBubyBtZWFuaW5nLgoKCgpUaGUgZnVu Y3Rpb24gb2YgYWxsIHRoZXNlIHdvcmRzIGlzIHRvIHNpZ25hbCB0aGUgZW5kIG9mIGEgY2VydGFp biBncmFtbWF0aWNhbCBjb25zdHJ1Y3QsIGxpa2UgZm9yIGluc3RhbmNlIOKAnGNvbnZlcnQgc2Vs YnJpIHRvIHN1bXRp4oCdIGluIHRoZSBjYXNlIG9mICcna3UnJy4gVGhlIEVuZ2xpc2ggd29yZCBm b3IgdGhpcyBraW5kIG9mIHdvcmQgaXMg4oCcdGVybWluYXRvcuKAnSwgdGhlIExvamJhbiB3b3Jk IGlzICcnZmEnb3JtYSdvJycuIFRoZXkgYXJlIHdyaXR0ZW4gaW4gYm9sZCBpbiB0aGUgZXhhbXBs ZSBhYm92ZS4KCk5vdGU6IFRoZSAnJ3ZhdScnIGluIHRoZSBhYm92ZSBleGFtcGxlIGFyZSB0aGUg ZmEnb3JtYSdvIGZvciDigJxlbmQgYnJpZGnigJ0uIFRoZXJlIGlzIGEgZ29vZCByZWFzb24geW91 IGhhdmUgbm90IHlldCBzZWVuIGl0LCBzdGF5IHR1bmVkLgoKX18nJ3ZhdScnX18gZmEnb3JtYSdv OiBUZXJtaW5hdGVzIGJyaWRpLgoKCgpJbiBtb3N0IHNwb2tlbiBhbmQgd3JpdHRlbiBMb2piYW4s IG1vc3QgZmEnb3JtYSdvIGFyZSBza2lwcGVkIChlbGlkZWQpLiBUaGlzIGdyZWF0bHkgc2F2ZXMg c3lsbGFibGVzIGluIHNwZWVjaCBhbmQgc3BhY2UgaW4gd3JpdGluZywgaG93ZXZlciwgb25lIG11 c3QgYWx3YXlzIGJlIGNhcmVmdWwgd2hlbiBlbGlkaW5nIGZhJ29ybWEnby4gSW4gdGhlIHNpbXBs ZSBleGFtcGxlICcnbG8gbWVya28ga3Uga2xhbWEnJywgcmVtb3ZpbmcgdGhlIGZhJ29ybWEnbyAn J2t1Jycgd291bGQgeWllbGQgJydsbyBtZXJrbyBrbGFtYScnLCB3aGljaCBpcyBhIHNpbmdsZSBz dW10aSBtYWRlIGZyb20gdGhlIHRhbnJ1ICcnbWVya28ga2xhbWEnJy4gVGh1cywgaXQgbWVhbnMg 4oCcYW4gQW1lcmljYW4gdHJhdmVsZXLigJ0gaW5zdGVhZCBvZiDigJxhbiBBbWVyaWNhbiB0cmF2 ZWxz4oCdLiBmYSdvcm1hJ28gZWxpc2lvbiBjYW4gbGVhZCB0byB2ZXJ5IHdyb25nIHJlc3VsdHMg aWYgZG9uZSBpbmNvcnJlY3RseSwgd2hpY2ggaXMgd2h5IHlvdSBoYXZlbid0IGxlYXJuZWQgYWJv dXQgaXQgdW50aWwgbm93LgoKCgpUaGUgcnVsZSBmb3Igd2hlbiBmYSdvcm1hJ28gY2FuIGJlIGVs aWRlZCBpcyB2ZXJ5IHNpbXBsZSwgYXQgbGVhc3QgaW4gdGhlb3J5OiDigJxZb3UgY2FuIGVsaWRl IGEgZmEnb3JtYSdvLCBfX2lmIGFuZCBvbmx5IGlmX18gZG9pbmcgc28gZG9lcyBub3QgY2hhbmdl IHRoZSBncmFtbWF0aWNhbCBjb25zdHJ1Y3RzIGluIHRoZSBzZW50ZW5jZS7igJ0KCk1vc3QgZmEn b3JtYSdvIGNhbiBiZSBzYWZlbHkgZWxpZGVkIGF0IHRoZSBlbmQgb2YgdGhlIGJyaWRpLiBFeGNl cHRpb25zIGFyZSB0aGUgb2J2aW91cyBvbmVzIGxpa2Ug4oCcZW5kIHF1b3Rl4oCdLWZhJ29ybWEn byBhbmQg4oCcZW5kIGJyaWRpIGdyb3VwaW5n4oCdLWZhJ29ybWEnby4gVGhpcyBpcyB3aHkgJyd2 YXUnJyBpcyBhbG1vc3QgbmV2ZXIgdXNlZCDigJMgc2ltcGx5IGJlZ2lubmluZyBhIG5ldyBicmlk aSB3aXRoICcnLmknJyB3aWxsIGFsbW9zdCBhbHdheXMgdGVybWluYXRlIHRoZSBwcmVjZWRpbmcg YnJpZGkgYW55d2F5LiBJdCBoYXMgb25lIGZyZXF1ZW50IHVzZSwgaG93ZXZlci4gU2luY2UgYXR0 aXR1ZGluYWxzIGFsd2F5cyBhcHBseSB0byB0aGUgcHJlY2VkaW5nIHdvcmQsIGFwcGx5aW5nIGl0 IHRvIGEgZmEnb3JtYSdvIGFwcGxpZXMgaXQgdG8gdGhlIGVudGlyZSBjb25zdHJ1Y3Qgd2hpY2gg aXMgdGVybWluYXRlZC4gVXNpbmcgJyd2YXUnJywgb25lIGNhbiB0aGVuIHVzZSBhdHRpdHVkaW5h bHMgYWZ0ZXJ0aG91Z2h0IGFuZCBhcHBseSB0aGVtIHRvIHRoZSBlbnRpcmUgYnJpZGk6CgonJ3ph J2EgZG8gZHVuZGEgbG8gemRhbmkge2t1fSBsbyBwcmVudSB7a3V9Li4uIHZhdSBpJ2UnJyAtIOKA nEkgc2VlIHRoYXQgeW91IGdpdmUgYSBob21lIHRvIGEgcGVyc29uLi4uIEkgYXBwcm92ZSHigJ0K Cl9fJydwcmVudScnX18geDEgaXMgYSBwZXJzb247IHgxIGhhcyBhIHBlcnNvbmFsaXR5LgoKCgpL bm93aW5nIHRoZSBiYXNpYyBydWxlcyBmb3IgZmEnb3JtYSdvIGVsaXNpb24sIHdlIGNhbiB0aHVz IHJldHVybiB0byB0aGUgb3JpZ2luYWwgc2VudGVuY2UgYW5kIGJlZ2luIHJlbW92aW5nIGZhJ29y bWEnbzoKCgoKJycuYXUgZGEnaSBtaSBkamljYSBsbyBudSBsZSBtZXJrbyBwb2kgdHVuYmEgbWkg X192YXUga3UnbyBrdV9fIGppbXBlIGxvIGR1J3UgbWkgbmEgbmVsY2kgbG8gbnUgdm8nYSBkYXJ4 aSBtaSBfX3ZhdSBrZWkga3UgdmF1IGtlaSBrdSB2YXUga2VpIGt1IHZhdV9fJycKCgoKV2UgY2Fu IHNlZSB0aGF0IHRoZSBmaXJzdCAnJ3ZhdScnIGlzIGdyYW1tYXRpY2FsbHkgdW5uZWNlc3Nhcnks IGJlY2F1c2UgdGhlIG5leHQgbm9uLWZhJ29ybWEnby13b3JkIGlzICcnamltcGUnJywgd2hpY2gg aXMgYSBzZWxicmkuIFNpbmNlIHRoZXJlIGNhbiBvbmx5IGJlIG9uZSBzZWxicmkgcGVyIGJyaWRp LCAnJ3ZhdScnIGlzIG5vdCBuZWVkZWQuIFNpbmNlICcnamltcGUnJyBhcyBhIHNlbGJyaSBjYW5u b3QgYmUgaW4gdGhlIHJlbGF0aXZlIGNsYXVzZSBlaXRoZXIgKG9ubHkgb25lIGJyaWRpIGluIGEg Y2xhdXNlLCBvbmx5IG9uZSBzZWxicmkgaW4gZWFjaCBicmlkaSksIHdlIGNhbiBlbGlkZSAnJ2t1 J28nJy4gTGlrZXdpc2UsICcnamltcGUnJyBjYW5ub3QgYmUgYSBzZWNvbmQgc2VsYnJpIGluc2lk ZSB0aGUgY29uc3RydWN0ICcnbGUgbWVya28gcG9pey4uLn0nJywgc28gdGhlICcna3UnJyBpcyBu b3QgbmVlZGVkIGVpdGhlci4gRnVydGhlcm1vcmUsIGFsbCB0aGUgZmEnb3JtYSdvIGF0IHRoZSB2 ZXJ5IGVuZCBvZiB0aGUgc2VudGVuY2UgY2FuIGJlIGVsaWRlZCB0b28sIHNpbmNlIGJlZ2lubmlu ZyBhIG5ldyBicmlkaSB3aWxsIHRlcm1pbmF0ZSBhbGwgb2YgdGhlc2UgY29uc3RydWN0cyBhbnl3 YXkuCgpXZSB0aGVuIGVuZCB1cCB3aXRoOgoKJycuYXUgZGEnaSBtaSBkamljYSBsbyBudSBsZSBt ZXJrbyBwb2kgdHVuYmEgbWkgamltcGUgbG8gZHUndSBtaSBuYSBuZWxjaSBsbyBudSB2bydhIGRh cnhpIG1pJycg4oCTIHdpdGggbm8gZmEnb3JtYSdvIGF0IGFsbCEKCgoKV2hlbiBlbGlkaW5nIGZh J29ybWEnbywgaXQgaXMgYSBnb29kIGlkZWEgdG8gYmUgYWNxdWFpbnRlZCB3aXRoICcnY3UnJy4g JydjdScnIGlzIG9uZSBvZiB0aG9zZSB3b3JkcyB3aGljaCBjYW4gbWFrZSB5b3VyIChMb2piYW5p YykgbGlmZSBhIGxvdCBlYXNpZXIuIFdoYXQgaXQgZG9lcyBpcyB0byBzZXBhcmF0ZSBhbnkgcHJl dmlvdXMgc3VtdGkgZnJvbSB0aGUgc2VsYnJpLiBPbmUgY291bGQgc2F5IHRoYXQgaXQgZGVmaW5l cyB0aGUgbmV4dCB3b3JkIHRvIGJlIGEgc2VsYnJpLCBhbmQgdGVybWluYXRlcyBleGFjdGx5IGFz IG11Y2ggYXMgaXQgbmVlZHMgdG8gaW4gb3JkZXIgdG8gZG8gdGhhdC4KCl9fJydjdScnX18gZWxp ZGFibGUgbWFya2VyOiBzZXBhcmF0ZXMgc2VsYnJpIGZyb20gcHJlY2VkaW5nIHN1bXRpLCBhbGxv d3MgcHJlY2VkaW5nIGZhJ29ybWEnbyBlbGlzaW9uLgoKCgpfXycncHJhbWknJ19fID0g4oCceDEg bG92ZXMgeDLigJ0KCgoKJydsbyBzdSd1IGRvIGN1c2t1IGxvIHNlIGR1J3UgZG8gcHJhbWkgbWkg X192YXUga2VpIGt1IHZhdSBrZWkga3VfXyBzZSBkamljYSBtaScnID0KCicnbG8gc3UndSBkbyBj dXNrdSBsbyBzZSBkdSd1IGRvIHByYW1pIG1pIF9fY3VfXyBzZSBkamljYSBtaScnCgrigJxUaGF0 IHlvdSBzYXkgdGhhdCB5b3UgbG92ZSBtZSBpcyBkZXNpcmVkIGJ5IGJl4oCdIG9yIOKAnEkgd2lz aCB5b3Ugc2FpZCB5b3UgbG92ZWQgbWXigJ0KCm5vdGU6ICcnY3UnJyBpcyBub3QgYSBmYSdvcm1h J28sIGJlY2F1c2UgaXQgaXMgbm90IHRpZWQgdG8gb25lIHNwZWNpZmljIGNvbnN0cnVjdC4gQnV0 IGl0IGNhbiBiZSB1c2VkIHRvIGVsaWRlIG90aGVyIGZhJ29ybWEnby4KCgoKT25lIG9mIHRoZSBn cmVhdGVzdCBzdHJlbmd0aHMgb2YgJydjdScnIGlzIHRoYXQgaXQgcXVpY2tseSBiZWNvbWVzIGVh c3kgdG8gaW50dWl0aXZlbHkgdW5kZXJzdGFuZC4gQnkgaXRzZWxmIGl0IG1lYW5zIG5vdGhpbmcs IGJ1dCBpdCByZXZlYWxzIHRoZSBzdHJ1Y3R1cmUgb2YgTG9qYmFuIGV4cHJlc3Npb25zIGJ5IGlk ZW50aWZ5aW5nIHRoZSBjb3JlIHNlbGJyaS4gSW4gdGhlIG9yaWdpbmFsIGV4YW1wbGUgd2l0aCB0 aGUgdmlvbGVudCBBbWVyaWNhbiBicm90aGVyLCB1c2luZyAnJ2N1JycgYmVmb3JlICcnamltcGUn JyBkb2VzIG5vdCBjaGFuZ2UgdGhlIG1lYW5pbmcgb2YgdGhlIHNlbnRlbmNlIGluIGFueSB3YXks IGJ1dCBtaWdodCBtYWtlIGl0IGVhc2llciB0byByZWFkLgoKCgpJbiB0aGUgZm9sbG93aW5nIGNv dXBsZSBvZiBsZXNzb25zLCAnJ2N1Jycgd2lsbCBiZSB1c2VkIHdoZW4gbmVjZXNzYXJ5LCBhbmQg YWxsIGZhJ29ybWEnbyBlbGlkZWQgaWYgcG9zc2libGUuIFRoZSBlbGlkZWQgZmEnb3JtYSdvIHdp bGwgYmUgZW5jYXNlZCBpbiBjdXJseSBicmFja2V0cywgYXMgc2hvd24gYmVsb3cuIFRyeSB0byB0 cmFuc2xhdGUgaXQhCgpfXycndmFqbmknJ19fIOKAnHgxIGlzIGltcG9ydGFudCB0byB4MiBmb3Ig cmVhc29uIHgz4oCdCgpfXycnamltcGUnJ19fIOKAnHgxIHVuZGVyc3RhbmRzIHRoYXQgeDIgKGR1 J3UtYWJzdHJhY3Rpb24pIGlzIHRydWUgYWJvdXQgeDPigJ0KCl9fJydhJ28nJ19fIC0gQXR0aXR1 ZGluYWw6IFNpbXBsZSBwcm9wb3NpdGlvbmFsIGVtb3Rpb246IEhvcGUgLSBkZXNwYWlyCgoKCicn YSdvIGRvIG5vaSBrZSdhIGxvamJvIC5pJ2Uge2t1J299IHtrdX0gY3UgamltcGUgbG8gZHUndSBs byBmYSdvcm1hJ28ge2t1fSBjdSB2YWpuaSB7dmF1fSB7a2VpfSB7a3V9IHt2YXV9JycKCldoYXQg ZG8gSSBzdGF0ZT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxJIGhvcGUgdGhhdCB5b3UsIGEg cHJvdWQgTG9qYmFuaXN0LCB1bmRlcnN0YW5kcyB0aGF0IGZhJ29ybWEnbyBhcmUgaW1wb3J0YW50 4oCdfn4KCgoKRnVuIHNpZGUgbm90ZTogTW9zdCBwZW9wbGUgd2VsbC12ZXJzZWQgaW4gZmEnb3Jt YSdvLWVsaXNpb24gZG8gaXQgc28gaW5zdGluY3RpdmVseSB0aGF0IHRoZXkgb2Z0ZW4gbXVzdCBi ZSByZW1pbmRlZCBob3cgaW1wb3J0YW50IHVuZGVyc3RhbmRpbmcgZmEnb3JtYSdvIGFyZSB0byB0 aGUgdW5kZXJzdGFuZGluZyBvZiBMb2piYW4uIFRoZXJlZm9yZSwgZWFjaCBUdWVzZGF5IGhhdmUg YmVlbiBkZXNpZ25hdGVkIOKAnFRlcm1pbmF0b3IgRGF54oCdIG9yICcnZmEnb3JtYSdvIGRqZWRp Jycgb24gdGhlIExvamJhbiBJUkMgY2hhdHJvb20uIER1cmluZyBUZXJtaW5hdG9yIERheSwgbWFu eSBwZW9wbGUgdHJ5IChhbmQgb2Z0ZW4gZmFpbCkgdG8gcmVtZW1iZXIgd3JpdGluZyBvdXQgYWxs IGZhJ29ybWEnbyB3aXRoIHNvbWUgdmVyeSB2ZXJib3NlIGNvbnZlcnNhdGlvbnMgYXMgYSByZXN1 bHQuCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBuaW5lIChzdW10Y2l0YSkKClNvIGZh ciB3ZSBoYXZlIGJlZW4gZG9pbmcgcHJldHR5IHdlbGwgd2l0aCB0aGUgc2VsYnJpIHdlIGhhdmUg aGFkIGF0IGhhbmQuIEhvd2V2ZXIsIHRoZXJlIGlzIGEgZmluaXRlIGFtb3VudCBvZiBkZWZpbmVk IHNlbGJyaSBvdXQgdGhlcmUsIGFuZCBpbiBtYW55IGNhc2VzIHRoZSBzdW10aSBwbGFjZXMgYXJl IG5vdCB1c2VmdWwgZm9yIHdoYXQgd2UgaGFkIGluIG1pbmQuIFdoYXQgaWYsIHNheSwgaSB3YW50 IHRvIHNheSB0aGF0IEkgYW0gdHJhbnNsYXRpbmcgdXNpbmcgYSBjb21wdXRlcj8gVGhlcmUgaXMg bm8gcGxhY2UgaW4gdGhlIHN0cnVjdHVyZSBvZiAnJ2ZhbnZhJycgdG8gc3BlY2lmeSB3aGF0IHRv b2wgSSB0cmFuc2xhdGUgd2l0aCwgc2luY2UsIG1vc3Qgb2YgdGhlIHRpbWUsIHRoYXQgaXMgbm90 IG5lY2Vzc2FyeS4gTm90IHRvIHdvcnJ5LCB0aGlzIGxlc3NvbiBpcyBvbiBob3cgdG8gYWRkIGFk ZGl0aW9uYWwgc3VtdGkgcGxhY2VzIHRvIHRoZSBzZWxicmkuCgoKClRoZSBtb3N0IGJhc2ljIHdh eSB0byBhZGQgc3VtdGkgcGxhY2VzIGFyZSB3aXRoICcnZmknbyBTRUxCUkkgZmUndScnICh5ZXMs IGFub3RoZXIgZXhhbXBsZSBvZiBhIGZhJ29ybWEnbywgJydmZSd1JycuIEl0J3MgYWxtb3N0IG5l dmVyIG5lY2Vzc2FyeSwgc28gdGhpcyBtaWdodCBiZSB0aGUgbGFzdCB0aW1lIHlvdSBldmVyIHNl ZSBpdC4pCgpJbiBiZXR3ZWVuIHRoZXNlIHR3byB3b3JkcyBnb2VzIGEgc2VsYnJpLCBhbmQgbGlr ZSAnJ2xvIFNFTEJSSSBrdScnLCAnJ2ZpJ28gU0VMQlJJIGZlJ3UnJyBleHRyYWN0cyB0aGUgeDEg b2YgdGhlIHNlbGJyaSBwdXQgaW50byBpdC4gSG93ZXZlciwgd2l0aCAnJ2ZpJ28gU0VMQlJJIGZl J3UnJywgdGhlIHNlbGJyaSBwbGFjZSBpcyBjb252ZXJ0ZWQsIG5vdCB0byBhIHN1bXRpLCBidXQg dG8gYSAnJ3N1bXRjaXRhJycsIG1lYW5pbmcg4oCcc3VtdGktbGFiZWzigJ0sIHdpdGggdGhlIHBs YWNlIHN0cnVjdHVyZSBvZiB0aGUgeDEgb2YgdGhlIHNlbGJyaSBpdCBjb252ZXJ0ZWQuIFRoaXMg JydzdW10Y2l0YScnIHRoZW4gYWJzb3JicyB0aGUgbmV4dCBzdW10aS4gT25lIGNvdWxkIHNheSB0 aGF0IHVzaW5nIGEgJydzdW10Y2l0YScnLCB5b3UgaW1wb3J0IGEgc3VtdGkgcGxhY2UgZnJvbSBh bm90aGVyIHNlbGJyaSwgYW5kIGFkZCBpdCB0byB0aGUgYnJpZGkgYmVpbmcgc2FpZC4KCk5vdGU6 IFNvbWV0aW1lcywgZXNwZWNpYWxseSBpbiBvbGRlciB0ZXh0cywgdGhlIHRlcm0g4oCcdGFn4oCd IG9yIOKAnG1vZGFs4oCdIGlzIHVzZWQgZm9yICcnc3VtdGNpdGEnJy4gSWdub3JlIHRob3NlIHB1 bnkgRW5nbGlzaCBleHByZXNzaW9ucy4gV2UgdGVhY2ggcHJvcGVyIExvamJhbiBoZXJlLgoKCgpX aGlsZSBpdCBpcyBoYXJkIHRvIGdyYXNwIHRoZSBwcm9jZXNzIGZyb20gcmVhZGluZyBhYm91dCBp dCwgYW4gZXhhbXBsZSBjYW4gcGVyaGFwcyBzaG93IGl0cyBhY3R1YWwgc2ltcGxpY2l0eToKCl9f Jydza2FtaScnX18g4oCceDEgaXMgYSBjb21wdXRlciBmb3IgcHVycG9zZSB4MuKAnQoKX18nJ3Bp bG5vJydfXyDigJx4MSB1c2VzIHgyIGFzIGEgdG9vbCBmb3IgZG9pbmcgeDPigJ0KCgoKJydtaSBm YW52YSB0aSBmaSdvIHNlIHBpbG5vIHtmZSd1fSBsbyBza2FtaSB7a3V9e3ZhdX0nJyAtIOKAnEkg dHJhbnNsYXRlIHRoaXMgd2l0aCBhIGNvbXB1dGVy4oCdIFRoZSB4MiBvZiAnJ3BpbG5vJycsIHdo aWNoIGlzIHRoZSB4MSBvZiAnJ3NlIHBpbG5vJycgaXMgYSBwbGFjZSBzdHJ1Y3R1cmUgZm9yIGEg dG9vbCBiZWluZyB1c2VkIGJ5IHNvbWVvbmUuIFRoaXMgcGxhY2Ugc3RydWN0dXJlIGlzIGNhcHR1 cmVkIGJ5ICcnZmknbyBTRUxCUkkgZmUndScnLCBhZGRlZCB0byB0aGUgbWFpbiBzZWxicmksIGFu ZCB0aGVuIGZpbGxlZCBieSAnJ2xvIHNrYW1pJycuIFRoZSBpZGVhIG9mICcnc3VtdGNpdGEnJyBp cyBzb21ldGltZXMgZXhwcmVzc2VkIGluIEVuZ2xpc2ggdXNpbmcgdGhlIGZvbGxvd2luZyB0cmFu c2xhdGlvbjoKCuKAnEkgdHJhbnNsYXRlIHRoaXMgd2l0aC10b29sOiBBIGNvbXB1dGVy4oCdCgoK CkEgJydzdW10Y2l0YScnIGNhbiBvbmx5IGFic29yYiBvbmUgc3VtdGksIHdoaWNoIGlzIGFsd2F5 cyB0aGUgZm9sbG93aW5nIG9uZS4gQWx0ZXJuYXRpdmVseSwgb25lIGNhbiB1c2UgdGhlICcnc3Vt dGNpdGEnJyBjb25zdHJ1Y3QgYnkgaXRzZWxmIHdpdGhvdXQgc3VtdGkuIEluIHRoaXMgY2FzZSB5 b3UgbmVlZCB0byBwdXQgaXQgZWl0aGVyIGJlZm9yZSB0aGUgc2VsYnJpIG9yIHRlcm1pbmF0ZSBp dCB3aXRoICcna3UnJy4gSW4gc3VjaCBjYXNlIG9uZSBjYW4gdGhpbmsgYXMgaWYgdGhlIHN1bXRj aXRhIGhhcyB0aGUgd29yZCAnJ3pvJ2UnJyBhcyB0aGUgc3VtdGkuCgoKCl9fJyd6dWt0ZScnX18g 4oCceDEgaXMgYSB2b2xpdGlvbmFsIGVudGl0eSBjYXJyeWluZyBvdXQgYWN0aW9uIHgyIGZvciBw dXJwb3NlIHgz4oCdCgpfXycnemFyY2knJ19fIOKAnHgxIGlzIGEgbWFya2V0L3N0b3JlL2V4Y2hh bmdlL3Nob3Aocykgc2VsbGluZy90cmFkaW5nIChmb3IpIHgyLCBvcGVyYXRlZCBieS93aXRoIHBh cnRpY2lwYW50cyB4M+KAnQoKCgonJ2ZpJ28genVrdGUge2ZlJ3V9IGt1IGxvIHByZW51IHtrdX0g Y3Uga2xhbWEgbG8gemFyY2kge2t1fXt2YXV9JycgLSDigJxCeSB0aGVpciBvd24gdm9saXRpb24s IGEgcGVyc29uIGlzIGdvaW5nIHRvIHRoZSBzdG9yZeKAnQoKCgpOb3RlIHRoYXQgdGhlcmUgaXMg JydrdScnIGluICcnZmknbyB6dWt0ZSB7ZmUndX0ga3UnJy4gV2l0aG91dCBpdCB0aGUgc3VtdGNp dGEgd291bGQgaGF2ZSBhYnNvcmJlZCAnJ2xvIHNrYW1pIHtrdX0nJyBhbmQgd2UgZG9uJ3Qgd2Fu dCB0aGF0LgoKCgpXZSBjYW4gc2F5IHRoZSBzYW1lIGluIG90aGVyIHdvcmRzOgoKCgonJ2ZpJ28g enVrdGUge2ZlJ3V9IHpvJ2UgbG8gcHJlbnUge2t1fSBjdSBrbGFtYSBsbyB6YXJjaSB7a3V9e3Zh dX0nJyAKCicnbG8gcHJlbnUge2t1fSBjdSBmaSdvIHp1a3RlIHtmZSd1fSBrbGFtYSBsbyB6YXJj aSB7a3V9e3ZhdX0nJyAKCgoKcmV0YWluaW5nIHRoZSBtZWFuaW5nLgoKCgpXaGF0IGRvZXMgJydt aSBqaW1wZSBmaSBsYSBsb2piYW4gZmknbyBzZSB0YXZsYSB7ZmUndX0gbWknJyBzdGF0ZT8KCgoK QW5zd2VyOiB+fmdyZXksZ3JleTrigJxJIHVuZGVyc3RhbmQgc29tZXRoaW5nIGFib3V0IExvamJh biwgc3Bva2VuIHRvIG1l4oCdfn4KCgoKUHV0dGluZyB0aGUgJydzdW10Y2l0YScnIHJpZ2h0IGlu IGZyb250IG9mIHRoZSBzZWxicmkgYWxzbyBtYWtlcyBpdCBzZWxmLXRlcm1pbmF0ZSwgc2luY2Ug c3VtdGNpdGEgb25seSBjYW4gYWJzb3JiIHN1bXRpLCBhbmQgbm90IHNlbGJyaS4gVGhpcyBmYWN0 IHdpbGwgYmUgb2YgaW1wb3J0YW5jZSBpbiBuZXh0IGxlc3NvbiwgYXMgeW91IHdpbGwgc2VlLgoK CgpBY3R1YWxseSwgJydmaSdvJycgaXMgbm90IHVzZWQgdmVyeSBvZnRlbiBkZXNwaXRlIGl0cyBm bGV4aWJpbGl0eS4gV2hhdCBJUyB1c2VkIHZlcnkgb2Z0ZW4sIHRob3VnaCwgYXJlIEJBSS4gQkFJ IGlzIGEgY2xhc3Mgb2YgTG9qYmFuIHdvcmRzLCB3aGljaCBpbiB0aGVtc2VsdmVzIGFjdCBhcyAn J3N1bXRjaXRhJycuIEFuIGV4YW1wbGUgb2YgdGhpcyBpcyAnJ3p1J2UnJywgdGhlIEJBSSBmb3Ig Jyd6dWt0ZScnLiBHcmFtYXRpY2FsbHksICcnenUnZScnIGlzIHRoZSBzYW1lIGFzICcnZmknbyB6 dWt0ZSBmZSd1JycuIFRodXMsIHRoZSBhYm92ZSBleGFtcGxlIGNvdWxkIGJlIHJlZHVjZWQgdG86 CgonJ3p1J2Uga3UgbG8gc2thbWkge2t1fSBjdSBwaWxubyBsbyBsb2pibyB7a3V9IHt2YXV9Jycu IFRoZXJlIGV4aXN0IHNvbWV0aGluZyBsaWtlIDYwIEJBSSwgYW5kIGEgbG90IG9mIHRoZXNlIGFy ZSB2ZXJ5IHVzZWZ1bCBpbmRlZWQuIEZ1cnRlcm1vcmUsIEJBSSBjYW4gYWxzbyBiZSBjb252ZXJ0 ZWQgd2l0aCAnJ3NlJycgYW5kIGZyaWVuZHMsIG1lYW5pbmcgdGhhdCAnJ3NlIHp1J2UnJyBpcyBl cXVhbCB0byAnJ2ZpJ28gc2UgenVrdGUgZmUndScnLCB3aGljaCByZXN1bHRzIGluIGEgZ3JlYXQg ZGVhbCBtb3JlIEJBSS4KCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdGVuIChQVSwgRkFoQSwg WkksIFZBLCBaRWhBLCBWRWhBKQoKSG93IHVuZmFtaWxpYXIgdG8gdGhlIEVuZ2xpc2gtc3BlYWtl ciBhIGxhbmd1YWdlIExvamJhbiBpcyB3aGVuIG9uZSBjYW4gcmVhZCB0aHJvdWdoIG5pbmUgbGVz c29ucyBvZiBMb2piYW4gZ3JhbW1hciB3aXRob3V0IG1lZXRpbmcgYSB0ZW5zZSBvbmNlLiBUaGlz IGlzIGJlY2F1c2UsIHVubGlrZSBtYW55IG5hdHVyYWwgbGFuZ3VhZ2VzIChtb3N0IEluZG8tRXVy b3BlYW4gb25lcywgZm9yIGluc3RhbmNlKSwgYWxsIHRlbnNlcyBpbiBMb2piYW4gYXJlIG9wdGlv bmFsLiBTYXlpbmcgJydtaSBjaXRrYSBsbyBjaXJsYSB7a3V9JycgY2FuIG1lYW4g4oCcSSBlYXQg Y2hlZXNl4oCdIG9yIOKAnEkgYXRlIHRoZSBjaGVlc2XigJ0gb3Ig4oCcSSBhbHdheXMgZWF0IGNo ZWVzZeKAnSBvciDigJxJbiBhIG1vbWVudCwgaSB3aWxsIGhhdmUganVzdCBmaW5pc2hlZCBlYXRp bmcgY2hlZXNl4oCdLiBDb250ZXh0IHJlc29sdmVzIHdoYXQgaXMgY29ycmVjdCwgYW5kIGluIG1v c3QgY29udmVyc2F0aW9uLCB0ZW5zZXMgYXJlIG5vdCBuZWVkZWQgYXQgYWxsLiBIb3dldmVyLCB3 aGVuIGl0J3MgbmVlZGVkIGl0J3MgbmVlZGVkLCBhbmQgaXQgbXVzdCBiZSB0YXVnaHQuIEZ1cnRo ZXJtb3JlLCBMb2piYW4gdGVuc2VzIGFyZSB1bnVzdWFsIGJlY2F1c2UgdGhleSB0cmVhdCB0aW1l IGFuZCBzcGFjZSBmdW5kYW1lbnRhbGx5IHRoZSBzYW1lIC0gc2F5aW5nIHRoYXQgSSB3b3JrZWQg YSBsb25nIHRpbWUgYWdvIGlzIG5vdCBncmFtbWF0aWNhbGx5IGRpZmZlcmVudCB0aGFuIHNheWlu ZyBJIHdvcmsgZmFyIGF3YXkgdG8gdGhlIG5vcnRoLgoKTGlrZSBtYW55IG90aGVyIGxhbmd1YWdl cywgdGhlIExvamJhbiB0ZW5zZSBzeXN0ZW0gaXMgcGVyaGFwcyB0aGUgbW9zdCBkaWZmaWN1bHQg cGFydCBvZiB0aGUgbGFuZ3VhZ2UuIFVubGlrZSBtYW55IG90aGVyIGxhbmd1YWdlcyB0aG91Z2gs IGl0J3MgcGVyZmVjdGx5IHJlZ3VsYXIgYW5kIG1ha2VzIHNlbnNlLiBTbyBmZWFyIG5vdCwgZm9y IGl0IHdpbGwgbm90IGludm9sdmUgc3dlYXRpbmcgdG8gbGVhcm4gaG93IHRvIG1vZGlmeSB0aGUg c2VsYnJpIG9yIGFueXRoaW5nIHNpbGx5IGxpa2UgdGhhdC4KCgoKTm8sIGluIHRoZSBMb2piYW4g dGVuc2Ugc3lzdGVtLCBhbGwgdGVuc2VzIGFyZSBzdW10Y2l0YSwgd2hpY2ggd2UgaGF2ZSBjb252 ZW5pZW50bHkganVzdCBtYWRlIG91cnNlbHZlcyBmYW1pbGlhciB3aXRoLiBPa2F5IG9rYXksIHRl Y2huaWNhbGx5LCB0ZW5zZXMgYXJlIHNsaWdodGx5IGRpZmZlcmVudCBmcm9tIG90aGVyIHN1bXRj aXRhLCBidXQgdGhpcyBkaWZmZXJlbmNlIGlzIGFsbW9zdCBpbnNpZ25pZmljYW50LCBhbmQgd29u J3QgYmUgZXhwbGFpbmVkIHVudGlsIGxhdGVyLiBJbiBtb3N0IGFzcGVjdHMgdGhleSBhcmUgbGlr ZSBhbGwgb3RoZXIgc3VtdGNpdGE7IHRoZXkgYXJlIHRlcm1pbmF0ZWQgYnkgJydrdScnLCBtYWtp bmcgaXQgZXhwbGljaXQgdGhhdCBQVSBpcyB0ZXJtaW5hdGVkIGJ5ICcna3UnJy4KClRoZXJlIGFy ZSBtYW55IGRpZmZlcmVudCBraW5kcyBvZiB0ZW5zZS1zdW10Y2l0YSwgc28gbGV0J3Mgc3RhcnQg YXQgdGhlIG9uZXMgbW9zdCBmYW1pbGlhciB0byBFbmdsaXNoLXNwZWFrZXJzLgoKX18nJ3B1Jydf XyAtIHN1bXRjaXRhOiBiZWZvcmUge3N1bXRpfQoKX18nJ2NhJydfXyAtIHN1bXRjaXRhOiBhdCB0 aGUgc2FtZSB0aW1lIGFzIHtzdW10aX0KCl9fJydiYScnX18gLSBzdW10Y2l0YTogYWZ0ZXIge3N1 bXRpfQoKCgpUaGVzZSBhcmUgbGlrZSB0aGUgRW5nbGlzaCBjb25jZXB0cyDigJxiZWZvcmXigJ0s IOKAnG5vd+KAnSBhbmQg4oCcYWZ0ZXLigJ0uIEluIGFjdHVhbGl0eSB0aG91Z2gsIG9uZSBjb3Vs ZCBhcmd1ZSB0aGF0IHR3byBwb2ludC1saWtlIGV2ZW50cyBjYW4gbmV2ZXIgb2NjdXIgZXhhY3Rs eSBzaW11bHRhbmVvdXNseSwgcmVuZGVyaW5nICcnY2EnJyB1c2VsZXNzLiBCdXQgJydjYScnIGV4 dGVuZHMgc2xpZ2h0bHkgaW50byB0aGUgcGFzdCBhbmQgdGhlIGZ1dHVyZSwgbWVhbmluZyBqdXN0 IOKAnGFib3V0IG5vd+KAnS4gVGhpcyBpcyBiZWNhdXNlIGh1bWFuIGJlaW5ncyBkb24ndCBwZXJj ZWl2ZSB0aW1lIGluIGEgcGVyZmVjdGx5IGxvZ2ljYWwgd2F5LCBhbmQgdGhlIExvamJhbiB0ZW5z ZSBzeXN0ZW0gcmVmbGVjdHMgdGhhdC4KCgoKU2lkZSBub3RlOiBJdCB3YXMgYWN0dWFsbHkgc3Vn Z2VzdGVkIG1ha2luZyB0aGUgTG9qYmFuIHRlbnNlIHN5c3RlbSByZWxhdGl2aXN0aWMuIFRoYXQg aWRlYSwgaG93ZXZlciwgd2FzIGRyb3BwZWQsIGJlY2F1c2UgaXQgaXMgY291bnRlci1pbnR1aXRp dmUsIGFuZCB3b3VsZCBtZWFuIHRoYXQgdG8gbGVhcm4gTG9qYmFuLCBvbmUgd291bGQgaGF2ZSB0 byBsZWFybiB0aGUgdGhlb3J5IG9mIHJlbGF0aXZpdHkgZmlyc3QuICAKCgoKU28sIGhvdyB3b3Vs ZCB5b3Ugc2F5IOKAnEkgZXhwcmVzcyB0aGlzIGFmdGVyIEkgY2FtZSBoZXJlP+KAnSAocG9pbnRp bmcgdG8gYSBwYXBlcikKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGN1c2t1IHRpIGJhIGxv IG51IG1pIGtsYW1hIHRpIHt2YXV9IHtrZWl9IHtrdX0ge3ZhdX0nJ35+CgoKClVzdWFsbHkgd2hl biBzcGVha2luZywgd2UgZG8gbm90IG5lZWQgdG8gc3BlY2lmeSB3aGljaCBldmVudCBpbiB0aGUg cGFzdCB0aGlzIGFjdGlvbiBpcyByZWxhdGl2ZSB0by4gSW46IOKAnEkgZ2F2ZSBhIGNvbXB1dGVy IGF3YXnigJ0sIHdlIGNhbiBhc3N1bWUgdGhhdCB0aGUgYWN0aW9uIGhhcHBlbmVkIHJlbGF0aXZl IHRvIOKAnG5vd+KAnSwgYW5kIHRodXMgd2UgY2FuIGVsaWRlIHRoZSBzdW10aSBvZiB0aGUgc3Vt dGNpdGEsIGJlY2F1c2UgaXQncyBvYnZpb3VzOgoKJydwdSBrdSBtaSBkdW5kYSBsbyBza2FtaSB7 a3V9IHt2YXV9Jycgb3IKCicnbWkgZHVuZGEgbG8gc2thbWkge2t1fSBwdSB7a3V9IHt2YXV9Jycg b3IsIG1vcmUgY29tbW9ubHkKCicnbWkgcHUge2t1fSBkdW5kYSBsbyBza2FtaSB7a3V9IHt2YXV9 JycuIFRoZSBzdW10aSB3aGljaCBmaWxscyB0aGUgc3VtdGNpdGEgaXMgYW4gaW1wbGllZCAnJ3pv J2UnJywgd2hpY2ggaXMgYWxtb3N0IGFsd2F5cyB1bmRlcnN0b29kIGFzIHJlbGF0aXZlIHRvIHRo ZSBzcGVha2VyJ3MgdGltZSBhbmQgcGxhY2UgKHRoaXMgaXMgZXNwZWNpYWxseSBpbXBvcnRhbnQg d2hlbiBzcGVha2luZyBhYm91dCBsZWZ0IGFuZCByaWdodCkuIElmIHNwZWFraW5nIGFib3V0IHNv bWUgZXZlbnRzIHRoYXQgaGFwcGVuZWQgc29tZSBvdGhlciB0aW1lIHRoYW4gdGhlIHByZXNlbnQs IGl0IGlzIHNvbWV0aW1lcyBhc3N1bWVkIHRoYXQgYWxsIHRlbnNlcyBhcmUgcmVsYXRpdmUgdG8g dGhhdCBldmVudCB3aGljaCBpcyBiZWluZyBzcG9rZW4gYWJvdXQuIEluIG9yZGVyIHRvIGNsYXJp ZnkgdGhhdCBhbGwgdGVuc2VzIGFyZSByZWxhdGl2ZSB0byB0aGUgc3BlYWtlcidzIGN1cnJlbnQg cG9zaXRpb24sIHRoZSB3b3JkICcnbmF1JycgY2FuIGJlIHVzZWQgYXQgYW55IHRpbWUuIEFub3Ro ZXIgd29yZCwgJydraScnIG1hcmtzIGEgdGVuc2Ugd2hpY2ggaXMgdGhlbiBjb25zaWRlcmVkIHRo ZSBuZXcgc3RhbmRhcmQuIFRoYXQgd2lsbCBiZSB0YXVnaHQgd2F5IGxhdGVyLgoKX18nJ25hdScn X18gdXBkYXRlcyB0ZW1wb3JhbCBhbmQgc3BhY2lhbCBmcmFtZSBvZiByZWZlcmVuY2UgdG8gdGhl IHNwZWFrZXIncyBjdXJyZW50IGhlcmUgYW5kIG5vdy4KCgoKX18nJ2d1Z2RlJydfXyA9IOKAnHgx IGlzIHRoZSBjb3VudHJ5IG9mIHBlb3BsZSB4MiB3aXRoIGxhbmQvdGVycml0b3J5IHgz4oCdCgoK CkFsc28gbm90ZSB0aGF0ICcnbWkgcHUge2t1fSBrbGFtYSBsbyBtZXJrbyBndWdkZSB7a3V9IHt2 YXV9JycsIOKAnEkgd2VudCB0byBBbWVyaWNh4oCdLCBkb2VzIG5vdCBpbXBseSB0aGF0IEknbSBu b3Qgc3RpbGwgdHJhdmVsaW5nIHRvIFVTQSwgb25seSB0aGF0IGl0IHdhcyBhbHNvIHRydWUgc29t ZSB0aW1lIGluIHRoZSBwYXN0LCBmb3IgaW5zdGFuY2UgZml2ZSBtaW51dGVzIGFnby4KCgoKQXMg bWVudGlvbmVkLCBzcGFjaWFsIGFuZCB0ZW1wb3JhbCB0aW1lIHRlbnNlcyBhcmUgdmVyeSBtdWNo IGFsaWtlLiBDb250cmFzdCB0aGUgcHJldmlvdXMgdGhyZWUgdGltZSB0ZW5zZXMgd2l0aCB0aGVz ZSBmb3VyIHNwYWNpYWwgdGVuc2VzOgoKX18nJ3p1J2EnJ19fIHN1bXRjaXRhOiBsZWZ0IG9mIHtz dW10aX0KCl9fJydjYSd1JydfXyBzdW10Y2l0YTogaW4gZnJvbnQgb2Yge3N1bXRpfQoKX18nJ3Jp J3UnJ19fIHN1bXRjaXRhOiByaWdodCBvZiB7c3VtdGl9CgpfXycnYnUndScnX18gc3VtdGNpdGE6 IGF0IHRoZSBzYW1lIHBsYWNlIGFzIHtzdW10aX0gKHNwYWNpYWwgZXF1aXZhbGVudCBvZiAnJ2Nh JycpCgoKCl9fJydvJ28nJ19fOiBhdHRpdHVkaW5hbDogY29tcGxleCBwdXJlIGVtb3Rpb246IHBh dGllbmNlIC0gdG9sZXJhbmNlIC0gYW5nZXIKCgoKV2hhdCB3b3VsZCAnJy5vJ29uYWkgcmkndSB7 a3V9IG51IGxvIHByZW51IHtrdX0gY3UgZGFyeGkgbG8gZ2Vya3UgcHUge2t1fSB7a3V9IHt2YXV9 IHtrZWl9IHt2YXV9JycgbWVhbj8gKG5vdGljZSB0aGUgZmlyc3QgZWxpZGVkIGt1ISkKCl9fJydk YXJ4aScnX18geDEgYmVhdHMvaGl0cyB4MiB3aXRoIGluc3RydW1lbnQgeDMgYXQgbG9jdXMgeDQK CgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJx7YW5nZXIhfSBUbyB0aGUgcmlnaHQgKG9mIHNvbWV0 aGluZywgcHJvYmFibHkgbWUpIGFuZCBpbiB0aGUgcGFzdCAob2Ygc29tZSBldmVudCksIHNvbWV0 aGluZyBpcyBhbiBldmVudCBvZiBhIHBlcnNvbiBiZWF0aW5nIGEgZG9nLuKAnSBvciDigJxBIG1h biBoaXQgYSBkb2cgdG8gbXkgcmlnaHQh4oCdfn4KCgoKSWYgdGhlcmUgYXJlIHNldmVyYWwgdGVu c2Ugc3VtdGNpdGEgaW4gb25lIGJyaWRpLCB0aGUgcnVsZSBpcyB0aGF0IHlvdSByZWFkIHRoZW0g ZnJvbSBsZWZ0IHRvIHJpZ2h0LCB0aGlua2luZyBpdCBhcyBhIHNvIGNhbGxlZCDigJxpbWFnaW5h cnkgam91cm5leeKAnSwgV2hlcmUgeW91IGJlZ2luIGF0IGFuIGltcGxpZWQgcG9pbnQgaW4gdGlt ZSBhbmQgc3BhY2UgKGRlZmF1bHQ6IHRoZSBzcGVha2VyJ3Mgbm93IGFuZCBoZXJlKSwgYW5kIHRo ZW4gZm9sbG93IHRoZSBzdW10Y2l0YSBvbmUgYXQgYSB0aW1lIGZyb20gbGVmdCB0byByaWdodC4K CkV4YW1wbGUKCicnbWkgcHUge2t1fSBiYSB7a3V9IGppbXBlIGZpIGxvIGxvamJvIGZhJ29ybWEn byB7a3V9IHt2YXV9JycgPSDigJxBdCBzb21lIHRpbWUgaW4gdGhlIHBhc3QsIEkgd2lsbCBiZSBh Ym91dCB0byBrbm93IGFib3V0IGZhJ29ybWEnb3Mu4oCdCgonJ21pIGJhIHtrdX0gcHUge2t1fSBq aW1wZSBmaSBsbyBsb2pibyBmYSdvcm1hJ28ge2t1fSB7dmF1fScnIOKAnEF0IHNvbWUgcG9pbnQg aW4gdGhlIGZ1dHVyZSwgSSB3aWxsIGhhdmUgdW5kZXJzdG9vZCBhYm91dCBmYSdvcm1hJ29zLuKA nQoKU2luY2Ugd2UgZG8gbm90IHNwZWNpZnkgdGhlIGFtb3VudCBvZiB0aW1lIHdlIG1vdmUgYmFj ayBvciBmb3J0aCwgdGhlIHVuZGVyc3RhbmRpbmcgY291bGQgaW4gYm90aCBjYXNlcyBoYXBwZW4g aW4gdGhlIGZ1dHVyZSBvciB0aGUgcGFzdCBvZiB0aGUgcG9pbnQgb2YgcmVmZXJlbmNlLgoKCgpB bHNvLCBpZiBzcGFjaWFsIGFuZCB0ZW1wb3JhbCB0ZW5zZXMgYXJlIG1peGVkLCB0aGUgcnVsZSBp cyB0byBhbHdheXMgcHV0IHRlbXBvcmFsIGJlZm9yZSBzcGFjaWFsLiBJZiB0aGlzIHJ1bGUgaXMg dmlvbGF0ZWQsIGl0IGNhbiBzb21ldGltZXMgcmVzdWx0IGluIHN5bnRhY3RpY2FsIGFtYmlndWl0 eSwgd2hpY2ggTG9qYmFuIGRvZXMgbm90IHRvbGVyYXRlLgoKCgpTdXBwb3NlIHdlIHdhbnQgdG8g c3BlY2lmeSB0aGF0IHRoZSBhIG1hbiBoaXQgYSBkb2cganVzdCBhIG1pbnV0ZSBhZ28uIFRoZSB3 b3JkcyAnJ3ppJycsICcnemEnJyBhbmQgJyd6dScnIHNwZWNpZmllcyBhIHNob3J0LCB1bnNwZWNp ZmllZCAocHJlc3VtYWJseSBtZWRpdW0pIGFuZCBsb25nIGRpc3RhbmNlIGluIHRpbWUuIE5vdGlj ZSB0aGUgdm93ZWwgb3JkZXIgJydpJycsICcnYScnIGFuZCAnJ3UnJy4gVGhpcyBvcmRlciBhcHBl YXJzIGFnYWluIGFuZCBhZ2FpbiBpbiBMb2piYW4sIGFuZCBtaWdodCBiZSB3b3J0aCB0byBtZW1v cml6ZS4g4oCcU2hvcnTigJ0gYW5kIOKAnGxvbmfigJ0gaW4gYXJlIGFsd2F5cyBjb250ZXh0IGRl cGVuZGVudCwgcmVsYXRpdmUgYW5kIHN1YmplY3RpdmUuIFR3byBodW5kcmVkIHllYXJzIGlzIGEg c2hvcnQgdGltZSBmb3IgYSBzcGVjaWVzIHRvIGV2b2x2ZSwgYnV0IGEgbG9uZyB0aW1lIHRvIHdh aXQgZm9yIHRoZSBidXMuCgpfXycnemknJ19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUgc21hbGwg ZGlzdGFuY2Ugb2Yge3N1bXRpfSBpbiB0aW1lIGZyb20gcG9pbnQgb2YgcmVmZXJlbmNlIAoKX18n J3phJydfXyBzdW10Y2l0YTogT2N1cnJpbmcgdGhlIHVuc3BlY2lmaWVkKG1lZGl1bSkgZGlzdGFu Y2Ugb2Yge3N1bXRpfSBpbiB0aW1lIGZyb20gcG9pbnQgb2YgcmVmZXJlbmNlIAoKX18nJ3p1Jydf XyBzdW10Y2l0YTogT2N1cnJpbmcgdGhlIGZhciBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHRpbWUg ZnJvbSB0aGUgcG9pbnQgb2YgcmVmZXJlbmNlIAoKCgpTaW1pbGFybHksIHNwYWNpYWwgZGlzdGFu Y2UgaXMgbWFya2VkIGJ5ICcndmknJywgJyd2YScnIGFuZCAnJ3Z1JycgZm9yIHNob3J0LCB1bnNw ZWNpZmllZCAobWVkaXVtKSBhbmQgbG9uZyBkaXN0YW5jZSBpbiBzcGFjZS4KCl9fJyd2aScnX18g c3VtdGNpdGE6IE9jdXJyaW5nIHRoZSBzbWFsbCBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHNwYWNl IGZyb20gcG9pbnQgb2YgcmVmZXJlbmNlIAoKX18nJ3ZhJydfXyBzdW10Y2l0YTogT2N1cnJpbmcg dGhlIHVuc3BlY2lmaWVkKG1lZGl1bSkgZGlzdGFuY2Ugb2Yge3N1bXRpfSBpbiBzcGFjZSBmcm9t IHBvaW50IG9mIHJlZmVyZW5jZSAKCl9fJyd2dScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSBm YXIgZGlzdGFuY2Ugb2Yge3N1bXRpfSBpbiBzcGFjZSBmcm9tIHRoZSBwb2ludCBvZiByZWZlcmVu Y2UgCgpfXycnZ3Vua2EnJ19fIOKAnHgxIHdvcmtzIGF0IHgyIHdpdGggb2JqZWN0aXZlIHgz4oCd CgoKClRyYW5zbGF0ZTogJydiYSB7a3V9IHphIGt1IG1pIHZ1IHtrdX0gZ3Vua2Ege3ZhdX0nJwoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFNvbWUgdGltZSBpbiB0aGUgZnV0dXJlLCBJIHdpbGwg d29yayBhIHBsYWNlIGxvbmcgYXdheeKAnX5+CgpOb3RlOiBQZW9wbGUgcmFyZWx5IHVzZSAnJ3pp JycsICcnemEnJyBvciAnJ3p1Jycgd2l0aG91dCBhICcncHUnJyBvciAnJ2JhJycgaW4gZnJvbnQg b2YgaXQuIFRoaXMgaXMgYmVjYXVzZSBtb3N0IHBlb3BsZSBhbHdheXMgbmVlZCB0byBzcGVjaWZ5 IHBhc3Qgb3IgZnV0dXJlIGluIHRoZWlyIG5hdGl2ZSBsYW5ndWFnZS4gV2hlbiB5b3UgdGhpbmsg YWJvdXQgaXQgTG9qYmFuaWNhbGx5LCBtb3N0IG9mIHRoZSB0aW1lIHRoZSB0aW1lLWRpcmVjdGlv biBpcyBvYnZpb3VzLCBhbmQgdGhlICcncHUnJyBvciAnJ2JhJycgc3VwZXJmbHVvdXMhCgoKClRo ZSBvcmRlciBpbiB3aGljaCBkaXJlY3Rpb24tc3VtdGNpdGEgYW5kIGRpc3RhbmNlLXN1bXRjaXRh IGFyZSBzYWlkIG1ha2VzIGEgZGlmZmVyZW5jZS4gUmVtZW1iZXIgdGhhdCB0aGUgbWVhbmluZ3Mg b2Ygc2V2ZXJhbCB0ZW5zZSB3b3JkcyBwbGFjZWQgdG9nZXRoZXIgYXJlIHBpY3R1cmVkIGJ5IGFu IGltYWdpbmFyeSBqb3VybmV5IHJlYWRpbmcgZnJvbSBsZWZ0IHRvIHJpZ2h0LiBUaHVzICcncHUg enUnJyBpcyDigJxhIGxvbmcgdGltZSBhZ2/igJ0gd2hpbGUgJyd6dSBwdScnIGlzIOKAnGluIHRo ZSBwYXN0IG9mIHNvbWUgcG9pbnQgaW4gdGltZSB3aGljaCBpcyBhIGxvbmcgdGltZSB0b3dhcmQg dGhlIGZ1dHVyZSBvciB0aGUgcGFzdCBvZiBub3figJ0uIEluIHRoZSBmaXJzdCBleGFtcGxlLCAn J3B1Jycgc2hvd3MgdGhhdCB3ZSBiZWdpbiBpbiB0aGUgcGFzdCwgJyd6dScnIHRoZW4gdGhhdCBp dCBpcyBhIGxvbmcgdGltZSBiYWNrd2FyZHMuIEluIHRoZSBzZWNvbmQgZXhhbXBsZSwgJyd6dScn IHNob3dzIHRoYXQgd2UgYmVnaW4gYXQgc29tZSBwb2ludCBmYXIgYXdheSBpbiB0aW1lIGZyb20g bm93LCAnJ3B1JycgdGhlbiwgdGhhdCB3ZSBtb3ZlIGJhY2t3YXJkcyBmcm9tIHRoYXQgcG9pbnQu IFRodXMgJydwdSB6dScnIGlzIGFsd2F5cyBpbiB0aGUgcGFzdC4gJyd6dSBwdScnIGNvdWxkIGJl IGluIHRoZSBmdXR1cmUuIFRoZSBmYWN0IHRoYXQgdGhlc2UgdGltZSB0ZW5zZXMgY29tYmluZSBp biB0aGlzIHdheSBpcyBvbmUgb2YgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGVuc2Ugc3VtdGNp dGEgYW5kIG90aGVyIHN1bXRjaXRhLiBUaGUgbWVhbmluZ3Mgb2Ygb3RoZXIgc3VtdGNpdGEgYXJl IG5vdCBhbHRlcmVkIGJ5IHRoZSBwcmVzZW5jZSBvZiBhZGRpdGlvbmFsIHN1bXRjaXRhIGluIGEg YnJpZGkuCgoKCkFzIGJyaWVmbHkgaW1wbGllZCBlYXJsaWVyLCBhbGwgdGhlc2UgY29uc3RydWN0 cyBiYXNpY2FsbHkgdHJlYXQgYnJpZGkgYXMgaWYgdGhleSB3ZXJlIHBvaW50LWxpa2UgaW4gdGlt ZSBhbmQgc3BhY2UuIEluIGFjdHVhbGl0eSwgbW9zdCBldmVudHMgcGxheSBvdXQgb3ZlciBhIHNw YW4gb2YgdGltZSBhbmQgc3BhY2UuIEluIHRoZSBmb2xsb3dpbmcgZmV3IHBhcmFncmFwaHMsIHdl IHdpbGwgbGVhcm4gaG93IHRvIHNwZWNpZnkgaW50ZXJ2YWxzIG9mIHRpbWUgYW5kIHNwYWNlLgoK CgpfXycnemUnaScnX18gc3VtdGNpdGE6IHNwYW5uaW5nIG92ZXIgdGhlIHNob3J0IHRpbWUgb2Yg e3N1bXRpfQoKX18nJ3plJ2EnJ19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSB1bnNwZWNp ZmllZCAobWVkaXVtKSB0aW1lIG9mIHtzdW10aX0KCl9fJyd6ZSd1JydfXyBzdW10Y2l0YTogc3Bh bm5pbmcgb3ZlciB0aGUgbG9uZyB0aW1lIG9mIHtzdW10aX0KCgoKX18nJ3ZlJ2knJ19fIHN1bXRj aXRhOiBzcGFubmluZyBvdmVyIHRoZSBzaG9ydCBzcGFjZSBvZiB7c3VtdGl9CgpfXycndmUnYScn X18gc3VtdGNpdGE6IHNwYW5uaW5nIG92ZXIgdGhlIHVuc3BlY2lmaWVkIChtZWRpdW0pIHNwYWNl IG9mIHtzdW10aX0KCl9fJyd2ZSd1JydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgbG9u ZyBzcGFjZSBvZiB7c3VtdGl9CgoKClNpeCB3b3JkcyBhdCBhIHRpbWUsIEkga25vdywgYnV0IHJl bWVtYmVyaW5nIHRoZSB2b3dlbCBzZXF1ZW5jZSBhbmQgdGhlIHNpbWlsYXJpdHkgb2YgdGhlIGlu aXRpYWwgbGV0dGVyIHogZm9yIHRlbXBvcmFsIHRlbnNlcyBhbmQgdiBmb3Igc3BhY2lhbCB0ZW5z ZXMgbWlnaHQgaGVscCB0aGUgbWVtb3JpemluZy4KCl9fJycub2knJ19fIC0gYXR0aXR1ZGluYWw6 IHBhaW4gLSBwbGVhc3VyZQoKCgpUcmFuc2xhdGU6ICcnLm9pIGRhaSBkbyB2ZSd1IHtrdX0ga2xh bWEgbG8gZG90Y28gZ3VnZGUge2t1fSB6ZSd1IHtrdX0ge3ZhdX0nJwoKCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OuKAnE91Y2gsIHlvdSBzcGVuZCBhIGxvbmcgdGltZSB0cmF2ZWxpbmcgYSBsb25nIHNw YWNlIHRvIEdlcm1hbnnigJ0gfn4KCgoKVGhvdWdoIG1vc3QgcGVvcGxlIGFyZSBub3QgZmFtaWxp YXIgd2l0aCBzcGFjaWFsIHRlbnNlcywgdGhlc2UgbmV3IHdvcmRzIGNhbiBvcGVuIHVwIGZvciBz b21lIHByZXR0eSBzd2VldCB1c2VzLiBPbmUgY291bGQsIGZvciBpbnN0YW5jZSwgdHJhbnNsYXRl IOKAnFRoYXQncyBhIGJpZyBkb2figJ0gYXMgJyd0aSB2ZSd1IHtrdX0gZ2Vya3Uge3ZhdX0nJy4g U2F5aW5nOiDigJxUaGlzIHRoaW5nIGRvZ3MgZm9yIGEgbG9uZyBzcGFjZeKAnSBtYWtlcyB5b3Ug c291bmQgcmV0YXJkZWQgaW4gRW5nbGlzaCwgYnV0IHdlbGwtc3Bva2VuIGluIExvamJhbiEKCgoK Jyd6ZSd1JycgYW5kIGl0cyBicm90aGVycyBhbHNvIGNvbWJpbmUgd2l0aCBvdGhlciB0ZW5zZXMg dG8gZm9ybSBjb21wb3VuZCB0ZW5zZXMuIFRoZSBydWxlIGZvciAnJ3plJ3UnJyBhbmQgdGhlIG90 aGVycyBhcmUgdGhhdCBhbnkgdGVuc2VzIHByZWNlZGluZyBpdCBtYXJrcyBhbiBlbmRwb2ludCBv ZiB0aGUgcHJvY2VzcyAocmVsYXRpdmUgdG8gdGhlIHBvaW50IG9mIHJlZmVyZW5jZSkgYW5kIGFu eSB0ZW5zZXMgY29taW5nIGFmdGVyIGl0IG1hcmtzIHRoZSBvdGhlciBlbmRwb2ludCByZWxhdGl2 ZSB0byB0aGUgZmlyc3QuIFRoaXMgc2hvdWxkIGJlIGRlbW9uc3RyYXRlZCB3aXRoIGEgY291cGxl IG9mIGV4YW1wbGVzOgoKJycubydvY3UnaSBkbyBjaXRrYSBwdSB7a3V9IHplJ3Uge2t1fSBiYSB7 a3V9IHp1IHtrdX0ge3ZhdX0nJyAtIOKAnHt0b2xlcmFuY2V9IHlvdSBlYXQgYmVnaW5uaW5nIGlu IHRoZSBwYXN0IGFuZCBmb3IgYSBsb25nIHRpbWUgZW5kaW5nIGF0IHNvbWUgcG9pbnQgZmFyIGlu dG8gdGhlIGZ1dHVyZSBvZiB3aGVuIHlvdSBzdGFydGVk4oCdIG9yIOKAnEhtcGYsIHlvdSBhdGUg Zm9yIGEgbG9uZyB0aW1l4oCdLiBPbmUgY2FuIGFsc28gY29udHJhc3QgJydkbyBjYSB7a3V9IHpl J2kge2t1fSBwdSB7a3V9IGtsYW1hIHt2YXV9Jycgd2l0aCAnJ2RvIHB1IHtrdX0gemUnaSB7a3V9 IGNhIHtrdX0ga2xhbWEge3ZhdX0nJy4gVGhlIGZpcnN0IGV2ZW50IG9mIHRyYXZlbGluZyBoYXMg b25lIGVuZHBvaW50IGluIHRoZSBwcmVzZW50IGFuZCBleHRlbmRzIGEgbGl0dGxlIHRvd2FyZHMg dGhlIHBhc3QsIHdoaWxlIHRoZSBzZWNvbmQgZXZlbnQgaGFzIG9uZSBlbmRwb2ludCBpbiB0aGUg cGFzdCBhbmQgZXh0ZW5kcyBvbmx5IHRvIHRoZSBwcmVzZW50ICh0aGF0IGlzLCBzbGlnaHR5IGlu dG8gdGhlIHBhc3Qgb3IgZnV0dXJlKSBvZiB0aGF0IGVuZHBvaW50LgoKX18nJ2ptaXZlJydfXyDi gJx4MSBpcyBhbGl2ZSBieSBzdGFuZGFyZCB4MuKAnQoKCgpXaGF0IGRvZXMgJycudWkgbWkgcHUg e2t1fSB6aSB7a3V9IHplJ3Uge2t1fSBqbWl2ZSB7dmF1fScnIGV4cHJlc3M/CgoKCkFuc3dlcjog fn5ncmV5LGdyZXk64oCce2hhcHBpbmVzcyF9IEkgbGl2ZSBmcm9tIGEgbGl0dGxlIGludG8gdGhl IHBhc3QgYW5kIGEgbG9uZyB3YXkgdG93YXJkcyB0aGUgZnV0dXJlIG9yIHBhc3QgKG9idmlvdXNs eSB0aGUgZnV0dXJlLCBpbiB0aGlzIGNhc2UpIG9mIHRoYXQgZXZlbnTigJ0gb3Ig4oCcSSBhbSB5 b3VuZywgYW5kIGhhdmUgbW9zdCBvZiBteSBsaWZlIGFoZWFkIG9mIG1lIDop4oCdfn4KCgoKSnVz dCB0byB1bmRlcmxpbmUgdGhlIHNpbWlsYXJpdHkgd2l0aCBzcGFjaWFsIHRlbnNlcywgbGV0J3Mg aGF2ZSBhbm90aGVyIGV4YW1wbGUsIHRoaXMgdGltZSB3aXRoIHNwYWNpYWwgdGVuc2VzOgoKX18n Jy51J2UnJ19fIGF0dGl0dWRpbmFsOiB3b25kZXIgLSBjb21tb25wbGFjZQoKCgonJy51J2UgemEn YSB7a3V9IGJ1J3Uge2t1fSB2ZSd1IHtrdX0gY2EndSB7a3V9IHpkYW5pIHt2YXV9JycgLSBXaGF0 IGRvZXMgaXQgbWVhbj8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTog4oCce3dvbmRlcn0ge0kgb2Jz ZXJ2ZSF9IEV4dGVuZGluZyBhIGxvbmcgc3BhY2UgZnJvbSBoZXJlIHRvIG15IGZyb250IGlzIGEg aG9tZS7igJ0gb3Ig4oCcV293LCB0aGlzIGhvbWUgZXh0ZW5kaW5nIGFoZWFkIGlzIGh1Z2Uh4oCd fn4KCgoKQmVmb3JlIHdlIGNvbnRpbnVlIHdpdGggdGhpcyBzeW50YXgtaGVhdnkgdGVuc2Ugc3lz dGVtLCBpIHJlY29tbWVuZCBzcGVuZGluZyBhdCBsZWFzdCB0ZW4gbWludXRlcyBkb2luZyBzb21l dGhpbmcgd2hpY2ggZG9lc24ndCBvY2N1cHkgeW91ciBicmFpbiBpbiBvcmRlciB0byBsZXQgdGhl IGluZm9ybWF0aW9uIHNpbmsgaW4uIFNpbmcgYSBzb25nIG9yIGVhdCBhIGNvb2tpZSB2ZXJ5IHNs b3dseSAtIHdoYXRldmVyLCBhcyBsb25nIGFzIHlvdSBsZXQgeW91ciBtaW5kIHJlc3QuCgoKCiEh TG9qYmFuIExlc3NvbnMgLSBMZXNzb24gZWxldmVuIChaQWhPKQoKVGhvdWdoIHdlIHdvbid0IGdv IHRocm91Z2ggYWxsIExvamJhbiB0ZW5zZSBjb25zdHJ1Y3RzIGZvciBub3csIHRoZXJlIGlzIG9u ZSBvdGhlciBraW5kIG9mIHRlbnNlIHRoYXQgSSB0aGluayBzaG91bGQgYmUgdGF1Z2h0IG5vdy4g VGhlc2UgYXJlIGNhbGxlZCDigJxldmVudCBjb250b3Vyc+KAnSwgYW5kIHJlcHJlc2VudCBhIHZl cnkgZGlmZmVyZW50IHdheSBvZiB2aWV3aW5nIHRlbnNlcyB0aGF0IHdlIGhhdmUgc2VlbiBzbyBm YXIuIFNvIGxldCdzIGdldCB0byBpdDoKCgoKVXNpbmcgdGhlIHRlbnNlcyB3ZSBoYXZlIGxlYXJu ZWQgc28gZmFyLCB3ZSBjYW4gaW1hZ2luZSBhbiBpbmRlZmluaXRlIHRpbWUgbGluZSwgYW5kIHdl IHRoZW4gcGxhY2UgZXZlbnRzIG9uIHRoYXQgbGluZSByZWxhdGl2ZSB0byB0aGUg4oCcbm934oCd LiBXaXRoIGV2ZW50IGNvbnRvdXJzLCBob3dldmVyLCB3ZSB2aWV3IGVhY2ggZXZlbnQgYXMgYSBw cm9jZXNzLCB3aGljaCBoYXMgY2VydGFpbiBzdGFnZXM6IEEgdGltZSBiZWZvcmUgaXQgdW5mb2xk cywgYSB0aW1lIHdoZW4gaXQgYmVnaW5zLCBhIHRpbWUgd2hlbiBpdCBpcyBpbiBwcm9jZXNzLCBh IHRpbWUgd2hlbiBpdCBlbmRzLCBhbmQgYSB0aW1lIGFmdGVyIGl0IGhhcyBlbmRlZC4gRXZlbnQg Y29udG91cnMgdGhlbiB0ZWxscyB1cyB3aGljaCBwYXJ0IG9mIHRoZSBldmVudCdzIHByb2Nlc3Mg d2FzIGhhcHBlbmluZyBkdXJpbmcgdGhlIHRpbWUgc3BlY2lmaWVkIGJ5IHRoZSBvdGhlciB0ZW5z ZXMuIFdlIG5lZWQgYSBjb3VwbGUgb2YgdGVuc2VzIGZpcnN0OgoKCgpfXycncHUnbycnX18gLSBz dW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaGFzIG5vdCB5ZXQgaGFwcGVuZWQgZHVyaW5n IHtzdW10aX0KCl9fJydjYSdvJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBp cyBpbiBwcm9jZXNzIGR1cmluZyB7c3VtdGl9CgpfXycnYmEnbycnX18gLSBzdW10Y2l0YTogZXZl bnQgY29udG91cjogVGhlIHByb2Nlc3Mgb2YgYnJpZGkgaGFzIGVuZGVkIGR1cmluZyB7c3VtdGl9 CgoKClRoaXMgbmVlZHMgdG8gYmUgZGVtb25zdHJhdGVkIGJ5IHNvbWUgZXhhbXBsZXMuIFdoYXQn cyAnJy51aSBtaSBwdSdvIHtrdX0gc2UgemRhbmkge3ZhdX0nJyBtZWFuPwoKCgpBbnN3ZXI6IOKA nFlheSwgSSdsbCBiZWdpbiB0byBoYXZlIGEgaG9tZeKAnS4KCgoKQnV0IGhleSwgeW91IGFzaywg d2h5IG5vdCBqdXN0IHNheSAnJy51aSBtaSBiYSB7a3V9IHNlIHpkYW5pIHt2YXV9JycgYW5kIGV2 ZW4gc2F2ZSBhIHN5bGxhYmxlPyBCZWNhdXNlLCByZW1lbWJlciwgc2F5aW5nIHRoYXQgeW91IHdp bGwgaGF2ZSBhIGhvbWUgaW4gdGhlIGZ1dHVyZSBzYXlzIG5vdGhpbmcgYWJvdXQgd2hldGhlciB5 b3UgaGF2ZSBhIGhvbWUgbm93LiBVc2luZyAnJ3B1J28nJywgdGhvdWdoLCB5b3Ugc2F5IHRoYXQg eW91IGFyZSBub3cgaW4gdGhlIHBhc3Qgb2YgdGhlIHByb2Nlc3Mgb2YgeW91IGhhdmluZyBhIGhv bWUsIHdoaWNoIG1lYW5zIHRoYXQgeW91IGRvbid0IGhhdmUgb25lIG5vdy4KCk5vdGUsIGJ5IHRo ZSB3YXksIHRoYXQgJydtaSBiYSB7a3V9IHNlIHpkYW5pIHt2YXV9JycgaXMgc2ltaWxhciB0byAn J21pIHB1J28ge2t1fSBzZSB6ZGFuaSB7dmF1fScnLCBhbmQgbGlrZXdpc2Ugd2l0aCAnJ2JhJ28n JyBhbmQgJydwdScnLiBXaHkgZG8gdGhleSBzZWVtIHJldmVyc2VkPyBCZWNhdXNlIGV2ZW50IGNv bnRvdXJzIHZpZXcgdGhlIHByZXNlbnQgYXMgc2VlbiBmcm9tIHRoZSB2aWV3cG9pbnQgb2YgdGhl IHByb2Nlc3MsIHdoZXJlYXMgdGhlIG90aGVyIHRlbnNlcyB2aWV3IGV2ZW50cyBzZWVuIGZyb20g dGhlIHByZXNlbnQuCgoKCk9mdGVuLCBldmVudCBjb250b3VycyBhcmUgbW9yZSBwcmVjaXNlIHRo YXQgb3RoZXIga2luZCBvZiB0ZW5zZXMuIEV2ZW4gbW9yZSBjbGFyaXR5IGlzIGFjaGlldmVkIGJ5 IGNvbWJpbmluZyBzZXZlcmFsIHRlbnNlczogJycuYSdvIG1pIGJhe2t1fSB6aSB7a3V9IGJhJ28g e2t1fSBndW5rYSB7dmF1fScnIC0g4oCcSSBob3BlIEkndmUgc29vbiBmaW5pc2hlZCB3b3JraW5n LuKAnQoKCgpJbiBMb2piYW4sIHdlIGFsc28gb3BlcmF0ZSB3aXRoIGFuIGV2ZW50J3Mg4oCcbmF0 dXJhbCBiZWdpbm5pbmfigJ0gYW5kIGl0cyDigJxuYXR1cmFsIGVuZOKAnS4gVGhlIHRlcm0g4oCc bmF0dXJhbOKAnSBpcyBoaWdobHkgc3ViamVjdGl2ZSBpbiB0aGlzIHNlbnNlLCBhbmQgdGhlIG5h dHVyYWwgZW5kIHJlZmVycyB0byB0aGUgcG9pbnQgaW4gdGhlIHByb2Nlc3Mgd2hlcmUgaXQgc2hv dWxkIGVuZC4gWW91IGNhbiBzYXkgYWJvdXQgYSBsYXRlIHRyYWluLCBmb3IgaW5zdGFuY2UsIHRo YXQgaXRzIHByb2Nlc3Mgb2YgcmVhY2hpbmcgeW91IGlzIG5vdyBleHRlbmRpbmcgYmV5b25kIGl0 cyBuYXR1cmFsIGVuZC4gQW4gdW5kZXJjb29rZWQsIGJ1dCBzZXJ2ZWQgbWVhbCwgc2ltaWxhcmx5 LCBpcyBiZWluZyBlYXRlbiBiZWZvcmUgdGhhdCBwcm9jZXNzJyBuYXR1cmFsIGJlZ2lubmluZy4g VGhlIGV2ZW50IGNvbnRvdXJzIHVzZWQgaW4gdGhlc2UgZXhhbXBsZXMgYXJlIGFzIGZvbGxvd3M6 CgoKCl9fJyd6YSdvJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBpbiBw cm9jZXNzIGJleW9uZCBpdHMgbmF0dXJhbCBlbmQgZHVyaW5nIHtzdW10aX0KCl9fJyd4YSdvJydf XyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBpbW1hdHVyZWx5IGluIHByb2Nl c3MgZHVyaW5nIHtzdW10aX0KCgoKX18nJ2NpZGphJydfXzog4oCceDEgaXMgZm9vZCwgd2hpY2gg aXMgZWRpYmxlIGZvciB4MuKAnQoKCgpUcmFuc2xhdGU6ICcnLm9pIGRvIGNpdGthIHphJ28gbG8g bnUgZG8gYmEnbyB7a3V9IHUnZSBjaXRrYSB6bydlIG5vaSBjaWRqYSBkbyB7dmF1fSB7a3Unb30g e3ZhdX0ge2tlaX0ge2t1fScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcT3ksIHlvdSBrZWVw IGVhdGluZyB3aGVuIHlvdSBoYXZlIGZpbmlzaGVkLCBpbmNyZWRpYmx5LCBlYXRpbmcgc29tZXRo aW5nIGVkaWJsZSHigJ1+fgoKCgp7aW1nIGZpbGVJZD0iMiIgdGh1bWI9InkiIHJlbD0iYm94W2dd In0KCkltYWdlIGFib3ZlOiBaQWhPIHRlbnNlcyAoZXZlbnQgY29udG91cnMpLiBBbGwgdGVuc2Vz IGFib3ZlIHRoZSBsaW5lIG9mIHRoZSBldmVudCBzaWduaWZ5IHN0YWdlcyBjb3ZlcmluZyBhbiBh bW91bnQgb2YgdGltZS4gQWxsIHRlbnNlcyBiZWxvdyB0aGUgZXZlbnQgbGluZSBzaWduaWZ5IHN0 YWdlcyB3aGljaCBhcmUgcG9pbnQtbGlrZS4KCgoKQWxsIG9mIHRoZXNlIHRlbnNlcyBoYXZlIGJl ZW4gZGVzY3JpYmluZyBzdGFnZXMgb2YgYSBwcm9jZXNzIHdoaWNoIHRha2VzIHNvbWUgdGltZSAo YXMgc2hvd24gb24gdGhlIGdyYXBoIGFib3ZlOyB0aG9zZSB0ZW5zZXMgYWJvdmUgdGhlIGV2ZW50 IGxpa2UpLiBCdXQgbWFueSBvZiB0aGUgZXZlbnQgY29udG91cnMgZGVzY3JpYmVzIHBvaW50IGxp a2Ugc3RhZ2VzIGluIHRoZSBwcm9jZXNzLCBsaWtlIGl0cyBiZWdpbm5pbmcuIEFzIGlzIHRydWUg b2YgJydjYScnIGFuZCAnJ2J1J3UnJywgdGhleSBhY3R1YWxseSBleHRlbmQgc2xpZ2h0bHkgaW50 byB0aGUgcGFzdCBhbmQgZnV0dXJlIG9mIHRoYXQgcG9pbnQsIGFuZCBuZWVkIG5vdCB0byBiZSBw cmVjaXNlLgoKCgpUaGUgdHdvIG1vc3QgaW1wb3J0YW50IHBvaW50LWxpa2UgZXZlbnQgY29udG91 cnMgYXJlOgoKX18nJ2NvJ2EnJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlz IGF0IGl0cyBiZWdpbm5pbmcgZHVyaW5nIHtzdW10aX0KCl9fJydjbyd1JydfXyAtIHN1bXRjaXRh OiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBhdCBpdHMgZW5kaW5nIGR1cmluZyB7c3VtdGl9CgoK CkZ1cnRoZXJtb3JlLCB0aGVyZSBpcyBhIHBvaW50IHdoZXJlIHRoZSBwcm9jZXNzIGlzIG5hdHVy YWxseSBjb21wbGV0ZSwgYnV0IG5vdCBuZWNlc3NhcmlseSBoYXMgZW5kZWQgeWV0OgoKX18nJ21v J3UnJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGF0IGl0cyBuYXR1cmFs IGVuZGluZyBkdXJpbmcge3N1bXRpfQoKTW9zdCBvZiB0aGUgdGltZSwgdGhvdWdoLCBwcm9jZXNz ZXMgYWN0dWFsbHkgZW5kIGF0IHRoZWlyIG5hdHVyYWwgZW5kaW5nOyB0aGlzIGlzIHdoYXQgbWFr ZXMgaXQgbmF0dXJhbC4gVHJhaW5zIGFyZSBub3QgdXN1YWxseSBsYXRlLCBhbmQgcGVvcGxlIHVz dWFsbHkgcmV0cmFpbiB0aGVtc2VsdmVzIHRvIGVhdCBvbmx5IGVkaWJsZSBmb29kLgoKCgpTaW5j ZSBhIHByb2Nlc3MgY2FuIGJlIGludGVycnVwdGVkIGFuZCByZXN1bWVkLCB0aGVzZSBwb2ludHMg aGF2ZSBlYXJuZWQgdGhlaXIgb3duIGV2ZW50IGNvbnRvdXIgYWxzbzoKCl9fJydkZSdhJydfXyAt IHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBwYXVzaW5nIGR1cmluZyB7c3VtdGl9 CgpfXycnZGknYScnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgcmVzdW1p bmcgZHVyaW5nIHtzdW10aX0KCgoKSW4gZmFjdCwgc2luY2UgJydqdW5kaScnIG1lYW5zIOKAnHgx IHBheXMgYXR0ZW50aW9uIHRvIHgy4oCdLCAnJ2RlJ2EganVuZGknJyBhbmQgJydkaSdhIGp1bmRp JycgYXJlIGNvbW1vbiBMb2piYW4gd2F5cyBvZiBzYXlpbmcg4oCcQlJC4oCdIGFuZCDigJxiYWNr 4oCdLiBPbmUgY291bGQgb2YgY291cnNlIGFsc28gc2F5IHRoZSBldmVudCBjb250b3VycyBieSB0 aGVtc2VsdmVzIGFuZCBob3BlIHRoZSBwb2ludCBnZXRzIGFjcm9zcy4KCgoKRmluYWxseSwgb25l IGNhbiB0cmVhdCBhbiBlbnRpcmUgZXZlbnQsIGZyb20gdGhlIGJlZ2lubmluZyB0byB0aGUgZW5k IGFzIG9uZSBzaW5nbGUgcG9pbnQgdXNpbmcgJydjbydpJyc6CgpfXycncGVubWknJ19fIOKAnHgx IG1lZXRzIHgyIGF0IGxvY2F0aW9uIHgz4oCdCgonJ21pIHB1IHtrdX0gemkge2t1fSBjbydpIHtr dX0gcGVubWkgbG8gZG90Y28gcHJlbnUge2t1fSB7dmF1fScnIC0g4oCcQSBsaXR0bGUgd2hpbGUg YWdvLCBJIHdhcyBhdCB0aGUgcG9pbnQgaW4gdGltZSB3aGVyZSBpIG1ldCBhIEdlcm1hbiBwZXJz b27igJ0KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHR3ZWx2ZSAob3JkZXJzIGFuZCBx dWVzdGlvbnMpCgpQaGV3LCB0aG9zZSB0d28gbG9uZyBsZXNzb25zIHdpdGggc3ludGF4IGhlYXZ5 IExvamJhbiBnaXZlcyB0aGUgYnJhaW4gc29tZXRoaW5nIHRvIHBvbmRlciBhYm91dC4gRXNwZWNp YWxseSBiZWNhdXNlIGl0J3Mgc28gZGlmZmVyZW50IGZyb20gRW5nbGlzaC4gU28gbGV0J3MgdHVy biB0byBzb21ldGhpbmcgYSBsaXR0bGUgbGlnaHRlcjogT3JkZXJzIGFuZCBxdWVzdGlvbnMuCgoK CldoYXQgdGhlLi4uIF9fc2l0IHVwIGFuZCBmb2N1cyFfXwoKCgpTaW5jZSB0aGUgd2F5IHRvIGV4 cHJlc3Mgb3JkZXJzIGluIEVuZ2xpc2ggaXMgdG8gbGVhdmUgb3V0IHRoZSBzdWJqZWN0IG9mIHRo ZSBjbGF1c2UsIHdoeSBkaWQgeW91IGFzc3VtZSB0aGF0IGl0IHdhcyB5b3UgSSB3YXMgc3BlYWtp bmcgdG8sIGFuZCBub3Qgb3JkZXJpbmcgbXlzZWxmLCBvciBleHByZXNzaW5nIHRoZSBvYmxpZ2F0 aW9uIHNvbWVvbmUgZWxzZSBoYXM/IEJlY2F1c2UgdGhlIEVuZ2xpc2ggbGFuZ3VhZ2UgdW5kZXJz dGFuZHMgdGhhdCBvcmRlcnMsIGJ5IHRoZWlyIHZlcnkgbmF0dXJlLCBhcmUgYWx3YXlzIGRpcmVj dGVkIHRvd2FyZHMgdGhlIGxpc3RlbmVyIC0gdGhlIOKAnHlvdeKAnSwgYW5kIHNvIHRoZSBzdWJq ZWN0IGlzIG5vdCBuZWNlc3NhcnkuCgpJbiBMb2piYW4sIGVsaWRpbmcgdGhlIHN1YmplY3QgeWll bGRzICcnem8nZScnLCBzbyB0aGF0IHBvc3NpYmlsaXR5IGlzIHNhZGx5IG5vdCBvcGVuIHRvIHVz LiBJbnN0ZWFkLCB3ZSB1c2UgdGhlIHdvcmQgJydrbycnLCB3aGljaCBpcyB0aGUgaW1wZXJhdGl2 ZSBmb3JtIG9mICcnZG8nJy4gR3JhbW1hdGljYWxseSBhbmQgYnJpZGktd2lzZSwgaXQncyBlcXVp dmFsZW50IHRvICcnZG8nJywgYnV0IGl0IGFkZHMgYSBsYXllciBvZiBzZW1hbnRpY3MsIHNpbmNl IGl0IHR1cm5zIGV2ZXJ5IHN0YXRlbWVudCB3aXRoICcna28nJyBpbiBpdCBpbnRvIGFuIG9yZGVy LiDigJxEbyBzdWNoIHRoYXQgdGhpcyBzZW50ZW5jZSBpcyB0cnVlIGZvciB5b3U9JydrbycnIeKA nSBGb3IgdGhlIHNhbWUgcmVhc29uIHdlIGRvbid0IG5lZWQgdGhlIHN1YmplY3QgaW4gRW5nbGlz aCBzZW50ZW5jZXMsIHdlIGRvbid0IG5lZWQgb3JkZXItd29yZHMgZGVyaXZlZCBmcm9tIGFueSBv dGhlciBzdW10aSB0aGFuICcnZG8nJy4KCgoKSG93IGNvdWxkIHlvdSBvcmRlciBvbmUgdG8gZ28g ZmFyIGF3YXkgZm9yIGEgbG9uZyB0aW1lICh1c2luZyAnJ2tsYW1hJycgYXMgdGhlIG9ubHkgc2Vs YnJpPykKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTprbyB2ZSd1IHplJ3Uga2xhbWF+fgoKKCcnLmkg emEnYSBkYWkgYSdvIG1pIGNhIGNvJ3UgY2lza2EgbG8gZmEnb3JtYSdvIC5pIGtvIGppbXBlIHZh dSAudWknJykgLSBsb29rIHVwIGNpc2thIGFuZCB3b3JrIGl0IG91dC4KCgoKUXVlc3Rpb25zIGlu IExvamJhbiBhcmUgdmVyeSBlYXN5IHRvIGxlYXJuLCBhbmQgdGhleSBjb21lIGluIHR3byBraW5k czogRmlsbCBpbiB0aGUgYmxhbmssIGFuZCB0cnVlL2ZhbHNlIHF1ZXN0aW9ucy4gTGV0J3MgYmVn aW4gd2l0aCB0aGUgdHJ1ZS1mYWxzZSBxdWVzdGlvbiBraW5kIC0gdGhhdCdzIHByZXR0eSBvdmVy Y29tZWFibGUsIHNpbmNlIGl0IG9ubHkgaW52b2x2ZXMgb25lIHdvcmQsICcneHUnJy4KCicneHUn JyB3b3JrcyBsaWtlIGFuIGF0dGl0dWRpbmFsIGluIHRoZSBzZW5zZSB0aGF0IGl0IGNhbiBnbyBh bnl3aGVyZSwgYW5kIGl0IGFwcGxpZXMgdG8gdGhlIHByZWNlZGluZyB3b3JkIChvciBjb25zdHJ1 Y3QpLiBJdCB0aGVuIHRyYW5zZm9ybXMgdGhlIHNlbnRlbmNlIGludG8gYSBxdWVzdGlvbiwgYXNr aW5nIHdoZXRoZXIgaXQgaXMgdHJ1ZSBvciBub3QuIEluIG9yZGVyIHRvIGFmZmlybSwgeW91IHNp bXBseSByZXBlYXQgdGhlIGJyaWRpOgoKJyd4dSB2ZSd1IHpkYW5pIGRvJycgJycuaSB2ZSd1IHpk YW5pIG1pJycsIG9yIHlvdSBqdXN0IHJlcGVhdCB0aGUgdGhlIHNlbGJyaSwgd2hpY2ggaXMgdGhl IGJyaWRpIHdpdGggYWxsIHRoZSBzdW10aSBhbmQgdGVuc2VzIGVsaWRlZDogJyd6ZGFuaScnLgoK VGhlcmUgaXMgYW4gZXZlbiBlYXNpZXIgd2F5IHRvIGFmZmlybSB1c2luZyBicmlrYSdpLCBidXQg dGhvc2UgYXJlIGEgdGFsZSBmb3IgYW5vdGhlciB0aW1lLiBUbyBhbnN3ZXIg4oCcbm/igJ0gb3Ig 4oCcZmFsc2XigJ0sIHlvdSBzaW1wbHkgYW5zd2VyIHdpdGggdGhlIGJyaWRpIG5lZ2F0ZWQuIFRo YXQgdG9vLCB3aWxsIGJlIGxlZnQgZm9yIGxhdGVyLCBidXQgd2Ugd2lsbCByZXR1cm4gdG8gcXVl c3Rpb24gYW5zd2VyaW5nIGJ5IHRoZW4uCgoKClRoZSBvdGhlciBraW5kIGlzIGZpbGwgaW4gdGhl IGJsYW5rLiBIZXJlLCB5b3UgYXNrIGZvciB0aGUgcXVlc3Rpb24gd29yZCB0byBiZSByZXBsYWNl ZCBmb3IgYSBjb25zdHJ1Y3QsIHdoaWNoIG1ha2VzIHRoZSBicmlkaSBjb3JyZWN0LiBUaGVyZSBh cmUgc2V2ZXJhbCBvZiB0aGVzZSB3b3JkcywgZGVwZW5kaW5nIG9uIHdoYXQgeW91IGFyZSBhc2tp bmcgYWJvdXQ6CgpfXycnbWEnJ19fIC0gc3VtdGkgcXVlc3Rpb24KCl9fJydtbycnX18gLSBzZWxi cmkgcXVlc3Rpb24KCl9fJyd4bycnX18gLSBudW1iZXIgcXVlc3Rpb24KCl9fJydjdSdlJydfXyAt IHRlbnNlIHF1ZXN0aW9uCgoKCkFzIHdlbGwgYXMgbWFueSBvdGhlcnMuIFRvIGFzayBhYm91dCBh IHN1bXRpLCB5b3UgdGhlbiBqdXN0IHBsYWNlIHRoZSBxdWVzdGlvbiB3b3JkIHdoZXJlIHlvdSB3 YW50IHlvdXIgYW5zd2VyOiAnJ2RvIGR1bmRhIG1hIG1pJycgLSBhc2tzIGZvciB0aGUgeDIgdG8g YmUgZmlsbGVkIHdpdGggYSBjb3JyZWN0IHN1bXRpLiDigJxZb3UgZ2l2ZSB3aGF0IHRvIG1lP+KA nS4gVGhlIGNvbWJpbmF0aW9uIG9mICcnc3VtdGNpdGEnJyArICcnbWEnJyBpcyB2ZXJ5IHVzZWZ1 bCBpbmRlZWQ6CgpfXycnbXUnaScnX18gLSBzdW10Y2l0YTogbW90aXZhdGVkIGJ5IHRoZSBhYnN0 cmFjdGlvbiBvZiB7c3VtdGl9CgoKCicnLm9pIGRvIGRhcnhpIG1pIG11J2kgbWEnJyAtIOKAnE95 LCB3aHkgZG8geW91IGhpdCBtZT8h4oCdCgoKCkxldCdzIHRyeSBhbm90aGVyIG9uZS4gVGhpcyB0 aW1lLCB5b3UgdHJhbnNsYXRlOgoKJycudWkgZGFpIGRvIGNhIHplJ3UgcHUgbW8nJwoKCgpBbnN3 ZXI6IH5+Z3JleSxncmV5OuKAnFlvdSdyZSBoYXBweSwgd2hhdCBoYXZlIHlvdSBiZWVuIGRvaW5n IGFsbCB0aGlzIGxvbmcgdGltZSB1bnRpbCBub3c/4oCdIFRlY2huaWNhbGx5LCBpdCBjb3VsZCBh bHNvIG1lYW4g4oCcd2hhdCBoYXZlIHlvdSBiZWVuP+KAnSwgYnV0IGFuc3dlcmluZyB3aXRoICcn LnVhIG5haSBsaSdhIHJlbW5hJycgKFVoLCBodW1hbiwgb2J2aW91c2x5KSBpcyBqdXN0IGJlaW5n IGluY3JlZGlibHkgYW5ub3lpbmcgb24gcHVycG9zZS5+fgoKCgpTaW5jZSB0b25lIG9mIHZvaWNl IG9yIHNlbnRlbmNlIHN0cnVjdHVyZSBkb2VzIG5vdCByZXZlYWwgd2hldGhlciBhIHNlbnRlbmNl IGlzIGEgcXVlc3Rpb24gb3Igbm90LCBvbmUgYmV0dGVyIG5vdCBtaXNzIHRoZSBxdWVzdGlvbiB3 b3JkLiBUaGVyZWZvcmUsIHNpbmNlIHBlb3BsZSB0ZW5kIHRvIGZvY3VzIG1vcmUgb24gd29yZHMg aW4gdGhlIGJlZ2lubmluZyBvciBhdCB0aGUgZW5kIG9mIHNlbnRlbmNlcywgaXQncyB1c3VhbGx5 IHdvcnRoIHRoZSB3aGlsZSB0byByZS1vcmRlciB0aGUgc2VudGVuY2Ugc28gdGhhdCB0aGUgcXVl c3Rpb24gd29yZHMgYXJlIGF0IHRob3NlIHBsYWNlcy4gSWYgdGhhdCBpcyBub3QgZmVhc2FibGUs ICcncGF1JycgaXMgYW4gYXR0aXR1ZGluYWwgbWFya2luZyB0aGF0IHRoZSBzZW50ZW5jZSBpcyBh IHF1ZXN0aW9uLiBDb250cmFyeSwgJydwYXUgbmFpJycgZXhwbGljaXRseSBtYXJrcyBhbnkgcXVl c3Rpb24gYXMgYmVpbmcgcmhldG9yaWNhbC4KCgoKV2hpbGUgd2UgYXJlIG9uIHRoZSB0b3BpYyBv ZiBxdWVzdGlvbnMsIGl0J3MgYWxzbyBhcHByb3ByaWF0ZSB0byBtZW50aW9uIHRoZSB3b3JkICcn a2F1JycsIHdoaWNoIGlzIGEgbWFya2VyIGZvciDigJxpbmRpcmVjdCBxdWVzdGlvbuKAnS4gV2hh dCdzIGFuIGluZGlyZWN0IHF1ZXN0aW9uLCB0aGVuPyBXZWxsLCB0YWtlIGEgbG9vayBhdCB0aGUg c2VudGVuY2U6ICcnbWkgZGp1bm8gbG8gZHUndSBtYSBrYXUgemRhbmkgZG8nJyAtIOKAnEkga25v dyB3aGF0IGlzIHlvdXIgaG9tZS7igJ0KCl9fJydkanVubycnX18g4oCceDEga25vd3MgZmFjdChz KSB4MiBhcmUgdHJ1ZSBhYm91dCB4MyBieSBlcGlzdGVtb2xvZ3kgeDTigJ0KCk9uZSBjYW4gdGhp bmsgaXQgYXMgdGhlIGFuc3dlciB0byB0aGUgcXVlc3Rpb24gJydtYSB6ZGFuaSBkbycnLiBNb3Jl IHJhcmVseSwgb25lIGNhbiBtYXJrIGEgbm9uLXF1ZXN0aW9uIHdvcmQgd2l0aCAnJ2thdScnLCBp biB3aGljaCBjYXNlIG9uZSBzdGlsbCBjYW4gaW1hZ2luZSBpdCBhcyB0aGUgYW5zd2VyIHRvIGEg cXVlc3Rpb246ICcnbWkgamltcGUgbG8gZHUndSBkdW5kYSB0aSBrYXUgZG8nJyAtIOKAnEkga25v dyB3aGF0IHlvdSBoYXZlIGJlZW4gZ2l2ZW4sIGl0IGlzIHRoaXMu4oCdCgoKCgoKISFMb2piYW4g TGVzc29ucyAtIExlc3NvbiB0aGlydGVlbiAobW9ycGhvbG9neSBhbmQgd29yZCBjbGFzc2VzKQoK QmFjayB0byBtb3JlIGhlYXZ5IChhbmQgaW50ZXJlc3RpbmcpIHN0dWZmLgoKSWYgeW91IGhhdmVu J3QgYWxyZWFkeSwgSSBzdHJvbmdseSBzdWdnZXN0IHlvdSBmaW5kIHRoZSBMb2piYW5pYyByZWNv cmRpbmcgY2FsbGVkICJTdG9yeSBUaW1lIHdpdGggVW5jbGUgUm9iaW4iLCBvciBsaXN0ZW4gdG8g c29tZW9uZSBzcGVhayBMb2piYW4gb24gTXVtYmxlLCBhbmQgdGhlbiBwcmFjdGljZSB5b3VyIHBy b251bmNpYXRpb24uIEhhdmluZyBhbiBpbnRlcm5hbCBjb252ZXJzYXRpb24gaW4geW91ciBoZWFk IGluIExvamJhbiBpcyBvbmx5IGdvb2QgaWYgaXQgaXNuJ3Qgd2l0aCBhbGwgdGhlIHdyb25nIHNv dW5kcywgYW5kIGxlYXJuaW5nIHByb251bmNpYXRpb24gZnJvbSB3cml0dGVuIHRleHQgaXMgaGFy ZC4gVGhlcmVmb3JlLCB0aGlzIGxlc3NvbiB3aWxsIG5vdCBiZSBvbiB0aGUgTG9qYmFuIHNvdW5k cywgaG93ZXZlciBpbXBvcnRhbnQgdGhleSBtaWdodCBiZSwgYnV0IGEgc2hvcnQgaW50cm9kdWN0 aW9uIHRvIHRoZSBMb2piYW4gbW9ycGhvbG9neS4KCgoKV2hhdCBpcyBtb3JwaG9sb2d5PyBUaGUg d29yZCBpcyBkZXJpdmVkIGZyb20gR3JlZWsgbWVhbmluZyDigJx0aGUgc3R1ZHkgb2Ygc2hhcGVz 4oCdLCBhbmQgaW4gdGhpcyBjb250ZXh0LCB3ZSB0YWxrIGFib3V0IGhvdyB3ZSBtYWtlIHdvcmRz IGZyb20gbGV0dGVycyBhbmQgc291bmRzLCBhcyBjb250cmFzdGVkIHdpdGggc3ludGF4IC0gaG93 IHdlIG1ha2Ugc2VudGVuY2VzIHdpdGggd29yZHMuIExvamJhbiBvcGVyYXRlcyB3aXRoIGRpZmZl cmVudCBtb3JwaG9sb2dpY2FsIHdvcmQgY2xhc3Nlcywgd2hpY2ggYXJlIGFsbCBkZWZpbmVkIGJ5 IHRoZWlyIG1vcnBob2xvZ3kuIFRvIG1ha2UgaXQgYWxsIG5pY2UgYW5kIHN5c3RlbWF0aWMgdGhv dWdoLCB3b3JkcyB3aXRoIGNlcnRhaW4gZnVuY3Rpb25zIHRlbmQgdG8gYmUgZ3JvdXBlZCBieSBt b3JwaG9sb2dpY2FsIGNsYXNzZXMsIGJ1dCBleGNlcHRpb25zIG1heSBvY2N1ci4KCnx8ICAgQ2xh c3N8TWVhbmluZ3xEZWZpbmVkIEJ5fFR5cGljYWwgRnVuY3Rpb24KCiAgIFdvcmRzOnwgICB8ICAg fCAgIAoKICAgQnJpdmxhfCAgIGJyaWRpLXdvcmR8ICAgQW1vbmcgZmlyc3QgNSBsZXR0ZXJzIChl eGNsdWRpbmcg4oCcIOKAmCDigJwpIGlzIGEgY29uc29uYW50IGNsdXN0ZXIuIEVuZHMgaW4gdm93 ZWwuICAgfCAgIEFjdHMgYXMgYSBzZWxicmkgYnkgZGVmYXVsdC4gQWx3YXlzIGhhcyBhIHBsYWNl IHN0cnVjdHVyZS4KCiAgIC0tR2lzbXV8ICAgUm9vdC13b3JkfCA1IGxldHRlcnMgb2YgdGhlIGZv cm0gQ1ZDQ1Ygb3IgQ0NWQ1YgICB8ICAgT25lIHRvIGZpdmUgc3VtdGkgcGxhY2VzLiBDb3ZlcnMg YmFzaWMgY29uY2VwdHMuCgogICAtLUx1anZvfCAgQ29tcG91bmQgd29yZC4gRGVyaXZlZCBmcm9t IGZyb20g4oCcbHVqdmxh4oCdLCBtZWFuaW5nIOKAnGNvbXBsZXggd29yZOKAnSB8ICAgTWluLiA2 IGxldHRlcnMuIE1hZGUgYnkgc3RyaW5naW5nIHJhZnNpIHRvZ2V0aGVyIHdpdGggYmluZGluZyBs ZXR0ZXJzIGlmIG5lY2Vzc2FyeS58ICAgQ292ZXJzIG1vcmUgY29tcGxleCBjb25jZXB0cyB0aGFu IGdpc211LgoKICAgLS1GdSdpdmxhfCAgQ29weS13b3JkIHwgQXMgYnJpdmxhLCBidXQgZG8gbm90 IG1lZXQgZGVmaW5pbmcgY3JpdGVyaWEgb2YgZ2lzbXUgb3IgbHVqdm8sIGV4OiAnJ2FuZ2VsaScn ICB8ICAgQ292ZXJzIHVuaXF1ZSBjb25jZXB0cyBsaWtlIG5hbWVzIG9mIHBsYWNlcyBvciBvcmdh bmlzbXMuCgogICBDbWV2bGF8ICBOYW1lLXdvcmQgfCAgIEJlZ2lubmluZyBhbmQgZW5kaW5nIHdp dGggcGF1c2UgKGZ1bGwgc3RvcCkuIExhc3Qgc291bmQvbGV0dGVyIGlzIGEgY29uc29uYW50Lnwg ICBBbHdheXMgYWN0cyBhcyBhIG5hbWUgb3IgYXMgdGhlIGNvbnRlbnQgb2YgYSBxdW90ZS4KCiAg IENtYXZvfCAgIEdyYW1tYXItd29yZC4gRnJvbSDigJxjbWF2bGHigJ0sIG1lYW5pbmcg4oCcc21h bGwgd29yZOKAnXwgT25lIGNvbnNvbmFudCBvciB6ZXJvLCBhbHdheXMgYXQgdGhlIGJlZ2lubmlu Zy4gRW5kcyBpbiBhIHZvd2VsLiAgfCAgIEdyYW1tYXRpY2FsIGZ1bmN0aW9ucy4gVmFyaWVzCgog ICBXb3JkLWZyYWdtZW50czp8ICAgfCAgIHwKCiAgIFJhZnNpfCAgIEFmZml4fCAgQ0NWLCBDVkMs IENWJ1YsIC1DVkNDViwgLUNDVkNWLCBDVkNDeS0gb3IgQ0NWQ3ktICB8IE5vdCBhY3R1YWwgd29y ZHMsIGJ1dCBjYW4gYmUgc3RyaW5nZWQgdG9nZXRoZXIgdG8gZm9ybSBsdWp2byB8fAoKCgoKCl9f JydjbWV2bGEnJ19fIGFyZSB2ZXJ5IGVhc3kgdG8gaWRlbnRpZnkgYmVjYXVzZSB0aGV5IGJlZ2lu IGFuZCBlbmQgd2l0aCBhIHBhdXNlLCBzaWduYWxlZCBieSBhIGZ1bGwgc3RvcCBpbiB3cml0aW5n LCBhbmQgdGhlIGxhc3QgbGV0dGVyIGlzIGEgY29uc29uYW50LiBjbWV2bGEgY2FuJ3QgaGF2ZSBh bnkgb3RoZXIgZnVuY3Rpb24gYmVzaWRlcyBhY3RpbmcgYXMgYSBuYW1lLiBPbiB0aGUgb3RoZXIg aGFuZCwgbmFtZXMgd2hpY2ggYXJlIG5vdCBzZWxicmkgY2Fubm90IGFwcGVhciBpbiBMb2piYW4g d2l0aG91dCB0aGVtIGJlaW5nIGNtZXZsYSwgb3IgZW5jYXNlZCBieSBjZXJ0YWluIHF1b3RlIHdv cmRzLiBPbmUgY2FuIG1hcmsgc3RyZXNzIGluIHRoZSBuYW1lcyBieSBjYXBpdGFsaXppbmcgdGhl IGxldHRlcnMgd2hpY2ggYXJlIHN0cmVzc2VkLiBFeGFtcGxlcyBvZiBjbWV2bGEgYXJlOiAnJy5p b2hBTi4nJyAoSm9oYW4sIGggaXMgY2FwaXRhbCBhcG9zdHJvcGhlKSwgJycubWF0LicnIChNYXR0 KSBhbmQgJycubHV0Y2lNSU4uJycgKEx1aS1DaGkgTWluKS4gTmFtZXMgd2hpY2ggZG8gbm90IGVu ZCBpbiBjb25zb25hbnRzIGhhdmUgdG8gaGF2ZSBvbmUgYWRkZWQ6ICcnLml2eW4uJycgKEV2ZSks IG9yIChwcm9iYWJseSBiZXR0ZXIgaW4gdGhpcyBjYXNlKSByZW1vdmVkOiAnJy5pdi4nJwoKCgpf XycnYnJpdmxhJydfXyBhcmUgY2FsbGVkIOKAnGJyaWRpLXdvcmRz4oCdIGJlY2F1c2UgdGhleSBi eSBkZWZhdWx0IGFyZSBzZWxicmksIGFuZCB0aGVyZWZvcmUgYWxtb3N0IGFsbCBMb2piYW4gd29y ZHMgd2l0aCBhIHBsYWNlIHN0cnVjdHVyZSBhcmUgYnJpdmxhLiBUaGlzIGhhcyBhbHNvIGdpdmVu IHRoZW0gdGhlIEVuZ2xpc2ggbmlja25hbWUg4oCcY29udGVudC13b3Jkc+KAnS4gSXQncyBuZWFy bHkgaW1wb3NzaWJsZSB0byBzYXkgYW55dGhpbmcgdXNlZnVsIHdpdGhvdXQgYnJpdmxhLCBhbmQg YWxtb3N0IGFsbCB3b3JkcyBmb3IgY29uY2VwdHMgb3V0c2lkZSBsb2piYW4gZ3JhbW1hciAoYW5k IGV2ZW4gbW9zdCBvZiB0aGUgd29yZHMgZm9yIHRoaW5ncyBpbiB0aGUgbGFuZ3VhZ2UpIGFyZSBj YXB0dXJlZCBieSBicml2bGEuIEFzIHNob3duIGluIHRoZSB0YWJsZSwgYnJpdmxhIGhhcyB0aHJl ZSBzdWJjYXRlZ29yaWVzOgoKX18nJ2dpc211JydfXyBhcmUgdGhlIHJvb3Qgd29yZHMgb2YgdGhl IGxhbmd1YWdlLiBPbmx5IGFib3V0IDE0NTAgZXhpc3RzLCBhbmQgdmVyeSBmZXcgbmV3IG9uZXMg YXJlIGFkZGVkLiBUaGV5IGNvdmVyIHRoZSBtb3N0IGJhc2ljIGNvbmNlcHRzIGxpa2Ug4oCcY2ly Y2xl4oCdLCDigJxmcmllbmTigJ0sIOKAnHRyZWXigJ0gYW5kIOKAnGRyZWFt4oCdLiBFeGFtcGxl cyBpbmNsdWRlICcnemRhbmknJywgJydwZWx4dScnIGFuZCAnJ2R1bmRhJycKCl9fJydsdWp2bycn X18gYXJlIG1hZGUgYnkgY29tYmluaW5nIHJhZnNpIChzZWUgdW5kZXIgcmFmc2kpLCByZXNwcmVz ZW50aW5nIGdpc211LiBCeSBjb21iaW5pbmcgcmFmc2ksIG9uZSBuYXJyb3dzIGRvd24gdGhlIG1l YW5pbmcgb2YgdGhlIHdvcmQuIGx1anZvIGFyZSBtYWRlIGJ5IGFuIGVsYWJvcmF0ZSBhbGdvcml0 aG0sIHNvIG1ha2luZyB2YWxpZCBsdWp2byBvbiB0aGUgZmx5IGlzIG5lYXIgaW1wb3NzaWJsZSwg d2l0aCBmZXcgZXhjZXB0aW9ucyBsaWtlICcnc2VscGEnaScnLCBmcm9tICcnc2UgcHJhbWknJywg d2hpY2ggY2FuIG9ubHkgaGF2ZSBvbmUgZGVmaW5pdGlvbi4gSW5zdGVhZCwgbHVqdm8gYXJlIG1h ZGUgb25jZSwgaXRzIHBsYWNlIHN0cnVjdHVyZSBkZWZpbmVkLCBhbmQgdGhlbiB0aGF0IGRlZmlu aXRpb24gaXMgbWFkZSBvZmZpY2lhbCBieSB0aGUgZGljdGlvbmFyeS4gRXhhbXBsZXMgaW5jbHVk ZSBicml2bGEgKGJyaWRpLXdvcmQpLCAnJ2Npbmppa2NhJycgKHNleHVhbC1zb2NpYWxpemluZyA9 IGZsaXJ0aW5nKSBhbmQgJydjYWtjaW5raScnIChzaGVsbC1pbnNlY3QgPSBiZWV0bGUpLgoKX18n J2Z1J2l2bGEnJ19fIGFyZSBtYWRlIGJ5IG1ha2luZyB1cCB3b3JkcyB3aGljaCBmaXQgdGhlIGRl ZmluaXRpb24gZm9yIGJyaXZsYSwgYnV0IG5vdCBmb3IgbHVqdm8gb3IgZ2lzbXUuIFRoZXkgdGVu ZCB0byBjb3ZlciBjb25jZXB0cyB3aGljaCBpdCdzIGhhcmQgdG8gY292ZXIgYnkgbHVqdm8sIGZv ciBpbnN0YW5jZSBuYW1lcyBvZiBzcGVjaWVzLCBuYXRpb25zIG9yIHZlcnkgY3VsdHVyYWwgc3Bl Y2lmaWMgY29uY2VwdHMuIEV4YW1wbGVzIGluY2x1ZGUgJydndWdkcmdvZ3VyaW8nJyAoS29yZWEp ICcnY2lkanJwaXRzYScnIChwaXp6YSkgb3IgJydhbmdlbGknJyAoYW5nZWwpLgoKCgpfXycnY21h dm8nJ19fIGFyZSBzbWFsbCB3b3JkcyB3aXRoIG9uZSBvciB6ZXJvIGNvbnNvbmFudHMuIFRoZXkg dGVuZCB0byBub3Qgc2lnbmlmeSBhbnl0aGluZyBpbiB0aGUgZXh0ZXJpb3Igd29ybGQsIGJ1dCB0 byBoYXZlIG9ubHkgZ3JhbW1hdGljYWwgZnVuY3Rpb24uIEV4Y2VwdGlvbnMgb2NjdXIsIGFuZCBp dCdzIGRlYmF0YWJsZSBob3cgbXVjaCBhdHRpdHVkaW5hbHMgZXhpc3RzIGZvciB0aGVpciBncmFt bWF0aWNhbCBmdW5jdGlvbi4gQW5vdGhlciB3ZWlyZCBleGFtcGxlIGFyZSB0aGUgd29yZHMgb2Yg dGhlIGNsYXNzIEdPaEEsIHdoaWNoIGFjdCBhcyBicml2bGEuIEl0IGlzIHZhbGlkIHRvIHR5cGUg c2V2ZXJhbCBjbWF2byBpbiBhIHJvdyBhcyBvbmUgd29yZCwgYnV0IGluIHRoZXNlIGxlc3NvbnMs IHRoYXQgd29uJ3QgYmUgZG9uZS4gQnkgZ3JvdXBpbmcgY2VydGFpbiBjbWF2byBpbiBmdW5jdGlv bmFsIHVuaXRzLCB0aG91Z2gsIGl0IGlzIHNvbWV0aW1lcyBlYXNpZXIgdG8gcmVhZC4gVGh1cywg JycudWlwdXp1dnVrdW1pIGNpdGthJycgaXMgdmFsaWQsIGFuZCBpcyBwYXJzZWQgYW5kIHVuZGVy c3Rvb2QgYXMgJycudWkgcHUgenUgdnUga3UgbWkgY2l0a2EnJy4gTGlrZSBvdGhlciBMb2piYW4g d29yZHMsIG9uZSBzaG91bGQgKGJ1dCBuZWVkIG5vdCBhbHdheXMpIHBsYWNlIGEgZnVsbCBzdG9w IGJlZm9yZSBhbnkgd29yZHMgYmVnaW5uaW5nIHdpdGggYSB2b3dlbC4KCmNtYXZvIG9mIHRoZSBm b3JtIHhWViwgQ1YnVlYgb3IgVidWViBhcmUgZXhwZXJpbWVudGFsLCBhbmQgYXJlIHdvcmRzIHdo aWNoIGFyZSBub3QgaW4gdGhlIGZvcm1hbCBncmFtbWFyLCBidXQgd2hpY2ggaGF2ZSBiZWVuIGFk ZGVkIGJ5IExvamJhbiB1c2VycyB0byByZXNwb25kIHRvIGEgY2VydGFpbiBuZWVkLgoKCgpfXycn cmFmc2knJ19fIGFyZSBub3QgTG9qYmFuIHdvcmRzLCBhbmQgY2FuIG5ldmVyIGFwcGVhciBhbG9u ZS4gSG93ZXZlciwgc2V2ZXJhbCAobW9yZSB0aGFuIG9uZSkgcmFmc2kgY29tYmluZSB0byBmb3Jt IGx1anZvLiBUaGVzZSBtdXN0IHN0aWxsIGxpdmUgdXAgdG8gdGhlIGJyaXZsYS1kZWZpbml0aW9u LCBmb3IgaW5zdGFuY2UgJydsb2piYW4nJyBpcyBpbnZhbGlkIGJlY2F1c2UgaXQgZW5kcyBpbiBh IGNvbnNvbmFudCAod2hpY2ggbWFrZXMgaXQgYSBjbWV2bGEpLCBhbmQgJydjaSdla2VpJycgaXMg aW52YWxpZCBiZWNhdXNlIGl0IGRvZXMgbm90IGNvbnRhaW4gYSBjb25zb25hbnQgY2x1c3Rlciwg YW5kIGlzIHRodXMgcmVhZCBhcyB0d28gY21hdm8gd3JpdHRlbiBhcyBvbmUgd29yZC4gT2Z0ZW4s IGEgMy00IGxldHRlciBzdHJpbmcgaXMgYm90aCBhIGNtYXZvIGFuZCBhIHJhZnNpLCBsaWtlICcn enUnZScnLCB3aGljaCBpcyBib3RoIHRoZSBCQUkgYW5kIHRoZSByYWZzaSBmb3IgJyd6dWt0ZScn LiBOb3RlIHRoYXQgdGhlcmUgaXMgbm93aGVyZSB0aGF0IGJvdGggYSBjbWF2byBhbmQgYSByYWZz aSB3b3VsZCBiZSBncmFtbWF0aWNhbCwgc28gdGhlc2UgYXJlIG5vdCBjb25zaWRlcmVkIGhvbW9w aG9uZXMuIEFsbCBnaXNtdSBjYW4gZG91YmxlIGFzIHJhZnNpLCBpZiB0aGV5IGFyZSBwcmVmaXhl ZCB3aXRoIGFub3RoZXIgcmFmc2kuIFRoZSBmaXJzdCBmb3VyIGxldHRlciBvZiBhIGdpc211IHN1 ZmZpeGVkIHdpdGggYW4gInkiIGNhbiBhbHNvIGFjdCBhcyBhIHJhZnNpLCBpZiB0aGV5IGFyZSBz dWZmaXhlZCB3aXRoIGFub3RoZXIgcmFmc2kuIFRoZSB2b3dlbCAieSIgY2FuIG9ubHkgYXBwZWFy IGluIGx1anZvIG9yIGNtZXZsYS4gVmFsaWQgcmFmc2kgbGV0dGVyIGNvbWJpbmF0aW9ucyBhcmU6 IENWViwgQ1YnViwgQ0NWLCBDVkNDeS0gQ0NWQ3ktLCAtQ1ZDQ1YgYW5kIC1DQ1ZDVi4KCgoKVXNp bmcgd2hhdCB5b3Uga25vdyBub3csIHlvdSBzaG91bGQgYmUgYWJsZSB0byBhbnN3ZXIgdGhlIHRl c3QgaSB0aHVzIHByZXNlbnQ6CgpDYXRlZ29yaXplIGVhY2ggb2YgdGhlIGZvbGxvd2luZyB3b3Jk cyBhcyBjbWV2bGEgKEMpLCBnaXNtdSAoZyksIGx1anZvIChsKSwgJydmdSdpdmxhJycgKGYpIG9y IGNtYXZvIChjKToKCkEgKSBqYWkgICAgICAgIEcgKSBtdW1ibAoKQiApIC5pcmNpICAgICAgICBI ICkgLmknaQoKQyApIGJvc3R1ICAgICAgICBJICkgY3UKCkQgKSB4ZWxtYW4gICAgICAgIEogKSBw bGFqdmEKCkUgKSBwbydlICAgICAgICBLICkgZGFuc2VrZQoKRiApIGRqaXNrdSAgICAgICAgTCAp IC5lcnRzYQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OmEtYywgYi1mLCBjLWcsIGQtQywgZS1jLCBm LWwsIGctQywgaC1jLCBpLWMsIGotbCwgay1mLCBsLWYuIEkgbGVmdCBvdXQgdGhlIGZ1bGwgc3Rv cHMgYmVmb3JlIGFuZCBhZnRlciBuYW1lcyBzbyBpdCB3b3VsZG4ndCBiZSB0b28gZWFzeS4KCk5v dGU6IHNvbWUgb2YgdGhlc2Ugd29yZHMsIGxpa2UgJydib3N0dScnIGRvIG5vdCBleGlzdCBpbiB0 aGUgZGljdGlvbmFyeSwgYnV0IHRoaXMgaXMgaXJyZWxldmFudC4gVGhlIG1vcnBob2xvZ3kgc3Rp bGwgbWFrZXMgaXQgYSBnaXNtdSwgc28gaXQncyBqdXN0IGFuIHVuZGVmaW5lZCBnaXNtdS4gU2lt aWxhcmx5IHdpdGggJycuZXJ0c2EnJ35+CgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBm b3VydGVlbiAodGhlIExvamJhbiBzdW10aSAxOiBMRSBhbmQgTEEpCgpJZiB5b3UgaGF2ZSByZWFk IGFuZCB1bmRlcnN0b29kIHRoZSBjb250ZW50IG9mIGFsbCB0aGUgbGVzc29ucyB1bnRpbCBub3cs IHlvdSBoYXZlIGFtYXNzZWQgYSBsYXJnZSBlbm91Z2gga25vd2xlZGdlIG9mIExvamJhbiBzbyB0 aGF0IGl0IGRvZXNuJ3QgbWF0dGVyIGluIHdoaWNoIG9yZGVyIHlvdSBsZWFybiB0aGUgcmVzdC4g QXMgYSByZXN1bHQsIHRoZSBvcmRlciBvZiB0aGUgbmV4dCBsZXNzb25zIHdpbGwgYmUgYSBtaXh0 dXJlIG9mIHNvcnRlZCBieSBpbmNyZWFzaW5nIGRpZmZpY3VsdHkgYW5kIHNvcnRlZCBieSBpbXBv cnRhbmNlIGluIG9yZGluYXJ5IExvamJhbiBjb252ZXJzYXRpb24uCgoKCk9uZSBvZiB0aGUgYmln Z2VzdCBjb25zdHJhaW5zIG9uIHlvdXIgc3BlYWsgbm93IGlzIHlvdXIgbGltaXRlZCBrbm93bGVk Z2Ugb24gaG93IHRvIG1ha2Ugc3VtdGkuIFNvIGZhciwgeW91IG9ubHkga25vdyAnJ3RpJycgYW5k ICcnbG8gU0VMQlJJJycsIHdoaWNoIGRvZXNuJ3QgdGFrZSB5b3UgZmFyIGNvbnNpZGVyaW5nIGhv dyBpbXBvcnRhbnQgc3VtdGkgYXJlIGluIExvamJhbi4gVGhpcyBsZXNzb24gYXMgd2VsbCBhcyB0 aGUgZm9sbG93aW5nIHR3byB3aWxsIGJlIGFib3V0IHRoZSBMb2piYW4gc3VtdGkuIEZvciBub3cs IHdlIGZvY3VzIG9uIHRoZSBkZXNjcmlwdGl2ZS1saWtlIHN1bXRpLCB0aGUgb25lcyBtYWRlIHdp dGggYXJ0aWNsZXMgbGlrZSAnJ2xvJycKCkFydGljbGVzIGFyZSBpbiBsb2piYW4gY2FsbGVkICcn Z2FkcmknJywgYW5kIGFsbCB0aGUgb25lcyBkaXNjdXNzZWQgaW4gdGhpcyBsZXNzb24gYXJlIHRl cm1pbmF0ZWQgYnkgJydrdScnLCBleGNlcHQgdGhlIGNvbWJpbmF0aW9ucyAnJ2xhIENNRVZMQScn LCAnJ2xhaSBDTUVWTEEnJyBhbmQgJydsYSdpIENNRVZMQScnLiBXZSB3aWxsIGJlZ2luIGJ5IGRl c2NyaWJpbmcgdGhyZWUgc2ltcGxlIGtpbmRzIG9mIGRlc2NyaXB0aXZlIHN1bXRpLCBhbmQgdGhl biBpbW1lZGlhdGVseSBmaW5kIHRoYXQgdGhleSBhcmUgbm90IHNvIHNpbXBsZSBhZnRlciBhbGw6 CgpfXycnbG8nJ19fIC0gZ2Fkcmk6IEdlbmVyaWMgdmVyaWRpY2FsIOKAnGNvbnZlcnQgc2VsYnJp IHRvIHN1bXRp4oCdLiBSZXN1bHQgaXMgdmFndWUgd2l0aCByZWdhcmQgdG8gaW5kaXZpZHVhbGl0 eS9tYXNzLW5lc3MuCgpfXycnbGUnJ19fIC0gZ2Fkcmk6IEdlbmVyaWMgZGVzY3JpcHRpdmUg4oCc Y29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFJlc3VsdCBpcyB2YWd1ZSB3aXRoIHJlZ2FyZCB0 byBpbmRpdmlkdWFsaXR5L21hc3MtbmVzcy4KCl9fJydsYScnX18gLSBnYWRyaTogTmFtaW5nIGFy dGljbGU6IENvbnZlbnRpb25hbCwg4oCcY29udmVydCBzZWxicmkgb3IgY21ldmxhIHRvIHN1bXRp 4oCdLiBUcmVhdCByZXN1bHQgYXMgaW5kaXZpZHVhbChzKS4KCgoKWW91IGFyZSBhbHJlYWR5IGZh bWlsaWFyIHdpdGggJydsbycnIGFuZCB3aGF0IGl0IGRvZXMuIEJ1dCB3aGF0IGRvZXMgaXQgbWVh biwg4oCcdmVyaWRpY2Fs4oCdIGFuZCDigJx2YWd1ZSB3aXRoIHJlZ2FyZCB0byBpbmRpdmlkdWFs aXR5L21hc3MtbmVzc+KAnT8gVGhlIGxhdHRlciBhYm91dCBpbmRpdmlkdWFscyBhbmQgbWFzc2Vz LCBJJ2xsIGNvbWUgYmFjayB0byBsYXRlci4gRm9yIG5vdywg4oCcdmVyaWRpY2Fs4oCdIGluIHRo aXMgY29udGV4dCBtZWFucyB0aGF0IGluIG9yZGVyIGZvciBhIHRoaW5nIHRvIHF1YWxpZnkgYmVn aW4gbGFiZWxsZWQgYXMgJydsbyBrbGFtYScnLCBpdCBoYXMgdG8gYWN0dWFsbHkgJydrbGFtYScn LiBUaHVzLCB2ZXJpZGljYWwgZ2FkcmkgbWFrZXMgYSBjbGFpbSB3aGljaCBtYXkgYmUgdHJ1ZSBv ciBmYWxzZSAtIHRoYXQgdGhlIG9iamVjdChzKSBpbiBxdWVzdGlvbiBhcmUgYWN0dWFsbHkgdGhl IHgxIG9mIHRoZSBzZWxicmkgYWZ0ZXIgJydsbycnLiAKCgoKVGhpcyBtYXkgYmUgY29udHJhc3Rl ZCB3aXRoICcnbGUnJywgd2hpY2ggaXMgZGVzY3JpcHRpdmUsIGFuZCB0aHVzIG5vdCB2ZXJpZGlj YWwuIFNheWluZyAnJ2xlIGdlcmt1Jycgc2F5cyB0aGF0IHlvdSBoYXZlIG9uZSBvciBtb3JlIHNw ZWNpZmljIG9iamVjdHMgaW4gbWluZCwgYW5kIHlvdSB1c2UgdGhlIHNlbGJyaSAnJ2dlcmt1Jycg dG8gZGVzY3JpYmUgaXQsIHNvIHRoYXQgdGhlIGxpc3RlbmVyIG1heSBpZGVudGlmeSB0aG9zZSBz cGVjaWZpYyBvYmplY3RzLiBUaGlzIG1lYW5zIHRoYXQgJydsZScnIGhhdmVzIHR3byBpbXBvcnRh bnQgZGlmZmVyZW5jZXMgZnJvbSAnJ2xvJyc6IEZpcnN0bHksIGl0IGNhbm5vdCByZWZlciB0byBv YmplY3RzIGluIGdlbmVyYWwsIGJ1dCBhbHdheXMgcmVmZXJzIHRvIHNwZWNpZmljIG9iamVjdHMu IFNlY29uZGx5LCB3aGlsZSAnJ2xvIGdlcmt1JycgZGVmaW5pdGVseSBpcyBvbmUgb3IgbW9yZSBk b2dzLCAnJ2xlIGdlcmt1JycsIGJlY2F1c2UgaXQncyBub3QgdmVyaWRpY2FsLCBjYW4gYmUgYW55 dGhpbmcsIGFzIGxvbmcgYXMgdGhlIHNwZWFrZXIgdGhpbmtzIHRoZSBkZXNjcmlwdGlvbiB3aWxs IGhlbHAgaWRlbnRpZnlpbmcgdGhlIGNvcnJlY3Qgb2JqZWN0cy4gUGVyaGFwcyB0aGUgc3BlYWtl ciBpcyByZWZlcnJpbmcgdG8gYSBoeWVuYSwgYnV0IGFyZSBub3QgZmFtaWxpYXIgd2l0aCB0aGVt IGFuZCB0aGluayDigJxkb2figJ0gaXMgYSBnb29kIGVub3VnaCBhcHByb3hpbWF0aW9uIHRvIGJl IHVuZGVyc3Rvb2QuIFRoaXMgbm9uLXZlcmlkaWNhbGl0eSBpcyBwZXJoYXBzIG92ZXItZW1waGFz aXNlZCBpbiBtb3N0IG1hbnkgdGV4dHM7IFRoZSBiZXN0IHdheSB0byBkZXNjcmliZSBhIGRvZyBp cyB1c3VhbGx5IHRvIGRlc2NyaWJlIGl0IGFzIGJlaW5nIGEgZG9nLCBhbmQgdW5sZXNzIHRoZXJl IGlzIGEgZ29vZCByZWFzb24gbm90IHRvLCAnJ2xlIGdlcmt1JycgaXMgdXN1YWxseSBwcmVzdW1l ZCB0byByZWZlciB0byBzb21ldGhpbmcgd2hpY2ggaXMgYWxzbyAnJ2xvIGdlcmt1JycuCgpJbiB0 cmFuc2xhdGlvbiwgJydsbyBnZXJrdScnIGlzIHVzdWFsbHkg4oCcYSBkb2figJ0gb3Ig4oCcc29t ZSBkb2dz4oCdLCB3aGlsZSAnJ2xlIGdlcmt1JycgaXMg4oCcdGhlIGRvZ+KAnSBvciDigJx0aGUg ZG9nc+KAnS4gRXZlbiBiZXR0ZXIgZm9yICcnbGUgZ2Vya3UnJyB3b3VsZCBiZSDigJx0aGUg4oCc ZG9nKHMp4oCdIOKAnQoKCgpMYXN0IG9mIHRoZSB0aHJlZSBiYXNpYyAnJ2dhZHJpJycsIHRoZXJl IGlzICcnbGEnJywgdGhlIG5hbWluZyAnJ2dhZHJpJycsIHdoaWNoIEkgaGF2ZSB1bmNvbnZlbnRp b25hbGx5IGNhbGxlZCDigJxjb252ZW50aW9uYWzigJ0uIFdoYXQgSSBtZWFuIGJ5IHRoaXMgaXMg dGhhdCBpdCdzIG5laXRoZXIgZGVzY3JpcHRpdmUgbm9yIHZlcmlkaWNhbCwgc2luY2UgaXQgcmVm ZXJzIHRvIGEgcHJvcGVyIG5hbWUuIElmIEkgaW4gRW5nbGlzaCByZWZlciB0byBhIHBlcnNvbiBj YWxsZWQgSW5ub2NlbnQgYnkgaGVyIG5hbWUsIEkgbmVpdGhlciBkZXNjcmliZSBoZXIgYXMgYmVp bmcgaW5ub2NlbnQsIG5vciBkbyBJIHN0YXRlIHRoYXQgc2hlIGlzLiBJIG9ubHkgc3RhdGUgdGhh dCBieSBjb252ZW50aW9uLCB0aGF0IG9iamVjdCBpcyByZWZlcnJlZCB0byBieSB0aGF0IHNlbGJy aSBvciBjbWV2bGEuIE5vdGUgdGhhdCAnJ2xhJycgYW5kIHRoZSBnYWRyaSBkZXJpdmVkIGZyb20g aXQgY2FuIGNvbnZlcnQgY21ldmxhIHRvIHN1bXRpIHVubGlrZSBhbnkgb3RoZXIgJydnYWRyaScn LiBBbHNvOiBCZSBjYXV0aW91czogT3RoZXIgdGV4dHMgZG8gbm90IG1lbnRpb24gdGhhdCBuYW1l cyBjYW4gYmUgZm9ybWVkIGZyb20gb3JkaW5hcnkgc2VsYnJpIHVzaW5nIHRoZSBnYWRyaSAnJ2xh JycuIEJ1dCB0aG9zZSBoZXJldGljcyBtdXN0IGJ1cm47IHNlbGJyaSBuYW1lcyBhcmUgYXMgZ29v ZCBhcyB0aGV5IGdldCwgYW5kIG1hbnkgYSBwcm91ZCBMb2piYW5pc3QgaGF2ZSB0aGVtLgoKJyds YScnLCBhcyB3ZWxsIGFzICcnbGFpJycgYW5kICcnbGEnaScnIGFyZSBhIGJpdCBlY2NlbnRyaWMs IHNpbmNlIHRoZXkgX19hbHdheXNfXyBtYXJrcyB0aGUgYmVnaW5uaW5nIG9mIGEgbmFtZS4gVW5s aWtlIHRoZSBvdGhlciBnYWRyaSwgYW55dGhpbmcgdGhhdCBjYW4gYmUgZ3JhbW1hdGljYWxseSBw bGFjZWQgYWZ0ZXIgJydsYScnIGFuZCBpdHMgc2lzdGVycyBhcmUgY29uc2lkZXJlZCBwYXJ0IG9m IHRoZSBuYW1lLiBGb3IgZXhhbXBsZSwgJydsZSBtaSBnZXJrdScnIGlzICJteSBkb2ciLCBidXQg JydsYSBtaSBnZXJrdScnIGlzIHNvbWVvbmUgY2FsbGVkICJNeSBEb2ciLgoKCgpUaGVzZSB0aHJl ZSBiYXNpYyAnJ2dhZHJpJycgY2FuIGJlIGV4cGFuZGVkIHdpdGggdGhyZWUgbW9yZSwgd2hpY2gg Y29ycmVzcG9uZHMgdG8gdGhlIHByZXZpb3VzOgoKCgpfXycnbG9pJydfXyAtIGdhZHJpOiB2ZXJp ZGljYWwg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBtYXNz KGVzKS4KCl9fJydsZWknJ19fIC0gZ2Fkcmk6IERlc2NyaXB0aXZlIOKAnGNvbnZlcnQgc2VsYnJp IHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgYSBtYXNzKGVzKS4KCl9fJydsYWknJ19fIC0g Z2Fkcmk6IE5hbWluZyBhcnRpY2xlOiBDb252ZW50aW9uYWwsIOKAnGNvbnZlcnQgc2VsYnJpIG9y IGNtZXZsYSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIG1hc3MoZXMpLgoKCgpUaGVzZSBh cmUgdGhlIHNhbWUgaW4gYWxsIGFzcGVjdHMgZXhjZXB0IGZvciBvbmU6IFRoZXkgdHJlYXQgdGhl IHN1bXRpIGV4cGxpY2l0bHkgYXMgbWFzc2VzLiBJZiB0aGVyZSBpcyBvbmx5IG9uZSBvYmplY3Qg aW4gcXVlc3Rpb24sIGFuIGluZGl2aWR1YWwgYW5kIGEgbWFzcyBjb25zaXN0aW5nIG9mIG9uZSBv YmplY3QgYXJlIGVxdWl2YWxlbnQuIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlc2UgdHdvIGNv bmNlcHRzIGxpZSBpbiB3aGljaCBzZWxicmkgY2FuIGJlIGFzY3JpYmVkIHRvIGEgZ3JvdXAgb2Yg aW5kaXZpZHVhbHMgdmVyc3VzIGEgbWFzcy4gQSBncm91cCBvZiBpbmRpdmlkdWFscyBjYW4gYmUg c2FpZCB0byBmaXQgYSBjZXJ0YWluIHNlbGJyaSBpZiwgYW5kIG9ubHkgaWYsIGFsbCBtZW1iZXJz IG9mIHRoZSBncm91cCBlYWNoIGZpdCB0aGUgc2VsYnJpLiBJdCBpcyBjb3JyZWN0IHRvIGRlc2Ny aWJlIGEgcGFjayBvZiAnJ2xvIGdlcmt1JycsIGNvbnNpZGVyZWQgaW5kaXZpZHVhbGx5LCBhcyBi ZWluZyBibGFjaywgaWYgZm9yIGVhY2ggb2YgdGhlIGRvZ3MgaXQncyB0cnVlIHRoYXQgdGhleSBh cmUgYmxhY2suIEEgbWFzcywgb24gdGhlIG90aGVyIGhhbmQsIGZpdHMgb25seSB0aG9zZSBzZWxi cmkgd2hpY2ggaXRzIGNvbXBvbmVudHMgZml0IGFzIGEgd2hvbGUsIGFzIGEgdGVhbSwgc28gdG8g c3BlYWsuIEhvd2V2ZXIsIGFsbCB0aGUgbWVtYmVycyBvZiBhIG1hc3MgJydsb2kgZ2Vya3UnJyBt dXN0IGJlIGRvZ3MgaW4gb3JkZXIgZm9yICcnbG9pJycgdG8gYmUgYXBwbGljYWJsZS4gVGhlIG5v dGlvbiBvZiAibWFzc2VzIiBhcmUgc29waGlzdGljYXRlZCwgYW5kIHJlcXVpcmVzIHNvbWUgZXhh bXBsZXMgdG8gZGVtb25zdHJhdGUgd2hpY2ggcHJvcGVydGllcyBpdCBjYW4gaGF2ZToKCl9fJydz cnVyaScnX186IOKAnHgxIGZsYW5rcy9lbmNpcmNsZXMvZW5jbG9zZXMgeDIgaW4gbGluZS9wbGFu ZS9kaXJlY3Rpb25zIHgz4oCdCgonJ2xlaSBwcmVudSBjdSBzcnVyaSBsbyB6ZGFuaScnIC0g4oCc VGhlIHBlb3BsZSBzdXJyb3VuZGVkIHRoZSBob21lLuKAnSBpcyBwbGF1c2libGUsIGV2ZW4gdGhv dWdoLCB5byBtb21hIGpva2VzIG5vdCBjb25zaWRlcmVkLCBpdCdzIGNvbXBsZXRlbHkgaW1wbGF1 c2libGUgdGhhdCBpdCBjb3VsZCBiZSB0cnVlIGZvciBhbnkgb25lIG9mIHRoZSBtZW1iZXJzIGFs b25lLiBBbiBFbmdsaXNoIGFuYWxvZ3kgY291bGQgYmU6IOKAnEh1bWFucyBkZWZlYXRlZCBzbWFs bHBveCBpbiB0aGUgMjB0aCBjZW50dXJ54oCdLiBTdXJlbHkgbm8gaHVtYW4gZGlkIHNvLCBidXQg dGhlIG1hc3Mgb2YgaHVtYW5zIGRpZCwgYW5kIHRoYXQgbWFrZXMgdGhlIHNlbnRlbmNlIHRydWUg aW4gRW5nbGlzaCwgYXMgd2VsbCBhcyBpbiBMb2piYW4gaWYg4oCcaHVtYW5z4oCdIGFyZSBhIG1h c3MuIEp1c3QgbGlrZSB0aGUgTG9qYmFuIG1hc3MsIHRoZSBFbmdsaXNoIG1hc3Mg4oCcaHVtYW5z 4oCdIGNhbiBvbmx5IHJlZmVyIHRvIGluZGl2aWR1YWxzIGVhY2ggb2Ygd2hpY2ggYXJlIGh1bWFu LiBBbm90aGVyIGV4YW1wbGU6CgpfXycnbWl2eXNsZScnX186ICJ4MSBpcyBhIGJpb2xvZ2ljYWwg Y2VsbCBvZiBvcmdhbmlzbSB4MiIKCl9fJydyZW1uYScnX186ICJ4MSBpcyBhIGh1bWFuIgoKJyds b2kgbWl2eXNsZSBjdSByZW1uYScnIC0gIlNvbWUgbWFzc2VzIG9mIGNlbGxzIGFyZSBodW1hbiIu IEFnYWluLCBub25lIG9mIHRoZSBjZWxscyBhcmUgaHVtYW4uIEluZGVlZCwgdGhlIGNlbGxzIGhh dmUgdmVyeSBmZXcgaHVtYW4gdHJhaXRzLCBidXQgdGhlIGNlbGxzIGNvbnNpZGVyZWQgYXMgYSB3 aG9sZSBtYWtlcyB1cCBhIGh1bWFuLgoKCgpBIG1hc3MgbWFkZSB3aXRoICcnbGVpJycsIHN1Y2gg YXMgJydsZWkgZ2Vya3UnJywgcmVmZXJzIHRvIGEgbWFzcyBmb3JtZWQgYnkgYSBncm91cCBvZiBz cGVjaWZpYyBpbmRpdmlkdWFscywgZWFjaCBvZiB3aGljaCB0aGUgc3BlYWtlciByZWZlcnMgdG8g YXMgJydsZSBnZXJrdScnLgoKTWFzcyBuYW1lcyBhcyBkZXNjcmliZXMgYnkgJydsYWknJyBhcmUg b25seSBhcHByb3ByaWF0ZSBpZiB0aGUgZ3JvdXAgYXMgYSB3aG9sZSBpcyBuYW1lZCBzdWNoLCBh bmQgbm90IGp1c3QgaWYgYW55IG9mIHRoZSBtZW1iZXJzIGFyZS4gSXQgY2FuLCBob3dldmVyIGJl IHVzZWQgaWYgdGhlIGJyaWRpIGlzIHRydWUgZm9yIG9ubHkgYSBmcmFjdGlvbiBvZiB0aGF0IGdy b3VwLgoKCgpJdCBpcyBpbXBvcnRhbnQgdG8gcmVtZW1iZXIgdGhhdCAnJ2xvJycgYW5kICcnbGUn JyBjYW4gYmUgdXNlZCB0byBkZXNjcmliZSBib3RoIGluZGl2aWR1YWxzIGFuZCBtYXNzZXMuIExl dCdzIHNheSBhIHBhY2sgb2YgZG9ncywgY29uc2lkZXJlZCBhcyBhIG1hc3MgbmVlZHMgZGVzY3Jp cHRpb24uIEkgbWlnaHQgZGVzY3JpYmUgaXQgYXMgZWl0aGVyICcnbG9pIGdlcmt1Jycgb3IgJyds byBnZXJrdScnLiBJZiBJIHVzZSAnJ2xvJycsIHRoaXMgYWxsb3dzIG1lIHRvIGNvcnJlY3RseSBz dGF0ZSBzb21ldGhpbmcgd2hpY2ggbG9va3MgbGlrZSBhIGNvbnRyYWRpY3Rpb24sIGJ1dCByZWFs bHkgaXNuJ3Q6ICcnbG8gZ2Vya3UgbmEgZ2Vya3UnJyAtICJTb21lIGRvZ3MgYXJlIG5vdCBkb2dz Ii4gU2luY2UgaXQncyBiZWluZyBjb25zaWRlcmVkIGEgbWFzcyBvZiBkb2dzLCB0aGUgbWFueSBk b2dzIGNvbnNpZGVyZXMgYXMgYSB3aG9sZSBpcyBub3QgYSBkb2csIGJ1dCByYXRoZXIgYSBwYWNr IG9mIGRvZ3MuCgpZb3UgbWlnaHQgaGF2ZSBub3RpY2VkIHRoYXQgdGhlcmUgaXMgbm8gd29yZCB3 aGljaCB1bmFtYmlndW91c2x5IGNvbnZlcnRzIHNlbGJyaSB0byBpbmRpdmlkdWFsKHMpLiBJbiBv cmRlciB0byBiZSBleHBsaWNpdCBhYm91dCBpbmRpdmlkdWFsbmVzcywgb25lIG5lZWRzICcnbG8n JywgJydsZScnIG9yICcnbGEnJyB3aXRoIGFuIG91dGVyIHF1YW50aWZpZXIuIFRoZSBzdWJqZWN0 IG9mIHF1YW50aWZpZXJzIHdpbGwgYmUgY29uc2lkZXJlZCBsYXRlciwgaW4gbGVzc29uIHR3ZW50 eS10d28uIFdoYXQgaXMgdGhlIHJlYXNvbiB0aGF0ICcnbG8nJyBhbmQgJydsZScnIHZhZ3VlLCBh bmQgbm90IGV4cGxpY2l0bHkgaW5kaXZpZHVhbD8gSXQgaXMgYmVjYXVzZSB0aGVpciB2YWd1ZW5l c3MgZW5hYmxlcyB0aGVtIHRvIGJlIHVzZWQgaW4gYW55IGNvbnRleHQsIHdpdGhvdXQgdGhlIHNw ZWFrZXIgaGF2aW5nIHRvIHRoaW5rIGFib3V0IHdoZXRoZXIgaXMgYmVoYXZlcyBhcyBhIG1hc3Mg b3IgYSBncm91cCBvZiBpbmRpdmlkdWFscy4KCgoKVGhpcmQgaW4gdGhpcyBzZXJpZXMsIHRoZXJl IGFyZSB0aHJlZSBzZXQtZm9ybWluZyAnJ2dhZHJpJyc6CgoKCl9fJydsbydpJydfXyAtIGdhZHJp OiB2ZXJpZGljYWwg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBh cyBhIHNldC4KCl9fJydsZSdpJydfXyAtIGdhZHJpOiBEZXNjcmlwdGl2ZSDigJxjb252ZXJ0IHNl bGJyaSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGEgc2V0LgoKX18nJ2xhJ2knJ19fIC0g Z2Fkcmk6IE5hbWluZyBhcnRpY2xlOiBDb252ZW50aW9uYWwsIOKAnGNvbnZlcnQgc2VsYnJpIG9y IGNtZXZsYSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGEgc2V0LgoKCgpVbmxpa2UgZ3Jv dXBzIG9mIGluZGl2aWR1YWxzIG9yLCBzb21ldGltZXMsIG1hc3Nlcywgc2V0cyBkb2VzIG5vdCB0 YWtlIGFueSBvZiB0aGUgcHJvcGVydGllcyBmcm9tIHRoZSBvYmplY3RzIGZyb20gd2hpY2ggdGhl IHNldCBpcyBmb3JtZWQuIEEgc2V0IGlzIGEgcHVyZWx5IG1hdGhlbWF0aWNhbCBvciBsb2dpY2Fs IGNvbnN0cnVjdCwgYW5kIGhhcyBwcm9wZXJ0aWVzIGxpa2UgY2FyZGluYWxpdHksIG1lbWJlcnNo aXAgYW5kIHNldCBpbmNsdXNpb24uIEFnYWluLCBub3RlIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4g YSBzZXQgb2YgdGhpbmdzLCBhbmQgdGhlIHRoaW5ncyBvZiB3aGljaCB0aGUgc2V0IGlzIGZvcm1l ZDoKCl9fJyd0aXJ4dScnX18g4oCceDEgaXMgYSB0aWdlci9sZW9wYXJkL2phZ3VhciBvZiBzcGVj aWVzL2JyZWVkIHgyIHdpdGggY29hdCBtYXJraW5ncyB4M+KAnQoKJydsbydpIHRpcnh1IGN1IGNt YWx1Jycgc2F5cyBub3RoaW5nIGFib3V0IHdoZXRoZXIgYmlnIGNhdHMgYXJlIHNtYWxsICh3aGlj aCBpcywgYnkgdGhlIHdheSwgb2J2aW91c2x5IGZhbHNlKSwgYnV0IGluc3RlYWQgc2F5IHRoYXQg dGhlIHNldCBvZiBiaWcgY2F0cyBpcyBzbWFsbDsgdGhhdCBpcyAtIHRoZXJlIGFyZSBmZXcgb2Yg dGhlbS4KCgoKTGFzdGx5LCB0aGVyZSBhcmUgdGhlIChvbmx5IHR3bykgZ2VuZXJhbGl6aW5nICcn Z2FkcmknJzoKCl9fJydsbydlJydfXyAtIGdhZHJpOiB2ZXJpZGljYWwg4oCcY29udmVydCBzZWxi cmkgdG8gc3VtdGnigJ0uIFN1bXRpIHJlZmVycyB0byB0aGUgYXJjaGV0eXBlIG9mICcnbG8ge3Nl bGJyaX0nJy4KCl9fJydsZSdlJydfXyAtIGdhZHJpOiBEZXNjcmlwdGl2ZSDigJxjb252ZXJ0IHNl bGJyaSB0byBzdW10aeKAnS4gU3VtdGkgcmVmZXJzIHRvIHRoZSBkZXNjcmliZWQvcGVyY2VpdmVk IGFyY2hldHlwZSBvZiAnJ2xlIHtzZWxicml9JycuCgpPZiB3aGljaCB0aGVyZSBpcyBubyAnJ2xh JyctZXF1aXZhbGVudC4KCgoKU28sIHdoYXQgaXMgYWN0dWFsbHkgbWVhbnQgYnkgdGhlIGFyY2hl dHlwZT8gRm9yICcnbG8nZSB0aXJ4dScnLCBpdCBpcyBhbiBpZGVhbCwgaW1hZ2luZWQgYmlnIGNh dCwgd2hpY2ggaGFzIGFsbCB0aGUgcHJvcGVydGllcyB3aGljaCBiZXN0IGV4ZW1wbGlmaWVzIGJp ZyBjYXRzLiBJdCB3b3VsZCBiZSB3cm9uZyB0byBzYXkgdGhhdCB0aGlzIGluY2x1ZGVzIGhhdmlu ZyBhIHN0cmlwZWQgZnVyLCBzaW5jZSBhIGJpZyBzeXN0ZW1hdGljIHN1Ymdyb3VwIG9mIHRoZSBt ZW1iZXJzIG9mIHRoZSBzZXQgb2YgYmlnIGNhdHMgZG8gbm90IGhhdmUgc3RyaXBlZCBmdXIsIHRo ZSBsZW9wYXJkcyBhbmQgdGhlIGphZ3VhcnMuIExpa2V3aXNlLCB0aGUgdHlwaWNhbCBodW1hbiBk b2VzIG5vdCBsaXZlIGluIEFzaWEgZXZlbiB0aG91Z2ggYSBsb3Qgb2YgaHVtYW5zIGRvLiBIb3dl dmVyLCBpZiBzdWZmaWNpZW50bHkgbWFueSBodW1hbnMgaGF2ZSBhIHRyYWl0LCBmb3IgaW5zdGFu Y2UgYmVpbmcgYWJsZSB0byBzcGVhaywgd2UgY2FuIHNheToKCl9fJydrYWtuZScnX186IOKAnHgx IGlzIGNhcGFibGUgb2YgZG9pbmcvYmVpbmcgeDIgdW5kZXIgY2lyY3Vtc3RhbmNlIHgz4oCdCgon J2xvJ2UgcmVtbmEgY3Uga2FrbmUgbG8gbnUgdGF2bGEnJyAtIOKAnFRoZSB0eXBpY2FsIGh1bWFu IGJlaW5nIGNhbiBzcGVha+KAnS4KCgoKJydsZSdlJycgdGhlbiwgaXMgdGhlIGlkZWFsIG9iamVj dCBhcyBwZXJjZWl2ZWQgb3IgZGVzY3JpYmVkIGJ5IHRoZSBzcGVha2VyLiBUaGlzIG5lZWQgbm90 IGJlIGZhY3R1YWxseSBjb3JyZWN0LCBhbmQgaXMgb2Z0ZW4gdHJhbnNsYXRlZCBhcyB0aGUg4oCc c3RlcmVvdHlwZeKAnSwgZXZlbiB0aG91Z2ggdGhlIEVuZ2xpc2ggcGhyYXNlIGhhdmUgc29tZSB1 bnBsZWFzYW50IG5lZ2F0aXZlIGNvbm5vdGF0aW9ucywgd2hpY2ggdGhlIExvamJhbiBkb2VzIG5v dC4gSW4gZmFjdCwgZXZlcnlvbmUgaGFzIGEgc3RlcmVvdHlwaWNhbCBhcmNoZXR5cGljaGFsIGlt YWdlIG9mIGFueSBjYXRlZ29yeS4gSW4gb3RoZXIgd29yZHMsICcnbG8nZSByZW1uYScnIGlzIHRo ZSBhcmNoZXR5cGUgd2hpY2ggYmVzdCBleGVtcGxpZmllcyBhbGwgJydsbyByZW1uYScnLCB3aGls ZSB0aGUgYXJjaGV0eXBlICcnbGUnZSByZW1uYScnIGJlc3QgZXhlbXBsaWZpZXMgYWxsICcnbGUg cmVtbmEnJy4KCgoKVGhlIGVsZXZlbiBnYWRyaSBjYW4gYmUgc2VlbiBpbiB0aGUgZGlhZ3JhbSBi ZWxvdy4KCnx8IHxHZW5lcmljfE1hc3Nlc3xTZXRzfEdlbmVyYWxpemluZwoKdmVyaWRpY2FsfGxv fGxvaXxsbydpfGxvJ2UKCkRlc2NyaXB0aXZlfGxlfGxlaXxsZSdpfGxlJ2UKCk5hbWV8bGF8bGFp fGxhJ2l8ZG9lcyBub3QgZXhpc3R8fAoKCgpOb3RlOiBFYXJsaWVyLCB0aGVyZSB3YXMgYSB3b3Jk ICcneG8nZScnIGZvciB0aGUgZ2VuZXJpYyBnYWRyaS4gSG93ZXZlciwgdGhlIHJ1bGVzIGFuZCBk ZWZpbml0aW9ucyBmb3IgZ2Fkcmkgd2VyZSBjaGFuZ2VkIGluIGxhdGUgMjAwNCwgYW5kIHRoZSBj dXJyZW50IHNldCBvZiBydWxlcyBvbiB0aGlzIHRvcGljLCBuaWNrZWQg4oCceG9ybG/igJ0gaGFz IHJlcGxhY2VkIHRoZSBvbGQgd2F5LiBOb3csICcnbG8nJyBpcyBnZW5lcmljLCBhbmQgJyd4bydl JycgaXMgdXNlZCBhcyBhbiBlbGxpcHRpY2FsIGRpZ2l0IChsZXNzb24gbmluZXRlZW4pLgoKCgoK CiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gZmlmdGVlbiAodGhlIExvamJhbiBzdW10aSAyOiBL T2hBMywgS09oQTUgYW5kIEtPaEE2KQoKU2VlIHdoYXQgaGFwcGVucyBpZiBJIHRyeSB0byB0cmFu c2xhdGUgdGhlIHNlbnRlbmNlOiDigJxTdGVyZW90eXBpY2FsIHBlb3BsZSB3aG8gY2FuIHNwZWFr IExvamJhbiBzcGVhayB0byBlYWNoIG90aGVyIGFib3V0IHRoZSBsYW5ndWFnZXMgdGhleSBjYW4g c3BlYWvigJ06CgpfXycnYmFuZ3UnJ19fIOKAnHgxIGlzIGEgbGFuZ3VhZ2UgdXNlZCBieSB4MiB0 byBleHByZXNzIHgzIChhYnN0cmFjdGlvbinigJ0KCicnbGUnZSBwcmVudSBwb2kga2UnYSBrYWtu ZSBsbyBudSB0YXZsYSBmbyBsYSAubG9qYmFuLiBjdSB0YXZsYSBsZSdlIHByZW51IHBvaSBrZSdh IGtha25lIGxvIG51IHRhdmxhIGZvIGxhIC5sb2piYW4uIGxvIGJhbmd1IHBvaSBsbyBwcmVudSBw b2kga2UnYSB0YXZsYSBmbyBsYSAubG9qYmFuLiBjdSBzZSBiYW5ndSBrZSdhJycKCgoKV2hhdCB3 ZSBzZWUgaXMgdGhhdCB0aGUgTG9qYmFuIHZlcnNpb24gaXMgbXVjaCBsb25nZXIgdGhhbiB0aGUg RW5nbGlzaC4gVGhpcyBpcyBwcmltYXJpbHkgYmVjYXVzZSB0aGUgZmlyc3QsIHJpZGljdWxvdXNs eSBsb25nIHN1bXRpIGlzIGJlaW5nIHJlcGVhdGVkIHR3byBtb3JlIHRpbWVzIGluIHRoZSBMb2pi YW4gdGV4dCwgd2hpbGUgdGhlIEVuZ2xpc2ggY2FuIHJlZmVyIHRvIGl0IGJ5IOKAnGVhY2ggb3Ro ZXLigJ0gYW5kIOKAnHRoZXnigJ0gLSBtdWNoIG1vcmUgZWZmaWNpZW50bHkuIFdvdWxkbid0IGl0 IGJlIGNsZXZlciBpZiBMb2piYW4gc29tZWhvdyBoYWQgbWVjaGFuaXNtcyBmb3IgZG9pbmcgdGhl IHNhbWU/CgoKCkl0IHR1cm5zIG91dCBpdCBkb2VzLCB3aGF0IGEgc3VycHJpc2UhIExvamJhbiBo YXMgYSByYW5nZSBvZiB3b3JkcyBjYWxsZWQgJydzdW1rYSdpJycgbWVhbmluZyDigJxzdW10aS1y ZXByZXNlbnRhdGl2ZXPigJ0uIEluIEVuZ2xpc2gsIHdlIHJlZmVyIHRvIHRoZW0gYXMgcHJvLXN1 bXRpLCBiZWNhdXNlIHRoZXkgYXJlIGVzc2VudGlhbGx5IHRoZSBzYW1lIGFzIHRoZSBFbmdsaXNo IHByb25vdW5zLCBidXQgd2l0aCBzdW10aSBpbnN0ZWFkIG9mIG5vdW5zLiBJbiBmYWN0LCB5b3Ug YWxyZWFkeSBrbm93ICcndGknJywgJydkbycnIGFuZCAnJ21pJycsIGJ1dCB0aGVyZSBhcmUgbWFu eSBtb3JlLCBzbyBsZXQncyBnZXQgbGVhcm5pbmcuIEZpcnN0LCB3ZSB3YW50IHRvIHB1dCBpdCBp bnRvIHN5c3RlbS4gV2UgY2FuIGJlZ2luIHdpdGggdGhlIG9uZXMgbW9zdCBmYW1pbGlhciB0byBF bmdsaXNoLCBhbmQgd2hhdCB5b3UndmUgYWxyZWFkeSBsZWFybmVkOgoKCgpfXycndGknJ19fIC0g c3Vta2EnaTog4oCcaW1tZWRpYXRlIOKAmGl0JzogcmVwcmVzZW50cyBhIHN1bXRpIHBoeXNpY2Fs bHkgbmVhciB0aGUgc3BlYWtlcuKAnQoKX18nJ3RhJydfXyAtIHN1bWthJ2k6IOKAnG5lYXJieSDi gJhpdCc6IHJlcHJlc2VudHMgYSBzdW10aSBzb21lIHBoeXNpY2FsIGRpc3RhbmNlIGZyb20gdGhl IHNwZWFrZXIgT1IgY2xvc2UgdG8gdGhlIGxpc3RlbmVy4oCdCgpfXycndHUnJ19fIC0gc3Vta2En aTog4oCcZGlzdGFudCDigJhpdCc6IHJlcHJlc2VudHMgYSBzdW10aSBwaHlzaWNhbGx5IGZhciBm cm9tIHRoZSBzcGVha2VyIGFuZCB0aGUgbGlzdGVuZXIu4oCdCgoKCllvdSBjYW4gYWdhaW4gcmVj b2duaXplIHRoZSDigJxpLCBhLCB14oCdLXNlcXVlbmNlIHdoaWNoIHBvcHMgdXAgb3ZlciBhbmQg b3Zlci4gU29tZSB0aGluZ3MgbWlnaHQgdGFrZSBzb21lIGNsZWFyaW5nIHVwLCB0aG91Z2guIEZp cnN0bHksIHRoZXNlIHN1bXRpIGNhbiByZXByZXNlbnQgYW55dGhpbmcgd2hpY2ggY2FuIGJlIHNh aWQgdG8gb2NjdXB5IGEgcGh5c2ljYWwgc3BhY2UuIE9iamVjdHMsIGNlcnRhaW5seS4gSWRlYXMs IGNlcnRhaW5seSBub3QuIEV2ZW50cyBhcmUgYWNjZXB0ZWQsIGJ1dCBvbmx5IHRvIHRoZSBleHRl bnQgdGhleSBhcmUgcmVzdHJpY3RlZCB0byBhIHNwZWNpZmljIHBsYWNlIC0gdGhlIEphc21pbiBS ZXZvbHV0aW9uIGNhbm5vdCBiZSBwb2ludGVkIGF0LCBidXQgc29tZSBiYXItZmlnaHQgb3IgYSBr aXNzIG1pZ2h0LiBTZWNvbmRseSwgbm90ZSB0aGF0IHRoZSBkaXN0YW5jZSBpcyByZWxhdGl2ZSB0 byBkaWZmZXJlbnQgdGhpbmdzIGZvciB0aGUgZGlmZmVyZW50IHdvcmRzOiAnJ3R1Jycgb25seSBh cHBsaWVzIGlmIGl0J3MgZGlzdGFudCBmcm9tIGJvdGggdGhlIHNwZWFrZXIgYW5kIHRoZSBsaXN0 ZW5lci4gSW4gY2FzZXMgd2hlcmUgdGhlIHNwZWFrZXIgYW5kIGxpc3RlbmVyIGlzIGZhciBhcGFy dCBhbmQgdGhlIGxpc3RlbmVyIGNhbm5vdCBzZWUgdGhlIHNwZWFrZXIgdGFsa2luZywgJyd0YScn IHJlZmVycyB0byBzb21ldGhpbmcgY2xvc2UgdG8gdGhlIGxpc3RlbmVyLiBUaGlyZGx5LCBpdCdz IGFsbCByZWxhdGl2ZSBhbmQgY29udGV4dCBkZXBlbmRlbnQuIFRoZXNlIHRocmVlIHdvcmRzIGFy ZSBhbGwgcHJvYmxlbWF0aWMgaW4gd3JpdHRlbiB0ZXh0LCBmb3IgaW5zdGFuY2UsIGJlY2F1c2Ug dGhlIHBvc2l0aW9uIG9mIHRoZSBzcGVha2VyIGFuZCBsaXN0ZW5lciBpcyB1bmtub3duIHRvIGVh Y2ggb3RoZXIsIGFuZCBjaGFuZ2VzIGFzIHRpbWUgZ29lcyBieS4gRnVydGhlcm1vcmUsIHRoZSBh dXRob3Igb2YgYSBib29rIGNhbm5vdCBwb2ludCB0byBhbiBvYmplY3QgYW5kIGV4cHJlc3MgdGhl IHBvaW50aW5nIGluIHRoZSBib29rLgoKCgpUaGVuIHRoZXJlIGlzIGEgc2VyaWVzIGNhbGxlZCBL T2hBMywgdG8gd2hpY2ggJydtaScnIGFuZCAnJ2RvJycgKGFuZCAnJ2tvJycsIGJ1dCBJIHdvbid0 IHdyaXRlIHRoYXQgaGVyZSkgYmVsb25nczoKCl9fJydtaScnX18gLSBzdW1rYSdpOiBUaGUgc3Bl YWtlcihzKS4KCl9fJydtaSdvJydfXyAtIHN1bWthJ2k6IFRoZSBtYXNzIG9mIHRoZSBzcGVha2Vy KHMpIGFuZCB0aGUgbGlzdGVuZXIocykgLgoKX18nJ21pJ2EnJ19fIC0gc3Vta2EnaTogVGhlIG1h c3Mgb2YgdGhlIHNwZWFrZXIocykgYW5kIG90aGVycy4KCl9fJydtYSdhJydfXyAtIHN1bWthJ2k6 IFRoZSBtYXNzIG9mIHRoZSBzcGVha2VyKHMpLCB0aGUgbGlzdGVuZXIocykgYW5kIG90aGVycy4K Cl9fJydkbycnX18gLSBzdW1rYSdpOiBUaGUgbGlzdGVuZXIocykuCgpfXycnZG8nbycnX18gLSBz dW1rYSdpOiBUaGUgbWFzcyBvZiB0aGUgbGlzdGVuZXIocykgYW5kIG90aGVycy4KCgoKVGhlc2Ug c2l4IHN1bWthJ2kgYXJlIG1vcmUgZWFzaWx5IGdyYXNwZWQgaW4gdGhlIGJlbG93IFZlbm4gZGlh Z3JhbToKCgoKe2ltZyBmaWxlSWQ9IjMiIHRodW1iPSJ5IiByZWw9ImJveFtnXSJ9CgpWZW5uIGRp YWdyYW0gb2YgS09oQTMgKCcna28nJyBleGNsdWRlZCkuICcnbGUgZHJhdGEnJyBpcyBub3QgYSBL T2hBMywgYnV0IG1lYW5zIOKAnHRoZSBvdGhlcihzKeKAnQoKCgpJdCBpcyBwb3NzaWJsZSBmb3Ig c2V2ZXJhbCBwZW9wbGUgdG8gYmUg4oCcdGhlIHNwZWFrZXJz4oCdLCBpZiBvbmUgc3RhdGVtZW50 IGlzIG1hZGUgb24gdGhlIGJlaGFsZiBvZiBhbGwgb2YgdGhlbS4gVGhlcmVmb3JlLCB3aGlsZSDi gJx3ZeKAnSBjYW4gYmUgdHJhbnNsYXRlZCBhcyBlaXRoZXIgJydtaScnLCAnJ21pJ28nJywgJydt aSdhJycgb3IgJydtYSdhJycsIHdoYXQgb25lIHF1aXRlIG9mdGVuIG1lYW5zIGlzIHJlYWxseSBq dXN0ICcnbWknJy4gQWxsIG9mIHRoZXNlIHNpeCwgaWYgdGhleSByZWZlciB0byBtb3JlIHRoYW4g b25lIGluZGl2aWR1YWwsIHJlcHJlc2VudCBtYXNzZXMuIFdpdGhpbiBicmlkaS1sb2dpYywgdGhl IGJyaWRpICcnbWkgZ2xla2knJyBzYWlkIGJ5IHNwZWFrZXIgQSBpcyBleGFjdGx5IGVxdWl2YWxl bnQgdG8gJydkbyBnbGVraScnIHNhaWQgYnkgc3BlYWtlciBCIHRvIHNwZWFrZXIgQSwgYW5kIGFy ZSBjb25zaWRlcmVkIHRoZSBzYW1lIGJyaWRpLiBXZSB3aWxsIGNvbWUgYmFjayB0byB0aGlzIGxh dGVyLCBpbiB0aGUgJydicmlrYSdpJycgKHByby1icmlkaSkgbGVzc29uLgoKCgpBbGwgb2YgdGhl c2UgJydzdW1rYSdpJycgYXJlIHZlcnkgY29udGVudC1zcGVjaWZpYywgYW5kIGNhbm5vdCBiZSB1 c2VkLCBmb3IgaW5zdGFuY2UsIHRvIGhlbHAgdXMgd2l0aCB0aGUgc2VudGVuY2Ugd2hpY2ggdGhp cyBsZXNzb24gYmVnYW4gd2l0aC4gVGhlIGZvbGxvd2luZyBzZXJpZXMgY2FuIGluIHByaW5jaXBs ZSBiZSB1c2VkIHRvIHJlZmVyIHRvIGFueSBzdW10aToKCl9fJydyaScnX18gLSBzdW1rYSdpOiDi gJxMYXN0IHN1bXRpIG1lbnRpb25lZOKAnQoKX18nJ3JhJydfXyAtIHN1bWthJ2k6IOKAnEEgcmVj ZW50LCBidXQgbm90IHRoZSBsYXN0IHN1bXRpIG1lbnRpb25lZOKAnQoKX18nJ3J1JydfXyAtIHN1 bWthJ2k6IOKAnEEgc3VtdGkgbWVudGlvbmVkIGxvbmcgYWdv4oCdCgoKClRoZXNlIHN1bXRpIHdp bGwgcmVmZXIgdG8gYW55IHRlcm1pbmF0ZWQgc3VtdGkgZXhjZXB0IG1vc3Qgb3RoZXIgJydzdW1r YSdpJycuIFRoZSByZWFzb24gdGhhdCBtb3N0IG90aGVyICcnc3Vta2EnaScnIGNhbm5vdCBiZSBy ZWZlcnJlZCB0byBieSB0aGVzZSBzdW10aSwgaXMgdGhhdCB0aGV5IGFyZSBzbyBlYXN5IHRvIGp1 c3QgcmVwZWF0IGJ5IHRoZW1zZWx2ZXMuIFRoZSBleGNlcHRpb24gdG8gdGhlIHJ1bGUgYXJlICcn dGknJywgJyd0YScnIGFuZCAnJ3R1JycsIGJlY2F1c2UgeW91IGNvdWxkIGhhdmUgY2hhbmdlZCB3 aGF0IHlvdSBwb2ludCBhdCwgYW5kIHRodXMgY2Fubm90IGp1c3QgcmVwZWF0IHRoZSB3b3JkLiBU aGV5IHdpbGwgb25seSByZWZlciB0byB0ZXJtaW5hdGVkIHN1bXRpLCBhbmQgdGh1cyBjYW5ub3Qs IGZvciBpbnN0YW5jZSwgYmUgdXNlZCB0byByZWZlciB0byBhbiBhYnN0cmFjdGlvbiBpZiB0aGUg d29yZCBpbiBpcyB0aGF0IGFic3RyYWN0aW9uOiAnJ2xlIHBlbmRvIG5vaSBrZSdhIHBlbmRvIG1p IGN1IGRqaWNhIGxvIG51IHJpIHNlIHpkYW5pJycgLSBoZXJlICcncmknJyBjYW5ub3QgcmVmZXIg dG8gdGhlIGFic3RyYXRpb24sIHNpbmNlIGl0IGlzIG5vdCB0ZXJtaW5hdGVkLCBub3IgdG8gJydt aScnIG9yICcna2UnYScnLCBzaW5jZSB0aGV5IGFyZSBzdW1rYSdpLCBzbyBpdCByZWZlcnMgdG8g JydsZSBwZW5kbycnLgoKJydyYScnIGFuZCAnJ3J1JycgYXJlIGNvbnRleHQtZGVwZW5kZW50IGlu IHdoYXQgdGhleSByZWZlciB0bywgYnV0IHRoZXkgZm9sbG93IHRoZSBydWxlcyBtZW50aW9uZWQg YWJvdmUsIGFuZCAnJ3J1JycgYWx3YXlzIHJlZmVyIHRvIGEgbW9yZSBkaXN0YW50IHN1bXRpIHRo YW4gJydyYScnLCB3aGljaCBpcyBhbHdheXMgbW9yZSBkaXN0YW50IHRoYW4gJydyaScnLgoKCgon J3JpJycgYW5kIGl0J3MgYnJvdGhlcnMgYXJlIHByZXR0eSB3ZWxsIHN1aXRlZCBmb3IgZGVhbGlu ZyB3aXRoIHRoZSBvcmlnaW5hbCBzZW50ZW5jZS4gVHJ5IHNheWluZyBpdCB1c2luZyB0d28gaW5z dGFuY2VzIG9mICcnc3Vta2EnaScnIQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbGUnZSBwcmVu dSBwb2kga2UnYSBrYWtuZSBsbyBudSB0YXZsYSBmbyBsYSAubG9qYmFuLiBjdSB0YXZsYSBydSBs byBiYW5ndSBwb2kgcnUgY3Ugc2UgYmFuZ3Uga2UnYScnLiAnJ3JpJycgaXMgbm90IGNvcnJlY3Qs IGJlY2F1c2UgaXQgcmVmZXJzIHRvICcnbGEgLmxvamJhbi4nJy4gJydyYScnIGNvdWxkIGJlIHVz ZWQsIGJ1dCBjb3VsZCBiZSBtaXN0YWtlbmx5IGJlIHRob3VnaHQgdG8gcmVmZXIgdG8gJydsbyBu dSB0YXZsYSBmbyBsYSAubG9qYmFuLicnLCBidXQgJydydScnIGlzIGFzc3VtZWQgdG8gcmVmZXIg dG8gdGhlIG1vc3QgZGlzdGFudCBzdW10aSAtIHRoZSBtb3N0IG91dGVyIG9uZS5+fgoKCgpMYXN0 bHksIHRoZXJlIGEgc3VtdGNpdGEgd2hpY2ggcmVwcmVzZW50IHV0dGVyYW5jZXM6IFNvIGNhbGxl ZCB1dHRlcmFuY2UgdmFyaWFibGVzLiBUaGV5IG5lZWQgbm90IGJlIHJlc3RyaWN0ZWQgdG8gb25l IHNlbnRlbmNlIChqdWZyYSksIGJ1dCBjYW4gYmUgc2V2ZXJhbCBzZW50ZW5jZXMsIGlmIHRoZSBj b250ZXh0IGFsbG93cyBpdDoKCl9fJydkYSd1JydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IFJlbW90 ZSBwYXN0IHNlbnRlbmNlCgpfXycnZGUndScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBSZWNlbnQg c2VudGVuY2UKCl9fJydkaSd1JydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IFByZXZpb3VzIHNlbnRl bmNlCgpfXycnZGVpJydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IFRoaXMgc2VudGVuY2UKCl9fJydk aSdlJydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IE5leHQgc2VudGVuY2UKCl9fJydkZSdlJydfXyBV dHRlcmFuY2UgdmFyaWFibGU6IE5lYXIgZnV0dXJlIHNlbnRlbmNlCgpfXycnZGEnZScnX18gVXR0 ZXJhbmNlIHZhcmlhYmxlOiBSZW1vdGUgZnV0dXJlIHNlbnRlbmNlCgpfXycnZG8naScnX18gVXR0 ZXJhbmNlIHZhcmlhYmxlOiBFbGxpcHRpY2FsIHV0dGVyYW5jZSB2YXJpYWJsZTog4oCcU29tZSBz ZW50ZW5jZeKAnQoKVGhlc2UgcmVwcmVzZW50cyBzZW50ZW5jZXMgYXMgc3VtdGksIGFuZCByZWZl ciBvbmx5IHRvIHRoZSBzcG9rZW4gd29yZHMgb3IgdGhlIGxldHRlcnMsIG5vdCB0byB0aGUgbWVh bmluZyBiZWhpbmQgdGhlbS4KCgoKVGhlcmUgYXJlIG1vcmUgTG9qYmFuICcnc3Vta2EnaScnLCBi dXQgZm9yIG5vdyB5b3UgcHJvYmFibHkgbmVlZCBhIGJyZWFrIGZyb20gdGhlbS4gVGhlIG5leHQg bGVzc29uIHdpbGwgYmUgb24gZGVyaXZlZCBzdW10aSwgc3VtdGkgbWFkZSBmcm9tIG90aGVyIHN1 bXRpLgoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gc2l4dGVlbiAodGhlIExvamJhbiBz dW10aSAzOiBkZXJpdmVkIHN1bXRpKQoKWW91IGNhbiBwcm9iYWJseSBzZWUgdGhhdCB0aGUgc3Vt dGkgJydsZSBiYW5ndSBwb2kgbWkgc2UgYmFuZ3Uga2UnYScnIGlzIGEgbGVzcyB0aGFuIGVsZWdh bnQgZXhwcmVzc2lvbiBmb3Ig4oCcbXkgbGFuZ3VhZ2XigJ0uIFRoaXMgaXMgYmVjYXVzZSBpdCdz IHJlYWxseSBhIHdvcmsgYXJvdW5kLiBBIGxhbmd1YWdlIHdoaWNoIEkgc3BlYWsgY2FuIGJlIHNh aWQgdG8gZmlsbCBpbnRvIHRoZSB4MSBvZiB0aGUgYnJpZGkgJydiYW5ndSBtaScnLiBXZSBjYW4n dCBjb252ZXJ0IHRoYXQgdG8gYSBzdW10aSB1c2luZyBhIGdhZHJpOiAnJ2xlIGJhbmd1IHtrdX0g bWknJyBpcyB0d28gc3VtdGksIGJlY2F1c2UgJydiYW5ndSBtaScnIGlzIGEgYnJpZGksIG5vdCBh IHNlbGJyaS4gTmVpdGhlciBjYW4gd2UgY29udmVydCBpdCB1c2luZyAnJ2xlIHN1J3UnJywgYmVj YXVzZSB0aGUgc3UndSBnaXZlcyB0aGUgYnJpZGkgYSBuZXcgeDEsIHRoZSBhYnN0cmFjdGlvbiwg YW5kIHRoZSAnJ2xlJycgdGhlbiBleHRyYWN0cyB0aGF0LiBUaGF0IG1ha2VzIGFuIGFic3RyYWN0 aW9uIHN1bXRpIG1lYW5pbmcgc29tZXRoaW5nIGxpa2Ug4oCcdGhhdCBzb21ldGhpbmcgaXMgbXkg bGFuZ3VhZ2XigJ0uCgpFbnRlciAnJ2JlJycuICcnYmUnJyBpcyBhIHdvcmQgd2hpY2ggYmluZHMg Y29uc3RydWN0cyAoc3VtdGksIHN1bXRjaXRhIGFuZCBvdGhlcnMpIHRvIGEgc2VsYnJpLiBVc2lu ZyBpdCBpbiBvcmRpbmFyeSBzZWxicmkgaGFzIG5vIGVmZmVjdDogaW4gJydtaSBuZWxjaSBiZSBk bycnLCB0aGUgJydiZScnIGRvZXMgbm90aGluZy4gSG93ZXZlciwgd2hlbiBhIHN1bXRpIGlzIGJv dW5kIHRvIGEgc2VsYnJpIHRoaXMgd2F5LCB5b3UgY2FuIHVzZSBhIGdhZHJpIG9uIHRoZSBzZWxi cmkgd2l0aG91dCB0aGUgc3VtdGkgc3BsaXR0aW5nIG9mZjogJydsZSBiYW5ndSBiZSBtaScnIGlz IGEgY29ycmVjdCBzb2x1dGlvbiB0byB0aGUgcHJvYmxlbSBhYm92ZS4gTGlrZXdpc2UsIHlvdSBj YW4gYXR0YWNoIGEgc3VtdGNpdGE6ICcnbGUgbnUgZGFyeGkga2VpIGJlIGdhdSBkbycnOiDigJxU aGUgZXZlbnQgb2YgaGl0dGluZywgd2hpY2ggaXMgY2F1c2VkIGJ5IHlvdeKAnS4gTm90ZSB0aGF0 IHRoZSBwcmVzZW5jZSBvciBhYnNlbmNlIG9mICcna2VpJycgbWFrZXMgaXQgcGFyc2UgZGlmZmVy ZW50bHk6IFdpdGggdGhlIGZhJ29ybWEnbyBwcmVzZW50LCAnJ2JlJycgYXR0YWNoZXMgdG8gJydu dScnLCB3aXRob3V0IHRoZSBmYSdvcm1hJ28sIGl0IGF0dGFjaGVzIHRvICcnZGFyeGknJy4gU28g aXQgZGVjaWRlcyB3aGF0IGlzIGJlaW5nIGVtcGhhc2lzZWQ6IElzIHRoZSBoaXR0aW5nLCBvciB0 aGUgZXZlbnQgb2YgaGl0dGluZyBjYXVzZWQgYnkgeW91PyBJbiB0aGlzIHNwZWNpZmljIGNhc2Us IHRob3VnaCwgdGhhdCdzIGp1c3QgYWJvdXQgdGhlIHNhbWUgdGhpbmcuCgoKCldoYXQgaWYgSSB3 YW50IHRvIGF0dGFjaCBzZXZlcmFsIHN1bXRpIHRvIGEgc2VsYnJpIGluc2lkZSBhIGdhZHJpPyDi gJxUaGUgZ2l2ZXIgb2YgdGhlIGFwcGxlIHRvIHlvdeKAnSBpcyAnJ2xlIGR1bmRhIGJlIGxvIHBs aXNlIGJlIGRvJycsIHJpZ2h0PyBOb3BlLiBUaGUgc2Vjb25kICcnYmUnJyBhdHRhY2hlcyB0byB0 aGUgYXBwbGUsIG1lYW5pbmcgJydsZSBwbGlzZSBiZSBkbycnIC0g4oCcVGhlIGFwcGxlIG9mIHRo ZSBzdHJhaW4gb2YgeW914oCdLCB3aGljaCBtYWtlcyBubyBzZW5zZS4gSW4gb3JkZXIgdG8gc3Ry aW5nIHNldmVyYWwgc3VtdGkgdG8gYSBzZWxicmksIHRoZSBhbGwgdGhlIG9uZXMgZm9sbG93aW5n IHRoZSBmaXJzdCBtdXN0IGJlIGJvdW5kIHdpdGggJydiZWknJy4gVGhlIOKAnGJpbmRpbmfigJ0g Y2FuIGJlIHRlcm1pbmF0ZWQgd2l0aCAnJ2JlJ28nJyAtIG9uZSBpbnN0YW5jZSBvZiAnJ2JlJ28n JyBmb3IgZWFjaCBzZWxicmkgd2hpY2ggaGFzIHN1bXRpIGJvdW5kIGJ5ICcnYmUnJy4KClRvIGxp c3QgdGhlbToKCl9fJydiZScnX18gYmluZHMgc3VtdGkgb3Igc3VtdGNpdGEgdG8gc2VsYnJpCgpf XycnYmVpJydfXyBiaW5kcyBhIHNlY29uZCwgdGhpcmQsIGZvdXJ0aCAoZWN0KSBzdW10aSBvciBz dW10Y2l0YSB0byBhIHNlbGJyaQoKX18nJ2JlJ28nJ19fIGVuZHMgYmluZGluZyB0byBzZWxicmkK CgoKVGhlcmUgaXMgYWxzbyB3YXlzIHRvIGxvb3NlbHkgYXNzb2NpYXRlIGEgc3VtdGkgd2l0aCBh bm90aGVyLiAnJ3BlJycgYW5kICcnbmUnJyBmb3IgcmVzdHJpY3RpdmUgYW5kIG5vbi1yZXN0cmlj dGl2ZSBhc3NvY2lhdGlvbi4gQWN0dWFsbHksICcnbGUgYmFuZ3UgcGUgbWknJyBpcyBhIGJldHRl ciB0cmFuc2xhdGlvbiBvZiDigJxteSBsYW5ndWFnZeKAnSwgc2luY2UgdGhpcyBwaHJhc2UsIGxp a2UgdGhlIEVuZ2xpc2gsIGlzIHZhZ3VlIGFzIHRvIGhvdyB0aGUgdHdvIGFyZSBhc3NvY2lhdGVk IHdpdGggZWFjaCBvdGhlci4KCicncGUnJyBhbmQgJyduZScnIGFyZSB1c2VkIGFzIGxvb3NlIGFz c29jaWF0aW9uIG9ubHksIGxpa2Ugc2F5aW5nIOKAnG15IGNoYWly4oCdIGFib3V0IGEgY2hhaXIg d2hpY2ggeW91IHNpdCBvbi4gSXQncyBub3QgcmVhbGx5IHlvdXJzLCBidXQgaGFzIHNvbWV0aGlu ZyBkbyB0byB3aXRoIHlvdS4gQSBtb3JlIGludGltYXRlIGNvbm5lY3Rpb24gY2FuIGJlIGVzdGFi bGlzaGVkIHdpdGggJydwbycnLCB3aGljaCBtYWtlcyB0aGUgYXNzb2NpYXRpb24gdW5pcXVlIGFu ZCBiaW5kaW5nIHRvIGEgcGVyc29uLCBhcyBpbiDigJxteSBjYXLigJ0gZm9yIGEgY2FyIHRoYXQg eW91IGFjdHVhbGx5IG93bi4gVGhlIGxhc3Qga2luZCBvZiBhc3NvY2lhdG9yIGlzICcncG8nZScn LCB3aGljaCBtYWtlcyBhIHNvLWNhbGxlZCAiaW5hbGllbmFibGUiIGJvbmQgYmV0d2VlbiBzdW10 aSwgbWVhbmluZyB0aGF0IHRoZSBib25kIGlzIGlubmF0ZSBiZXR3ZWVuIHRoZSB0d28gc3VtdGku IFNvbWUgZXhhbXBsZXMgY291bGQgYmUgIm15IG1vdGhlciIsICJteSBhcm0iIG9yICJteSBob21l IGNvdW50cnkiOyBub25lIG9mIHRoZXNlICJwb3NzZXNpb25zIiBjYW4gYmUgbG9zdCAoZXZlbiBp ZiB5b3Ugc2F3IG9mZiB5b3VyIGFybSwgaXQncyBzdGlsbCBfX3lvdXJfXyBhcm0pLCBhbmQgYXJl IHRoZXJlZm9yZSBpbmFsaWVuYWJsZS4gQWxtb3N0IGFsbCBvZiB0aGUgdGltZXMgYSAnJ3BvJ2Un JyBpcyBhcHByb3ByaWF0ZSwgdGhvdWdoLCB0aGUgeDIgb2YgdGhlIHNlbGJyaSBjb250YWlucyB0 aGUgb25lIHRvIHdoaWNoIHRoZSB4MSBpcyBjb25uZWN0ZWQsIHNvICcnYmUnJyBpcyBiZXR0ZXIu CgpfXycnbmUnJ19fIG5vbi1yZXN0cmljdGl2ZSByZWxhdGl2ZSBwaHJhc2UuICJ3aGljaCBpcyBh c3NvY2lhdGVkIHdpdGguLi4iCgpfXycncGUnJ19fIHJlc3RyaWN0aXZlIHJlbGF0aXZlIHBocmFz ZS4gIndoaWNoIGlzIGFzc29jaWF0ZWQgd2l0aC4uLiIKCl9fJydwbycnX18gcG9zc2VzaXZlIHJl bGF0aXZlIHBocmFzZS4gIndoaWNoIGlzIHNwZWNpZmljIHRvLi4uIgoKX18nJ3BvJ2UnJ19fIGlu YWxpZW5hYmxlIHJlbGF0aXZlIHBocmFzZS4gIndoaWNoIGJlbG9uZ3MgdG8uLi4iCgoKCkEgdmVy eSB1c2VmdWwgY29uc3RydWN0IHRvIGtub3cgaXMgJyd7Z2Fkcml9IHtzdW10aX0ge3NlbGJyaX0n Jy4gdGhpcyBpcyBlcXVpdmFsZW50IHRvICcne2dhZHJpfSB7c2VsYnJpfSBwZSAge3N1bXRpfScn LiBGb3IgaW5zdGFuY2UgJydsZSBtaSBnZXJrdScnIGlzIGVxdWl2YWxlbnQgdG8gJydsZSBnZXJr dSBwZSBtaScnLiBPbmUgY291bGQgaGF2ZSBkZXNjcmlwdGlvbiBzdW10aSBpbnNpZGUgZGVzY3Jp cHRpb24gc3VtdGksIHNheWluZyAnJ2xlIGxlIHNlIGNpbmppa2NhIGJlIG1pIGt1IGdlcmt1Jycs ID0gJydsZSBnZXJrdSBwZSBsZSBzZSBjaW5qaWtjYSBiZSBtaScnID3igJx0aGUgZG9nIG9mIHRo ZSBtYW4gSSdtIGZsaXJ0aW5nIHdpdGjigJ0sIGJ1dCB0aGF0J3Mgbm90IHZlcnkgZWFzeSB0byBy ZWFkIChvciB0byB1bmRlcnN0YW5kIHdoZW4gc3Bva2VuKSwgYW5kIGlzIG9mdGVuIGJlaW5nIGF2 b2lkZWQuCgoKCk9uZSBuZWVkIGFsc28gdG8gbGVhcm4gJyd0dSdhJycsIHNpbmNlIGl0IHdpbGwg bWFrZSBhIGxvdCBvZiBzZW50ZW5jZXMgbXVjaCBlYXNpZXIuIEl0IHRha2VzIGEgc3VtdGkgYW5k IGNvbnZlcnRzIGl0IHRvIGFub3RoZXIgc3VtdGkgLSBhbiBlbGxpcHRpY2FsIGFic3RyYWN0aW9u IHdoaWNoIGhhcyBzb21ldGhpbmcgdG8gZG8gd2l0aCB0aGUgZmlyc3Qgc3VtdGkuIEZvciBleGFt cGxlLCBJIGNvdWxkIHNheSAnJ21pIGRqaWNhIGxvIG51IG1pIGNpdGthIGxvIHBsaXNlJycsIG9y IEkgY291bGQgbGV0IGl0IGJlIHVwIHRvIGNvbnRleHQgd2hhdCBhYnN0cmFjdGlvbiBhYm91dCB0 aGUgYXBwbGUgSSBkZXNpcmUgYW5kIGp1c3Qgc2F5ICcnbWkgZGppY2EgdHUnYSBsbyBwbGlzZScn LiBPbmUgYWx3YXlzIGhhcyB0byBndWVzcyB3aGF0IGFic3RyYWN0aW9uIHRoZSBzcGVha2VyIG1l YW5zIGJ5ICcndHUnYSBTVU1USScnLCBzbyBpdCBzaG91bGQgb25seSBiZSB1c2VkIHdoZW4gY29u dGV4dCBtYWtlcyBpdCBlYXN5IHRvIGd1ZXNzLiBBbm90aGVyIGV4YW1wbGU6CgpfXycnZ2FzbnUn J19fIOKAnHgxIGRvZXMvYnJpbmdzIGFib3V0IHgyICh2b2xpdGlvbiBub3QgaW1wbGllZCnigJ0K CicnemEnYSBkbyBnYXNudSB0dSdhIGxvIHNrYW1pJycgLSDigJxJIHNlZSB0aGF0IHlvdSBtYWtl IHRoZSBjb21wdXRlciBkbyBzb21ldGhpbmfigJ0uIE9mZmljaWFsbHksICcndHUnYSBTVU1USScn IGlzIGVxdWl2YWxlbnQgdG8gJydsZSBzdSd1IFNVTVRJIGNvJ2UnJy4gVmFndWUsIGJ1dCB1c2Vm dWwuIFRoZXJlIGFyZSBzaXR1YXRpb25zIHdoZXJlIHlvdSBjYW5ub3QgdXNlICcndHUnYScnLCBl dmVuIHRob3VnaCBpdCB3b3VsZCBzZWVtIHN1aXRhYmxlLiBUaGVzZSBzaXR1YXRpb25zIGFyZSB3 aGVuIEkgZG9uJ3Qgd2FudCB0aGUgcmVzdWx0aW5nIHN1bXRpIHRvIGJlIGFuIGFic3RyYWN0aW9u LCBidXQgYSBjb25jcmV0ZSBzdW10aS4gSW4gdGhpcyBjYXNlLCBvbmUgY2FuIHVzZSAnJ3pvJ2Ug cGUnJy4KCl9fJyd0dSdhJydfXyBjb252ZXJ0IHN1bXRpIHRvIHZhZ3VlIGFic3RyYWN0aW9uIGlu dm9sdmluZyB0aGUgc3VtdGkuIEVxdWl2YWxlbnQgdG8gJydsZSBzdSd1IFNVTVRJIGNvJ2Uga2Vp IGt1JycKCgoKRmluYWxseSwgb25lIGtpbmQgb2Ygc3VtdGkgY2FuIGJlIHR1cm5lZCBpbnRvIGFu b3RoZXIgYnkgdGhlIHdvcmRzIG9mIHRoZSBjbGFzcyBMQWhFLgoKX18nJ2x1J2EnJ19fIC0gQ29u dmVydCBpbmRpdmlkdWFsKHMpL21hc3Mvc2VxdWVuY2Uvc2V0IHRvIGluZGl2aWR1YWxzLgoKX18n J2x1J2knJ19fIC0gQ29udmVydCBpbmRpdmlkdWFsKHMpL21hc3Mvc2VxdWVuY2Uvc2V0IHRvIGEg c2V0LgoKX18nJ2x1J28nJ19fIC0gQ29udmVydCBpbmRpdmlkdWFsKHMpL21hc3Mvc2VxdWVuY2Uv c2V0IHRvIG1hc3MuCgpfXycndnUnaScnX18gLSBDb252ZXJ0IGluZGl2aWR1YWwocykvbWFzcy9z ZXF1ZW5jZS9zZXQgdG8gc2VxdWVuY2U7IHRoZSBvcmRlciBpcyBub3Qgc3RhdGVkLgoKVGhlIHVz ZSBvZiB0aGVzZSB3b3JkcyBpcyBzdHJhaWdodC1mb3J3YXJkbHk6IFBsYWNpbmcgdGhlbSBiZWZv cmUgYSBzdW10aSBvZiBhIGNlcnRhaW4gdHlwZSBtYWtlcyBhIG5ldyBzdW10aSBvZiBhIG5ldyB0 eXBlLiBOb3RpY2UsIHRob3VnaCwgdGhhdCBhcyBhIGZvdXJ0aCBraW5kIG9mIHN1bXRpLCBhIHNl cXVlbmNlIGhhcyBiZWVuIGludHJvZHVjZWQuIFRoaXMgaXMgbm90IHVzZWQgdmVyeSBvZnRlbiAo aXQgZG9lc24ndCBoYXZlIGl0cyBvd24gZ2FkcmksIGZvciBpbnN0YW5jZSksIGJ1dCBqdXN0IGlu Y2x1ZGVkIGhlcmUgZm9yIGNvbXBsZXRpb24uCgpUaGUgbGFzdCB0d28gbWVtYmVycyBvZiBMQWhF IGRvIG5vdCBjb252ZXJ0IGJldHdlZW4gdHlwZXMgb2Ygc3VtdGksIGJ1dCBhbGxvd3MgeW91IHRv IHNwZWFrIG9mIGEgYSBzdW10aSBieSBvbmx5IG1lbnRpb25pbmcgc29tZXRoaW5nIHdoaWNoIHJl ZmVyZW5jZXMgdG8gaXQ6CgpJZiBvbmUgc3VtdGkgQSByZWZlcnMgdG8gYSBzdW10aSBCLCBmb3Ig aW5zdGFuY2UgYmVjYXVzZSBzdW10aSBBIGlzIGEgdGl0bGUgb2YgYSBib29rLCBvciBhIG5hbWUs IG9yIGEgc2VudGVuY2UgKHdoaWNoIGFsd2F5cyByZWZlciB0byBzb21ldGhpbmcsIGF0IGxlYXN0 IGEgYnJpZGkpLCDigJgnbGEnZSBTVU1USSBBJycgcmVmZXJzIHRvIHN1bXRpIEIuIEZvciBpbnN0 YW5jZSwg4oCYJ21pIG5lbGNpIGxhJ2UgZGkndScnIGZvciDigJxJIGxpa2Ugd2hhdCB5b3UganVz dCBzYWlk4oCdIChub3QgJydtaSBuZWxjaSBkaSd1Jycgd2hpY2gganVzdCBtZWFucyAiSSBsaWtl IHlvdXIgcHJldmlvdXMgc2VudGVuY2UiKSBvciDigJgnbGEnZSBsZSBjbWFsdSBub2x0cnUnJyBm b3IgdGhlIGJvb2sg4oCcVGhlIExpdHRsZSBQcmluY2XigJ0sIGFuZCBub3Qgc29tZSBsaXR0bGUg cHJpbmNlIGhpbXNlbGYuIFRoZSBjbWF2byDigJgnbHUnZScnIGRvZXMgdGhlIGV4YWN0IHJldmVy c2Ug4oCTIOKAmCdsdSdlIFNVTVRJJycgcmVmZXJzIHRvIGFuIG9iamVjdCB3aGljaCByZWZlcnMg dG8gdGhlIHN1bXRpLiAKCl9fJydsYSdlJydfXyAtIOKAnHRoZSB0aGluZyByZWZlcnJlZCB0byBi eeKAnSAtIGV4dHJhY3RzIGEgc3VtdGkgQSBmcm9tIGEgc3VtdGkgQiB3aGljaCByZWZlcnMgdG8g QS4gCgpfXycnbHUnZScnX18gLSDigJx0aGUgdGhpbmcgcmVmZXJyaW5nIHRv4oCdIC0gZXh0cmFj dHMgYSBzdW10aSBCIGZyb20gYSBzdW10aSBBLCB3aGVuIEIgcmVmZXJzIHRvIEEuCgoKCgoKISEh RW5kIG9mIHBhcnQgb25lCgpEdWUgdG8gdGhlIGltcHJhY3RpY2FsbHkgbGFyZ2Ugc2l6ZSBvZiB0 aGVzZSBsZXNzb25zLCB0aGUgc2Vjb25kIGFuZCB0aGlyZCBpbnN0YWxsbWVudCBjYW4gYmUgZm91 bmQgb24gcGFnZXMgZGVkaWNhdGVkIHRvICgod2F2ZWxlc3NvbnNjb250aW51ZWRwMnx0aGUgZm9y bWVyKSkgYW5kICgod2F2ZWxlc3NvbnNjb250aW51ZWRwM3x0aGUgbGF0dGVyKSkuIE5vIHdvcnJp ZXMsIHRob3VnaCwgY2xpY2tpbmcgb24gInRoZSBmb3JtZXIiIG9yICJ0aGUgbGF0dGVyIiB3aWxs IHRha2UgeW91IHRoZXJlIHBhaW5sZXNzbHkuCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KV2lraW5ldXJvdGljIG1haWxpbmcgbGlzdApXaWtpbmV1cm90 aWNAbG9qYmFuLm9yZwpodHRwOi8vbWFpbC5sb2piYW4ub3JnL21haWxtYW4vbGlzdGluZm8vd2lr aW5ldXJvdGljCg==