Received: from localhost ([::1]:53541 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1Uie4l-0006N0-UE; Fri, 31 May 2013 22:10:00 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:49692 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1Uie4b-0006Mu-01 for wikichanges@lojban.org; Fri, 31 May 2013 22:09:58 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Fri, 31 May 2013 22:09:47 -0700 From: "Apache" Date: Fri, 31 May 2013 22:09:47 -0700 To: wikichanges@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 2.0 (++) X-Spam_score: 2.0 X-Spam_score_int: 20 X-Spam_bar: ++ X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page wavelessonscontinued was changed by gleki at 05:09 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 ---- ---------------------- -------------------------------------------------- 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: wikipedia.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikichanges] Wiki page wavelessonscontinued changed by gleki X-BeenThere: wikichanges@lojban.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikichanges-bounces@lojban.org VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWQgd2FzIGNoYW5nZWQgYnkgZ2xla2kgYXQgMDU6 MDkgVVRDCgpZb3UgY2FuIHZpZXcgdGhlIHBhZ2UgYnkgZm9sbG93aW5nIHRoaXMgbGluazoKIApo dHRwOi8vd3d3LmxvamJhbi5vcmcvdGlraS93YXZlbGVzc29uc2NvbnRpbnVlZAoKWW91IGNhbiB2 aWV3IGEgZGlmZiBiYWNrIHRvIHRoZSBwcmV2aW91cyB2ZXJzaW9uIGJ5IGZvbGxvd2luZyB0aGlz IGxpbms6IApodHRwOi8vd3d3LmxvamJhbi5vcmcvdGlraS90aWtpLXBhZ2VoaXN0b3J5LnBocD9w YWdlPXdhdmVsZXNzb25zY29udGludWVkJmNvbXBhcmU9MSZvbGR2ZXI9NzYmbmV3dmVyPTc3CgoK KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioKVGhlIGNoYW5nZXMgaW4gdGhpcyB2ZXJzaW9uIGZvbGxvdyBiZWxvdywgZm9sbG93ZWQgYWZ0 ZXIgYnkgdGhlIGN1cnJlbnQgZnVsbCBwYWdlIHRleHQuCioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgoKKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKQEAgLUxpbmVzOiA1ODct NTk0IGNoYW5nZWQgdG8gK0xpbmVzOiA1ODctNjAyIEBACistKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCuKAnEkgdHJhbnNsYXRlIHRoaXMg d2l0aC10b29sOiBBIGNvbXB1dGVy4oCdCgotIEEgJydzdW10Y2l0YScnIGNhbiBvbmx5IGFic29y YiBvbmUgc3VtdGksIHdoaWNoIGlzIGFsd2F5cyB0aGUgZm9sbG93aW5nIG9uZS4gQWx0ZXJuYXRp dmVseSwgdGhlICcnc3VtdGNpdGEnJyBjb25zdHJ1Y3QgY2FuIGJlIHRlcm1pbmF0ZWQgd2l0aCAn J2t1JycsIGluIHdoaWNoIGNhc2UgYSAnJ3pvJ2UnJyBpcyBpbXBsaWVkIHRvIGZpbGwgdGhlICcn c3VtdGNpdGEnJy4gT3IsIG9uZSBjb3VsZCBpbWFnaW5lIGFuIGVsaWRlZCBzdW10aSBiZWluZyB0 ZXJtaW5hdGVkIHdpdGggdGhlICcna3UnJy4KKyBBICcnc3VtdGNpdGEnJyBjYW4gb25seSBhYnNv cmIgb25lIHN1bXRpLCB3aGljaCBpcyBhbHdheXMgdGhlIGZvbGxvd2luZyBvbmUuIEFsdGVybmF0 aXZlbHksIG9uZSBjYW4gdXNlIHRoZSAnJ3N1bXRjaXRhJycgY29uc3RydWN0IGJ5IGl0c2VsZiB3 aXRob3V0IHN1bXRpLiBJbiB0aGlzIGNhc2UgeW91IG5lZWQgdG8gcHV0IGl0IGVpdGhlciBiZWZv cmUgdGhlIHNlbGJyaSBvciB0ZXJtaW5hdGUgaXQgd2l0aCAnJ2t1JycuIEluIHN1Y2ggY2FzZSBv bmUgY2FuIHRoaW5rIGFzIGlmIHRoZSBzdW10Y2l0YSBoYXMgdGhlIHdvcmQgJyd6bydlJycgYXMg dGhlIHN1bXRpLjxiciAvPgpfXycnenVrdGUnJ19fIOKAnHgxIGlzIGEgdm9saXRpb25hbCBlbnRp dHkgY2Fycnlpbmcgb3V0IGFjdGlvbiB4MiBmb3IgcHVycG9zZSB4M+KAnQoKJydmaSdvIHp1a3Rl IHtmZSd1fSBrdSBsbyBza2FtaSB7a3V9IGN1IHBpbG5vIGxvIGxvamJvIHtrdX17dmF1fScnIC0g 4oCcV2l0aCB2b2xpdGlvbiwgYSBjb21wdXRlciB1c2VkIHNvbWV0aGluZyBMb2piYW5pY+KAnSAo cGVyaGFwcyBpbXBseWluZyB0aGF0IGEgTG9qYmFuaWMgY29tcHV0ZXIgd2VudCBzZW50aWVudD8g VG91Z2ggaXQgZG9lcyBub3Qgc3BlY2lmeSB3aG8gaGFkIHZvbGl0aW9uLiBJdCBjb3VsZCBqdXN0 IGJlIHRoZSBwcm9ncmFtbWVyIHdobyBwcm9ncmFtbWVkIHRoZSBjb21wdXRlciAtIGhvdyBib3Jp bmcuKQorIAorIE5vdGUgdGhhdCB0aGVyZSBpcyAnJ2t1JycgaW4gJydmaSdvIHp1a3RlIHtmZSd1 fSBrdScnLiBXaXRob3V0IGl0IHRoZSBzdW10Y2l0YSB3b3VsZCBoYXZlIGFic29yYmVkICcnbG8g c2thbWkge2t1fScnIGFuZCB3ZSBkb24ndCB3YW50IHRoYXQuCisgCisgVGhpcyBzZW50ZW5jZSBj YW4gYWxzbyBiZSByZXBocmFzZWQgaW4gdGhlIGZvbGxvd2luZyB3YXlzOgorIAorICcnZmknbyB6 dWt0ZSB7ZmUndX0gem8nZSBsbyBza2FtaSB7a3V9IGN1IHBpbG5vIGxvIGxvamJvIHtrdX17dmF1 fScnIAorICcnbG8gc2thbWkge2t1fSBjdSBmaSdvIHp1a3RlIHtmZSd1fSBwaWxubyBsbyBsb2pi byB7a3V9e3ZhdX0nJyAKCldoYXQgZG9lcyAnJ21pIGppbXBlIGZpIGxhIGxvamJhbiBmaSdvIHNl IHRhdmxhIHtmZSd1fSBtaScnIHN0YXRlPwoKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKQEAgLUxpbmVzOiA2MDAtNjA0IGNoYW5nZWQg dG8gK0xpbmVzOiA2MDgtNjExIEBACistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rClNhZGx5LCAnJ2ZpJ28nJyBpcyBub3QgdXNlZCB2ZXJ5 IG9mdGVuIGRlc3BpdGUgaXRzIGZsZXhpYmlsaXR5LiBXaGF0IElTIHVzZWQgdmVyeSBvZnRlbiwg dGhvdWdoLCBhcmUgQkFJLiBCQUkgaXMgYSBjbGFzcyBvZiBMb2piYW4gd29yZHMsIHdoaWNoIGlu IHRoZW1zZWx2ZXMgYWN0IGFzICcnc3VtdGNpdGEnJy4gQW4gZXhhbXBsZSBvZiB0aGlzIGlzICcn enUnZScnLCB0aGUgQkFJIGZvciAnJ3p1a3RlJycuIEdyYW1hdGljYWxseSwgJyd6dSdlJycgaXMg dGhlIHNhbWUgYXMgJydmaSdvIHp1a3RlIGZlJ3UnJy4gVGh1cywgdGhlIGFib3ZlIGV4YW1wbGUg Y291bGQgYmUgcmVkdWNlZCB0bzoKJyd6dSdlIGt1IGxvIHNrYW1pIHtrdX0gY3UgcGlsbm8gbG8g bG9qYm8ge2t1fSB7dmF1fScnLiBUaGVyZSBleGlzdCBzb21ldGhpbmcgbGlrZSA2MCBCQUksIGFu ZCBhIGxvdCBvZiB0aGVzZSBhcmUgdmVyeSB1c2VmdWwgaW5kZWVkLiBGdXJ0ZXJtb3JlLCBCQUkg Y2FuIGFsc28gYmUgY29udmVydGVkIHdpdGggJydzZScnIGFuZCBmcmllbmRzLCBtZWFuaW5nIHRo YXQgJydzZSB6dSdlJycgaXMgZXF1YWwgdG8gJydmaSdvIHNlIHp1a3RlIGZlJ3UnJywgd2hpY2gg cmVzdWx0cyBpbiBhIGdyZWF0IGRlYWwgbW9yZSBCQUkuCi0gCiEhTG9qYmFuIExlc3NvbnMgLSBM ZXNzb24gdGVuIChQVSwgRkFoQSwgWkksIFZBLCBaRWhBLCBWRWhBKQpIb3cgdW5mYW1pbGlhciB0 byB0aGUgRW5nbGlzaC1zcGVha2VyIGEgbGFuZ3VhZ2UgTG9qYmFuIGlzIHdoZW4gb25lIGNhbiBy ZWFkIHRocm91Z2ggbmluZSBsZXNzb25zIG9mIExvamJhbiBncmFtbWFyIHdpdGhvdXQgbWVldGlu ZyBhIHRlbnNlIG9uY2UuIFRoaXMgaXMgYmVjYXVzZSwgdW5saWtlIG1hbnkgbmF0dXJhbCBsYW5n dWFnZXMgKG1vc3QgSW5kby1FdXJvcGVhbiBvbmVzLCBmb3IgaW5zdGFuY2UpLCBhbGwgdGVuc2Vz IGluIExvamJhbiBhcmUgb3B0aW9uYWwuIFNheWluZyAnJ21pIGNpdGthIGxvIGNpcmxhIHtrdX0n JyBjYW4gbWVhbiDigJxJIGVhdCBjaGVlc2XigJ0gb3Ig4oCcSSBhdGUgdGhlIGNoZWVzZeKAnSBv ciDigJxJIGFsd2F5cyBlYXQgY2hlZXNl4oCdIG9yIOKAnEluIGEgbW9tZW50LCBpIHdpbGwgaGF2 ZSBqdXN0IGZpbmlzaGVkIGVhdGluZyBjaGVlc2XigJ0uIENvbnRleHQgcmVzb2x2ZXMgd2hhdCBp cyBjb3JyZWN0LCBhbmQgaW4gbW9zdCBjb252ZXJzYXRpb24sIHRlbnNlcyBhcmUgbm90IG5lZWRl ZCBhdCBhbGwuIEhvd2V2ZXIsIHdoZW4gaXQncyBuZWVkZWQgaXQncyBuZWVkZWQsIGFuZCBpdCBt dXN0IGJlIHRhdWdodC4gRnVydGhlcm1vcmUsIExvamJhbiB0ZW5zZXMgYXJlIHVudXN1YWwgYmVj YXVzZSB0aGV5IHRyZWF0IHRpbWUgYW5kIHNwYWNlIGZ1bmRhbWVudGFsbHkgdGhlIHNhbWUgLSBz YXlpbmcgdGhhdCBJIHdvcmtlZCBhIGxvbmcgdGltZSBhZ28gaXMgbm90IGdyYW1tYXRpY2FsbHkg ZGlmZmVyZW50IHRoYW4gc2F5aW5nIEkgd29yayBmYXIgYXdheSB0byB0aGUgbm9ydGguCgoKCgoq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KgpUaGUgbmV3IHBhZ2UgY29udGVudCBmb2xsb3dzIGJlbG93LgoqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKIUxvamJhbiBXYXZlIExl c3NvbnMgQ29udGludWVkOgoKISEhTWFkZSBieSBsYSBrbGFrdSB3aXRoIGhlbHAgZnJvbSB2YXJp b3VzIGxvamJhbmlzdHMuIEJhc2VkIG9uIHRoZSB3b3JrIG9mIGxhIC5rcmliYWNyLiBTcHJpbmcg MjAxMy4KCgoKISFMb2piYW4gTGVzc29ucyDigJMgbGVzc29uIHplcm86IEZvcmV3b3JkCgpUaGVz ZSBsZXNzb25zIGFyZSBhbiBhdHRlbXB0IHRvIGV4cGFuZCBvbiB0aGUgR29vZ2xlIFdhdmUgTGVz c29ucywgYW4gZXhjZWxsZW50IExvamJhbiB0dXRvcmlhbCBieSBrcmliYWNyLCB4YWxibywgYW5k IG90aGVycywgd2hpY2ggc2FkbHkgb25seSBjb3ZlcmVkIHRoZSBmaXJzdCBmb3VyIGNoYXB0ZXJz IGluIHRoaXMgdHV0b3JpYWwuIEl0IGltcGxlbWVudHMgdGhlIG5ld2VzdCBydWxlcyBvZiBMb2pi YW4gbm90IGNvdmVyZWQgYnkgb2xkZXIgbWF0ZXJpYWxzIHN1Y2ggYXMgV2hhdCBpcyBMb2piYW4/ IGFuZCBMb2piYW4gZm9yIEJlZ2lubmVycy4KCgoKSWYgeW91IGFyZSBuZXcgdG8gTG9qYmFuLCBJ IHJlY29tbWVuZCBsaXN0ZW5pbmcgdG8gYW55IHJlY29yZGluZ3MgeW91IGNhbiBmaW5kIG9mIHNw b2tlbiBMb2piYW4gYm90aCBiZWZvcmUgYW5kIHdoaWxlIHlvdSBhcmUgdGFraW5nIHRoaXMgdHV0 b3JpYWwsIGluIG9yZGVyIHRvIG1ha2UgeW91cnNlbGYgZmFtaWxpYXIgd2l0aCB0aGUgc291bmRz IGFuZCB3b3JkcyBvZiB0aGUgbGFuZ3VhZ2V+dGN+LCB3aGljaCB3aWxsIG5vdCBiZSBleHBsYWlu ZWQgaGVyZX4vdGN+LiBGdXJ0aGVybW9yZSwgdHJ5IHRvIHNheSB0aGUgdGhpbmdzIHlvdSByZWFk IGluIExvamJhbiBhY2NlbnQgaWYgaXQncyByZWFzb25hYmx5IHByYWN0aWNhbC4gVGhpcyBjYW4g aGVscCB5b3VyIHByb251bmNpYXRpb24gYSBsb3QuCgoKCldoZW4gdGFraW5nIHRoaXMgdHV0b3Jp YWwsIGl0J3MgYmVzdCB0byBwYXVzZSBiZXR3ZWVuIGxlc3NvbnMgaW4gb3JkZXIgdG8gaW50ZXJu YWxpemUgd2hhdCB5b3UgaGF2ZSBsZWFybnQuIEkgaGF2ZSBhdHRlbXB0ZWQgdG8gYnVpbGQgdGhl c2UgbGVzc29ucyBmcm9tIHRoZSBib3R0b20gdXAgYW5kIGV4Y2x1ZGUgYW55IHdvcmRzIG9yIGNv bmNlcHRzIHRoYXQgaGF2ZSBub3QgYmVlbiBleHBsYWluZWQgaW4gcHJldmlvdXMgbGVzc29ucy4g T25jZSBleHBsYWluZWQsIHRoZXkgYXJlIHVzZWQgZnJlZWx5IHRocm91Z2hvdXQgdGhlIHJlbWFp bmRlciBvZiB0aGUgdHV0b3JpYWwuIEkgdXJnZSByZWFkZXJzIG5vdCB0byBwYXNzIGFueSBtaXN1 bmRlcnN0b29kIGNvbnRlbnQ7IGlmIHlvdSBoYXZlIHF1ZXN0aW9ucyBvciBhcmUgdW5jZXJ0YWlu IGFib3V0IHNvbWV0aGluZywgZmVlbCBmcmVlIHRvIGFzayB0aGUgTG9qYmFuIGNvbW11bml0eSwg d2hpY2ggY2FuIGJlIGZvdW5kIGluICNsb2piYW4gb24gdGhlIEZyZWVub2RlIElSQyBuZXR3b3Jr LiBUaGV5IHdpbGwgYmUgaGFwcHkgdG8gaGVscC4KCgoKSW4gdGhpcyB0dXRvcmlhbCwgTG9qYmFu IHRleHQgaXMgd3JpdHRlbiBpbiAnJ2l0YWxpY3MnJy4gTGF0ZXIsIHdoZW4gdXNlZCBhcyBMb2pi YW4gbG9hbndvcmRzIGluIEVuZ2xpc2ggc2VudGVuY2VzLCB0aGV5IGFyZSBub3QgbWFya2VkLiBB bnN3ZXJzIHRvIGV4ZXJjaXNlcyBhcmUgZGlzcGxheWVkIGFzIGEgZ3JleSBiYXIuIEhpZ2hsaWdo dCB0aGUgdGV4dCBpbiBvcmRlciB0byBzZWUgaXQuCgoKCkxhc3RseSwgSSBoYXZlIGFzIGZhciBh cyBwb3NzaWJsZSBhdHRlbXB0ZWQgdG8gdXNlIHRoZSBMb2piYW4gd29yZHMgZm9yIGdyYW1tYXRp Y2FsIGNvbnN0cnVjdHM6ICcnc3Vta2EnaScnIGluc3RlYWQgb2YgcHJvLXN1bXRpLCAnJ3N1bXRj aXRhJycgaW5zdGVhZCBvZiBtb2RhbCBhbmQgJydqdWZyYScnIGluc3RlYWQgb2YgdXR0ZXJhbmNl LiBUaGlzIGlzIGJlY2F1c2UgSSBmZWVsIHRoZSBFbmdsaXNoIHdvcmRzIGFyZSBvZnRlbiBlaXRo ZXIgYXJiaXRyYXJ5LCBpbiB3aGljaCBjYXNlIHRoZXkgYXJlIGp1c3QgbW9yZSB3b3JkcyB0byBs ZWFybiwgb3IgbWlzbGVhZGluZywgaW4gd2hpY2ggY2FzZSB0aGV5IGFyZSB3b3JzZSB0aGFuIHVz ZWxlc3MuIEluIGVpdGhlciBjYXNlLCBhcyBsb25nIGFzIHRoZSB3b3JkcyBhcmUgc3BlY2lmaWMg dG8gdGhvc2Ugd2hvIGFyZSBsZWFybmluZyBMb2piYW4gYW55d2F5LCB0aGVyZSBpcyBubyByZWFz b24gZm9yIHRoZW0gdG8gZXhpc3QgYXMgc2VwYXJhdGUgRW5nbGlzaCB3b3Jkcy4KCgoKISEhUHJl ZmFjZS4gU291bmRzCgpUaGUgZmlyc3QgdGhpbmcgeW91IG5lZWQgdG8gZG8gd2hlbiB5b3UgbGVh cm4gYSBmb3JlaWduIGxhbmd1YWdlIGlzIHRvIGJlY29tZSBmYW1pbGlhciB3aXRoIHRoZSBzb3Vu ZHMgb2YgdGhlIGxhbmd1YWdlIGFuZCBob3cgdGhleSBhcmUgd3JpdHRlbiwgYW5kIHRoZSBzYW1l IGdvZXMgZm9yIExvamJhbi4gRm9ydHVuYXRlbHksIExvamJhbiBzb3VuZHMgKF9fcGhvbmVtZXNf XykgYXJlIGZhaXJseSBzdHJhaWdodGZvcndhcmQuCgoKCkZvciBtb3JlIGRldGFpbHMgb24gdm93 ZWxzIGFuZCBjb25zb25hbnRzIHNvdW5kcyB1c2VkIGluIGxvamJhbiwgeW91IGNhbiBjbGljayBv biB0aGUgbGV0dGVycyBkZXNjcmliZWQuIFRoZXkgYXJlIHBvaW50aW5nIHRvIHdpa2lwZWRpYSBh cnRpY2xlcyB3aGljaCBkZXNjcmliZSB0aGUgc291bmQgJydhbmQgdXN1YWxseSBoYXZlIGFuIGF1 ZGlvIHJlY29yZCBvZiBpdCcnLgoKCgohISEhVm93ZWxzCgpUaGVyZSBhcmUgc2l4IHZvd2VscyBp biBMb2piYW4uCgoKCnx8JydbaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9PcGVuX2Zyb250 X3Vucm91bmRlZF92b3dlbHxhXScnIHxhcyBpbiAiZl9fYV9fdGhlciIgKG5vdCBhcyBpbiAiaF9f YV9fdCIpCgonJ1todHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0Nsb3NlLW1pZF9mcm9udF91 bnJvdW5kZWRfdm93ZWx8ZV0nJyB8YXMgaW4gImdfX2VfX3QiCgonJ1todHRwOi8vZW4ud2lraXBl ZGlhLm9yZy93aWtpL0Nsb3NlX2Zyb250X3Vucm91bmRlZF92b3dlbHxpXScnIHxhcyBpbiAibWFj aF9faV9fbmUiIG9yIChJdGFsaWFuKSAidl9faV9fbm8iIChub3QgYXMgaW4gImhfX2lfX3QiKQoK JydbaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9DbG9zZS1taWRfYmFja19yb3VuZGVkX3Zv d2VsfG9dJycgfGFzIGluICJiX19vX19sZCIgb3IgIm1fX29fX3JlIiDigJQgbm90IGFzIGluICJz X19vX18iICh0aGlzIHNob3VsZCBiZSBhICdwdXJlJyBzb3VuZC4pCgonJ1todHRwOi8vZW4ud2lr aXBlZGlhLm9yZy93aWtpL0Nsb3NlX2JhY2tfcm91bmRlZF92b3dlbHx1XScnIHxhcyBpbiAiY19f b29fX2wiIChub3QgYXMgaW4gImJfX3VfX3QiKSB8fAoKVGhlc2UgYXJlIHByZXR0eSBtdWNoIHRo ZSBzYW1lIGFzIHZvd2VscyBpbiBJdGFsaWFuIG9yIFNwYW5pc2guIFRoZSBzaXh0aCB2b3dlbCwg JydbaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9TY2h3YXx5XScnLCBpcyBjYWxsZWQgYSBf X3NjaHdhX18gaW4gdGhlIGxhbmd1YWdlIHRyYWRlLCBhbmQgaXMgcHJvbm91bmNlZCBsaWtlIHRo ZSBmaXJzdCBhbmQgbGFzdCAiQSIncyBpbiAiQW1lcmljYSIgKHRoYXQncyBFbmdsaXNoICJBbWVy aWNhIiwgbm90IFNwYW5pc2guKSBJdCdzIHRoZSBzb3VuZCB0aGF0IGNvbWVzIG91dCB3aGVuIHRo ZSBtb3V0aCBpcyBjb21wbGV0ZWx5IHJlbGF4ZWQuCgpUd28gdm93ZWxzIHRvZ2V0aGVyIGFyZSBw cm9ub3VuY2VkIGFzIG9uZSBzb3VuZCAoX19kaXBodGhvbmdfXykuIFNvbWUgZXhhbXBsZXMgYXJl OgoKCgp8fCcnYWknJyB8YXMgaW4gImhfX2lnaF9fIgoKJydhdScnIHxhcyBpbiAiaF9fb3dfXyIK CicnZWknJyB8YXMgaW4gImhfX2V5X18iCgonJ29pJycgfGFzIGluICJiX19veV9fIgoKJydpYScn IHxsaWtlIEdlcm1hbiBfXyJKYV9fIgoKJydpZScnIHxsaWtlIF9fInllYWhfXyIKCicnaXUnJyB8 bGlrZSBfXyJ5b3VfXyIKCicndWEnJyB8YXMgaW4gX18id2FhaCFfXyIsIG9yIEZyZW5jaCAicV9f dW9pX18iCgonJ3VlJycgfGFzIGluICJxX191ZV9fc3Rpb24iCgonJ3VvJycgfGFzIGluICJxX191 b19fdGUiCgonJ3VpJycgfGxpa2UgX18id2VfXyIsIG9yIEZyZW5jaCBfXyJvdWlfXyIgfHwKCkRv dWJsZSB2b3dlbHMgYXJlIHJhcmUuIFRoZSBvbmx5IGV4YW1wbGVzIGFyZSAnJ2lpJycsIHdoaWNo IGlzIHByb25vdW5jZWQgbGlrZSBFbmdsaXNoICJ5ZSIgKGFzIGluIOKAnE9oIGNvbWUgYWxsIHll IGZhaXRoZnVs4oCdKSBvciBDaGluZXNlICJ5aSIsIGFuZCAnJ3V1JycsIHByb25vdW5jZWQgbGlr ZSAid29vIi4KCiEhISFDb25zb25hbnRzCgpNb3N0IExvamJhbiBjb25zb25hbnRzIGFyZSB0aGUg c2FtZSBhcyBFbmdsaXNoLCBidXQgdGhlcmUgYXJlIHNvbWUgZXhjZXB0aW9uczoKCgoKfHxbaHR0 cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Wb2ljZWRfdmVsYXJfcGxvc2l2ZXxnXSB8YWx3YXlz ICcnZycnIGFzIGluICcnX19nX191bScnLCBuZXZlciAnJ2cnJyBhcyBpbiAnJ19fZ19fZW0nJwoK W2h0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1ZvaWNlbGVzc19wYWxhdG8tYWx2ZW9sYXJf c2liaWxhbnR8Y10gfCcnc2gnJywgYXMgaW4gJydfX3NoX19pcCcnCgpbaHR0cDovL2VuLndpa2lw ZWRpYS5vcmcvd2lraS9Wb2ljZWRfcGFsYXRvLWFsdmVvbGFyX3NpYmlsYW50fGpdIHxhcyBpbiAn J21lYV9fc19fdXJlJycgb3IgRnJlbmNoICcnYm9uX19qX19vdXInJwoKW2h0dHBzOi8vZW4ud2lr aXBlZGlhLm9yZy93aWtpL1ZvaWNlbGVzc192ZWxhcl9mcmljYXRpdmV8eF0gfGFzIGluIEdlcm1h biAnJ0JhX19jaCcnX18sIFNwYW5pc2ggJydfX0pfX29zZScnIG9yIEFyYWJpYyAnJ19fS2hfX2Fs ZWQnJyB8fAoKVGhlIEVuZ2xpc2ggc291bmRzICcnY2gnJyBhbmQgJydqJycgYXJlIHdyaXR0ZW4g YXMgdGMgYW5kIGRqLgoKTG9qYmFuIGRvZXNuJ3QgdXNlIHRoZSBsZXR0ZXJzICcnSCcnLCAnJ1En JyBvciAnJ1cnJy4KCgoKRm9yIGNvbXByZWhlbnNpdmVuZXNzIHNha2UsIGhlcmUgaXMgYSBsaXN0 IG9mIHRoZSByZW1haW5pbmcgKGFuZCBsZXNzIHRyaWNreSkgbG9qYmFuIGNvbnNvbmFudHM6Cgon J1todHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1ZvaWNlZF9iaWxhYmlhbF9wbG9zaXZlfGJd JycsICcnW2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVm9pY2VkX2FsdmVvbGFyX3Bsb3Np dmV8ZF0nJywgJydbaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Wb2ljZWxlc3NfbGFiaW9k ZW50YWxfZnJpY2F0aXZlfGZdJycsICcnW2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVm9p Y2VsZXNzX3ZlbGFyX3Bsb3NpdmV8a10nJywgJydbaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lr aS9BbHZlb2xhcl9sYXRlcmFsX2FwcHJveGltYW50fGxdJycsICcnW2h0dHA6Ly9lbi53aWtpcGVk aWEub3JnL3dpa2kvQmlsYWJpYWxfbmFzYWx8bV0nJywgJydbaHR0cDovL2VuLndpa2lwZWRpYS5v cmcvd2lraS9BbHZlb2xhcl9uYXNhbHxuXScnLCAnJ1todHRwOi8vZW4ud2lraXBlZGlhLm9yZy93 aWtpL1ZvaWNlbGVzc19iaWxhYmlhbF9wbG9zaXZlfHBdJycsICcnW2h0dHA6Ly9lbi53aWtpcGVk aWEub3JnL3dpa2kvQWx2ZW9sYXJfdGFwfHJdJycsICcnW2h0dHA6Ly9lbi53aWtpcGVkaWEub3Jn L3dpa2kvVm9pY2VsZXNzX2FsdmVvbGFyX3NpYmlsYW50I1ZvaWNlbGVzc19hbHZlb2xhcl9zaWJp bGFudHxzXScnLCAnJ1todHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Wb2ljZWxlc3NfYWx2 ZW9sYXJfcGxvc2l2ZXx0XScnLCAnJ1todHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Wb2lj ZWRfbGFiaW9kZW50YWxfZnJpY2F0aXZlfHZdJycsICcnW2h0dHA6Ly9lbi53aWtpcGVkaWEub3Jn L3dpa2kvVm9pY2VkX2FsdmVvbGFyX3NpYmlsYW50I1ZvaWNlZF9hbHZlb2xhcl9zaWJpbGFudHx6 XScnCgoKCiEhISFTcGVjaWFsIENoYXJhY3RlcnMKCkxvamJhbiBkb2VzIG5vdCByZXF1aXJlIGFu eSBwdW5jdHVhdGlvbiwgYnV0IHNvbWUgc3BlY2lhbCBjaGFyYWN0ZXJzIChub3JtYWxseSB1c2Vk IGluIHB1bmN0dWF0aW9uIGluIG90aGVyIGxhbmd1YWdlcykgYWZmZWN0IHRoZSB3YXkgTG9qYmFu IGlzIHByb25vdW5jZWQuCgpUaGUgb25seSBvbmUgb2YgdGhlc2UgY2hhcmFjdGVycyB3aGljaCBp cyBvYmxpZ2F0b3J5IGluIExvamJhbiBpcyB0aGUgW2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dp a2kvVm9pY2VsZXNzX2dsb3R0YWxfZnJpY2F0aXZlfGFwb3N0cm9waGVdOyBpbiBmYWN0IHRoZSBh cG9zdHJvcGhlIGlzIHJlZ2FyZGVkIGFzIGEgcHJvcGVyIGxldHRlciBvZiBMb2piYW4uIEFuIGFw b3N0cm9waGUgc2VwYXJhdGVzIHR3byB2b3dlbHMsIHByZXZlbnRpbmcgdGhlbSBmcm9tIGJlaW5n IHByb25vdW5jZWQgdG9nZXRoZXIgKGFzIGEgX19kaXBodGhvbmdfXyk7IGl0IGlzIGl0c2VsZiBw cm9ub3VuY2VkIGxpa2UgYW4gImgiLiBGb3IgZXhhbXBsZSwgJyd1aScnIGlzIG5vcm1hbGx5IHBy b25vdW5jZWQgIndlIiwgYnV0ICcndSdpJycgaXMgIm9vaGVlIicuCgpBIGZ1bGwgc3RvcCAocGVy aW9kKSBpcyBhIHNob3J0IHBhdXNlIHRvIHN0b3Agd29yZHMgcnVubmluZyBpbnRvIGVhY2ggb3Ro ZXIuIFRoZSBydWxlcyBvZiBMb2piYW4gbWFrZSBpdCBlYXNpZXIgZm9yIG9uZSB3b3JkIHRvIHJ1 biBpbnRvIGFub3RoZXIgd2hlbiB0aGUgc2Vjb25kIHdvcmQgYmVnaW5zIHdpdGggYSB2b3dlbDsg c28gYW55IHdvcmQgc3RhcnRpbmcgd2l0aCBhIHZvd2VsIGNvbnZlbnRpb25hbGx5IGhhcyBhIGZ1 bGwgc3RvcCBwbGFjZWQgaW4gZnJvbnQgb2YgaXQuCgpDb21tYXMgYXJlIHJhcmUgaW4gTG9qYmFu LCBidXQgY2FuIGJlIHVzZWQgdG8gc3RvcCB0d28gdm93ZWxzIGJsdXJyaW5nIHRvZ2V0aGVyIHdo ZW4geW91IGRvbid0IHdhbnQgdG8gdXNlIGFuIGFwb3N0cm9waGUgKHdoaWNoIHdvdWxkIHB1dCBh ICcnaCcnIGJldHdlZW4gdGhlbSkuIE5vIExvamJhbiB3b3JkcyBoYXZlIGNvbW1hcywgYnV0IHRo ZXkncmUgc29tZXRpbWVzIHVzZWQgaW4gd3JpdGluZyBub24tTG9qYmFuIG5hbWVzLCBmb3IgZXhh bXBsZSAnJy5waSxFUi4nJyAoIlBpZXJyZSIpLCBhcyBvcHBvc2VkIHRvICcnLnBpZXIuJycgKCJQ LXllcnIiKSwgJycucGkuRVIuJycgKCJQZWU7IEVociIpLCBvciAnJy5waSdFUi4nJyAoIlBpaGVy ciIpLgoKQ2FwaXRhbCBsZXR0ZXJzIGFyZSBub3Qgbm9ybWFsbHkgdXNlZCBpbiBMb2piYW4uIFdl IHVzZSB0aGVtIGluIG5vbi1Mb2piYW4gd29yZHMgKGxpa2UgIlBpZXJyZSIpIHdoZW4gdGhlIHN0 cmVzcyBvZiBhIHdvcmQgaXMgZGlmZmVyZW50IGZyb20gdGhlIExvamJhbiBub3JtLiBUaGUgbm9y bSBpcyB0byBwdXQgdGhlIHN0cmVzcyBvbiB0aGUgbGFzdC1idXQtb25lIHN5bGxhYmxlOyBzbywg Zm9yIGV4YW1wbGUsICcna3VqbWlrY2UnJyAibnVyc2UiIGlzICcna3VqX19NSUtfX2NlJycsIG5v dCAnJ19fS1VKX19taWtjZScnLiBUaGUgbmFtZSAiSnVsaWV0dGUiIHdvdWxkIGJlIHdyaXR0ZW4g JycuREpVbGksZXQuJycgaWYgcHJvbm91bmNlZCBpbiBhbiBFbmdsaXNoIHdheSwgYnV0ICcnLmp1 TElFVC4nJyBpZiBwcm9ub3VuY2VkIGFzIGluIEZyZW5jaC4KCiEhISFBbHBoYWJldAoKSW4gbW9z dCBsYW5ndWFnZSB0ZXh0Ym9va3MsIHlvdSBnZXQgdGhlIGFscGhhYmV0IG9mIHRoZSBsYW5ndWFn ZSB0b2dldGhlciB3aXRoIGl0cyBzb3VuZHMuIExldHRlcnMgKCcnbGVyZnUnJykgdHVybiBvdXQg dG8gYmUgZXZlbiBtb3JlIGltcG9ydGFudCB0aGFuIHVzdWFsIGluIExvamJhbiwgc28gd2UgbWln aHQgYXMgd2VsbCBnbyB0aHJvdWdoIHRoZWlyIG5hbWVzIHF1aWNrbHkuCgpDb25zb25hbnRzIGFy ZSBzdHJhaWdodGZvcndhcmQ6IHRoZSBuYW1lIG9mIGEgY29uc29uYW50IGxldHRlciBpcyB0aGF0 IGxldHRlciwgcGx1cyB5LiBTbyB0aGUgY29uc29uYW50IGxldHRlcnMgb2YgTG9qYmFuLCAiYiwg YywgZCwgZiwgZyAuLi4iLCBhcmUgY2FsbGVkICcnYnkuLCBjeS4sIGR5LiwgZnkuLCBneS4nJyAu Li4gaW4gTG9qYmFuICh1c2luZyB0aGUgZnVsbCBzdG9wIGFzIHdlJ3ZlIGp1c3QgZGVzY3JpYmVk LikKClZvd2VscyBfX3dvdWxkX18gYmUgY2FsbGVkICcnLmF5LCAuZXksIC5peScnLCBidXQgdGhh dCB3b3VsZCBiZSByYXRoZXIgZGlmZmljdWx0IHRvIHByb25vdW5jZS4gSW5zdGVhZCwgdGhleSBh cmUgaGFuZGxlZCBieSBmb2xsb3dpbmcgdGhlIHZvd2VsIHNvdW5kIHdpdGggdGhlIHdvcmQgJydi dScnLCB3aGljaCBiYXNpY2FsbHkgbWVhbnMgJ2xldHRlcicuIFNvIHRoZSB2b3dlbHMgb2YgTG9q YmFuIGFyZTogJycuYWJ1LCAuZWJ1LCAuaWJ1LCAub2J1LCAudWJ1LCB5YnUuJycKClRoZSBhcG9z dHJvcGhlIGlzIHJlZ2FyZGVkIGFzIGEgcHJvcGVyIGxldHRlciBpbiBMb2piYW4sIGFuZCBpcyBj YWxsZWQgJycueSd5LicnIC4gVG8gc29tZSBwZW9wbGUsIHRoaXMgc291bmRzIGxpa2UgYSBjb3Vn aDsgdG8gb3RoZXIsIGxpa2UgInVoLWh1aCIgKHdoZW4gaXQgbWVhbnMgJ1llcycgcmF0aGVyIHRo YW4gJ05vJy4pCgpMb2piYW4gaGFzIHdheXMgb2YgcmVmZXJpbmcgdG8gbW9zdCBsZXR0ZXJzIHlv dSBjYW4gdGhpbmsgb2YuIElmIHlvdSBoYXZlIHRoZSB1cmdlIHRvIHNwZWxsIG91dCB5b3VyIG5h bWUgaW4gTG9qYmFuIGFuZCBoYXZlIGFuICJIIiwgIlEiLCBvciAiVyIgdG8gZGVhbCB3aXRoLCB5 b3UgY2FuIHVzZSAnJy55J3kuYnUsIGt5LmJ1JycgYW5kICcndnkuYnUnJy4gU28gIlNjaHdhcnpl bmVnZ2VyIiBpcyBzcGVsdCBpbiBMb2piYW4gYXM6CgonJ3N5LiBjeS4gLnkneWJ1IHZ5YnUuIC5h YnUgcnkuIHp5LiAuZWJ1IG55LiAuZWJ1IGd5LiBneS4gLmVidSByeS4nJwoKQW5kIHNwZWxsaW5n ICJ0aGF0IiBpcyBhIHRhc2sgdGhlIGVxdWFsIG9mIGFueXRoaW5nIHRoZSBUZXJtaW5hdG9yIGV2 ZXIgZGlkIQoKCgpOb3cgc3BlbGwgeW91ciBuYW1lIGluIExvamJhbiAob3IgYXQgbGVhc3Qgc29t ZXRoaW5nIGNsb3NlIGVub3VnaCB0byBpdCB0byB1c2UgdGhlIHR3ZW50eS1zaXggbGV0dGVycyBv ZiBFbmdsaXNoIHdlIGhhdmUgbGVhcm5lZCwgYW5kIHRoZSBhcG9zdHJvcGhlKS4KCgoKISEhISAn Q29ycmVjdCcgcHJvbnVuY2lhdGlvbgoKWW91IGRvbid0IGhhdmUgdG8gYmUgdmVyeSBwcmVjaXNl IGFib3V0IExvamJhbiBwcm9udW5jaWF0aW9uLCBiZWNhdXNlIHRoZSBwaG9uZW1lcyBhcmUgZGlz dHJpYnV0ZWQgc28gdGhhdCBpdCBpcyBoYXJkIHRvIG1pc3Rha2Ugb25lIHNvdW5kIGZvciBhbm90 aGVyLiBUaGlzIG1lYW5zIHRoYXQgcmF0aGVyIHRoYW4gb25lICdjb3JyZWN0JyBwcm9udW5jaWF0 aW9uLCB0aGVyZSBpcyBhIHJhbmdlIG9mIGFjY2VwdGFibGUgcHJvbnVuY2lhdGlvbuKAlHRoZSBn ZW5lcmFsIHByaW5jaXBsZSBpcyB0aGF0IGFueXRoaW5nIGlzIE9LIHNvIGxvbmcgYXMgaXQgZG9l c24ndCBzb3VuZCB0b28gbXVjaCBsaWtlIHNvbWV0aGluZyBlbHNlLiBGb3IgZXhhbXBsZSwgTG9q YmFuIHIgY2FuIGJlIHByb25vdW5jZWQgbGlrZSB0aGUgInIiIGluIEVuZ2xpc2gsIFNjb3R0aXNo IG9yIEZyZW5jaC4KClR3byB0aGluZ3MgdG8gYmUgY2FyZWZ1bCBvZiwgdGhvdWdoLCBhcmUgcHJv bm91bmNpbmcgTG9qYmFuICcnaScnIGFuZCAnJ3UnJyBsaWtlIFN0YW5kYXJkIEJyaXRpc2ggRW5n bGlzaCAiaGl0IiBhbmQgImJ1dCIgKE5vcnRoZXJuIEVuZ2xpc2ggImJ1dCIgaXMgZmluZSEpLiBU aGlzIGlzIGJlY2F1c2Ugbm9uLUxvamJhbiB2b3dlbHMsIHBhcnRpY3VsYXJseSB0aGVzZSB0d28s IGFyZSB1c2VkIHRvIHNlcGFyYXRlIGNvbnNvbmFudHMgYnkgcGVvcGxlIHdobyBmaW5kIHRoZW0g aGFyZCB0byBzYXkuIEZvciBleGFtcGxlLCBpZiB5b3UgaGF2ZSBwcm9ibGVtcyBzcGl0dGluZyBv dXQgdGhlICcnemQnJyBpbiAnJ3pkYW5pJycgKGhvdXNlKSwgeW91IGNhbiBzYXkgesmqZGFuaeKA lHdoZXJlIHRoZSAiyaoiIGlzIHZlcnkgc2hvcnQsIGJ1dCB0aGUgZmluYWwgImkiIGhhcyB0byBi ZSBsb25nLgoKISEhIUxvamJhbiBOYW1lcyAoY21ldmxhKQoKV2F0Y2ggYW55IGZpbG0gd2hlcmUg cGVvcGxlIGRvbid0IGtub3cgZWFjaCBvdGhlcidzIGxhbmd1YWdlLiBUaGV5IHN0YXJ0IG9mZiBz YXlpbmcgdGhpbmdzIGxpa2Ug4oCcTWUgVGFyemFuLOKAnSB3aGljaCBpcyBhcyBnb29kIGEgcGxh Y2UgdG8gc3RhcnQgbGVhcm5pbmcgTG9qYmFuIGFzIGFueS4gU28gaGVyZSB3ZSBnby4KCl9fJydt aSdlIC5yb2Jpbi4nJ19fCgoiSS1hbS1uYW1lZCBSb2JpbiIKCiJJJ20gUm9iaW4iCgonJ21pJ2Un JyBpcyByZWxhdGVkIHRvICcnbWknJywgd2hpY2ggaXMgJ0knLCAnbWUnIGFuZCBzbyBvbi4gSXQn cyBhIGdvb2QgZXhhbXBsZSBvZiB0aGUgYXBvc3Ryb3BoZSBzZXBhcmF0aW5nIHR3byB2b3dlbHMs IGFuZCBzb3VuZHMgYSBiaXQgbGlrZSAibWUgaGVoIi4KClRoaXMgZ3V5IFJvYmluIGlzIGx1Y2t5 IGJlY2F1c2UgaGlzIG5hbWUgZ29lcyBkaXJlY3RseSBpbnRvIExvamJhbiB3aXRob3V0IGFueSBj aGFuZ2VzLiBIb3dldmVyLCB0aGVyZSBhcmUgc29tZSBydWxlcyBmb3IgTG9qYmFuIG5hbWVzIHdo aWNoIG1lYW4gdGhhdCBzb21lIG5hbWVzIGhhdmUgdG8gYmUgJ0xvamJhbmlzZWQnLiBUaGlzIG1h eSBzb3VuZCBzdHJhbmdl4oCUYWZ0ZXIgYWxsLCBhIG5hbWUgaXMgYSBuYW1l4oCUYnV0IGluIGZh Y3QgYWxsIGxhbmd1YWdlcyBkbyB0aGlzIHRvIHNvbWUgZXh0ZW50LiBGb3IgZXhhbXBsZSwgRW5n bGlzaCBzcGVha2VycyB0ZW5kIHRvIHByb25vdW5jZSAiSm9zZSIgc29tZXRoaW5nIGxpa2UgIkhv emF5IiwgYW5kICJNYXJnYXJldCIgaW4gQ2hpbmVzZSBpcyAiTWFnZWxpdGEiLiBTb21lIHNvdW5k cyBqdXN0IGRvbid0IGV4aXN0IGluIHNvbWUgbGFuZ3VhZ2VzLCBzbyB0aGUgZmlyc3QgdGhpbmcg eW91IG5lZWQgdG8gZG8gaXMgcmV3cml0ZSB0aGUgbmFtZSBzbyB0aGF0IGl0IG9ubHkgY29udGFp bnMgTG9qYmFuIHNvdW5kcywgYW5kIGlzIHNwZWx0IGluIGEgTG9qYmFuIHdheS4KCl9fTm90ZTog X19UaGUgY2F0Y2ggaGVyZSBpcywgd2hhdCB2ZXJzaW9uIG9mIHRoZSBzb3VuZHMgd2lsbCB5b3Ug YmUgdXNpbmc/IEZvciBFbmdsaXNoIGluIHBhcnRpY3VsYXIsIEJyaXRpc2ggYW5kIEFtZXJpY2Fu IHZvd2VscyBjYW4gYmUgcXVpdGUgZGlmZmVyZW50LiBUaGUgQnJpdGlzaCB2ZXJzaW9uIG9mICJS b2JpbiIgaXMgcmVhc29uYWJseSBhcHByb3hpbWF0ZWQgYnkgJycucm9iaW4uJyc7IGJ1dCB0aGUg QW1lcmljYW4gdmVyc2lvbiBpcyBjbG9zZXIgdG8gJycucmFieW4uJycgb3IgJycucmFiLG4uJycu IEFuZCB3aXRoaW4gQW1lcmljYSBhbmQgQnJpdGFpbiwgdGhlcmUgaXMgYWxzbyBhIGdvb2QgZGVh bCBvZiB2YXJpYXRpb24uIFNvIHlvdSBzaG91bGQgdGFrZSB0aGUgdHJhbnNsaXRlcmF0aW9ucyBn aXZlbiBiZWxvdyB3aXRoIGEgZ3JhaW4gb2Ygc2FsdC4KCkxldCdzIHRha2UgdGhlIEVuZ2xpc2gg bmFtZSAiU3VzYW4iLiBUaGUgdHdvICcncycnJ3MgYXJlIHByb25vdW5jZWQgZGlmZmVyZW50bHni gJR0aGUgc2Vjb25kIG9uZSBpcyBhY3R1YWxseSBhICJ6IuKAlGFuZCB0aGUgImEiIGlzIG5vdCBy ZWFsbHkgYW4gImEiIHNvdW5kLCBpdCdzIHRoZSAnc2Nod2EnIHdlIGp1c3QgbWVudGlvbmVkLiBT byAiU3VzYW4iIGNvbWVzIG91dCBpbiBMb2piYW4gYXMgJycuc3V6eW4uJycuCgpZb3UgbWF5IGhh dmUgbm90aWNlZCB0d28gZXh0cmEgZnVsbCBzdG9wcyAocGVyaW9kcykgdGhlcmUuIFRoaXMgaXMg bmVjZXNzYXJ5IGJlY2F1c2UgaWYgeW91IGRpZG4ndCBwYXVzZSwgeW91IG1pZ2h0IG5vdCBrbm93 IHdoZXJlIHRoZSBwcmV2aW91cyB3b3JkIGVuZGVkIGFuZCB0aGUgbmV4dCB3b3JkIGJlZ2FuLgoK CgpZb3Ugc2hvdWxkIGFsc28gcHV0IGEgZnVsbCBzdG9wIGluIGJldHdlZW4gYSBwZXJzb24ncyBm aXJzdCBhbmQgbGFzdCBuYW1lcyAodGhvdWdoIGl0J3Mgbm90IGNvbXB1bHNvcnkpLCBzbyAiSmlt IEpvbmVzIiBiZWNvbWVzICcnLmRqaW0uZGpvbnouJycuCgpBbiBpbXBvcnRhbnQgcnVsZSBmb3Ig TG9qYmFuaXNpbmcgbmFtZXMgaXMgdGhhdCB0aGUgbGFzdCBsZXR0ZXIgb2YgYSBjbWV2bGEgKExv amJhbiBuYW1lKSBtdXN0IGJlIGEgY29uc29uYW50LiBBZ2FpbiwgdGhpcyBpcyB0byBwcmV2ZW50 IGNvbmZ1c2lvbiBhcyB0byB3aGVyZSBhIG5hbWUgZW5kcywgYW5kIHdoYXQgaXMgYW5kIGlzIG5v dCBhIG5hbWUgKGFsbCBvdGhlciBMb2piYW4gd29yZHMgZW5kIGluIGEgdm93ZWwpLiBXZSB1c3Vh bGx5IHVzZSAnJ3MnJyBmb3IgdGhpczsgc28gaW4gTG9qYmFuLCAiTWFyeSIgYmVjb21lcyAnJy5t ZXJpcy4nJyAsICJKb2UiIGJlY29tZXMgJycuZGpvcy4nJyBhbmQgc28gb24uIEFuIGFsdGVybmF0 aXZlIGlzIHRvIGxlYXZlIG91dCB0aGUgbGFzdCB2b3dlbCwgc28gIk1hcnkiIHdvdWxkIGJlY29t ZSAnJy5tZXIuJycgb3IgJycubWVpci4nJy4KCgoKVGhlIGZpbmFsIHBvaW50IGlzIHN0cmVzcy4g QXMgd2UndmUgc2VlbiwgTG9qYmFuIHdvcmRzIGFyZSBzdHJlc3NlZCBvbiB0aGUgcGVudWx0aW1h dGUgc3lsbGFibGUsIGFuZCBpZiBhIG5hbWUgaGFzIGRpZmZlcmVudCBzdHJlc3MsIHdlIHVzZSBj YXBpdGFsIGxldHRlcnMuIFRoaXMgbWVhbnMgdGhhdCB0aGUgRW5nbGlzaCBhbmQgRnJlbmNoIG5h bWVzICJSb2JlcnQiIGNvbWUgb3V0IGRpZmZlcmVudGx5IGluIExvamJhbjogdGhlIEVuZ2xpc2gg bmFtZSBpcyAnJy5yb2J5dC4nJyBpbiBVSyBFbmdsaXNoLCBvciAnJy5yYWIscnQuJycgaW4gc29t ZSBBbWVyaWNhbiBkaWFsZWN0cywgYnV0IHRoZSBGcmVuY2ggaXMgJycucm9CRVIuJycuCgpUbyBn aXZlIGFuIGlkZWEgb2YgaG93IGFsbCB0aGlzIHdvcmtzLCBoZXJlIGFyZSBzb21lIG5hbWVzIG9m IGZhbW91cyBwZW9wbGUgaW4gdGhlaXIgb3duIGxhbmd1YWdlIGFuZCBpbiBMb2piYW4uCgoKCnx8 X19FbmdsaXNoX18KCk1hcmdhcmV0IFRoYXRjaGVyIHwnJy5tYWdyeXQudGF0Y3lyLicnIChubyAi dGgiIGluIExvamJhbiBiZWNhdXNlIG1vc3QgcGVvcGxlIGFyb3VuZCB0aGUgd29ybGQgY2FuJ3Qg c2F5IGl0ISkKCk1pY2sgSmFnZ2VyIHwnJy5taWsuZGphZ3lzLicnIHx8Cgp8fF9fRnJlbmNoX18K Ck5hcG9sZW9uIEJvbmFwYXJ0ZSB8JycubmFwb2xlLE9OLmJvbmFQQVJULicnCgpKdWxpZXR0ZSBC aW5vY2hlIHwnJy5qdUxJRVQuYmluT0MuJycgfHwKCnx8X19DaGluZXNlX18KCkxhb3ppIHwnJy5s YXVkei4nJwoKTWFvIFplZG9uZyB8JycubWF1ZHp5RFlOLicnIChGaW5hbCAnJ25nJycgaXMgaW4g TG9qYmFuIGNvbnZlbnRpb25hbGx5IHR1cm5lZCBpbnRvIG4uKSB8fAoKfHxfX1R1cmtpc2hfXwoK TXVzdGFmYSBLZW1hbCB8JycuTVVTdGFmYXMua2VNQUwuJycKCkVya2luIEtvcmF5IHwnJy5lcmtp bi5rb3JhaXMuJycgfHwKCnx8X19HZXJtYW5fXwoKRnJpZWRyaWNoIE5pZXR6c2NoZSB8JycuZnJp ZHJpeC5uaXRjeXMuJycKCkNsYXJhIFNjaHVtYW5uIHwnJy5rbGFyYXMuY3VtYW4uJycgfHwKCnx8 X19TcGFuaXNoX18KCklzYWJlbCBBbGxlbmRlIHwnJy5pemFCRUwuYWllbmRlcy4nJwoKQ2hlIEd1 ZXZhcmEgfCcnLnRjZWdldmFyYXMuJycgfHwKCl9fRXhlcmNpc2VfXy4KCldoZXJlIGFyZSB0aGVz ZSBwbGFjZXM/CgojLm51LElPUksuCgojLnJvbWFzLgoKIy54YXZhbmFzLgoKIy5rYXJkaWYuCgoj LmJlaWRqaW4uCgojLkFOa2FyYXMuCgojLkFMYmVrZXJraXMuCgojLnZhbmt1dmVyLgoKIy5rZWlw dGF1bi4KCiMudGFpYmVpcy4KCiMuYm9uLgoKIy5kZWxpcy4KCiMubmlzLgoKIy5hdGluYXMuCgoj LmxpZHouCgojLnhlbHNpbmtpcy4KCkFuc3dlcjoKCn5+Z3JheSxncmF5On5+Cgojfn5ncmF5LGdy YXk6TmV3IFlvcms6IFVTQX5+Cgojfn5ncmF5LGdyYXk6Um9tZTogSXRhbHl+fgoKI35+Z3JheSxn cmF5OkhhdmFuYTogQ3ViYX5+Cgojfn5ncmF5LGdyYXk6Q2FyZGlmZjogV2FsZXMgKFRoZSBXZWxz aCBmb3IgIkNhcmRpZmYiIGlzICJDYWVyZHlkZCIsIHdoaWNoIHdvdWxkIExvamJhbmlzZSB0byBz b21ldGhpbmcgbGlrZSBrYWlyZHlkLi4pfn4KCiN+fmdyYXksZ3JheTpCZWlqaW5nOiBDaGluYX5+ Cgojfn5ncmF5LGdyYXk6QW5rYXJhOiBUdXJrZXl+fgoKI35+Z3JheSxncmF5OkFsYmVxdWVycXVl OiBOZXcgTWV4aWNvLCBVU0F+fgoKI35+Z3JheSxncmF5OlZhbmNvdXZlcjogQ2FuYWRhfn4KCiN+ fmdyYXksZ3JheTpDYXBlIFRvd246IFNvdXRoIEFmcmljYX5+Cgojfn5ncmF5LGdyYXk6VGFpcGVp OiBUYWl3YW4gKG5vdGUgYiwgbm90IHAuIEFsdGhvdWdoIGFjdHVhbGx5LCB0aGUgYiBpbiBQaW55 aW4gaXMgcHJvbm91bmNlZCBhcyBhIHAuLi4gQnV0IHRoaXMgaXNuJ3QgbWVhbnQgdG8gYmUgYSBj b3Vyc2Ugb24gTWFuZGFyaW4hKX5+Cgojfn5ncmF5LGdyYXk6Qm9ubjogR2VybWFueX5+Cgojfn5n cmF5LGdyYXk6RGVsaGk6IEluZGlhIChUaGUgSGluZGkgZm9yICJEZWxoaSIgaXMgIkRpbGzDriIs IHdoaWNoIHdvdWxkIGdpdmUgZGlsaXlzLiBvciBkaWxpJ2lzLi4pfn4KCiN+fmdyYXksZ3JheTpO aWNlOiBGcmFuY2V+fgoKI35+Z3JheSxncmF5OkF0aGVuczogR3JlZWNlICgiQXRoaW5hIiBpbiBH cmVlayl+fgoKI35+Z3JheSxncmF5OkxlZWRzOiBFbmdsYW5kfn4KCiN+fmdyYXksZ3JheTpIZWxz aW5raTogRmlubGFuZH5+CgpfX0V4ZXJjaXNlX18uCgpMb2piYW5pc2UgdGhlIGZvbGxvd2luZyBu YW1lcwoKI0pvaG4KCiNNZWxpc3NhCgojQW1hbmRhCgojTWF0dGhldwoKI01pY2hhZWwKCiNEYXZp ZCBCb3dpZQoKI0phbmUgQXVzdGVuCgojV2lsbGlhbSBTaGFrZXNwZWFyZQoKI1NpZ291cm5leSBX ZWF2ZXIKCiNSaWNoYXJkIE5peG9uCgojSXN0YW5idWwKCiNNYWRyaWQKCiNUb2t5bwoKI1NhbiBT YWx2YWRvcgoKQW5zd2VyOgoKfn5ncmF5LGdyYXk6VGhlcmUgYXJlIHVzdWFsbHkgYWx0ZXJuYXRp dmUgc3BlbGxpbmdzIGZvciBuYW1lcywgZWl0aGVyIGJlY2F1c2UgcGVvcGxlIHByb25vdW5jZSB0 aGUgb3JpZ2luYWxzIGRpZmZlcmVudGx5LCBvciBiZWNhdXNlIHRoZSBleGFjdCBzb3VuZCBkb2Vz bid0IGV4aXN0IGluIExvamJhbiwgc28geW91IG5lZWQgdG8gY2hvb3NlIGJldHdlZW4gdHdvIExv amJhbiBsZXR0ZXJzLiBUaGlzIGRvZXNuJ3QgbWF0dGVyLCBzbyBsb25nIGFzIGV2ZXJ5b25lIGtu b3dzIHdobyBvciB3aGVyZSB5b3UncmUgdGFsa2luZyBhYm91dC5+fgoKI35+Z3JheSxncmF5Oi5k am9uLiAob3IgLmRqYW4uIHdpdGggc29tZSBhY2NlbnRzKX5+Cgojfn5ncmF5LGdyYXk6Lm1lbGlz eXMufn4KCiN+fmdyYXksZ3JheTouYW1hbmR5cy4gKGFnYWluLCBkZXBlbmRpbmcgb24geW91ciBh Y2NlbnQsIHRoZSBmaW5hbCB5IG1heSBiZSBhLCB0aGUgaW5pdGlhbCBhIG1heSBiZSB5LCBhbmQg dGhlIG1pZGRsZSBhIG1heSBiZSBlLil+fgoKI35+Z3JheSxncmF5Oi5tYXRpdXMufn4KCiN+fmdy YXksZ3JheToubWFpa3lsLiBvciAubWFpayxsLiAsIGRlcGVuZGluZyBvbiBob3cgeW91IHNheSBp dC5+fgoKI35+Z3JheSxncmF5Oi5kZWl2eWQuYmF1LGlzLiBvciAuYm8saXMuIChidXQgbm90IC5i dSxpcy4g4oCUIHRoYXQncyB0aGUga25pZmUpfn4KCiN+fmdyYXksZ3JheTouZGplaW4ub3N0aW4u fn4KCiN+fmdyYXksZ3JheToudWlsaWFtLmNla3NwaXIufn4KCiN+fmdyYXksZ3JheTouc2lnb3Ju aXMudWl2eXIuIG9yIC5zeWdvcm5pcy51aXZ5ci5+fgoKI35+Z3JheSxncmF5Oi5yaXRjeXJkLm5p a3N5bi5+fgoKI35+Z3JheSxncmF5Oi5pc3RhbkJVTC4gd2l0aCBFbmdsaXNoIHN0cmVzcywgLklT dGFuYnVsLiB3aXRoIEFtZXJpY2FuLCAuaXN0YW5idWwuIHdpdGggVHVya2lzaC4gTG9qYmFuaXN0 cyBnZW5lcmFsbHkgcHJlZmVyIHRvIGJhc2UgY21ldmxhIG9uIGxvY2FsIHByb251bmNpYXRpb24s IGJ1dCB0aGlzIGlzIG5vdCBhbiBhYnNvbHV0ZSBydWxlLn5+Cgojfn5ncmF5LGdyYXk6Lm1hRFJJ RC5+fgoKI35+Z3JheSxncmF5Oi50b2tpb3Mufn4KCiN+fmdyYXksZ3JheTouc2FuLnNhbHZhRE9S LiAod2l0aCBTcGFuaXNoIHN0cmVzcykgPC9zcGFuPjwvaHRtbD5+fgoKISEhIUxvamJhbiB3b3Jk cyBhcyBuYW1lcwoKQnkgbm93IHlvdSBzaG91bGQgYmUgYWJsZSB0byBMb2piYW5pc2UgeW91ciBv d24gbmFtZS4gSG93ZXZlciwgaWYgeW91IHByZWZlciwgeW91IGNhbiB0cmFuc2xhdGUgeW91ciBu YW1lIGludG8gTG9qYmFuIChpZiB5b3Uga25vdyB3aGF0IGl0IG1lYW5zLCBvZiBjb3Vyc2UpIG9y IGFkb3B0IGEgY29tcGxldGVseSBuZXcgTG9qYmFuIGlkZW50aXR5LiBOYXRpdmUgQW1lcmljYW5z IGdlbmVyYWxseSB0cmFuc2xhdGUgdGhlaXIgbmFtZSB3aGVuIHNwZWFraW5nIEVuZ2xpc2gsIHBh cnRseSBiZWNhdXNlIHRoZXkgaGF2ZSBtZWFuaW5nZnVsIG5hbWVzLCBhbmQgcGFydGx5IGJlY2F1 c2UgdGhleSBkb24ndCBleHBlY3QgdGhlICJ3YXNpY2h1IiB0byBiZSBhYmxlIHRvIHByb25vdW5j ZSB3b3JkcyBpbiBMYWtvdGEsIENoZXJva2VlIG9yIHdoYXRldmVyIQoKTG9qYmFuIHdvcmRzIChl eGNlcHQgY21ldmxhKSBlbmQgaW4gYSB2b3dlbC4gWW91IGNhbiB1c2UgbG9qYmFuIHdvcmRzIGFz IG5hbWVzIHRvby4gQnV0IGlmIHlvdSBwcmVmZXIgdGhhdCB5b3VyIG5hbWUgaXMgYSBjbWV2bGEg YW5kIGl0IGVuZHMgaW4gYSB2b3dlbCB0aGVuIHlvdSBjYW4gZWl0aGVyIGFkZCBhIGNvbnNvbmFu dCB0byB0aGUgZW5kIG9mIGl0IG9yIGp1c3QgY2hvcCB0aGUgZW5kIHZvd2VsIG9mZi4KCkhlcmUg YXJlIGEgZmV3IGV4YW1wbGVzIChvcmlnaW5hbCBuYW1lLCBtZWFuaW5nLCBuYW1lIGFuZCBuYW1l IGFzIGNtZXZsYSk6CgoqRmlzaCDigJMgZmlucGUg4oCTICcnLmZpbnAuJycKCipCasO2cm4gKFNj YW5kaW5hdmlhbiA9IGJlYXIpIOKAkyBjcmliZSDigJMgJycuY3JpYi4nJwoKKkdyZWVuIOKAkyBj cmlubyDigJMgJycuY3Jpbi4nJwoKKk1laSBMaSAoQ2hpbmVzZSA9IGJlYXV0aWZ1bCkg4oCTIG1l bGJpIOKAkyAnJy5tZWxiLicnCgoqQXloYW4gKFR1cmtpc2ggPSBNb29uIExvcmQpIOKAkyBsdW5y YSBub2JsaSAoPSBsdXJub2JsaSkg4oCTICcnLmx1cm5vYmxpcy4nJwoKCgohIUxvamJhbiBMZXNz b25zIOKAkyBsZXNzb24gb25lIChicmlkaSwganVmcmEsIHN1bXRpIGFuZCBzZWxicmkpCgpBICcn YnJpZGknJyBpcyB0aGUgbW9zdCBjZW50cmFsIHVuaXQgb2YgTG9qYmFuIHV0dGVyYW5jZXMuIFRo ZSBjb25jZXB0IGlzIHZlcnkgY2xvc2UgdG8gd2hhdCB3ZSBjYWxsIGEgcHJvcG9zaXRpb24gaW4g RW5nbGlzaC4gQSBicmlkaSBpcyBhIGNsYWltIHRoYXQgc29tZSBvYmplY3RzIHN0YW5kIGluIGEg cmVsYXRpb24gdG8gZWFjaCBvdGhlciwgb3IgdGhhdCBhbiBvYmplY3QgaGFzIHNvbWUgcHJvcGVy dHkuIFRoaXMgc3RhbmRzIGluIGNvbnRyYXN0IHRvICcnanVmcmEnJywgd2hpY2ggYXJlIG1lcmVs eSBMb2piYW4gdXR0ZXJhbmNlcywgd2hpY2ggY2FuIGJlIGJyaWRpIG9yIGFueXRoaW5nIGVsc2Ug YmVpbmcgc2FpZC4gVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBhIGJyaWRpIGFuZCBhIGp1ZnJhIGlz IHRoYXQgYSBqdWZyYSBkb2VzIG5vdCBuZWNlc3NhcmlseSBzdGF0ZSBhbnl0aGluZywgd2hpbGUg YSBicmlkaSBkb2VzLiBUaHVzLCBhIGJyaWRpIG1pZ2h0IGJlIHRydWUgb3IgZmFsc2UsIHdoaWxl IG5vdCBhbGwganVmcmEgY2FuIGJlIHNhaWQgdG8gYmUgc3VjaC4KClRvIGhhdmUgc29tZSBleGFt cGxlcyAoaW4gRW5nbGlzaCwgdG8gYmVnaW4gd2l0aCksIOKAnE1vemFydCB3YXMgdGhlIGdyZWF0 ZXN0IG11c2ljaWFuIG9mIGFsbCB0aW1l4oCdIGlzIGEgYnJpZGksIGJlY2F1c2UgaXQgbWFrZXMg YSBjbGFpbSB3aXRoIGEgdHJ1dGggdmFsdWUsIGFuZCBpdCBpbnZvbHZlcyBhbiBvYmplY3QsIE1v emFydCwgYW5kIGEgcHJvcGVydHksIGJlaW5nIHRoZSBncmVhdGVzdCBtdXNpY2lhbiBvZiBhbGwg dGltZS4gT24gdGhlIGNvbnRyYXJ5LCDigJxPdyEgTXkgdG9lIeKAnSBpcyBub3QgYSBicmlkaSwg c2luY2UgaXQgZG9lcyBub3QgaW52b2x2ZSBhIHJlbGF0aW9uLCBhbmQgdGh1cyBkb2VzIG5vdCBz dGF0ZSBhbnl0aGluZy4gQm90aCwgdGhvdWdoLCBhcmUganVmcmEuCgpUcnkgdG8gaWRlbnRpZnkg dGhlIGJyaWRpIGFtb25nIHRoZXNlIEVuZ2xpc2gganVmcmE6CgoKCiMg4oCcSSBoYXRlIGl0IHdo ZW4geW91IGRvIHRoYXQu4oCdCgojIOKAnFJ1bnMu4oCdCgojIOKAnFdvYWgsIHRoYXQgbG9va3Mg ZGVsaWNpb3VzIeKAnQoKIyDigJxHZWV6LCBub3QgYWdhaW4u4oCdCgojIOKAnE5vLCBJIG93biB0 aHJlZSBjYXJz4oCdCgojIOKAnE5pbmV0ZWVuIG1pbnV0ZXMgcGFzdCBlaWdodC7igJ0KCiMg4oCc VGhpcyBTYXR1cmRheSwgeWVzLuKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OjEsIDMgYW5kIDUg YXJlIGJyaWRpLiAyIGNvbnRhaW5zIG5vIG9iamVjdHMgYW5kIHRoZSByZXN0IGNvbnRhaW4gbm8g cmVsYXRpb24gb3IgY2xhaW0gb2YgYSBwcm9wZXJ0eS5+fgoKCgpQdXQgaW4gTG9qYmFuIHRlcm1z LCBhIGJyaWRpIGNvbnNpc3RzIG9mIG9uZSAnJ3NlbGJyaScnLCBhbmQgb25lIG9yIG1vcmUgJydz dW10aScnLiBUaGUgc2VsYnJpIGlzIHRoZSByZWxhdGlvbiBvciBjbGFpbSBhYm91dCB0aGUgb2Jq ZWN0LCBhbmQgdGhlIHN1bXRpIGFyZSB0aGUgb2JqZWN0cyB3aGljaCBhcmUgaW4gYSByZWxhdGlv bi4gTm90ZSB0aGF0IOKAnG9iamVjdOKAnSBpcyBub3QgYSBwZXJmZWN0IHRyYW5zbGF0aW9uIG9m IOKAnHN1bXRp4oCdLCBzaW5jZSDigJxzdW10aeKAnSBjYW4gcmVmZXIgdG8gbm90IGp1c3QgcGh5 c2ljYWwgb2JqZWN0cywgYnV0IGNhbiBhbHNvIHB1cmVseSBhYnN0cmFjdCB0aGluZ3MgbGlrZSDi gJxUaGUgaWRlYSBvZiB3YXJmYXJl4oCdLiBBIGJldHRlciB0cmFuc2xhdGlvbiB3b3VsZCBiZSBz b21ldGhpbmcgbGlrZSDigJxzdWJqZWN0LCBkaXJlY3Qgb3IgaW5kaXJlY3Qgb2JqZWN04oCdIGZv ciBzdW10aSwgYW5kIOKAnHZlcmLigJ0gZm9yIHNlbGJyaSwgdGhvdWdoLCBhcyB3ZSB3aWxsIHNl ZSwgdGhpcyBpcyBub3Qgb3B0aW1hbCBlaXRoZXIuCgpXZSBjYW4gbm93IHdyaXRlIHRoZSBmaXJz dCBpbXBvcnRhbnQgbGVzc29uIGRvd246CgpicmlkaSA9IHNlbGJyaSArIG9uZSBvciBtb3JlIHN1 bXRpCgpQdXQgYW5vdGhlciB3YXksIGEgYnJpZGkgc3RhdGVzIHRoYXQgc29tZSBzdW10aSBkby9h cmUgc29tZXRoaW5nIGV4cGxhaW5lZCBieSBhIHNlbGJyaS4KCgoKSWRlbnRpZnkgdGhlIHN1bXRp IGFuZCBzZWxicmkgZXF1aXZhbGVudHMgaW4gdGhlc2UgRW5nbGlzaCBqdWZyYToKCuKAnEkgd2ls bCBwaWNrIHVwIG15IGRhdWdodGVycyB3aXRoIG15IGNhcuKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxn cmV5OnNlbGJyaTog4oCccGljayB1cCAod2l0aCnigJ0uIHN1bXRpOiDigJxJ4oCdLCDigJxteSBk YXVnaHRlcnPigJ0sIOKAnG15IGNhcuKAnX5+CgoKCuKAnEhlIGJvdWdodCA1IG5ldyBzaGlydHMg ZnJvbSBNYXJrIGZvciBqdXN0IHR3byBodW5kcmVkIGV1cm8h4oCdCgoKCkFuc3dlcjogfn5ncmV5 LGdyZXk6c2VsYnJpOiDigJxib3VnaHQgKGZyb20pIChmb3Ip4oCdIHN1bXRpOiDigJxIZeKAnSwg 4oCcNSBuZXcgc2hpcnRz4oCdLCDigJxNYXJr4oCdIGFuZCDigJx0d28gaHVuZHJlZCBldXJvc+KA nX5+CgoKClNpbmNlIHRoZXNlIGNvbmNlcHRzIGFyZSBzbyBmdW5kYW1lbnRhbCB0byBMb2piYW4s IGxldCdzIGhhdmUgYSB0aGlyZCBleGFtcGxlOiDigJxTbyBmYXIsIHRoZSBFUEEgaGFzIGRvbmUg bm90aGluZyBhYm91dCB0aGUgYW1vdW50IG9mIHN1bHBodXIgZGlveGlkZS7igJ0KCgoKQW5zd2Vy OiB+fmdyZXksZ3JleTpzZWxicmk6IOKAnGhhcyBkb25lIChhYm91dCnigJ0gc3VtdGk6IOKAnFRo ZSBFUEHigJ0sIOKAnG5vdGhpbmfigJ0gYW5kIOKAnHRoZSBhbW91bnQgb2Ygc3VscGh1ciBkaW94 aWRl4oCdfn4KCgoKTm93IHRyeSBiZWdpbiBtYWtpbmcgTG9qYmFuIGJyaWRpLiBGb3IgdGhpcyB5 b3Ugd2lsbCBuZWVkIHRvIHVzZSBzb21lIHdvcmRzLCB3aGljaCBjYW4gYWN0IGFzIHNlbGJyaToK CicnX19kdW5kYV9fJycgeDEgZ2l2ZXMgeDIgdG8geDMgKHdpdGhvdXQgcGF5bWVudCkKCicnX19w ZWx4dV9fJycgeDEgaXMgeWVsbG93CgonJ19femRhbmlfXycnIHgxIGlzIGEgaG9tZSBvZiB4MgoK CgpOb3RpY2UgdGhhdCB0aGVzZSB3b3JkcyBtZWFuaW5nIOKAnGdpdmXigJ0sIOKAnHllbGxvd+KA nSBhbmQg4oCcaG9tZeKAnSB3b3VsZCBiZSBjb25zaWRlcmVkIGEgdmVyYiwgYW4gYWRqZWN0aXZl IGFuZCBhIG5vdW4gaW4gRW5nbGlzaC4gSW4gTG9qYmFuLCB0aGVyZSBhcmUgbm8gc3VjaCBjYXRl Z29yaWVzIGFuZCBubyBzdWNoIGRpc3RpbmN0aW9uLiAnJ2R1bmRhJycgY2FuIGJlIHRyYW5zbGF0 ZWQg4oCcZ2l2ZXPigJ0gKHZlcmIpLCDigJxpcyBhIGdpdmVy4oCdIChub3VuKSwg4oCcaXMgZ2l2 aW5n4oCdIChhZGplY3RpdmUpIGFzIHdlbGwgYXMgdG8gYW4gYWR2ZXJiIGZvcm0uIFRoZXkgYWxs IGFjdCBhcyBzZWxicmksIGFuZCBhcmUgdXNlZCBpbiB0aGUgc2FtZSB3YXkuCgoKCkFzIHdlbGwg YXMgYSBmZXcgd29yZHMsIHdoaWNoIGNhbiBhY3QgYXMgc3VtdGk6CgonJ19fbWlfXycnIOKAnEni gJ0gb3Ig4oCcd2XigJ0g4oCTIHRoZSBvbmUgb3IgdGhvc2Ugd2hvIGFyZSBzcGVha2luZy4KCicn X190aV9fJycg4oCcdGhpc+KAnSDigJMgYSBjbG9zZSB0aGluZyBvciBldmVudCBuZWFyYnkgd2hp Y2ggY2FuIGJlIHBvaW50ZWQgdG8gYnkgdGhlIHNwZWFrZXIuCgonJ19fZG9fXycnIOKAnHlvdeKA nSDigJMgdGhlIG9uZSBvciB0aG9zZSB3aG8gYXJlIGJlaW5nIHNwb2tlbiB0by4KCgoKU2VlIHRo ZSBzdHJhbmdlIHRyYW5zbGF0aW9ucyBvZiB0aGUgc2VsYnJpIGFib3ZlIC0gZXNwZWNpYWxseSB0 aGUgeDEsIHgyIGFuZCB4Mz8gVGhvc2UgYXJlIGNhbGxlZCBzdW10aSBwbGFjZXMuIFRoZXkgYXJl IHBsYWNlcyB3aGVyZSBzdW10aSBjYW4gZ28gdG8gZmlsbCBhIGJyaWRpLiBGaWxsaW5nIGEgc3Vt dGkgaW4gYSBwbGFjZSBzdGF0ZXMgdGhhdCB0aGUgc3VtdGkgZml0cyBpbiB0aGF0IHBsYWNlLiBU aGUgc2Vjb25kIHBsYWNlIG9mICcnZHVuZGEnJywgZm9yIGV4YW1wbGUsIHgyLCBpcyB0aGUgdGhp bmcgYmVpbmcgZ2l2ZW4uIFRoZSB0aGlyZCBpcyB0aGUgb2JqZWN0IHdoaWNoIHJlY2VpdmVzIHRo ZSB0aGluZy4gTm90aWNlIGFsc28gdGhhdCB0aGUgdHJhbnNsYXRpb24gb2YgJydkdW5kYScnIGhh cyB0aGUgd29yZCDigJx0b+KAnSBpbiBpdC4gVGhpcyBpcyBiZWNhdXNlLCB3aGlsZSB0aGlzIHdv cmQgaXMgbmVlZGVkIGluIEVuZ2xpc2ggdG8gc2lnbmlmeSB0aGUgcmVjZWl2ZXIsIHRoZSByZWNl aXZlciBpcyBpbiB0aGUgdGhpcmQgc3VtdGkgcGxhY2Ugb2YgJydkdW5kYScnLiBTbyB3aGVuIHlv dSBmaWxsIHRoZSB0aGlyZCBzdW10aSBwbGFjZSBvZiAnJ2R1bmRhJycsIHRoZSBzdW10aSB5b3Ug ZmlsbCBpbiBpcyBhbHdheXMgdGhlIHJlY2VpdmVyLCBhbmQgeW91IGRvbid0IG5lZWQgYW4gZXF1 aXZhbGVudCB0byB0aGUgd29yZCDigJx0b+KAnSEKCgoKVG8gc2F5IGEgYnJpZGksIHlvdSBzaW1w bHkgc2F5IHRoZSB4MSBzdW10aSBmaXJzdCwgdGhlbiB0aGUgc2VsYnJpLCB0aGVuIGFueSBvdGhl ciBzdW10aS4KClVzdWFsIGJyaWRpOiB7eDEgc3VtdGl9IF9fe3NlbGJyaX1fXyB7eDIgc3VtdGl9 IHt4MyBzdW10aX0ge3g0IHN1bXRpfSB7eDUgc3VtdGl9IHthbmQgc28gb259CgpUaGUgb3JkZXIg Y2FuIGJlIHBsYXllZCBhcm91bmQgd2l0aCwgYnV0IGZvciBub3csIHdlIHN0aWNrIHdpdGggdGhl IHVzdWFsIGZvcm0uIFRvIHNheSDigJxJIGdpdmUgdGhpcyB0byB5b3XigJ0geW91IGp1c3Qgc2F5 ICcnbWkgZHVuZGEgdGkgZG8nJywgd2l0aCB0aGUgdGhyZWUgc3VtdGkgYXQgdGhlIHJpZ2h0IHBs YWNlcy4KCgoKU28sIGhvdyB3b3VsZCB5b3Ugc2F5IOKAnFRoaXMgaXMgYSBob21lIG9mIG1l4oCd PwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicndGkgemRhbmkgbWknJ35+CgoKClRyeSBhIGZldyBt b3JlIGluIG9yZGVyIHRvIGdldCB0aGUgaWRlYSBvZiBhIHBsYWNlIHN0cnVjdHVyZSBzaW5rIGlu LgoKCgrigJxZb3UgZ2l2ZSB0aGlzIHRvIG1l4oCdPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5Oicn ZG8gZHVuZGEgdGkgbWknJ35+CgoKCkFuZCB0cmFuc2xhdGUgJyd0aSBwZWx4dScnCgoKCkFuc3dl cjogfn5ncmV5LGdyZXk64oCcVGhpcyBpcyB5ZWxsb3cu4oCdfn4KCgoKUXVpdGUgZWFzeSBvbmNl IHlvdSBnZXQgdGhlIGhhbmcgb2YgaXQsIHJpZ2h0PwoKCgpNdWx0aXBsZSBicmlkaSBhZnRlciBl YWNoIG90aGVyIGFyZSBzZXBhcmF0ZWQgYnkgJycuaScnIFRoaXMgaXMgdGhlIExvamJhbiBlcXVp dmFsZW50IG9mIGZ1bGwgc3RvcCwgYnV0IGl0IHVzdWFsbHkgZ29lcyBiZWZvcmUgYnJpZGkgaW5z dGVhZCBvZiBhZnRlciB0aGVtLiBJdCdzIG9mdGVuIGxlZnQgb3V0IGJlZm9yZSB0aGUgZmlyc3Qg YnJpZGksIHRob3VnaCwgYXMgaW4gYWxsIHRoZXNlIGV4YW1wbGVzOgoKJydfXy5pX18nJyBTZW50 ZW5jZSBzZXBhcmF0b3IuIFNlcGFyYXRlcyBhbnkgdHdvIGp1ZnJhIChhbmQgdGhlcmVmb3JlIGFs c28gYnJpZGkpLgoKCgonJ3RpIHpkYW5pIG1pICAuaSB0aSBwZWx4dScnIOKAnVRoaXMgaXMgYSBo b21lIHRvIG1lLiBUaGlzIGlzIHllbGxvdy7igJ0KCgoKQmVmb3JlIHlvdSBtb3ZlIG9uIHRvIHRo ZSBuZXh0IGxlc3NvbiwgSSByZWNvbW1lbmQgdGhhdCB5b3UgdGFrZSBhIGJyZWFrIGZvciBhdCBs ZWFzdCBzZXZlbiBtaW51dGVzIHRvIGxldCB0aGUgaW5mb3JtYXRpb24gc2luayBpbi4KCgoKCgoh IUxvamJhbiBMZXNzb25zIOKAkyBsZXNzb24gdHdvIChGQSBhbmQgem8nZSkKCk1vc3Qgc2VsYnJp IGhhdmUgZnJvbSBvbmUgdG8gZml2ZSBzdW10aSBwbGFjZXMsIGJ1dCBzb21lIGhhdmUgbW9yZS4g SGVyZSBpcyBhIHNlbGJyaSB3aXRoIGZvdXIgc3VtdGkgcGxhY2VzOgoKJydfX3ZlY251X18nJyB4 MSBzZWxscyB4MiB0byB4MyBmb3IgcHJpY2UgeDQKCgoKSWYgSSB3YW50IHRvIHNheSDigJxJIHNl bGwgdGhpc+KAnSwgaXQgd291bGQgYmUgdG9vIG11Y2ggdG8gaGF2ZSB0byBmaWxsIHRoZSBzdW10 aSBwbGFjZXMgeDMgYW5kIHg0LCB3aGljaCBzcGVjaWZ5IHdobyBJIHNlbGwgdGhlIHRoaW5nIHRv LCBhbmQgZm9yIHdoYXQgcHJpY2UuIEx1Y2tpbHksIEkgZG9uJ3QgbmVlZCB0by4gc3VtdGkgcGxh Y2VzIGNhbiBiZSBmaWxsZWQgd2l0aCAnJ3pvJ2UnJy4gJyd6bydlJycgaW5kaWNhdGVzIHRvIHVz IHRoYXQgdGhlIHZhbHVlIG9mIHRoZSBzdW10aSBwbGFjZSBpcyB1bnNwZWNpZmllZCBiZWNhdXNl IGl0J3MgdW5pbXBvcnRhbnQgb3IgY2FuIGJlIGRldGVybWluZWQgZnJvbSBjb250ZXh0LgoKJydf X3pvJ2VfXycnIOKAnHNvbWV0aGluZ+KAnSBGaWxscyBhIHN1bXRpIHBsYWNlIHdpdGggc29tZXRo aW5nLCBidXQgZG9lcyBub3Qgc3RhdGUgd2hhdC4KCgoKU28gdG8gc2F5IOKAnEkgc2VsbCB0byB5 b3XigJ0sIEkgY291bGQgc2F5ICcnbWkgdmVjbnUgem8nZSBkbyB6bydlJycg4oCTIEkgc2VsbCBz b21ldGhpbmcgdG8geW91IGZvciBzb21lIHByaWNlLgoKSG93IHdvdWxkIHlvdSBzYXk6IOKAnFRo YXQncyBhIGhvbWUgKGZvciBzb21lYm9keSnigJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6ICcn dGkgemRhbmkgem8nZScnfn4KCgoKSG93IGFib3V0IOKAnChzb21lb25lKSBnaXZlcyB0aGlzIHRv IChzb21lb25lKeKAnT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ3pvJ2UgZHVuZGEgdGkgem8n ZScnfn4KCgoKU3RpbGwsIGZpbGxpbmcgb3V0IHRocmVlIHpvJ2UganVzdCB0byBzYXkgdGhhdCBh IHRoaW5nIGlzIGJlaW5nIHNvbGQgdGFrZXMgdGltZS4gVGhlcmVmb3JlIHlvdSBkb24ndCBuZWVk IHRvIHdyaXRlIGFsbCB0aGUgJyd6bydlJycgaW4gYSBicmlkaS4gVGhlIHJ1bGUgc2ltcGx5IGlz IHRoYXQgaWYgeW91IGxlYXZlIG91dCBhbnkgc3VtdGksIHRoZXkgd2lsbCBiZSBjb25zaWRlcmVk IGFzIGlmIHRoZXkgY29udGFpbmVkICcnem8nZScnLiBJZiB0aGUgYnJpZGkgYmVnaW5zIHdpdGgg YSBzZWxicmksIHRoZSB4MSBpcyBwcmVzdW1lZCB0byBiZSBvbWl0dGVkIGFuZCBpdCBiZWNvbWVz ICcnem8nZScnLgoKVHJ5IGl0IG91dC4gV2hhdCdzIExvamJhbiBmb3Ig4oCcSSBzZWxs4oCdPwoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgdmVjbnUnJ35+CgoKCkFuZCB3aGF0IGRvZXMgJyd6 ZGFuaSBtaScnIG1lYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcU29tZXRoaW5nIGlzIGEg aG9tZSBvZiBtZeKAnSBvciBqdXN0IOKAnEkgaGF2ZSBhIGhvbWUu4oCdfn4KCgoKQXMgbWVudGlv bmVkIGVhcmxpZXIsIHRoZSBmb3JtIGRvZXNuJ3QgaGF2ZSB0byBiZSB7eDEgc3VtdGl9IHtzZWxi cml9IHt4MiBzdW10aX0ge3gzIHN1bXRpfSAoZWN0LikgSW4gZmFjdCwgeW91IGNhbiBwbGFjZSB0 aGUgc2VsYnJpIGFueXdoZXJlIHlvdSB3YW50LCBqdXN0IG5vdCBhdCB0aGUgYmVnaW5uaW5nIG9m IHRoZSBicmlkaS4gSWYgeW91IGRvIHRoYXQsIHRoZSB4MSBpcyBjb25zaWRlcmVkIGxlZnQgb3V0 IGFuZCBmaWxsZWQgd2l0aCAnJ3pvJ2UnJyBpbnN0ZWFkLiBTbyB0aGUgZm9sbG93aW5nIHRocmVl IGp1ZnJhIGFyZSBhbGwgdGhlIGV4YWN0bHkgc2FtZSBicmlkaToKCicnbWkgZHVuZGEgdGkgZG8n JwoKJydtaSB0aSBkdW5kYSBkbycnCgonJ21pIHRpIGRvIGR1bmRhJycKCgoKU29tZXRpbWVzIHRo aXMgaXMgdXNlZCBmb3IgcG9ldGljIGVmZmVjdC4g4oCcWW91IHNlbGwgeW91cnNlbGbigJ0gY291 bGQgYmUgJydkbyBkbyB2ZWNudScnLCB3aGljaCBzb3VuZHMgYmV0dGVyIHRoYW4gJydkbyB2ZWNu dSBkbycnLiBPciBpdCBjYW4gYmUgdXNlZCBmb3IgY2xhcml0eSBpZiB0aGUgc2VsYnJpIGlzIHZl cnkgbG9uZyBhbmQgdGhlcmVmb3JlIGJldHRlciBiZSBsZWZ0IGF0IHRoZSBlbmQgb2YgdGhlIGJy aWRpLgoKCgpUaGVyZSBhcmUgYWxzbyBzZXZlcmFsIHdheXMgdG8gcGxheSBhcm91bmQgd2l0aCB0 aGUgb3JkZXIgb2YgdGhlIHN1bXRpIGluc2lkZSB0aGUgYnJpZGkuIFRoZSBlYXNpZXN0IG9uZSBp cyBieSB1c2luZyB0aGUgd29yZHMgJydmYScnLCAnJ2ZlJycsICcnZmknJywgJydmbycnIGFuZCAn J2Z1JycuIE5vdGljZSB0aGF0IHRoZSB2b3dlbHMgYXJlIHRoZSBmaXZlIHZvd2VscyBpbiB0aGUg TG9qYmFuIGFscGhhYmV0IGluIG9yZGVyLiBVc2luZyBvbmUgb2YgdGhlc2Ugd29yZHMgbWFya3Mg dGhhdCB0aGUgbmV4dCBzdW10aSB3aWxsIGZpbGwgdGhlIHgxLCB4MiwgeDMsIHg0IGFuZCB4NSBy ZXNwZWN0aXZlbHkuIFRoZSBuZXh0IHN1bXRpIGFmdGVyIHRoYXQgd2lsbCBiZSBwcmVzdW1lZCB0 byBmaWxsIGEgc2xvdCBvbmUgZ3JlYXRlciB0aGFuIHRoZSBwcmV2aW91cy4gVG8gdXNlIGFuIGV4 YW1wbGU6CgonJ2R1bmRhIGZhIGRvIGZlIHRpIGRvJycg4oCTIOKAnEdpdmluZyBieSB5b3Ugb2Yg dGhpcyB0aGluZyB0byB5b3XigJ0uICcnZmEnJyBtYXJrcyB0aGUgeDEsIHRoZSBnaXZlciwgd2hp Y2ggaXMgeW91LiAnJ2ZlJycgbWFya3MgdGhlIHRoaW5nIGJlaW5nIGdpdmVuLCB0aGUgeDIuIFN1 bXRpIGNvdW50aW5nIHRoZW4gY29udGludWVzIGZyb20gJydmZScnLCBtZWFuaW5nIHRoYXQgdGhl IGxhc3Qgc3VtdGkgZmlsbHMgeDMsIHRoZSBvYmplY3QgcmVjZWl2aW5nLgoKCgpBdHRlbXB0IHRv IHRyYW5zbGF0ZSB0aGUgZm9sbG93aW5nIHRocmVlIHNlbnRlbmNlczoKCgoKJydtaSB2ZWNudSBm byB0aSBmZSBkbycnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCdSSBzZWxsLCBmb3IgdGhlIHBy aWNlIG9mIHRoaXMsIHlvdeKAnS4gb3Ig4oCcSSBzZWxsIHlvdSBmb3IgdGhlIHByaWNlIG9mIHRo aXPigJ0gKHByb2JhYmx5IHBvaW50aW5nIHRvIGEgYnVuY2ggb2YgbW9uZXkpfn4KCgoKJyd6ZGFu aSBmZSB0aScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcVGhpcyBoYXMgYSBob21l4oCdLiBI ZXJlLCB0aGUgZmUgaXMgcmVkdW5kYW50Ln5+CgoKCicndmVjbnUgem8nZSBtaSB0aSBmYSBkbycn CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcWW91IHNlbGwgc29tZXRoaW5nIHRvIG1lIGZvciB0 aGlzIHByaWNl4oCdfn4KCgoKCgohIUxvamJhbiBMZXNzb25zIOKAkyBsZXNzb24gdGhyZWUgKHRh bnJ1IGFuZCBsbykKCkluIHRoaXMgbGVzc29uLCB5b3Ugd2lsbCBiZWNvbWUgZmFtaWxpYXIgd2l0 aCB0aGUgY29uY2VwdCBvZiBhICcndGFucnUnJy4gQSB0YW5ydSBpcyBmb3JtZWQgd2hlbiBhIHNl bGJyaSBpcyBwdXQgaW4gZnJvbnQgb2YgYW5vdGhlciBzZWxicmksIG1vZGlmeWluZyBpdHMgbWVh bmluZy4gQSB0YW5ydSBpcyBpdHNlbGYgYSBzZWxicmksIGFuZCBjYW4gY29tYmluZSB3aXRoIG90 aGVyIHNlbGJyaSBvciB0YW5ydSB0byBmb3JtIG1vcmUgY29tcGxleCB0YW5ydS4gVGh1cyAnJ3pk YW5pIHZlY251JycgaXMgYSB0YW5ydSwgYXMgd2VsbCBhcyAgJydwZWx4dSB6ZGFuaSB2ZWNudScn LCB3aGljaCBpcyBtYWRlIGZyb20gdGhlIHRhbnJ1ICcncGVseHUgemRhbmknJyBhbmQgdGhlIHNp bmdsZSBicml2bGEgd29yZCAnJ3ZlY251JycuIFRvIHVuZGVyc3RhbmQgdGhlIGNvbmNlcHQgb2Yg dGFucnUsIGNvbnNpZGVyIHRoZSBFbmdsaXNoIG5vdW4gY29tYmluYXRpb24g4oCcbGVtb24gdHJl ZeKAnS4gSWYgeW91IGRpZG4ndCBrbm93IHdoYXQgYSBsZW1vbiB0cmVlIHdhcywgYnV0IGhhZCBo ZWFyZCBhYm91dCBib3RoIGxlbW9ucyBhbmQgdHJlZXMsIHlvdSB3b3VsZCBub3QgYmUgYWJsZSB0 byBkZWR1Y2Ugd2hhdCBhIGxlbW9uIHRyZWUgd2FzLiBQZXJoYXBzIGEgbGVtb24tY29sb3JlZCB0 cmVlLCBvciBhIHRyZWUgc2hhcGVkIGxpa2UgYSBsZW1vbiwgb3IgYSB0cmVlIHdob3NlIGJhcmsg dGFzdGVzIGxpa2UgbGVtb24uIFRoZSBvbmx5IHRoaW5ncyB5b3UgY291bGQga25vdyBmb3Igc3Vy ZSB3b3VsZCBiZSB0aGF0IGl0IHdvdWxkIGJlIGEgdHJlZSwgYW5kIGl0IHdvdWxkIGJlIGxlbW9u LWxpa2UgaW4gc29tZSB3YXkuCgpBIHRhbnJ1IGlzIGNsb3NlbHkgYW5hbG9nb3VzIHRvIHRoaXMu IEl0IGNhbm5vdCBiZSBzYWlkIGV4YWN0bHkgd2hhdCBhICcnemRhbmkgdmVjbnUnJyBpcywgYnV0 IGl0IGNhbiBiZSBzYWlkIHRoYXQgaXQgaXMgZGVmaW5pdGVseSBhIHZlY251LCBhbmQgdGhhdCBp dCdzIHpkYW5pLWxpa2UgaW4gc29tZSB3YXkuIEFuZCBpdCBjb3VsZCBiZSB6ZGFuaS1saWtlIGlu IGFueSB3YXkuIEluIHRoZW9yeSwgbm8gbWF0dGVyIGhvdyBzaWxseSBvciBhYnN1cmQgdGhlIGNv bm5lY3Rpb24gdG8gemRhbmkgd2FzLCBpdCBjb3VsZCBzdGlsbCB0cnVseSBiZSBhICcnemRhbmkg dmVjbnUnJy4gSG93ZXZlciwgaXQgbXVzdCBhY3R1YWxseSBiZSBhIHZlY251IGluIHRoZSBvcmRp bmFyeSBzZW5zZSBpbiBvcmRlciBmb3IgdGhlIHRhbnJ1IHRvIGFwcGx5LiBZb3UgY291bGQgZ2xv c3MgJyd6ZGFuaSB2ZWNudScnIGFzIOKAnGhvbWUgc2VsbGVy4oCdLCBvciBldmVuIGJldHRlciBi dXQgd29yc2Ugc291bmRpbmcg4oCcYSBob21lLXR5cGUtb2Ygc2VsbGVy4oCdLiBUaGUgcGxhY2Ug c3RydWN0dXJlIG9mIGEgdGFucnUgaXMgYWx3YXlzIHRoYXQgb2YgdGhlIHJpZ2h0bW9zdCBzZWxi cmkuIEl0J3MgYWxzbyBzYWlkIHRoYXQgdGhlIGxlZnQgc2VsYnJpIG1vZGlmaWVzIHRoZSByaWdo dCBzZWxicmkuCgrigJxSZWFsbHk/4oCdLCB5b3UgYXNrLCBzY2VwdGljYWxseSwg4oCcSXQgZG9l c24ndCBtYXR0ZXIgaG93IHNpbGx5IHRoZSBjb25uZWN0aW9uIHRvIHRoZSBsZWZ0IHdvcmQgaW4g YSB0YW5ydSBpcywgaXQncyBzdGlsbCB0cnVlPyBTbyBJIGNvdWxkIGNhbGwgYWxsIHNlbGxlcnMg Zm9yICcnemRhbmkgdmVjbnUnJyBhbmQgdGhlbiBtYWtlIHVwIHNvbWUgc2lsbHkgZXhjdXNlIHdo eSBJIHRoaW5rIGl0J3MgemRhbmktbGlrZT/igJ0KCldlbGwgeWVzLCBidXQgdGhlbiB5b3UnZCBi ZSBhIGRpY2suIE9yIGF0IGxlYXN0IHlvdSdkIGJlIGludGVudGlvbmFsbHkgbWlzbGVhZGluZy4g SW4gZ2VuZXJhbCwgeW91IHNob3VsZCB1c2UgYSB0YW5ydSB3aGVuIGl0J3Mgb2J2aW91cyBob3cg dGhlIGxlZnQgd29yZCByZWxhdGVzIHRvIHRoZSByaWdodC4KCgoKQXR0ZW1wdCB0byB0cmFuc2xh dGUgdGhlIGZvbGxvd2luZzogJyd0aSBwZWx4dSB6ZGFuaSBkbycnCgoKCkFuc3dlcjogfn5ncmV5 LGdyZXk64oCcVGhhdCBpcyBhIHllbGxvdyBob21lIGZvciB5b3XigJ0gQWdhaW4sIHdlIGRvbid0 IGtub3cgaW4gd2hpY2ggd2F5IGl0J3MgeWVsbG93LiBQcm9iYWJseSBpdCdzIHBhaW50ZWQgeWVs bG93LCBidXQgd2UgZG9uJ3Qga25vdyBmb3Igc3VyZS5+fgoKCgonJ21pIHZlY251IGR1bmRhJycK CgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxJIHNlbGwtbGlrZSBnaXZl4oCdLiBXaGF0IGNhbiB0 aGF0IG1lYW4/IE5vIGlkZWEuIEl0IGNlcnRhaW5seSBkb2Vzbid0IG1lYW4gdGhhdCB5b3Ugc29s ZCBzb21ldGhpbmcsIHNpbmNlLCBieSBkZWZpbml0aW9uIG9mICcnZHVuZGEnJywgdGhlcmUgY2Fu IGJlIG5vIHBheW1lbnQgaW52b2x2ZWQuIEl0IGhhcyB0byBiZSBhIGdpdmVhd2F5LCBidXQgYmUg c2VsbC1saWtlIGluIHNvbWUgYXNwZWN0Ln5+CgoKCkFuZCBub3cgZm9yIHNvbWV0aGluZyBjb21w bGV0ZWx5IGRpZmZlcmVudC4gV2hhdCBpZiBJIHdhbnRlZCB0byBzYXkgSSBzb2xkIHRvIGEgR2Vy bWFuPwoKJydfX2RvdGNvX18nJyB4MSBpcyBHZXJtYW4vcmVmbGVjdHMgR2VybWFuIGN1bHR1cmUg aW4gYXNwZWN0IHgyCgoKCkkgY2FuJ3Qgc2F5ICcnbWkgdmVjbnUgem8nZSBkb3RjbycnIGJlY2F1 c2UgdGhhdCB3b3VsZCBsZWF2ZSB0d28gc2VsYnJpIGluIGEgYnJpZGksIHdoaWNoIGlzIG5vdCBw ZXJtaXR0ZWQuIEkgY291bGQgc2F5ICcnbWkgZG90Y28gdmVjbnUnJyBidXQgdGhhdCB3b3VsZCBi ZSB1bm5lY2Vzc2FyeSB2YWd1ZSAtIEkgY291bGQgc2VsbCBpbiBhIEdlcm1hbiB3YXkuIExpa2V3 aXNlLCBpZiBJIHdhbnQgdG8gc2F5IOKAnEkgYW0gZnJpZW5kcyB3aXRoIGFuIEFtZXJpY2Fu4oCd LCB3aGF0IHNob3VsZCBJIHNheT8KCicnX19wZW5kb19fJycgMXggaXMgYSBmcmllbmQgb2YgeDIK CicnX19tZXJrb19fJycgeDEgaXMgQW1lcmljYW4vcmVmbGVjdCBVUyBjdWx0dXJlIGluIGFzcGVj dCB4MgoKCgpBZ2FpbiwgdGhlIG9idmlvdXMgd291bGQgYmUgdG8gc2F5ICcnbWkgcGVuZG8gbWVy a28nJywgYnV0IHRoYXQgd291bGQgZm9ybSBhIHRhbnJ1LCBtZWFuaW5nIOKAnEkgYW0gZnJpZW5k LWxpa2UgQW1lcmljYW7igJ0sIHdoaWNoIGlzIHdyb25nLiBXaGF0IHdlIHJlYWxseSB3YW50IHRv IGlzIHRvIHRha2UgdGhlIHNlbGJyaSAnJ21lcmtvJycgYW5kIHRyYW5zZm9ybSBpdCBpbnRvIGEg c3VtdGkgc28gaXQgY2FuIGJlIHVzZWQgaW4gdGhlIHNlbGJyaSAnJ3BlbmRvJycuIFRoaXMgaXMg ZG9uZSBieSB0aGUgdHdvIHdvcmRzICcnbG8nJyBhbmQgJydrdScnLgoKX18nJ2xvJydfXyDigJMg Z2VuZXJpYyBiZWdpbiBjb252ZXJ0IHNlbGJyaSB0byBzdW10aSB3b3JkLiBFeHRyYWN0cyB4MSBv ZiBzZWxicmkgdG8gdXNlIGFzIHN1bXRpLgoKX18nJ2t1JydfXyDigJMgZW5kIGNvbnZlcnQgc2Vs YnJpIHRvIHN1bXRpIHByb2Nlc3MuCgoKCllvdSBzaW1wbHkgcGxhY2UgYSBzZWxicmkgYmV0d2Vl biB0aGVzZSB0d28gd29yZHMsIGFuZCBpdCB0YWtlcyBhbnl0aGluZyB0aGF0IGNhbiBmaWxsIHRo ZSB4MSBvZiB0aGF0IHNlbGJyaSBhbmQgdHVybnMgaXQgaW50byBhIHN1bXRpLgoKU28gZm9yIGlu c3RhbmNlLCB0aGUgdGhpbmdzIHRoYXQgY2FuIGZpbGwgemRhbmnigJhzIHgxIGFyZSBvbmx5IHRo aW5ncyB3aGljaCBhcmUgaG9tZXMgb2Ygc29tZWJvZHkuIFNvICcnbG8gemRhbmkga3UnJyBtZWFu cyDigJxhIGhvbWUgb3Igc29tZSBob21lcyBmb3Igc29tZWJvZHku4oCdIFNpbWlsYXJseSwgaWYg SSBzYXkgdGhhdCBzb21ldGhpbmcgaXMgcGVseHUsIGl0IG1lYW5zIGl0J3MgeWVsbG93LiBTbyAn J2xvIHBlbHh1IGt1JycgcmVmZXJzIHRvIHNvbWV0aGluZyB5ZWxsb3cuCgoKCk5vdyB5b3UgaGF2 ZSB0aGUgbmVjZXNzYXJ5IGdyYW1tYXIgdG8gYmUgYWJsZSB0byBzYXkg4oCcSSBhbSBmcmllbmRz IHdpdGggYW4gQW1lcmljYW4u4oCdIEhvdz8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIHBl bmRvIGxvIG1lcmtvIGt1Jyd+fgoKCgpUaGVyZSBpcyBhIGdvb2QgcmVhc29uIHdoeSB0aGUgJydr dScnIGlzIG5lY2Vzc2FyeS4gVHJ5IHRvIHRyYW5zbGF0ZSDigJxBIEdlcm1hbiBzZWxscyB0aGlz IHRvIG1l4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydsbyBkb3RjbyBrdSB2ZWNudSB0aSBt aScnIElmIHlvdSBsZWF2ZSBvdXQgdGhlIGt1LCB5b3UgZG8gbm90IGdldCBhIGJyaWRpLCBidXQg c2ltcGx5IHRocmVlIHN1bXRpLiBTaW5jZSBsb+KApmt1IGNhbm5vdCBjb252ZXJ0IGJyaWRpLCB0 aGUgdGkgaXMgZm9yY2VkIG91dHNpZGUgdGhlIHN1bXRpLCB0aGUgbG8tY29uc3RydWN0IGlzIGZv cmNlZCB0byBjbG9zZSBhbmQgaXQgc2ltcGx5IGJlY29tZXMgdGhlIHRocmVlIHN1bXRpIG9mICcn bG8gZG90Y28gdmVjbnUge2t1fScnLCAnJ3RpJycgYW5kICcnbWknJy5+fgoKCgpZb3UgYWx3YXlz IGhhdmUgdG8gYmUgY2FyZWZ1bCB3aXRoIGp1ZnJhIGxpa2UgJydsbyB6ZGFuaSBrdSBwZWx4dScn LiBJZiB0aGUgJydrdScnIGlzIGxlZnQgb3V0IHRoZSBjb252ZXJzaW9uIHByb2Nlc3MgZG9lcyBu b3QgZW5kLCBhbmQgaXQgc2ltcGx5IGJlY29tZXMgb25lIHN1bXRpLCBtYWRlIGZyb20gdGhlIHRh bnJ1ICcnemRhbmkgcGVseHUnJyBhbmQgdGhlbiBjb252ZXJ0ZWQgd2l0aCAnJ2xvJycuCgoKCgoK ISFMb2piYW4gTGVzc29ucyDigJMgbGVzc29uIGZvdXIgKGF0dGl0dWRpbmFscykKCkFub3RoZXIg Y29uY2VwdCB3aGljaCBjYW4gYmUgdW5mYW1pbGlhciB0byBFbmdsaXNoIHNwZWFrZXJzIGlzIHRo YXQgb2YgYXR0aXR1ZGluYWxzLiBBdHRpdHVkaW5hbHMgYXJlIHdvcmRzIHRoYXQgZXhwcmVzcyBl bW90aW9ucyBkaXJlY3RseS4gVGhlIGlkZWEgb2YgYXR0aXR1ZGluYWxzIG9yaWdpbmF0ZWQgaW4g dGhlIGZlbWluaXN0IGNvbnN0cnVjdGVkIGxhbmd1YWdlIExhZGFuLCBzdXBwb3NlZGx5IHRvIGVu YWJsZSB0cnVlIGZlbWFsZSBlbW90aW9ucy4gVGhlIGlkZWEgd2FzIHRoYXQgZmVtYWxlIGVtb3Rp b25hbCBleHByZXNzaW9uIHdhcyBoaW5kZXJlZCBieSBtYWxlIGRvbWluYXRlZCBsYW5ndWFnZSwg YW5kIGlmIG9ubHkgdGhleSB3ZXJlIGFibGUgdG8gYmUgZXhwcmVzc2VkIG1vcmUgZnJlZWx5LCB0 aGlzIHdvdWxkIGVtcG93ZXIgd29tZW4gdGhyb3VnaCBsaWJlcmF0aW9uIG9mIHRoZSBsYW5ndWFn ZS4KCkluIExvamJhbiwgdGhlcmUgaXMgbm8gc3VjaCBhZ2VuZGEsIGFuZCBhdHRpdHVkaW5hbHMg bW9zdCBwcm9iYWJseSBoYXZlIGJlZW4gZGVzaWduZWQgaW50byB0aGUgbGFuZ3VhZ2UgYmVjYXVz ZSB0aGV5IHR1cm5lZCBvdXQgdG8gYmUgaW5jcmVkaWJseSBhd2Vzb21lIGFuZCB1c2VmdWwuIFRo ZXkgYWxsIGhhdmUgYSBzby1jYWxsZWQgZnJlZSBncmFtbWFyLCB3aGljaCBtZWFucyB0aGF0IHRo ZXkgY2FuIGFwcGVhciBhbG1vc3QgYW55d2hlcmUgd2l0aGluIGJyaWRpIHdpdGhvdXQgZGlzcnVw dGluZyB0aGUgYnJpZGkncyBncmFtbWFyIG9yIGFueSBncmFtbWF0aWNhbCBjb25zdHJ1Y3RzLgoK SW4gTG9qYmFuIGdyYW1tYXIsIGFuIGF0dGl0dWRpbmFsIGFwcGxpZXMgdG8gdGhlIHByZXZpb3Vz IHdvcmQuIElmIHRoYXQgcHJldmlvdXMgd29yZCBpcyBhIHdvcmQgd2hpY2ggYmVnaW5zIGEgY29u c3RydWN0IChsaWtlICcnLmknJyBvciAnJ2xvJycpLCBpdCBhcHBsaWVzIHRvIHRoZSBlbnRpcmUg Y29uc3RydWN0LiBMaWtld2lzZSwgaWYgdGhlIGF0dGl0dWRpbmFsIGZvbGxvd3MgYSB3b3JkIHdo aWNoIGVuZHMgYSBjb25zdHJ1Y3QgbGlrZSAnJ2t1JycsIGl0IGFwcGxpZXMgdG8gdGhlIGVuZGVk IGNvbnN0cnVjdC4KCgoKTGV0J3MgaGF2ZSB0d28gYXR0aXR1ZGluYWxzIHRvIG1ha2Ugc29tZSBl eGFtcGxlczoKCl9fJycudWknJ19fOiBhdHRpdHVkaW5hbDogc2ltcGxlIHB1cmUgZW1vdGlvbjog aGFwcGluZXNzIC0gdW5oYXBwaW5lc3MKCl9fJyd6YSdhJydfXzogYXR0aXR1ZGluYWw6IGV2aWRl bnRpYWw6IEkgZGlyZWN0bHkgb2JzZXJ2ZQoKCgpOb3RlIHRoYXQgaW4gdGhlIGRlZmluaXRpb24g b2YgJycudWknJywgdGhlcmUgYXJlIGxpc3RlZCB0d28gZW1vdGlvbnMsIGhhcHBpbmVzcyBhbmQg dW5oYXBwaW5lc3MuIFRoaXMgbWVhbnMgdGhhdCAnJy51aScnIGlzIGRlZmluZWQgYXMgaGFwcGlu ZXNzLCB3aGlsZSBpdHMg4oCcbmVnYXRpb27igJ0sIG1lYW5zIHVuaGFwcGluZXNzLiDigJxOZWdh dGlvbuKAnSBtaWdodCBiZSB0aGUgd3Jvbmcgd29yZCBoZXJlLiBUZWNobmljYWxseSwgdGhlIG90 aGVyIGRlZmluaXRpb24gb2YgJycudWknJyBpcyBhbm90aGVyIGNvbnN0cnVjdCwgJycudWkgbmFp JycuIE1vc3Qgb2YgdGhlIHRpbWUsIHRoZSBzZWNvbmQgZGVmaW5pdGlvbiBvZiBhdHRpdHVkaW5h bHMgLSB0aGUgb25lcyBzdWZmaXhlZCB3aXRoICcnbmFpJycgLSByZWFsbHkgaXMgdGhlIG5lZ2F0 aW9uIG9mIHRoZSBiYXJlIGF0dGl0dWRpbmFsLiBPdGhlciB0aW1lcywgbm90IHNvIG11Y2guCgpf XycnbmFpJydfXyBtaXNjLiBuZWdhdGlvbiAtIGF0dGFjaGVkIHRvIGF0dGl0dWRpbmFscywgaXQg Y2hhbmdlcyB0aGUgbWVhbmluZyBpbnRvIHRoZSBhdHRpdHVkaW5hbCdzICJuZWdhdGlvbiIKCgoK QW5kIHNvbWUgbW9yZSBzZWxicmksIGp1c3QgZm9yIHRoZSBoZWNrIG9mIGl0OgoKX18nJ2NpdGth JydfXyDigJMgeDEgZWF0cyB4MgoKX18nJ3BsaXNlJydfXyDigJMgeDEgaXMgYW4gYXBwbGUgb2Yg c3RyYWluL3R5cGUgeDIKCgoKVGhlIHNlbnRlbmNlICcnZG8gY2l0a2EgbG8gcGxpc2Uga3UgLnVp JycsIG1lYW5zIOKAnFlvdSBlYXQgYW4gYXBwbGUsIHlheSHigJ0gKGVzcGVjaWFsbHkgZXhwcmVz c2luZyB0aGF0IGl0IGlzIHRoZSBfX2FwcGxlX18gdGhhdCB0aGUgc3BlYWtlciBpcyBoYXBweSBh Ym91dCwgbm90IHRoZSBlYXRpbmcsIG9yIHRoZSBmYWN0IHRoYXQgaXQgd2FzIHlvdS4pIEluIHRo ZSBzZW50ZW5jZSAnJ2RvIHphJ2EgY2l0a2EgbG8gcGxpc2Uga3UnJywgdGhlIHNwZWFrZXIgZGly ZWN0bHkgb2JzZXJ2ZXMgdGhhdCBpdCBpcyBpbmRlZWQgdGhlIF9f4oCceW914oCdX18sIHdobyBl YXRzIGFuIGFwcGxlIGFzIG9wcG9zZWQgdG8gc29tZW9uZSBlbHNlLgoKCgpJZiBhbiBhdHRpdHVk aW5hbCBpcyBwbGFjZWQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgYnJpZGksIGl0IGlzIHVuZGVy c3Rvb2QgdG8gYXBwbHkgdG8gYW4gZXhwbGljaXQgb3IgaW1wbGljaXQgJycuaScnLCB0aHVzIGFw cGx5aW5nIHRvIHRoZSBlbnRpcmUgYnJpZGk6CgonJy51aSB6YSdhIGRvIGR1bmRhIGxvIHBsaXNl IGt1IG1pJycg4oCTIOKAnFlheSwgSSBvYnNlcnZlIHRoYXQgeW91IGdpdmUgYW4vc29tZSBhcHBs ZSB0byBtZSHigJ0KCgoKJydtaSB2ZWNudSAudWkgbmFpIGxvIHpkYW5pIGt1Jycg4oCcSSBzZWxs ICh3aGljaCBzdWNrcyEpIGEgaG9tZeKAnS4KCgoKVHJ5IGl0IG91dCB3aXRoIGEgZmV3IGV4YW1w bGVzLiBGaXJzdCwgdGhvdWdoLCBoZXJlIGFyZSBzb21lIG1vcmUgYXR0aXR1ZGluYWxzOgoKX18n Jy51J3UnJ19fIGF0dGl0dWRpbmFsOiBzaW1wbGUgcHVyZSBlbW90aW9uOiBndWlsdCAtIHJlbW9y c2VsZXNzbmVzcyAtIGlubm9jZW5jZS4KCl9fJycub2knJ19fIGF0dGl0dWRpbmFsOiBjb21wbGV4 IHB1cmUgZW1vdGlvbjogY29tcGxhaW50IC0gcGxlYXN1cmUuCgpfXycnLml1JydfXyBhdHRpdHVk aW5hbDogbWlzY2VsbGFuZW91cyBwdXJlIGVtb3Rpb246IGxvdmUgLSBoYXRlLgoKCgpMb29rIGF0 IHRoYXQsIGEgd29yZCB3aXRoIHRocmVlIGVtb3Rpb25zIGluIHRoZSBkZWZpbml0aW9uISBUaGUg bWlkZGxlIG9uZSBpcyBhY2Nlc3NlZCBieSBzdWZmaXhpbm5nIHdpdGggJydjdSdpJycuIEl0J3Mg Y29uc2lkZXJlZCB0aGUgbWlkcG9pbnQgb2YgdGhlIGVtb3Rpb24uCgpfXycnY3UnaScnX18gYXR0 aXR1ZGluYWwgbWlkcG9pbnQgc2NhbGFyOiBhdHRhY2ggdG8gYXR0aXR1ZGluYWwgdG8gY2hhbmdl IHRoZSBtZWFuaW5nIHRvIHRoZSAibWlkcG9pbnQiIG9mIHRoZSBlbW90aW9uLgoKCgpUcnkgc2F5 aW5nIOKAnEkgZ2l2ZSBzb21ldGhpbmcgdG8gYSBHZXJtYW4sIHdobyBJIGxvdmXigJ0KCgoKQW5z d2VyOiB+fmdyZXksZ3JleTonJ21pIGR1bmRhIGZpIGxvIGRvdGNvIGt1IC5pdScnIG9yICcnem8n ZScnIGluc3RlYWQgb2YgJydmaScnfn4KCgoKTm93IOKAnEFhaCwgSSBlYXQgYSB5ZWxsb3cgYXBw bGXigJ0KCkFuc3dlcjogfn5ncmV5LGdyZXk6Jycub2kgbmFpIG1pIGNpdGthIGxvIHBlbHh1IHBs aXNlIGt1Jyd+fgoKCgpMZXQncyBoYXZlIGFub3RoZXIgYXR0aXR1ZGluYWwgb2YgYSBkaWZmZXJl bnQga2luZCB0byBpbGx1c3RyYXRlIHNvbWV0aGluZyBwZWN1bGlhcjoKCicnLmVpJycgQXR0aXR1 ZGluYWw6IGNvbXBsZXggcHJvcG9zaXRpb25hbCBlbW90aW9uOiBvYmxpZ2F0aW9uIC0gZnJlZWRv bS4KCgoKU28sIHF1aXRlIGVhc3k6IOKAnEkgaGF2ZSB0byBnaXZlIHRoZSBhcHBsZSBhd2F54oCd IGlzICcnbWkgZHVuZGEgLmVpIGxvIHBsaXNlIGt1JycsIHJpZ2h0PyBJdCBpcywgYWN0dWFsbHkh IFdoZW4geW91IHRoaW5rIGFib3V0IGl0LCB0aGF0J3Mgd2VpcmQuIFdoeSBpcyBpdCB0aGF0IGFs bCB0aGUgb3RoZXIgYXR0aXR1ZGluYWxzIHdlIGhhdmUgc2VlbiBzbyBmYXIgZXhwcmVzc2VzIHRo ZSBzcGVha2VyJ3MgZmVlbGluZyBhYm91dCB0aGUgYnJpZGksIGJ1dCB0aGlzIG9uZSBhY3R1YWxs eSBjaGFuZ2VzIHdoYXQgdGhlIGJyaWRpIG1lYW5zPyBTdXJlbHksIGJ5IHNheWluZyDigJxJIGhh dmUgdG8gZ2l2ZSB0aGUgYXBwbGUgYXdheeKAnSwgd2Ugc2F5IG5vdGhpbmcgYWJvdXQgd2hldGhl ciB0aGUgYXBwbGUgYWN0dWFsbHkgaXMgYmVpbmcgZ2l2ZW4gYXdheS4gSWYgSSBoYWQgdXNlZCAn Jy51aScnLCBob3dldmVyLCBJIHdvdWxkIGFjdHVhbGx5IGhhdmUgc3RhdGVkIHRoYXQgSSBnYXZl IHRoZSBhcHBsZSBhd2F5LCBhbmQgdGhhdCBJIHdhcyBoYXBweSBhYm91dCBpdC4gV2hhdCdzIHRo YXQgYWxsIGFib3V0PwoKCgpUaGlzIGlzc3VlLCBleGFjdGx5IGhvdyBhdHRpdHVkaW5hbHMgY2hh bmdlIHRoZSBjb25kaXRpb25zIG9uIHdoaWNoIGEgYnJpZGkgaXMgdHJ1ZSwgaXMgYSBzdWJqZWN0 IG9mIGEgbWlub3IgZGViYXRlLiBUaGUgb2ZmaWNpYWwsIOKAnHRleHRib29r4oCdIHJ1bGUsIHdo aWNoIHByb2JhYmx5IHdvbid0IGJlIGNoYW5nZWQsIGlzIHRoYXQgdGhlcmUgaXMgYSBkaXN0aW5j dGlvbiBiZXR3ZWVuIOKAnHB1cmUgZW1vdGlvbnPigJ0gYW5kIOKAnHByb3Bvc2l0aW9uYWwgZW1v dGlvbnPigJ0uIE9ubHkgcHJvcG9zdGlvbmFsIGVtb3Rpb25zIGNhbiBjaGFuZ2UgdGhlIHRydXRo IGNvbmRpdGlvbnMsIHdoaWxlIHB1cmUgZW1vdGlvbnMgY2Fubm90LiBJbiBvcmRlciB0byBleHBy ZXNzIGEgcHJvcG9zaXRpb25hbCBlbW90aW9uYWwgYXR0aXR1ZGluYWwgd2l0aG91dCBjaGFuZ2lu ZyB0aGUgdHJ1dGggdmFsdWUgb2YgdGhlIGJyaWRpLCB5b3UgY2FuIGp1c3Qgc2VwYXJhdGUgaXQg ZnJvbSB0aGUgYnJpZGkgd2l0aCAnJy5pJycuIFRoZXJlIGlzIGFsc28gYSB3b3JkIGZvciBleHBs aWNpdGx5IGNvbnNlcnZpbmcgb3IgY2hhbmdpbmcgdGhlIHRydXRoIGNvbmRpdGlvbnMgb2YgYSBi cmlkaToKCgoKX18nJ2RhJ2knJ19fIGF0dGl0dWRpbmFsOiBkaXNjdXJzaXZlOiBzdXBwb3Npbmcg LSBpbiBmYWN0CgpTYXlpbmcgJydkYSdpJycgaW4gYSBicmlkaSBjaGFuZ2VzIHRoZSB0cnV0aCBj b25kaXRpb25zIHRvIGh5cG90aGV0aWNhbCwgd2hpY2ggaXMgdGhlIGRlZmF1bHQgdXNpbmcgcHJv cG9zaXRpb25hbCBhdHRpdHVkaW5hbHMuIFNheWluZyAnJ2RhJ2kgbmFpJycgY2hhbmdlcyB0aGUg dHJ1dGggY29uZGl0aW9uIHRvIHRoZSBub3JtYWwsIHdoaWNoIGlzIGRlZmF1bHQgdXNpbmcgcHVy ZSBhdHRpdHVkaW5hbHMuCgoKClNvLCB3aGF0J3MgdHdvIHdheXMgb2Ygc2F5aW5nIOKAnEkgZ2l2 ZSB0aGUgYXBwbGUgYXdheeKAnT8gKGFuZCBmZWVsIG9ibGlnYXRpb24gYWJvdXQgaXQpCgoKCkFu c3dlcjogfn5ncmV5LGdyZXk6JydtaSBkdW5kYSBsbyBwbGlzZSAuaSAuZWknJyAgYW5kICcnbWkg ZHVuZGEgZGEnaSBuYWkgLmVpIGxvIHBsaXNlJyd+fgoKCgpUaGUgZmVlbGluZyBvZiBhbiBhdHRp dHVkaW5hbCBjYW4gYmUgc3Vic2NyaWJlZCB0byBzb21lb25lIGVsc2UgdXNpbmcgJydkYWknJy4g VXN1YWxseSBpbiBvcmRpbmFyeSBzcGVlY2gsIHRoZSBhdHRpdHVkaW5hbCBpcyBzdWJzY3JpYmVk IHRvIHRoZSBsaXN0ZW5lciwgYnV0IGl0IGRvZXNuJ3QgaGF2ZSB0byBiZSBzby4gQWxzbywgYmVj YXVzZSB0aGUgd29yZCBpcyBnbG9zc2VkIOKAnGVtcGF0aHnigJ0gKGZlZWxpbmcgb3RoZXJzIGVt b3Rpb25zKSwgc29tZSBMb2piYW5pc3RzIG1pc3Rha2VubHkgdGhpbmsgdGhhdCB0aGUgc3BlYWtl ciBtdXN0IHNoYXJlIHRoZSBlbW90aW9uIGJlaW5nIHN1YnNjcmliZWQgdG8gb3RoZXJzLgoKX18n J2RhaScnX18gYXR0aXR1ZGluYWwgbW9kaWZ5ZXI6IEVtcGF0aHkgKHN1YnNjcmliZXMgYXR0aXR1 ZGluYWwgdG8gc29tZW9uZSBlbHNlLCB1bnNwZWNpZmllZCkKCkV4YW1wbGU6ICcndSdpIC5vaSBk YWkgY2l0a2EgdGknJyAtIOKAnEhhIGhhLCB0aGlzIHdhcyBlYXRlbiEgVGhhdCBtdXN0IGhhdmUg aHVydCHigJ0KCgoKV2hhdCBvZnRlbiB1c2VkIHBocmFzZSBjb3VsZCAnJy5vaSB1J2kgZGFpJycg bWVhbj8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxPdWNoLCB2ZXJ5IGZ1bm55LuKAnX5+CgoK CkFuZCBhbm90aGVyIG9uZSB0byB0ZXN0IHlvdXIga25vd2xlZGdlOiBUcnkgdG8gdHJhbnNsYXRl IOKAnEhlIHdhcyBzb3JyeSBoZSBzb2xkIGEgaG9tZeKAnSAocmVtZW1iZXJpbmcsIHRoYXQgdGVu c2UgaXMgaW1wbGllZCBhbmQgbmVlZCBub3QgYmUgc3BlY2lmaWVkLiBBbHNvLCDigJxoZeKAnSBj b3VsZCBiZSBvYnZpb3VzIGZyb20gY29udGV4dCkKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ3Un dSBkYWkgdmVjbnUgbG8gemRhbmkga3UnJ35+CgoKCkxhc3RseSwgdGhlIGludGVuc2l0eSBvZiBh biBhdHRpdHVkaW5hbCBjYW4gYmUgc3BlY2lmaWVkIHVzaW5nIGNlcnRhaW4gd29yZHMuIFRoZXNl IGNhbiBiZSB1c2VkIGFmdGVyIGFuIGF0dGl0dWRpbmFsLCBvciBhbiBhdHRpdHVkaW5hbCB3aXRo ICcnbmFpJycgb3IgJydjdSdpJycgc3VmZml4ZWQuIEl0J3MgbGVzcyBjbGVhciB3aGF0IGhhcHBl bnMgd2hlbiB5b3UgYXR0YWNoIGl0IHRvIG90aGVyIHdvcmRzLCBsaWtlIGEgc2VsYnJpLCBidXQg aXQncyBtb3N0bHkgdW5kZXJzdG9vZCBhcyBpbnRlbnNpZnlpbmcgb3Igd2Vha2VuaW5nIHRoZSBz ZWxicmkgaW4gc29tZSB1bnNwZWNpZmllZCB3YXk6Cgp8fCBNb2RpZnlpbmcgd29yZCAgfCBJbnRl bnNpdHkgIAoKIGNhaXwgICBFeHRyZW1lCgogc2FpfCAgIFN0cm9uZwoKIChub25lKXwgICBVbnNw ZWNpZmllZCAobWVkaXVtKQoKIHJ1J2UgIHwgICBXZWFrfHwKCgoKV2hhdCBlbW90aW9uIGlzIGV4 cHJlc3NlZCB1c2luZyAnJy51J2kgbmFpIHNhaScnID8KCl9fJycudSdpJydfXzogYXR0aXR1ZGlu YWw6IHNpbXBsZSBwdXJlIGVtb3Rpb246IGFtdXNlbWVudCAtIHdlYXJpbmVzcwoKCgpBbnN3ZXI6 IH5+Z3JleSxncmV5OlN0cm9uZyB3ZWFyaW5lc3N+fgoKCgpBbmQgaG93IHdvdWxkIHlvdSBleHBy ZXNzIHRoYXQgeW91IGFyZSBtaWxkbHkgcmVtb3JzZWxlc3M/CgoKCkFuc3dlcjogfn5ncmV5LGdy ZXk6JycudSd1IGN1J2kgcnUnZScnfn4KCgoKISFMb2piYW4gbGVzc29ucyDigJMgbGVzc29uIGZp dmUgKFNFKQoKQmVmb3JlIHdlIHZlbnR1cmUgaW50byB0aGUgdGVycml0b3J5IG9mIG1vcmUgY29t cGxleCBjb25zdHJ1Y3RzLCB5b3Ugc2hvdWxkIGxlYXJuIGFub3RoZXIgbWVjaGFuaXNtIGZvciBy ZW9yZGVyaW5nIHRoZSBzdW10aSBvZiBhIHNlbGJyaS4gVGhpcywgYXMgd2Ugd2lsbCBzaG93LCBp cyB2ZXJ5IHVzZWZ1bCBmb3IgbWFraW5nIGRlc2NyaXB0aW9uLWxpa2Ugc3VtdGkgKHRoZSBraW5k IG9mIHN1bXRpIHdpdGggJydsbycnKS4KCkNvbnNpZGVyIHRoZSBzZW50ZW5jZSDigJxJIGVhdCBh IGdpZnTigJ0sIHdoaWNoIG1pZ2h0IGJlIGFwcHJvcHJpYXRlIGlmIHRoYXQgZ2lmdCBpcyBhbiBh cHBsZS4gVG8gdHJhbnNsYXRlIHRoaXMsIGl0IHdvdWxkIHNlZW0gbmF0dXJhbCB0byBsb29rIHVw IGEgc2VsYnJpIG1lYW5pbmcg4oCcZ2lmdOKAnSBiZWZvcmUgY29udGludWluZy4gSG93ZXZlciwg aWYgb25lIGxvb2tzIGNhcmVmdWxseSBhdCB0aGUgZGVmaW5pdGlvbiBvZiAnJ2R1bmRhJycsIHgx IGdpdmVzIHgyIHRvIHgzLCBvbmUgcmVhbGl6ZXMgdGhhdCB0aGUgeDIgb2YgJydkdW5kYScnIGlz IHNvbWV0aGluZyBnaXZlbiDigJMgYSBnaWZ0LgoKU28sIHRvIGV4cHJlc3MgdGhhdCBzZW50ZW5j ZSwgd2UgY2FuJ3Qgc2F5ICcnbWkgY2l0a2EgbG8gZHVuZGEga3UnJywgYmVjYXVzZSAnJ2xvIGR1 bmRhIGt1Jycgd291bGQgYmUgdGhlIHgxIG9mICcnZHVuZGEnJywgd2hpY2ggaXMgYSBkb25vciBv ZiBhIGdpZnQuIENhbm5pYmFsaXNtIGFzaWRlLCB3ZSBkb24ndCB3YW50IHRvIHNheSB0aGF0LiBX aGF0IHdlIHdhbnQgaXMgYSB3YXkgdG8gZXh0cmFjdCB0aGUgeDIgb2YgYSBzZWxicmkuCgpUaGlz IGlzIG9uZSBleGFtcGxlIHdoZXJlIGl0IGlzIHVzZWZ1bCB0byB1c2UgdGhlIHdvcmQgJydzZScn LiBXaGF0ICcnc2UnJyBkb2VzIGlzIHRvIG1vZGlmeSBhIHNlbGJyaSBzdWNoIHRoYXQgdGhlIHgx IGFuZCB4MiBvZiB0aGF0IHNlbGJyaSB0cmFkZSBwbGFjZXMuIFRoZSBjb25zdHJ1Y3Qgb2YgJydz ZScnICsgc2VsYnJpIGlzIG9uIGl0cyBvd24gY29uc2lkZXJlZCBvbmUgc2VsYnJpLiBMZXQncyB0 cnkgd2l0aCBhbiBvcmRpbmFyeSBzZW50ZW5jZToKCl9fJydmYW52YScnX18gPSDigJx4MSB0cmFu c2xhdGVzIHgyIHRvIGxhbmd1YWdlIHgzIGZyb20gbGFuZ3VhZ2UgeDQgd2l0aCByZXN1bHQgb2Yg dHJhbnNsYXRpb24geDXigJ0KCicndGkgc2UgZmFudmEgbWknJyA9ICcnbWkgZmFudmEgdGknJwoK VGhpcyBpcyB0cmFuc2xhdGVkIGJ5IG1lICg9IEkgdHJhbnNsYXRlIHRoaXMpLiBPZnRlbiwgYnV0 IG5vdCBhbHdheXMsIGJyaWRpIHdpdGggJydzZScnLWNvbnN0cnVjdHMgYXJlIHRyYW5zbGF0ZWQg dG8gc2VudGVuY2VzIHdpdGggdGhlIHBhc3NpdmUgdm9pY2UsIHNpbmNlIHRoZSB4MSBpcyBvZnRl biB0aGUgb2JqZWN0IHRha2luZyBhY3Rpb24uCgonJ3NlJycgaGFzIGl0cyBvd24gZmFtaWx5IG9m IHdvcmRzLiBBbGwgb2YgdGhlbSBzd2FwIGEgZGlmZmVyZW50IHBsYWNlIHdpdGggdGhlIHgxLgoK fHxzZQl8c3dhcCB4MSBhbmQgeDIKCnRlCXxzd2FwIHgxIGFuZCB4MwoKdmUJfHN3YXAgeDEgYW5k IHg0Cgp4ZQl8c3dhcCB4MSBhbmQgeDV8fAoKTm90ZSB0aGF0IHMsIHQsIHYsIGFuZCB4IGFyZSBj b25zZWN1dGl2ZSBjb25zb25hbnRzIGluIHRoZSBsb2piYW4gYWxwaGFiZXQuCgoKClNvOiBVc2lu ZyB0aGlzIGtub3dsZWRnZSwgd2hhdCB3b3VsZCAnJ3RpIHhlIGZhbnZhIHRpJycgbWVhbj8KCgoK QW5zd2VyOiB+fmdyZXksZ3JleTrigJxUaGlzIGlzIGEgdHJhbnNsYXRpb24gb2YgdGhpc+KAnSAo b3IgJydmYW52YSB0aSBmdSB0aScnKX5+CgoKCicnc2UnJyBhbmQgaXRzIGZhbWlseSBjYW4gb2Yg Y291cnNlIGJlIGNvbWJpbmVkIHdpdGggJydmYScnIGFuZCBpdHMgZmFtaWx5LiBUaGUgcmVzdWx0 IGNhbiBiZSB2ZXJ5IGNvbmZ1c2luZyBpbmRlZWQsIGlmIHlvdSB3aXNoIHRvIG1ha2UgaXQgc286 CgpfXycna2xhbWEnJ19fID0g4oCceDEgdHJhdmVscy9nb2VzIHRvIHgyIGZyb20geDMgdmlhIHg0 IHVzaW5nIHg1IGFzIHRyYW5zcG9ydGF0aW9uIGRldmljZeKAnQoKJydmdSBsbyB6ZGFuaSBrdSB0 ZSBrbGFtYSBmZSBkbyB0aSBmYSBtaScnID0gJydtaSB0ZSBrbGFtYSBkbyB0aSBsbyB6ZGFuaSBr dScnIGFuZCBzaW5jZSAnJ3RlJycgZXhjaGFuZ2VzIHgxIGFuZCB4MzogPSAnJ3RpIGtsYW1hIGRv IG1pIGxvIHpkYW5pIGt1JycKCuKAnFRoaXMgdHJhdmVscyB0byB5b3UgZnJvbSBtZSB2aWEgYSBo b21lLuKAnSBPZiBjb3Vyc2UsIG5vIG9uZSB3b3VsZCBtYWtlIHN1Y2ggYSBzZW50ZW5jZSBleGNl cHQgdG8gY29uZnVzZSBwZW9wbGUsIG9yIGNydWVsbHkgdG8gdGVzdCB0aGVpciB1bmRlcnN0YW5k aW5nIG9mIExvamJhbiBncmFtbWFyLgoKQW5kIHRodXMsIHdlIGhhdmUgY29tZSB0byB0aGUgcG9p bnQgd2hlcmUgd2UgY2FuIHNheSDigJxJIGVhdCBhIGdpZnQu4oCdLiBTaW1wbHkgZXhjaGFuZ2Ug dGhlIHN1bXRpIHBsYWNlcyBvZiAnJ2R1bmRhJycgdG8gZ2V0IHRoZSBnaWZ0IHRvIGJlIHgxLCB0 aGVuIGV4dHJhY3QgdGhpcyBuZXcgeDEgd2l0aCAnJ2xvJycuLi4nJ2t1JycuIFNvLCBob3cgd291 bGQgeW91IHNheSBpdD8KCk9uZSAocG9zc2libGUpIGFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBj aXRrYSBsbyBzZSBkdW5kYSBrdScnfn4KClRoaXMgc2hvd3Mgb25lIG9mIHRoZSBtYW55IHVzZXMg Zm9yICcnc2UnJyBhbmQgaXRzIGZhbWlseS4KCgoKCgohIUxvamJhbiBsZXNzb25zIOKAkyBsZXNz b24gc2l4IChhYnN0cmFjdGlvbnMpCgpTbyBmYXIgd2UgaGF2ZSBvbmx5IGV4cHJlc3NlZCBzaW5n bGUgc2VudGVuY2VzIG9uZSBhdCBhIHRpbWUuIFRvIGV4cHJlc3MgbW9yZSBjb21wbGV4IHRoaW5n cywgaG93ZXZlciwgeW91IG9mdGVuIG5lZWQgc3Vib3JkaW5hdGUgc2VudGVuY2VzLiBMdWNraWx5 LCB0aGVzZSBhcmUgbXVjaCBlYXNpZXIgaW4gTG9qYmFuIHRoYW4gd2hhdCBvbmUgd291bGQgZXhw ZWN0LgoKV2UgY2FuIGJlZ2luIHdpdGggYW4gZXhhbXBsZSB0byBkZW1vbnN0cmF0ZSB0aGlzOiDi gJxJIGFtIGhhcHB5IHRoYXQgeW91IGFyZSBteSBmcmllbmQu4oCdIEhlcmUsIHRoZSBtYWluIGJy aWRpIGlzIOKAnEkgYW0gaGFwcHkgdGhhdCBYLuKAnSwgYW5kIHRoZSBzdWItYnJpZGkgaXMg4oCc WW91IGFyZSBteSBmcmllbmQu4oCdIExvb2tpbmcgYXQgdGhlIGRlZmluaXRpb24gZm9yIOKAnGhh cHB54oCdLCB3aGljaCBpcyAnJ2dsZWtpJyc6CgpfXycnZ2xla2knJ19fIOKAnHgxIGlzIGhhcHB5 IGFib3V0IHgyIChldmVudC9zdGF0ZSnigJ0KCk9uZSBzZWVzIHRoYXQgdGhlIHgyIG5lZWRzIHRv IGJlIGFuIGV2ZW50IG9yIGEgc3RhdGUuIFRoaXMgaXMgbmF0dXJhbCwgYmVjYXVzZSBvbmUgY2Fu bm90IGJlIGhhcHB5IGFib3V0IGFuIG9iamVjdCBpbiBpdHNlbGYsIG9ubHkgYWJvdXQgc29tZSBz dGF0ZSB0aGUgb2JqZWN0IGlzIGluLiBCdXQgYWxhcyEgT25seSBicmlkaSBjYW4gZXhwcmVzcyBh IHN0YXRlIG9yIGFuIGV2ZW50LCBhbmQgb25seSBzdW10aSBjYW4gZmlsbCB0aGUgeDIgb2YgJydn bGVraScnIQoKQXMgeW91IG1pZ2h0IGhhdmUgZ3Vlc3NlZCwgdGhlcmUgaXMgYSBzb2x1dGlvbi4g VGhlIHdvcmRzICcnc3UndScnLi4uJydrZWknJyBpcyBhIGdlbmVyaWMg4oCcY29udmVydCBicmlk aSB0byBzZWxicmnigJ0gZnVuY3Rpb24sIGFuZCB3b3JrcyBqdXN0IGxpa2UgJydsbycn4oCmJydr dScnLgoKX18nJ3N1J3UnJ19fIHgxIGlzIGFuIGFic3RyYWN0aW9uIG9mIHticmlkaX0gb2YgdHlw ZSB4MgoKX18nJ2tlaScnX18gZW5kIGFic3RyYWN0aW9uCgoKCkV4YW1wbGU6CgpfXycnbWVsYmkn J19fIHgxIGlzIGJlYXV0aWZ1bCB0byB4Mi4KCl9fJydkYW5zdScnX18geDEgZGFuY2VzIHRvIGFj Y29tcGFuaW1lbnQvbXVzaWMvcmh5dGhtIHgyLgoKJydtZWxiaSBzdSd1IGRhbnN1IGtlaScnIC0g 4oCcQmVhdXRpZnVsIGRhbmNpbmfigJ0v4oCcQmVhdXRpZnVsIGRhbmNl4oCdCgoKCkl0J3MgdXN1 YWxseSBoYXJkIHRvIGZpbmQgZ29vZCB1c2VzIG9mIGEgYnJpZGkgYXMgYSBzZWxicmkuIEhvd2V2 ZXIsIHNpbmNlICcnc3UndSBCUklESSBrZWknJyBpcyBhIHNlbGJyaSwgb25lIGNhbiBjb252ZXJ0 IGl0IHRvIGEgc3VtdGkgdXNpbmcgJydsbycnLi4uJydrdScnLgoKTm93IHdlIGhhdmUgdGhlIGVx dWlwbWVudCB0byBleHByZXNzIOKAnEkgYW0gaGFwcHkgdGhhdCB5b3UgYXJlIG15IGZyaWVuZOKA nS4gVHJ5IGl0IG91dCEKCl9fJydwZW5kbycnX18g4oCceDEgaXMgYSBmcmllbmQgb2YgeDLigJ0K CgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGdsZWtpIGxvIHN1J3UgZG8gcGVuZG8gbWkga2Vp IGt1Jyd+fgoKCgpIb3dldmVyLCAnJ3N1J3UnJ+KApicna2VpJycgZG9lcyBub3Qgc2VlIG11Y2gg dXNlLiBQZW9wbGUgcHJlZmVyIHRvIHVzZSB0aGUgbW9yZSBzcGVjaWZpYyB3b3JkcyAnJ251Jyfi gKYnJ2tlaScnIGFuZCAnJ2R1J3UnJ+KApicna2VpJycuIFRoZXkgd29yayB0aGUgc2FtZSB3YXks IGJ1dCBtZWFuIHNvbWV0aGluZyBkaWZmZXJlbnQuICcnbnXigKZrZWknJyB0cmVhdHMgdGhlIGJy aWRpIGluIGJldHdlZW4gYXMgYW4gZXZlbnQgb3Igc3RhdGUsIGFuZCAnJ2R1J3XigKZrZWknJyB0 cmVhdHMgaXQgYXMgYW4gYWJzdHJhY3QgYnJpZGksIGZvciBleHByZXNzaW5nIHRoaW5ncyBsaWtl IGlkZWFzLCB0aG91Z2h0cyBvciB0cnV0aHMuIEFsbCB0aGVzZSB3b3JkcyAoZXhjZXB0ICcna2Vp JycpIGFyZSBjYWxsZWQgYWJzdHJhY3RvcnMuIFRoZXJlIGFyZSBtYW55IG9mIHRoZW0sIGFuZCBv bmx5IGZldyBhcmUgdXNlZCBtdWNoLiAnJ3N1J3XigKZrZWknJyBpcyBhIGdlbmVyYWwgYWJzdHJh Y3RvciwgYW5kIHdpbGwgd29yayBpbiBhbGwgY2FzZXMuCgoKClVzZSAnJ251JycgdG8gc2F5IOKA nEknbSBoYXBweSBhYm91dCB0YWxraW5nIHRvIHlvdS7igJ0KCl9fJyd0YXZsYScnX18geDEgdGFs a3MgdG8geDIgYWJvdXQgc3ViamVjdCB4MyBpbiBsYW5ndWFnZSB4NC4KCgoKQW5zd2VyOiB+fmdy ZXksZ3JleTonJ21pIGdsZWtpIGxvIG51IHRhdmxhIGRvIGtlaSBrdScnIChub3RpY2UgYm90aCB0 aGUgRW5nbGlzaCBhbmQgdGhlIExvamJhbiBpcyB2YWd1ZSBhcyB0byB3aG8gaXMgZG9pbmcgdGhl IHRhbGtpbmcpLn5+CgoKCk90aGVyIGltcG9ydGFudCBhYnN0cmFjdG9ycyBpbmNsdWRlOiAnJ2th Li4ua2VpJycgKHByb3BlcnR5L2FzcGVjdCBhYnN0cmFjdGlvbiksICcnc2knby4uLmtlaScnIChj b25jZXB0L2lkZWEgYWJzdHJhY3Rpb24pLCAnJ25pLi4ua2VpJycgKHF1YW50aXR5IGFic3RyYWN0 aW9uKSBhbW9uZyBvdGhlcnMuIFRoZSBtZWFuaW5ncyBvZiB0aGVzZSBpcyBhIGNvbXBsaWNhdGVk IG1hdHRlciwgYW5kIHdpbGwgYmUgZGlzY3Vzc2VkIG11Y2ggbGF0ZXIsIGluIGxlc3NvbiB0d2Vu dHktbmluZS4gRm9yIG5vdywgeW91J2xsIGhhdmUgdG8gZG8gd2l0aG91dCB0aGVtLgoKCgpJdCBp cyBpbXBvcnRhbnQgdG8gbm90aWNlIHRoYXQgc29tZSBhYnN0cmFjdG9ycyBoYXZlIHNldmVyYWwg c3VtdGkgcGxhY2VzLiBBcyBhbiBleGFtcGxlLCAnJ2R1J3UnJyBjYW4gYmUgbWVudGlvbmVkLiAn J2R1J3UnJyBpcyBkZWZpbmVkOgoKJydkdSd1JycgPSDigJxhYnN0cmFjdG9yLiB4MSBpcyB0aGUg cHJlZGljYXRlL2JyaWRpIG9mIHticmlkaX0gZXhwcmVzc2VkIGluIHNlbnRlbmNlIHgy4oCdLgoK VGhlIG90aGVyIHN1bXRpIHBsYWNlcyBiZXNpZGVzIHgxIGlzIHJhcmVseSB1c2VkLCBidXQgJyds byBzZSBkdSd1IHticmlkaX0ga2VpIGt1JycgaXMgc29tZXRpbWVzIHVzZWQgYXMgYSBzdW10aSBm b3IgaW5kaXJlY3QgcXVvdGF0aW9uOiDigJxJIHNhaWQgdGhhdCBJIHdhcyBnaXZlbiBhIGRvZ+KA nSBjYW4gYmUgd3JpdHRlbiAnJ21pIGN1c2t1IGxvIHNlIGR1J3UgbWkgdGUgZHVuZGEgbG8gZ2Vy a3Uga3Uga2VpIGt1JycsIGlmIHlvdSB3aWxsIHBhcmRvbiB0aGUgd2VpcmQgZXhhbXBsZS4KCl9f JydjdXNrdScnX18geDEgZXhwcmVzc2VzIHgyIHRvIHgzIHRocm91Z2ggbWVkaXVtIHg0CgpfXycn Z2Vya3UnJ19fIHgxIGlzIGEgZG9nIG9mIHJhY2UgeDIKCiEhTG9qYmFuIGxlc3NvbnMg4oCTIGxl c3NvbiBzZXZlbiAoTk9JKQoKV2hpbGUgd2UncmUgYXQgaXQsIHRoZXJlJ3MgYW5vdGhlciB0eXBl IG9mIHN1Ym9yZGluYXRlIGJyaWRpLiBUaGVzZSBhcmUgY2FsbGVkIHJlbGF0aXZlIGNsYXVzZXMu IFRoZXkgYXJlIHNlbnRlbmNlcyB3aGljaCBhZGQgc29tZSBkZXNjcmlwdGlvbiB0byBhIHN1bXRp LiBJbmRlZWQsIHRoZSDigJx3aGljaOKAnSBpbiB0aGUgcHJldmlvdXMgc2VudGVuY2UgbWFya2Vk IHRoZSBiZWdpbm5pbmcgb2YgYSByZWxhdGl2ZSBjbGF1c2UgaW4gRW5nbGlzaCBkZXNjcmliaW5n IHJlbGF0aXZlIGNsYXVzZXMuIEluIExvamJhbiwgdGhleSBjb21lIGluIHR3byBmbGF2b3JzLCBh bmQgaXQgbWlnaHQgYmUgd29ydGggZGlzdGluZ3Vpc2hpbmcgdGhlIHR3byBraW5kcyBiZWZvcmUg bGVhcm5pbmcgaG93IHRvIGV4cHJlc3MgdGhlbS4KClRoZSB0d28ga2luZHMgYXJlIGNhbGxlZCBy ZXN0cmljdGl2ZSBhbmQgbm9uLXJlc3RyaWN0aXZlIChvciBpbmNpZGVudGlhbCkgcmVsYXRpdmUg Y2xhdXNlcy4gQW4gZXhhbXBsZSB3b3VsZCBiZSBnb29kIGhlcmU6CgrigJxNeSBicm90aGVyLCB3 aG8gaXMgdHdvIG1ldGVycyB0YWxsLCBpcyBhIHBvbGl0aWNpYW4u4oCdIFRoaXMgY2FuIGJlIHVu ZGVyc3Rvb2QgaW4gdHdvIHdheXMuIEkgY291bGQgaGF2ZSBzZXZlcmFsIGJyb3RoZXJzLCBpbiB3 aGljaCBjYXNlIHNheWluZyBoZSBpcyB0d28gbWV0ZXJzIHRhbGwgd2lsbCBsZXQgeW91IGtub3cg d2hpY2ggYnJvdGhlciBJIGFtIHRhbGtpbmcgYWJvdXQuIE9yIEkgbWlnaHQgaGF2ZSBvbmx5IG9u ZSBicm90aGVyLCBpbiB3aGljaCBjYXNlIEkgYW0gc2ltcGx5IGdpdmluZyB5b3UgYWRkaXRpb25h bCBpbmZvcm1hdGlvbi4KCgoKSW4gRW5nbGlzaCBhcyB3ZWxsIGFzIExvamJhbiB3ZSBkaXN0aW5n dWlzaCBiZXR3ZWVuIHRoZXNlIHR3byBraW5kcyDigJMgdGhlIGZpcnN0IGludGVycHJldGF0aW9u IGlzIHJlc3RyaWN0aXZlIChzaW5jZSBpdCBoZWxwcyByZXN0cmljdCB0aGUgcG9zc2libGUgYnJv dGhlcnMgSSBtaWdodCBiZSB0YWxraW5nIGFib3V0KSwgdGhlIHNlY29uZCBub24tcmVzdHJpY3Rp dmUuIFdoZW4gc3BlYWtpbmcgRW5nbGlzaCwgY29udGV4dCBhbmQgdG9uZSBvZiB2b2ljZSAob3Ig aW4gd3JpdHRlbiBFbmdsaXNoLCBwdW5jdHVhdGlvbikgaGVscHMgdXMgZGlzdGluZ3Vpc2ggYmV0 d2VlbiB0aGVzZSB0d28sIGJ1dCBub3Qgc28gaW4gTG9qYmFuLiBMb2piYW4gdXNlcyB0aGUgY29u c3RydWN0cyAnJ3BvaeKApmt1J28nJyBhbmQgJydub2nigKZrdSdvJycgZm9yIHJlc3RyaWN0aXZl IGFuZCBub24tcmVzdHJpY3RpdmUgcmVsYXRpdmUgY2xhdXNlcywgcmVzcGVjdGl2ZWx5LgoKTGV0 J3MgaGF2ZSBhIExvamJhbmljIGV4YW1wbGUsIHdoaWNoIGNhbiBhbHNvIGV4cGxhaW4gb3VyIHN0 cmFuZ2UgZ2lmdC1lYXRpbmcgYmVoYXZpb3VyIGluIHRoZSBleGFtcGxlIGluIGxlc3NvbiBmaXZl OgoKX18nJ25vaScnX18gYmVnaW4gbm9uLXJlc3RyaWN0aXZlIHJlbGF0aXZlIGNsYXVzZSAoY2Fu IG9ubHkgYXR0YWNoIHRvIHN1bXRpKQoKX18nJ3BvaScnX18gYmVnaW4gcmVzdHJpY3RpdmUgcmVs YXRpdmUgY2xhdXNlIChjYW4gb25seSBhdHRhY2ggdG8gc3VtdGkpCgpfXycna3UnbycnX18gZW5k IHJlbGF0aXZlIGNsYXVzZQoKCgonJ21pIGNpdGthIGxvIHNlIGR1bmRhIGt1IHBvaSBwbGlzZSBr dSdvJycgPSDigJxJIGVhdCBhIGdpZnQgc3VjaCB0aGF0IChzb21ldGhpbmcgaXMpIGFuIGFwcGxl 4oCdLiAKCkhlcmUgdGhlICcncG9p4oCma3UnbycnIGlzIHBsYWNlZCBqdXN0IGFmdGVyICcnbG8g c2UgZHVuZGEga3UnJywgc28gaXQgYXBwbGllcyB0byB0aGUgZ2lmdC4gVG8gYmUgc3RyaWN0LCB0 aGUgcmVsYXRpdmUgY2xhdXNlIGRvZXMgbm90IHNwZWNpZnkgd2hhdCBpdCBpcywgd2hpY2ggaXMg YW4gYXBwbGUsIGJ1dCBzaW5jZSB0aGUgcmVsYXRpdmUgY2xhdXNlIGFwcGxpZXMgdG8gdGhlIGdp ZnQsIHdlIGNhbiBzYWZlbHkgYXNzdW1lIHRoYXQgaXQgbWVhbnMgdGhhdCB0aGUgZ2lmdCBpcyBh biBhcHBsZS4gQWZ0ZXIgYWxsLCBpbiB0aGUgY29udGV4dCBvZiBsZXNzb24gZml2ZSwgdGhpcyBz ZWVtcyByZWFzb25hYmxlLiBJZiB3ZSB3YW50IHRvIGJlIGFic29sdXRlbHkgc3VyZSB0aGF0IGl0 IGluZGVlZCB3YXMgdGhlIGdpZnQgdGhhdCB3YXMgYW4gYXBwbGUsIHdlIHVzZSB0aGUgd29yZCAn J2tlJ2EnJywgd2hpY2ggaXMgYSAnJ3N1bWthJ2knJyAoYSBMb2piYW4gcHJvbm91biwgbW9yZSBv biB0aGVtIGxhdGVyKSByZXByZXNlbnRpbmcgdGhlIHN1bXRpIHdoaWNoIHRoZSByZWxhdGl2ZSBj bGF1c2UgaXMgYXR0YWNoZWQgdG8uCgpfXycna2UnYScnX18gc3Vta2EnaTsgcmVmZXJzIHRvIHRo ZSBzdW10aSwgdG8gd2hpY2ggdGhlIHJlbGF0aXZlIGNsYXVzZSBpdCBhdHRhY2hlZC4KCgoKJycu dWkgbWkgY2l0a2EgbG8gc2UgZHVuZGEga3UgcG9pIGtlJ2EgcGxpc2Uga3UnbycnID0g4oCcWWF5 LCBJIGVhdCBhIGdpZnQgd2hpY2ggaXMgYW4gYXBwbGXigJ0uCgpUbyB1bmRlcmxpbmUgdGhlIGRp ZmZlcmVuY2UgYmV0d2VlbiByZXN0cmljdGl2ZSBhbmQgbm9uLXJlc3RyaWN0aXZlIHJlbGF0aXZl IGNsYXVzZXMsIGhlcmUncyBhbm90aGVyIGV4YW1wbGU6CgoKCl9fJydsb2pibycnX18g4oCceDEg cmVmbGVjdHMgTG9qYmFuaWMgY3VsdHVyZS9jb21tdW5pdHkgaXMgYXNwZWN0IHgyOyB4MSBpcyBM b2piYW5pYy7igJ0KCgoKJydtaSBub2kgbG9qYm8ga3UnbyBmYW52YSBmbyBsbyBsb2pibyBrdScn ID0g4oCcSSwgd2hvIGFtIGEgTG9qYmFuaWMsIHRyYW5zbGF0ZSBmcm9tIHNvbWUgTG9qYmFuaWMg bGFuZ3VhZ2Uu4oCdIEhlcmUsIHRoZXJlIGlzIG5vdCBtdWx0aXBsZSB0aGluZ3Mgd2hpY2ggJydt aScnIGNvdWxkIHJlZmVyIHRvLCBhbmQgdGhlIGZhY3QgdGhhdCBJIGFtIGxvamJhbmljIGlzIG1l cmVseSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIG5vdCBuZWVkZWQgdG8gaWRlbnRpZnkgbWUuIFRo ZXJlZm9yZSAnJ25vaeKApmt1J28nJyBpcyBhcHByb3ByaWF0ZS4KClNlZSBpZiB5b3UgY2FuIHRy YW5zbGF0ZSB0aGlzOiDigJxJIGZsaXJ0IHdpdGggYSBtYW4gd2hvIGlzIGJlYXV0aWZ1bC9oYW5k c29tZeKAnS4KCl9fJyduYW5tdScnX18g4oCceDEgaXMgYSBtYW7igJ0KCl9fJydtZWxiaScnX18g 4oCceDEgaXMgYmVhdXRpZnVsIHRvIHgyIGluIGFzcGVjdCAoa2EpIHgzIGJ5IHN0YW5kYXJkIHg0 4oCdCgpfXycnY2luamlrY2EnJ19fIOKAnHgxIGZsaXJ0cy9jb3VydHMgeDIsIGV4aGliaXRpbmcg c2V4dWFsaXR5IHgzIGJ5IHN0YW5kYXJkIHg04oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jydt aSBjaW5qaWtjYSBsbyBuYW5tdSBrdSBwb2kge2tlJ2F9IG1lbGJpIGt1J28nJ35+CgoKCk9uIGEg bW9yZSB0ZWNobmljYWwgc2lkZSBub3RlLCBpdCBtaWdodCBiZSB1c2VmdWwgdG8ga25vdyB0aGF0 ICcnbG8ge3NlbGJyaX0ga3UnJyBpcyBvZnRlbiBzZWVuIGRlZmluZWQgYXMgJyd6bydlIG5vaSBr ZSdhIHtzZWxicml9IGt1J28nJy4KCgoKCgohIUxvamJhbiBMZXNzb25zIOKAkyBMZXNzb24gZWln aHQgKHRlcm1pbmF0b3IgZWxpc2lvbikKCicnLmF1IGRhJ2kgbWkgZGppY2EgbG8gbnUgbGUgbWVy a28gcG9pIHR1bmJhIG1pIF9fdmF1IGt1J28ga3VfXyBqaW1wZSBsbyBkdSd1IG1pIG5hIG5lbGNp IGxvIG51IHZvJ2EgZGFyeGkgbWkgX192YXUga2VpIGt1IHZhdSBrZWkga3UgdmF1IGtlaSBrdSB2 YXVfXycnCgogLSAg4oCcSSB3aXNoIHRoZSBBbWVyaWNhbiwgd2hvIGlzIG15IHNpYmxpbmcsIHdv dWxkIHVuZGVyc3RhbmQgdGhhdCBJIGRvbid0IGxpa2UgdGhhdCBoZSBoaXRzIG1lLuKAnQoKUmVn YXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBhYm92ZSBzZW50ZW5jZSBpcyBiZWluZyB1bmRlcnN0b29k LCAoaXQgc2hvdWxkbid0LCBhcyBpdCBjb250YWlucyB3b3JkcyB3ZSBoYXZlIG5vdCBjb3ZlcmVk IGluIHRoZXNlIGxlc3NvbnMgeWV0KSBvbmUgdGhpbmcgc3RhbmRzIG91dDogQXMgbW9yZSBjb21w bGV4IExvamJhbiBzdHJ1Y3R1cmVzIGFyZSBsZWFybmVkLCBtb3JlIGFuZCBtb3JlIG9mIHRoZSBz ZW50ZW5jZXMgZ2V0IGZpbGxlZCB3aXRoICcna3UnJywgJydrZWknJywgJydrdSdvJycgYW5kIG90 aGVyIG9mIHRob3NlIHdvcmRzIHdoaWNoIGJ5IHRoZW1zZWx2ZXMgY2Fycnkgbm8gbWVhbmluZy4K CgoKVGhlIGZ1bmN0aW9uIG9mIGFsbCB0aGVzZSB3b3JkcyBpcyB0byBzaWduYWwgdGhlIGVuZCBv ZiBhIGNlcnRhaW4gZ3JhbW1hdGljYWwgY29uc3RydWN0LCBsaWtlIGZvciBpbnN0YW5jZSDigJxj b252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnSBpbiB0aGUgY2FzZSBvZiAnJ2t1JycuIFRoZSBFbmds aXNoIHdvcmQgZm9yIHRoaXMga2luZCBvZiB3b3JkIGlzIOKAnHRlcm1pbmF0b3LigJ0sIHRoZSBM b2piYW4gd29yZCBpcyAnJ2ZhJ29ybWEnbycnLiBUaGV5IGFyZSB3cml0dGVuIGluIGJvbGQgaW4g dGhlIGV4YW1wbGUgYWJvdmUuCgpOb3RlOiBUaGUgJyd2YXUnJyBpbiB0aGUgYWJvdmUgZXhhbXBs ZSBhcmUgdGhlIGZhJ29ybWEnbyBmb3Ig4oCcZW5kIGJyaWRp4oCdLiBUaGVyZSBpcyBhIGdvb2Qg cmVhc29uIHlvdSBoYXZlIG5vdCB5ZXQgc2VlbiBpdCwgc3RheSB0dW5lZC4KCl9fJyd2YXUnJ19f IGZhJ29ybWEnbzogVGVybWluYXRlcyBicmlkaS4KCgoKSW4gbW9zdCBzcG9rZW4gYW5kIHdyaXR0 ZW4gTG9qYmFuLCBtb3N0IGZhJ29ybWEnbyBhcmUgc2tpcHBlZCAoZWxpZGVkKS4gVGhpcyBncmVh dGx5IHNhdmVzIHN5bGxhYmxlcyBpbiBzcGVlY2ggYW5kIHNwYWNlIGluIHdyaXRpbmcsIGhvd2V2 ZXIsIG9uZSBtdXN0IGFsd2F5cyBiZSBjYXJlZnVsIHdoZW4gZWxpZGluZyBmYSdvcm1hJ28uIElu IHRoZSBzaW1wbGUgZXhhbXBsZSAnJ2xvIG1lcmtvIGt1IGtsYW1hJycsIHJlbW92aW5nIHRoZSBm YSdvcm1hJ28gJydrdScnIHdvdWxkIHlpZWxkICcnbG8gbWVya28ga2xhbWEnJywgd2hpY2ggaXMg YSBzaW5nbGUgc3VtdGkgbWFkZSBmcm9tIHRoZSB0YW5ydSAnJ21lcmtvIGtsYW1hJycuIFRodXMs IGl0IG1lYW5zIOKAnGFuIEFtZXJpY2FuIHRyYXZlbGVy4oCdIGluc3RlYWQgb2Yg4oCcYW4gQW1l cmljYW4gdHJhdmVsc+KAnS4gZmEnb3JtYSdvIGVsaXNpb24gY2FuIGxlYWQgdG8gdmVyeSB3cm9u ZyByZXN1bHRzIGlmIGRvbmUgaW5jb3JyZWN0bHksIHdoaWNoIGlzIHdoeSB5b3UgaGF2ZW4ndCBs ZWFybmVkIGFib3V0IGl0IHVudGlsIG5vdy4KCgoKVGhlIHJ1bGUgZm9yIHdoZW4gZmEnb3JtYSdv IGNhbiBiZSBlbGlkZWQgaXMgdmVyeSBzaW1wbGUsIGF0IGxlYXN0IGluIHRoZW9yeTog4oCcWW91 IGNhbiBlbGlkZSBhIGZhJ29ybWEnbywgX19pZiBhbmQgb25seSBpZl9fIGRvaW5nIHNvIGRvZXMg bm90IGNoYW5nZSB0aGUgZ3JhbW1hdGljYWwgY29uc3RydWN0cyBpbiB0aGUgc2VudGVuY2Uu4oCd CgpNb3N0IGZhJ29ybWEnbyBjYW4gYmUgc2FmZWx5IGVsaWRlZCBhdCB0aGUgZW5kIG9mIHRoZSBi cmlkaS4gRXhjZXB0aW9ucyBhcmUgdGhlIG9idmlvdXMgb25lcyBsaWtlIOKAnGVuZCBxdW90ZeKA nS1mYSdvcm1hJ28gYW5kIOKAnGVuZCBicmlkaSBncm91cGluZ+KAnS1mYSdvcm1hJ28uIFRoaXMg aXMgd2h5ICcndmF1JycgaXMgYWxtb3N0IG5ldmVyIHVzZWQg4oCTIHNpbXBseSBiZWdpbm5pbmcg YSBuZXcgYnJpZGkgd2l0aCAnJy5pJycgd2lsbCBhbG1vc3QgYWx3YXlzIHRlcm1pbmF0ZSB0aGUg cHJlY2VkaW5nIGJyaWRpIGFueXdheS4gSXQgaGFzIG9uZSBmcmVxdWVudCB1c2UsIGhvd2V2ZXIu IFNpbmNlIGF0dGl0dWRpbmFscyBhbHdheXMgYXBwbHkgdG8gdGhlIHByZWNlZGluZyB3b3JkLCBh cHBseWluZyBpdCB0byBhIGZhJ29ybWEnbyBhcHBsaWVzIGl0IHRvIHRoZSBlbnRpcmUgY29uc3Ry dWN0IHdoaWNoIGlzIHRlcm1pbmF0ZWQuIFVzaW5nICcndmF1JycsIG9uZSBjYW4gdGhlbiB1c2Ug YXR0aXR1ZGluYWxzIGFmdGVydGhvdWdodCBhbmQgYXBwbHkgdGhlbSB0byB0aGUgZW50aXJlIGJy aWRpOgoKJyd6YSdhIGRvIGR1bmRhIGxvIHpkYW5pIHtrdX0gbG8gcHJlbnUge2t1fS4uLiB2YXUg aSdlJycgLSDigJxJIHNlZSB0aGF0IHlvdSBnaXZlIGEgaG9tZSB0byBhIHBlcnNvbi4uLiBJIGFw cHJvdmUh4oCdCgpfXycncHJlbnUnJ19fIHgxIGlzIGEgcGVyc29uOyB4MSBoYXMgYSBwZXJzb25h bGl0eS4KCgoKS25vd2luZyB0aGUgYmFzaWMgcnVsZXMgZm9yIGZhJ29ybWEnbyBlbGlzaW9uLCB3 ZSBjYW4gdGh1cyByZXR1cm4gdG8gdGhlIG9yaWdpbmFsIHNlbnRlbmNlIGFuZCBiZWdpbiByZW1v dmluZyBmYSdvcm1hJ286CgoKCicnLmF1IGRhJ2kgbWkgZGppY2EgbG8gbnUgbGUgbWVya28gcG9p IHR1bmJhIG1pIF9fdmF1IGt1J28ga3VfXyBqaW1wZSBsbyBkdSd1IG1pIG5hIG5lbGNpIGxvIG51 IHZvJ2EgZGFyeGkgbWkgX192YXUga2VpIGt1IHZhdSBrZWkga3UgdmF1IGtlaSBrdSB2YXVfXycn CgoKCldlIGNhbiBzZWUgdGhhdCB0aGUgZmlyc3QgJyd2YXUnJyBpcyBncmFtbWF0aWNhbGx5IHVu bmVjZXNzYXJ5LCBiZWNhdXNlIHRoZSBuZXh0IG5vbi1mYSdvcm1hJ28td29yZCBpcyAnJ2ppbXBl JycsIHdoaWNoIGlzIGEgc2VsYnJpLiBTaW5jZSB0aGVyZSBjYW4gb25seSBiZSBvbmUgc2VsYnJp IHBlciBicmlkaSwgJyd2YXUnJyBpcyBub3QgbmVlZGVkLiBTaW5jZSAnJ2ppbXBlJycgYXMgYSBz ZWxicmkgY2Fubm90IGJlIGluIHRoZSByZWxhdGl2ZSBjbGF1c2UgZWl0aGVyIChvbmx5IG9uZSBi cmlkaSBpbiBhIGNsYXVzZSwgb25seSBvbmUgc2VsYnJpIGluIGVhY2ggYnJpZGkpLCB3ZSBjYW4g ZWxpZGUgJydrdSdvJycuIExpa2V3aXNlLCAnJ2ppbXBlJycgY2Fubm90IGJlIGEgc2Vjb25kIHNl bGJyaSBpbnNpZGUgdGhlIGNvbnN0cnVjdCAnJ2xlIG1lcmtvIHBvaXsuLi59JycsIHNvIHRoZSAn J2t1JycgaXMgbm90IG5lZWRlZCBlaXRoZXIuIEZ1cnRoZXJtb3JlLCBhbGwgdGhlIGZhJ29ybWEn byBhdCB0aGUgdmVyeSBlbmQgb2YgdGhlIHNlbnRlbmNlIGNhbiBiZSBlbGlkZWQgdG9vLCBzaW5j ZSBiZWdpbm5pbmcgYSBuZXcgYnJpZGkgd2lsbCB0ZXJtaW5hdGUgYWxsIG9mIHRoZXNlIGNvbnN0 cnVjdHMgYW55d2F5LgoKV2UgdGhlbiBlbmQgdXAgd2l0aDoKCicnLmF1IGRhJ2kgbWkgZGppY2Eg bG8gbnUgbGUgbWVya28gcG9pIHR1bmJhIG1pIGppbXBlIGxvIGR1J3UgbWkgbmEgbmVsY2kgbG8g bnUgdm8nYSBkYXJ4aSBtaScnIOKAkyB3aXRoIG5vIGZhJ29ybWEnbyBhdCBhbGwhCgoKCldoZW4g ZWxpZGluZyBmYSdvcm1hJ28sIGl0IGlzIGEgZ29vZCBpZGVhIHRvIGJlIGFjcXVhaW50ZWQgd2l0 aCAnJ2N1JycuICcnY3UnJyBpcyBvbmUgb2YgdGhvc2Ugd29yZHMgd2hpY2ggY2FuIG1ha2UgeW91 ciAoTG9qYmFuaWMpIGxpZmUgYSBsb3QgZWFzaWVyLiBXaGF0IGl0IGRvZXMgaXMgdG8gc2VwYXJh dGUgYW55IHByZXZpb3VzIHN1bXRpIGZyb20gdGhlIHNlbGJyaS4gT25lIGNvdWxkIHNheSB0aGF0 IGl0IGRlZmluZXMgdGhlIG5leHQgd29yZCB0byBiZSBhIHNlbGJyaSwgYW5kIHRlcm1pbmF0ZXMg ZXhhY3RseSBhcyBtdWNoIGFzIGl0IG5lZWRzIHRvIGluIG9yZGVyIHRvIGRvIHRoYXQuCgpfXycn Y3UnJ19fIGVsaWRhYmxlIG1hcmtlcjogc2VwYXJhdGVzIHNlbGJyaSBmcm9tIHByZWNlZGluZyBz dW10aSwgYWxsb3dzIHByZWNlZGluZyBmYSdvcm1hJ28gZWxpc2lvbi4KCgoKX18nJ3ByYW1pJydf XyA9IOKAnHgxIGxvdmVzIHgy4oCdCgoKCicnbG8gc3UndSBkbyBjdXNrdSBsbyBzZSBkdSd1IGRv IHByYW1pIG1pIF9fdmF1IGtlaSBrdSB2YXUga2VpIGt1X18gc2UgZGppY2EgbWknJyA9CgonJ2xv IHN1J3UgZG8gY3Vza3UgbG8gc2UgZHUndSBkbyBwcmFtaSBtaSBfX2N1X18gc2UgZGppY2EgbWkn JwoK4oCcVGhhdCB5b3Ugc2F5IHRoYXQgeW91IGxvdmUgbWUgaXMgZGVzaXJlZCBieSBiZeKAnSBv ciDigJxJIHdpc2ggeW91IHNhaWQgeW91IGxvdmVkIG1l4oCdCgpub3RlOiAnJ2N1JycgaXMgbm90 IGEgZmEnb3JtYSdvLCBiZWNhdXNlIGl0IGlzIG5vdCB0aWVkIHRvIG9uZSBzcGVjaWZpYyBjb25z dHJ1Y3QuIEJ1dCBpdCBjYW4gYmUgdXNlZCB0byBlbGlkZSBvdGhlciBmYSdvcm1hJ28uCgoKCk9u ZSBvZiB0aGUgZ3JlYXRlc3Qgc3RyZW5ndGhzIG9mICcnY3UnJyBpcyB0aGF0IGl0IHF1aWNrbHkg YmVjb21lcyBlYXN5IHRvIGludHVpdGl2ZWx5IHVuZGVyc3RhbmQuIEJ5IGl0c2VsZiBpdCBtZWFu cyBub3RoaW5nLCBidXQgaXQgcmV2ZWFscyB0aGUgc3RydWN0dXJlIG9mIExvamJhbiBleHByZXNz aW9ucyBieSBpZGVudGlmeWluZyB0aGUgY29yZSBzZWxicmkuIEluIHRoZSBvcmlnaW5hbCBleGFt cGxlIHdpdGggdGhlIHZpb2xlbnQgQW1lcmljYW4gYnJvdGhlciwgdXNpbmcgJydjdScnIGJlZm9y ZSAnJ2ppbXBlJycgZG9lcyBub3QgY2hhbmdlIHRoZSBtZWFuaW5nIG9mIHRoZSBzZW50ZW5jZSBp biBhbnkgd2F5LCBidXQgbWlnaHQgbWFrZSBpdCBlYXNpZXIgdG8gcmVhZC4KCgoKSW4gdGhlIGZv bGxvd2luZyBjb3VwbGUgb2YgbGVzc29ucywgJydjdScnIHdpbGwgYmUgdXNlZCB3aGVuIG5lY2Vz c2FyeSwgYW5kIGFsbCBmYSdvcm1hJ28gZWxpZGVkIGlmIHBvc3NpYmxlLiBUaGUgZWxpZGVkIGZh J29ybWEnbyB3aWxsIGJlIGVuY2FzZWQgaW4gY3VybHkgYnJhY2tldHMsIGFzIHNob3duIGJlbG93 LiBUcnkgdG8gdHJhbnNsYXRlIGl0IQoKX18nJ3Zham5pJydfXyDigJx4MSBpcyBpbXBvcnRhbnQg dG8geDIgZm9yIHJlYXNvbiB4M+KAnQoKX18nJ2ppbXBlJydfXyDigJx4MSB1bmRlcnN0YW5kcyB0 aGF0IHgyIChkdSd1LWFic3RyYWN0aW9uKSBpcyB0cnVlIGFib3V0IHgz4oCdCgpfXycnYSdvJydf XyAtIEF0dGl0dWRpbmFsOiBTaW1wbGUgcHJvcG9zaXRpb25hbCBlbW90aW9uOiBIb3BlIC0gZGVz cGFpcgoKCgonJ2EnbyBkbyBub2kga2UnYSBsb2pibyAuaSdlIHtrdSdvfSB7a3V9IGN1IGppbXBl IGxvIGR1J3UgbG8gZmEnb3JtYSdvIHtrdX0gY3UgdmFqbmkge3ZhdX0ge2tlaX0ge2t1fSB7dmF1 fScnCgpXaGF0IGRvIEkgc3RhdGU/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcSSBob3BlIHRo YXQgeW91LCBhIHByb3VkIExvamJhbmlzdCwgdW5kZXJzdGFuZHMgdGhhdCBmYSdvcm1hJ28gYXJl IGltcG9ydGFudOKAnX5+CgoKCkZ1biBzaWRlIG5vdGU6IE1vc3QgcGVvcGxlIHdlbGwtdmVyc2Vk IGluIGZhJ29ybWEnby1lbGlzaW9uIGRvIGl0IHNvIGluc3RpbmN0aXZlbHkgdGhhdCB0aGV5IG9m dGVuIG11c3QgYmUgcmVtaW5kZWQgaG93IGltcG9ydGFudCB1bmRlcnN0YW5kaW5nIGZhJ29ybWEn byBhcmUgdG8gdGhlIHVuZGVyc3RhbmRpbmcgb2YgTG9qYmFuLiBUaGVyZWZvcmUsIGVhY2ggVHVl c2RheSBoYXZlIGJlZW4gZGVzaWduYXRlZCDigJxUZXJtaW5hdG9yIERheeKAnSBvciAnJ2ZhJ29y bWEnbyBkamVkaScnIG9uIHRoZSBMb2piYW4gSVJDIGNoYXRyb29tLiBEdXJpbmcgVGVybWluYXRv ciBEYXksIG1hbnkgcGVvcGxlIHRyeSAoYW5kIG9mdGVuIGZhaWwpIHRvIHJlbWVtYmVyIHdyaXRp bmcgb3V0IGFsbCBmYSdvcm1hJ28gd2l0aCBzb21lIHZlcnkgdmVyYm9zZSBjb252ZXJzYXRpb25z IGFzIGEgcmVzdWx0LgoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gbmluZSAoc3VtdGNp dGEpCgpTbyBmYXIgd2UgaGF2ZSBiZWVuIGRvaW5nIHByZXR0eSB3ZWxsIHdpdGggdGhlIHNlbGJy aSB3ZSBoYXZlIGhhZCBhdCBoYW5kLiBIb3dldmVyLCB0aGVyZSBpcyBhIGZpbml0ZSBhbW91bnQg b2YgZGVmaW5lZCBzZWxicmkgb3V0IHRoZXJlLCBhbmQgaW4gbWFueSBjYXNlcyB0aGUgc3VtdGkg cGxhY2VzIGFyZSBub3QgdXNlZnVsIGZvciB3aGF0IHdlIGhhZCBpbiBtaW5kLiBXaGF0IGlmLCBz YXksIGkgd2FudCB0byBzYXkgdGhhdCBJIGFtIHRyYW5zbGF0aW5nIHVzaW5nIGEgY29tcHV0ZXI/ IFRoZXJlIGlzIG5vIHBsYWNlIGluIHRoZSBzdHJ1Y3R1cmUgb2YgJydmYW52YScnIHRvIHNwZWNp Znkgd2hhdCB0b29sIEkgdHJhbnNsYXRlIHdpdGgsIHNpbmNlLCBtb3N0IG9mIHRoZSB0aW1lLCB0 aGF0IGlzIG5vdCBuZWNlc3NhcnkuIE5vdCB0byB3b3JyeSwgdGhpcyBsZXNzb24gaXMgb24gaG93 IHRvIGFkZCBhZGRpdGlvbmFsIHN1bXRpIHBsYWNlcyB0byB0aGUgc2VsYnJpLgoKCgpUaGUgbW9z dCBiYXNpYyB3YXkgdG8gYWRkIHN1bXRpIHBsYWNlcyBhcmUgd2l0aCAnJ2ZpJ28gU0VMQlJJIGZl J3UnJyAoeWVzLCBhbm90aGVyIGV4YW1wbGUgb2YgYSBmYSdvcm1hJ28sICcnZmUndScnLiBJdCdz IGFsbW9zdCBuZXZlciBuZWNlc3NhcnksIHNvIHRoaXMgbWlnaHQgYmUgdGhlIGxhc3QgdGltZSB5 b3UgZXZlciBzZWUgaXQuKQoKSW4gYmV0d2VlbiB0aGVzZSB0d28gd29yZHMgZ29lcyBhIHNlbGJy aSwgYW5kIGxpa2UgJydsbyBTRUxCUkkga3UnJywgJydmaSdvIFNFTEJSSSBmZSd1JycgZXh0cmFj dHMgdGhlIHgxIG9mIHRoZSBzZWxicmkgcHV0IGludG8gaXQuIEhvd2V2ZXIsIHdpdGggJydmaSdv IFNFTEJSSSBmZSd1JycsIHRoZSBzZWxicmkgcGxhY2UgaXMgY29udmVydGVkLCBub3QgdG8gYSBz dW10aSwgYnV0IHRvIGEgJydzdW10Y2l0YScnLCBtZWFuaW5nIOKAnHN1bXRpLWxhYmVs4oCdLCB3 aXRoIHRoZSBwbGFjZSBzdHJ1Y3R1cmUgb2YgdGhlIHgxIG9mIHRoZSBzZWxicmkgaXQgY29udmVy dGVkLiBUaGlzICcnc3VtdGNpdGEnJyB0aGVuIGFic29yYnMgdGhlIG5leHQgc3VtdGkuIE9uZSBj b3VsZCBzYXkgdGhhdCB1c2luZyBhICcnc3VtdGNpdGEnJywgeW91IGltcG9ydCBhIHN1bXRpIHBs YWNlIGZyb20gYW5vdGhlciBzZWxicmksIGFuZCBhZGQgaXQgdG8gdGhlIGJyaWRpIGJlaW5nIHNh aWQuCgpOb3RlOiBTb21ldGltZXMsIGVzcGVjaWFsbHkgaW4gb2xkZXIgdGV4dHMsIHRoZSB0ZXJt IOKAnHRhZ+KAnSBvciDigJxtb2RhbOKAnSBpcyB1c2VkIGZvciAnJ3N1bXRjaXRhJycuIElnbm9y ZSB0aG9zZSBwdW55IEVuZ2xpc2ggZXhwcmVzc2lvbnMuIFdlIHRlYWNoIHByb3BlciBMb2piYW4g aGVyZS4KCgoKV2hpbGUgaXQgaXMgaGFyZCB0byBncmFzcCB0aGUgcHJvY2VzcyBmcm9tIHJlYWRp bmcgYWJvdXQgaXQsIGFuIGV4YW1wbGUgY2FuIHBlcmhhcHMgc2hvdyBpdHMgYWN0dWFsIHNpbXBs aWNpdHk6CgpfXycnc2thbWknJ19fIOKAnHgxIGlzIGEgY29tcHV0ZXIgZm9yIHB1cnBvc2UgeDLi gJ0KCl9fJydwaWxubycnX18g4oCceDEgdXNlcyB4MiBhcyBhIHRvb2wgZm9yIGRvaW5nIHgz4oCd CgoKCicnbWkgZmFudmEgdGkgZmknbyBzZSBwaWxubyB7ZmUndX0gbG8gc2thbWkge2t1fXt2YXV9 JycgLSDigJxJIHRyYW5zbGF0ZSB0aGlzIHdpdGggYSBjb21wdXRlcuKAnSBUaGUgeDIgb2YgJydw aWxubycnLCB3aGljaCBpcyB0aGUgeDEgb2YgJydzZSBwaWxubycnIGlzIGEgcGxhY2Ugc3RydWN0 dXJlIGZvciBhIHRvb2wgYmVpbmcgdXNlZCBieSBzb21lb25lLiBUaGlzIHBsYWNlIHN0cnVjdHVy ZSBpcyBjYXB0dXJlZCBieSAnJ2ZpJ28gU0VMQlJJIGZlJ3UnJywgYWRkZWQgdG8gdGhlIG1haW4g c2VsYnJpLCBhbmQgdGhlbiBmaWxsZWQgYnkgJydsbyBza2FtaScnLiBUaGUgaWRlYSBvZiAnJ3N1 bXRjaXRhJycgaXMgc29tZXRpbWVzIGV4cHJlc3NlZCBpbiBFbmdsaXNoIHVzaW5nIHRoZSBmb2xs b3dpbmcgdHJhbnNsYXRpb246CgrigJxJIHRyYW5zbGF0ZSB0aGlzIHdpdGgtdG9vbDogQSBjb21w dXRlcuKAnQoKCgpBICcnc3VtdGNpdGEnJyBjYW4gb25seSBhYnNvcmIgb25lIHN1bXRpLCB3aGlj aCBpcyBhbHdheXMgdGhlIGZvbGxvd2luZyBvbmUuIEFsdGVybmF0aXZlbHksIG9uZSBjYW4gdXNl IHRoZSAnJ3N1bXRjaXRhJycgY29uc3RydWN0IGJ5IGl0c2VsZiB3aXRob3V0IHN1bXRpLiBJbiB0 aGlzIGNhc2UgeW91IG5lZWQgdG8gcHV0IGl0IGVpdGhlciBiZWZvcmUgdGhlIHNlbGJyaSBvciB0 ZXJtaW5hdGUgaXQgd2l0aCAnJ2t1JycuIEluIHN1Y2ggY2FzZSBvbmUgY2FuIHRoaW5rIGFzIGlm IHRoZSBzdW10Y2l0YSBoYXMgdGhlIHdvcmQgJyd6bydlJycgYXMgdGhlIHN1bXRpLgoKCgpfXycn enVrdGUnJ19fIOKAnHgxIGlzIGEgdm9saXRpb25hbCBlbnRpdHkgY2Fycnlpbmcgb3V0IGFjdGlv biB4MiBmb3IgcHVycG9zZSB4M+KAnQoKCgonJ2ZpJ28genVrdGUge2ZlJ3V9IGt1IGxvIHNrYW1p IHtrdX0gY3UgcGlsbm8gbG8gbG9qYm8ge2t1fXt2YXV9JycgLSDigJxXaXRoIHZvbGl0aW9uLCBh IGNvbXB1dGVyIHVzZWQgc29tZXRoaW5nIExvamJhbmlj4oCdIChwZXJoYXBzIGltcGx5aW5nIHRo YXQgYSBMb2piYW5pYyBjb21wdXRlciB3ZW50IHNlbnRpZW50PyBUb3VnaCBpdCBkb2VzIG5vdCBz cGVjaWZ5IHdobyBoYWQgdm9saXRpb24uIEl0IGNvdWxkIGp1c3QgYmUgdGhlIHByb2dyYW1tZXIg d2hvIHByb2dyYW1tZWQgdGhlIGNvbXB1dGVyIC0gaG93IGJvcmluZy4pCgoKCk5vdGUgdGhhdCB0 aGVyZSBpcyAnJ2t1JycgaW4gJydmaSdvIHp1a3RlIHtmZSd1fSBrdScnLiBXaXRob3V0IGl0IHRo ZSBzdW10Y2l0YSB3b3VsZCBoYXZlIGFic29yYmVkICcnbG8gc2thbWkge2t1fScnIGFuZCB3ZSBk b24ndCB3YW50IHRoYXQuCgoKClRoaXMgc2VudGVuY2UgY2FuIGFsc28gYmUgcmVwaHJhc2VkIGlu IHRoZSBmb2xsb3dpbmcgd2F5czoKCgoKJydmaSdvIHp1a3RlIHtmZSd1fSB6bydlIGxvIHNrYW1p IHtrdX0gY3UgcGlsbm8gbG8gbG9qYm8ge2t1fXt2YXV9JycgCgonJ2xvIHNrYW1pIHtrdX0gY3Ug ZmknbyB6dWt0ZSB7ZmUndX0gcGlsbm8gbG8gbG9qYm8ge2t1fXt2YXV9JycgCgoKCldoYXQgZG9l cyAnJ21pIGppbXBlIGZpIGxhIGxvamJhbiBmaSdvIHNlIHRhdmxhIHtmZSd1fSBtaScnIHN0YXRl PwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnEkgdW5kZXJzdGFuZCBzb21ldGhpbmcgYWJvdXQg TG9qYmFuLCBzcG9rZW4gdG8gbWXigJ1+fgoKCgpQdXR0aW5nIHRoZSAnJ3N1bXRjaXRhJycgcmln aHQgaW4gZnJvbnQgb2YgdGhlIHNlbGJyaSBhbHNvIG1ha2VzIGl0IHNlbGYtdGVybWluYXRlLCBz aW5jZSBzdW10Y2l0YSBvbmx5IGNhbiBhYnNvcmIgc3VtdGksIGFuZCBub3Qgc2VsYnJpLiBUaGlz IGZhY3Qgd2lsbCBiZSBvZiBpbXBvcnRhbmNlIGluIG5leHQgbGVzc29uLCBhcyB5b3Ugd2lsbCBz ZWUuCgoKClNhZGx5LCAnJ2ZpJ28nJyBpcyBub3QgdXNlZCB2ZXJ5IG9mdGVuIGRlc3BpdGUgaXRz IGZsZXhpYmlsaXR5LiBXaGF0IElTIHVzZWQgdmVyeSBvZnRlbiwgdGhvdWdoLCBhcmUgQkFJLiBC QUkgaXMgYSBjbGFzcyBvZiBMb2piYW4gd29yZHMsIHdoaWNoIGluIHRoZW1zZWx2ZXMgYWN0IGFz ICcnc3VtdGNpdGEnJy4gQW4gZXhhbXBsZSBvZiB0aGlzIGlzICcnenUnZScnLCB0aGUgQkFJIGZv ciAnJ3p1a3RlJycuIEdyYW1hdGljYWxseSwgJyd6dSdlJycgaXMgdGhlIHNhbWUgYXMgJydmaSdv IHp1a3RlIGZlJ3UnJy4gVGh1cywgdGhlIGFib3ZlIGV4YW1wbGUgY291bGQgYmUgcmVkdWNlZCB0 bzoKCicnenUnZSBrdSBsbyBza2FtaSB7a3V9IGN1IHBpbG5vIGxvIGxvamJvIHtrdX0ge3ZhdX0n Jy4gVGhlcmUgZXhpc3Qgc29tZXRoaW5nIGxpa2UgNjAgQkFJLCBhbmQgYSBsb3Qgb2YgdGhlc2Ug YXJlIHZlcnkgdXNlZnVsIGluZGVlZC4gRnVydGVybW9yZSwgQkFJIGNhbiBhbHNvIGJlIGNvbnZl cnRlZCB3aXRoICcnc2UnJyBhbmQgZnJpZW5kcywgbWVhbmluZyB0aGF0ICcnc2UgenUnZScnIGlz IGVxdWFsIHRvICcnZmknbyBzZSB6dWt0ZSBmZSd1JycsIHdoaWNoIHJlc3VsdHMgaW4gYSBncmVh dCBkZWFsIG1vcmUgQkFJLgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0ZW4gKFBVLCBGQWhB LCBaSSwgVkEsIFpFaEEsIFZFaEEpCgpIb3cgdW5mYW1pbGlhciB0byB0aGUgRW5nbGlzaC1zcGVh a2VyIGEgbGFuZ3VhZ2UgTG9qYmFuIGlzIHdoZW4gb25lIGNhbiByZWFkIHRocm91Z2ggbmluZSBs ZXNzb25zIG9mIExvamJhbiBncmFtbWFyIHdpdGhvdXQgbWVldGluZyBhIHRlbnNlIG9uY2UuIFRo aXMgaXMgYmVjYXVzZSwgdW5saWtlIG1hbnkgbmF0dXJhbCBsYW5ndWFnZXMgKG1vc3QgSW5kby1F dXJvcGVhbiBvbmVzLCBmb3IgaW5zdGFuY2UpLCBhbGwgdGVuc2VzIGluIExvamJhbiBhcmUgb3B0 aW9uYWwuIFNheWluZyAnJ21pIGNpdGthIGxvIGNpcmxhIHtrdX0nJyBjYW4gbWVhbiDigJxJIGVh dCBjaGVlc2XigJ0gb3Ig4oCcSSBhdGUgdGhlIGNoZWVzZeKAnSBvciDigJxJIGFsd2F5cyBlYXQg Y2hlZXNl4oCdIG9yIOKAnEluIGEgbW9tZW50LCBpIHdpbGwgaGF2ZSBqdXN0IGZpbmlzaGVkIGVh dGluZyBjaGVlc2XigJ0uIENvbnRleHQgcmVzb2x2ZXMgd2hhdCBpcyBjb3JyZWN0LCBhbmQgaW4g bW9zdCBjb252ZXJzYXRpb24sIHRlbnNlcyBhcmUgbm90IG5lZWRlZCBhdCBhbGwuIEhvd2V2ZXIs IHdoZW4gaXQncyBuZWVkZWQgaXQncyBuZWVkZWQsIGFuZCBpdCBtdXN0IGJlIHRhdWdodC4gRnVy dGhlcm1vcmUsIExvamJhbiB0ZW5zZXMgYXJlIHVudXN1YWwgYmVjYXVzZSB0aGV5IHRyZWF0IHRp bWUgYW5kIHNwYWNlIGZ1bmRhbWVudGFsbHkgdGhlIHNhbWUgLSBzYXlpbmcgdGhhdCBJIHdvcmtl ZCBhIGxvbmcgdGltZSBhZ28gaXMgbm90IGdyYW1tYXRpY2FsbHkgZGlmZmVyZW50IHRoYW4gc2F5 aW5nIEkgd29yayBmYXIgYXdheSB0byB0aGUgbm9ydGguCgpMaWtlIG1hbnkgb3RoZXIgbGFuZ3Vh Z2VzLCB0aGUgTG9qYmFuIHRlbnNlIHN5c3RlbSBpcyBwZXJoYXBzIHRoZSBtb3N0IGRpZmZpY3Vs dCBwYXJ0IG9mIHRoZSBsYW5ndWFnZS4gVW5saWtlIG1hbnkgb3RoZXIgbGFuZ3VhZ2VzIHRob3Vn aCwgaXQncyBwZXJmZWN0bHkgcmVndWxhciBhbmQgbWFrZXMgc2Vuc2UuIFNvIGZlYXIgbm90LCBm b3IgaXQgd2lsbCBub3QgaW52b2x2ZSBzd2VhdGluZyB0byBsZWFybiBob3cgdG8gbW9kaWZ5IHRo ZSBzZWxicmkgb3IgYW55dGhpbmcgc2lsbHkgbGlrZSB0aGF0LgoKCgpObywgaW4gdGhlIExvamJh biB0ZW5zZSBzeXN0ZW0sIGFsbCB0ZW5zZXMgYXJlIHN1bXRjaXRhLCB3aGljaCB3ZSBoYXZlIGNv bnZlbmllbnRseSBqdXN0IG1hZGUgb3Vyc2VsdmVzIGZhbWlsaWFyIHdpdGguIE9rYXkgb2theSwg dGVjaG5pY2FsbHksIHRlbnNlcyBhcmUgc2xpZ2h0bHkgZGlmZmVyZW50IGZyb20gb3RoZXIgc3Vt dGNpdGEsIGJ1dCB0aGlzIGRpZmZlcmVuY2UgaXMgYWxtb3N0IGluc2lnbmlmaWNhbnQsIGFuZCB3 b24ndCBiZSBleHBsYWluZWQgdW50aWwgbGF0ZXIuIEluIG1vc3QgYXNwZWN0cyB0aGV5IGFyZSBs aWtlIGFsbCBvdGhlciBzdW10Y2l0YTsgdGhleSBhcmUgdGVybWluYXRlZCBieSAnJ2t1JycsIG1h a2luZyBpdCBleHBsaWNpdCB0aGF0IFBVIGlzIHRlcm1pbmF0ZWQgYnkgJydrdScnLgoKVGhlcmUg YXJlIG1hbnkgZGlmZmVyZW50IGtpbmRzIG9mIHRlbnNlLXN1bXRjaXRhLCBzbyBsZXQncyBzdGFy dCBhdCB0aGUgb25lcyBtb3N0IGZhbWlsaWFyIHRvIEVuZ2xpc2gtc3BlYWtlcnMuCgpfXycncHUn J19fIC0gc3VtdGNpdGE6IGJlZm9yZSB7c3VtdGl9CgpfXycnY2EnJ19fIC0gc3VtdGNpdGE6IGF0 IHRoZSBzYW1lIHRpbWUgYXMge3N1bXRpfQoKX18nJ2JhJydfXyAtIHN1bXRjaXRhOiBhZnRlciB7 c3VtdGl9CgoKClRoZXNlIGFyZSBsaWtlIHRoZSBFbmdsaXNoIGNvbmNlcHRzIOKAnGJlZm9yZeKA nSwg4oCcbm934oCdIGFuZCDigJxhZnRlcuKAnS4gSW4gYWN0dWFsaXR5IHRob3VnaCwgb25lIGNv dWxkIGFyZ3VlIHRoYXQgdHdvIHBvaW50LWxpa2UgZXZlbnRzIGNhbiBuZXZlciBvY2N1ciBleGFj dGx5IHNpbXVsdGFuZW91c2x5LCByZW5kZXJpbmcgJydjYScnIHVzZWxlc3MuIEJ1dCAnJ2NhJycg ZXh0ZW5kcyBzbGlnaHRseSBpbnRvIHRoZSBwYXN0IGFuZCB0aGUgZnV0dXJlLCBtZWFuaW5nIGp1 c3Qg4oCcYWJvdXQgbm934oCdLiBUaGlzIGlzIGJlY2F1c2UgaHVtYW4gYmVpbmdzIGRvbid0IHBl cmNlaXZlIHRpbWUgaW4gYSBwZXJmZWN0bHkgbG9naWNhbCB3YXksIGFuZCB0aGUgTG9qYmFuIHRl bnNlIHN5c3RlbSByZWZsZWN0cyB0aGF0LgoKCgpTaWRlIG5vdGU6IEl0IHdhcyBhY3R1YWxseSBz dWdnZXN0ZWQgbWFraW5nIHRoZSBMb2piYW4gdGVuc2Ugc3lzdGVtIHJlbGF0aXZpc3RpYy4gVGhh dCBpZGVhLCBob3dldmVyLCB3YXMgZHJvcHBlZCwgYmVjYXVzZSBpdCBpcyBjb3VudGVyLWludHVp dGl2ZSwgYW5kIHdvdWxkIG1lYW4gdGhhdCB0byBsZWFybiBMb2piYW4sIG9uZSB3b3VsZCBoYXZl IHRvIGxlYXJuIHRoZSB0aGVvcnkgb2YgcmVsYXRpdml0eSBmaXJzdC4gIAoKCgpTbywgaG93IHdv dWxkIHlvdSBzYXkg4oCcSSBleHByZXNzIHRoaXMgYWZ0ZXIgSSBjYW1lIGhlcmU/4oCdIChwb2lu dGluZyB0byBhIHBhcGVyKQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgY3Vza3UgdGkgYmEg bG8gbnUgbWkga2xhbWEgdGkge3ZhdX0ge2tlaX0ge2t1fSB7dmF1fScnfn4KCgoKVXN1YWxseSB3 aGVuIHNwZWFraW5nLCB3ZSBkbyBub3QgbmVlZCB0byBzcGVjaWZ5IHdoaWNoIGV2ZW50IGluIHRo ZSBwYXN0IHRoaXMgYWN0aW9uIGlzIHJlbGF0aXZlIHRvLiBJbjog4oCcSSBnYXZlIGEgY29tcHV0 ZXIgYXdheeKAnSwgd2UgY2FuIGFzc3VtZSB0aGF0IHRoZSBhY3Rpb24gaGFwcGVuZWQgcmVsYXRp dmUgdG8g4oCcbm934oCdLCBhbmQgdGh1cyB3ZSBjYW4gZWxpZGUgdGhlIHN1bXRpIG9mIHRoZSBz dW10Y2l0YSwgYmVjYXVzZSBpdCdzIG9idmlvdXM6CgonJ3B1IGt1IG1pIGR1bmRhIGxvIHNrYW1p IHtrdX0ge3ZhdX0nJyBvcgoKJydtaSBkdW5kYSBsbyBza2FtaSB7a3V9IHB1IHtrdX0ge3ZhdX0n JyBvciwgbW9yZSBjb21tb25seQoKJydtaSBwdSB7a3V9IGR1bmRhIGxvIHNrYW1pIHtrdX0ge3Zh dX0nJy4gVGhlIHN1bXRpIHdoaWNoIGZpbGxzIHRoZSBzdW10Y2l0YSBpcyBhbiBpbXBsaWVkICcn em8nZScnLCB3aGljaCBpcyBhbG1vc3QgYWx3YXlzIHVuZGVyc3Rvb2QgYXMgcmVsYXRpdmUgdG8g dGhlIHNwZWFrZXIncyB0aW1lIGFuZCBwbGFjZSAodGhpcyBpcyBlc3BlY2lhbGx5IGltcG9ydGFu dCB3aGVuIHNwZWFraW5nIGFib3V0IGxlZnQgYW5kIHJpZ2h0KS4gSWYgc3BlYWtpbmcgYWJvdXQg c29tZSBldmVudHMgdGhhdCBoYXBwZW5lZCBzb21lIG90aGVyIHRpbWUgdGhhbiB0aGUgcHJlc2Vu dCwgaXQgaXMgc29tZXRpbWVzIGFzc3VtZWQgdGhhdCBhbGwgdGVuc2VzIGFyZSByZWxhdGl2ZSB0 byB0aGF0IGV2ZW50IHdoaWNoIGlzIGJlaW5nIHNwb2tlbiBhYm91dC4gSW4gb3JkZXIgdG8gY2xh cmlmeSB0aGF0IGFsbCB0ZW5zZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBzcGVha2VyJ3MgY3VycmVu dCBwb3NpdGlvbiwgdGhlIHdvcmQgJyduYXUnJyBjYW4gYmUgdXNlZCBhdCBhbnkgdGltZS4gQW5v dGhlciB3b3JkLCAnJ2tpJycgbWFya3MgYSB0ZW5zZSB3aGljaCBpcyB0aGVuIGNvbnNpZGVyZWQg dGhlIG5ldyBzdGFuZGFyZC4gVGhhdCB3aWxsIGJlIHRhdWdodCB3YXkgbGF0ZXIuCgpfXycnbmF1 JydfXyB1cGRhdGVzIHRlbXBvcmFsIGFuZCBzcGFjaWFsIGZyYW1lIG9mIHJlZmVyZW5jZSB0byB0 aGUgc3BlYWtlcidzIGN1cnJlbnQgaGVyZSBhbmQgbm93LgoKCgpfXycnZ3VnZGUnJ19fID0g4oCc eDEgaXMgdGhlIGNvdW50cnkgb2YgcGVvcGxlIHgyIHdpdGggbGFuZC90ZXJyaXRvcnkgeDPigJ0K CgoKQWxzbyBub3RlIHRoYXQgJydtaSBwdSB7a3V9IGtsYW1hIGxvIG1lcmtvIGd1Z2RlIHtrdX0g e3ZhdX0nJywg4oCcSSB3ZW50IHRvIEFtZXJpY2HigJ0sIGRvZXMgbm90IGltcGx5IHRoYXQgSSdt IG5vdCBzdGlsbCB0cmF2ZWxpbmcgdG8gVVNBLCBvbmx5IHRoYXQgaXQgd2FzIGFsc28gdHJ1ZSBz b21lIHRpbWUgaW4gdGhlIHBhc3QsIGZvciBpbnN0YW5jZSBmaXZlIG1pbnV0ZXMgYWdvLgoKCgpB cyBtZW50aW9uZWQsIHNwYWNpYWwgYW5kIHRlbXBvcmFsIHRpbWUgdGVuc2VzIGFyZSB2ZXJ5IG11 Y2ggYWxpa2UuIENvbnRyYXN0IHRoZSBwcmV2aW91cyB0aHJlZSB0aW1lIHRlbnNlcyB3aXRoIHRo ZXNlIGZvdXIgc3BhY2lhbCB0ZW5zZXM6CgpfXycnenUnYScnX18gc3VtdGNpdGE6IGxlZnQgb2Yg e3N1bXRpfQoKX18nJ2NhJ3UnJ19fIHN1bXRjaXRhOiBpbiBmcm9udCBvZiB7c3VtdGl9CgpfXycn cmkndScnX18gc3VtdGNpdGE6IHJpZ2h0IG9mIHtzdW10aX0KCl9fJydidSd1JydfXyBzdW10Y2l0 YTogYXQgdGhlIHNhbWUgcGxhY2UgYXMge3N1bXRpfSAoc3BhY2lhbCBlcXVpdmFsZW50IG9mICcn Y2EnJykKCgoKX18nJ28nbycnX186IGF0dGl0dWRpbmFsOiBjb21wbGV4IHB1cmUgZW1vdGlvbjog cGF0aWVuY2UgLSB0b2xlcmFuY2UgLSBhbmdlcgoKCgpXaGF0IHdvdWxkICcnLm8nb25haSByaSd1 IHtrdX0gbnUgbG8gcHJlbnUge2t1fSBjdSBkYXJ4aSBsbyBnZXJrdSBwdSB7a3V9IHtrdX0ge3Zh dX0ge2tlaX0ge3ZhdX0nJyBtZWFuPyAobm90aWNlIHRoZSBmaXJzdCBlbGlkZWQga3UhKQoKX18n J2RhcnhpJydfXyB4MSBiZWF0cy9oaXRzIHgyIHdpdGggaW5zdHJ1bWVudCB4MyBhdCBsb2N1cyB4 NAoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnHthbmdlciF9IFRvIHRoZSByaWdodCAob2Ygc29t ZXRoaW5nLCBwcm9iYWJseSBtZSkgYW5kIGluIHRoZSBwYXN0IChvZiBzb21lIGV2ZW50KSwgc29t ZXRoaW5nIGlzIGFuIGV2ZW50IG9mIGEgcGVyc29uIGJlYXRpbmcgYSBkb2cu4oCdIG9yIOKAnEEg bWFuIGhpdCBhIGRvZyB0byBteSByaWdodCHigJ1+fgoKCgpJZiB0aGVyZSBhcmUgc2V2ZXJhbCB0 ZW5zZSBzdW10Y2l0YSBpbiBvbmUgYnJpZGksIHRoZSBydWxlIGlzIHRoYXQgeW91IHJlYWQgdGhl bSBmcm9tIGxlZnQgdG8gcmlnaHQsIHRoaW5raW5nIGl0IGFzIGEgc28gY2FsbGVkIOKAnGltYWdp bmFyeSBqb3VybmV54oCdLCBXaGVyZSB5b3UgYmVnaW4gYXQgYW4gaW1wbGllZCBwb2ludCBpbiB0 aW1lIGFuZCBzcGFjZSAoZGVmYXVsdDogdGhlIHNwZWFrZXIncyBub3cgYW5kIGhlcmUpLCBhbmQg dGhlbiBmb2xsb3cgdGhlIHN1bXRjaXRhIG9uZSBhdCBhIHRpbWUgZnJvbSBsZWZ0IHRvIHJpZ2h0 LgoKRXhhbXBsZQoKJydtaSBwdSB7a3V9IGJhIHtrdX0gamltcGUgZmkgbG8gbG9qYm8gZmEnb3Jt YSdvIHtrdX0ge3ZhdX0nJyA9IOKAnEF0IHNvbWUgdGltZSBpbiB0aGUgcGFzdCwgSSB3aWxsIGJl IGFib3V0IHRvIGtub3cgYWJvdXQgZmEnb3JtYSdvcy7igJ0KCicnbWkgYmEge2t1fSBwdSB7a3V9 IGppbXBlIGZpIGxvIGxvamJvIGZhJ29ybWEnbyB7a3V9IHt2YXV9Jycg4oCcQXQgc29tZSBwb2lu dCBpbiB0aGUgZnV0dXJlLCBJIHdpbGwgaGF2ZSB1bmRlcnN0b29kIGFib3V0IGZhJ29ybWEnb3Mu 4oCdCgpTaW5jZSB3ZSBkbyBub3Qgc3BlY2lmeSB0aGUgYW1vdW50IG9mIHRpbWUgd2UgbW92ZSBi YWNrIG9yIGZvcnRoLCB0aGUgdW5kZXJzdGFuZGluZyBjb3VsZCBpbiBib3RoIGNhc2VzIGhhcHBl biBpbiB0aGUgZnV0dXJlIG9yIHRoZSBwYXN0IG9mIHRoZSBwb2ludCBvZiByZWZlcmVuY2UuCgoK CkFsc28sIGlmIHNwYWNpYWwgYW5kIHRlbXBvcmFsIHRlbnNlcyBhcmUgbWl4ZWQsIHRoZSBydWxl IGlzIHRvIGFsd2F5cyBwdXQgdGVtcG9yYWwgYmVmb3JlIHNwYWNpYWwuIElmIHRoaXMgcnVsZSBp cyB2aW9sYXRlZCwgaXQgY2FuIHNvbWV0aW1lcyByZXN1bHQgaW4gc3ludGFjdGljYWwgYW1iaWd1 aXR5LCB3aGljaCBMb2piYW4gZG9lcyBub3QgdG9sZXJhdGUuCgoKClN1cHBvc2Ugd2Ugd2FudCB0 byBzcGVjaWZ5IHRoYXQgdGhlIGEgbWFuIGhpdCBhIGRvZyBqdXN0IGEgbWludXRlIGFnby4gVGhl IHdvcmRzICcnemknJywgJyd6YScnIGFuZCAnJ3p1Jycgc3BlY2lmaWVzIGEgc2hvcnQsIHVuc3Bl Y2lmaWVkIChwcmVzdW1hYmx5IG1lZGl1bSkgYW5kIGxvbmcgZGlzdGFuY2UgaW4gdGltZS4gTm90 aWNlIHRoZSB2b3dlbCBvcmRlciAnJ2knJywgJydhJycgYW5kICcndScnLiBUaGlzIG9yZGVyIGFw cGVhcnMgYWdhaW4gYW5kIGFnYWluIGluIExvamJhbiwgYW5kIG1pZ2h0IGJlIHdvcnRoIHRvIG1l bW9yaXplLiDigJxTaG9ydOKAnSBhbmQg4oCcbG9uZ+KAnSBpbiBhcmUgYWx3YXlzIGNvbnRleHQg ZGVwZW5kZW50LCByZWxhdGl2ZSBhbmQgc3ViamVjdGl2ZS4gVHdvIGh1bmRyZWQgeWVhcnMgaXMg YSBzaG9ydCB0aW1lIGZvciBhIHNwZWNpZXMgdG8gZXZvbHZlLCBidXQgYSBsb25nIHRpbWUgdG8g d2FpdCBmb3IgdGhlIGJ1cy4KCl9fJyd6aScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSBzbWFs bCBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHRpbWUgZnJvbSBwb2ludCBvZiByZWZlcmVuY2UgCgpf XycnemEnJ19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUgdW5zcGVjaWZpZWQobWVkaXVtKSBkaXN0 YW5jZSBvZiB7c3VtdGl9IGluIHRpbWUgZnJvbSBwb2ludCBvZiByZWZlcmVuY2UgCgpfXycnenUn J19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUgZmFyIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gdGlt ZSBmcm9tIHRoZSBwb2ludCBvZiByZWZlcmVuY2UgCgoKClNpbWlsYXJseSwgc3BhY2lhbCBkaXN0 YW5jZSBpcyBtYXJrZWQgYnkgJyd2aScnLCAnJ3ZhJycgYW5kICcndnUnJyBmb3Igc2hvcnQsIHVu c3BlY2lmaWVkIChtZWRpdW0pIGFuZCBsb25nIGRpc3RhbmNlIGluIHNwYWNlLgoKX18nJ3ZpJydf XyBzdW10Y2l0YTogT2N1cnJpbmcgdGhlIHNtYWxsIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gc3Bh Y2UgZnJvbSBwb2ludCBvZiByZWZlcmVuY2UgCgpfXycndmEnJ19fIHN1bXRjaXRhOiBPY3Vycmlu ZyB0aGUgdW5zcGVjaWZpZWQobWVkaXVtKSBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHNwYWNlIGZy b20gcG9pbnQgb2YgcmVmZXJlbmNlIAoKX18nJ3Z1JydfXyBzdW10Y2l0YTogT2N1cnJpbmcgdGhl IGZhciBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHNwYWNlIGZyb20gdGhlIHBvaW50IG9mIHJlZmVy ZW5jZSAKCl9fJydndW5rYScnX18g4oCceDEgd29ya3MgYXQgeDIgd2l0aCBvYmplY3RpdmUgeDPi gJ0KCgoKVHJhbnNsYXRlOiAnJ2JhIHtrdX0gemEga3UgbWkgdnUge2t1fSBndW5rYSB7dmF1fScn CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcU29tZSB0aW1lIGluIHRoZSBmdXR1cmUsIEkgd2ls bCB3b3JrIGEgcGxhY2UgbG9uZyBhd2F54oCdfn4KCk5vdGU6IFBlb3BsZSByYXJlbHkgdXNlICcn emknJywgJyd6YScnIG9yICcnenUnJyB3aXRob3V0IGEgJydwdScnIG9yICcnYmEnJyBpbiBmcm9u dCBvZiBpdC4gVGhpcyBpcyBiZWNhdXNlIG1vc3QgcGVvcGxlIGFsd2F5cyBuZWVkIHRvIHNwZWNp ZnkgcGFzdCBvciBmdXR1cmUgaW4gdGhlaXIgbmF0aXZlIGxhbmd1YWdlLiBXaGVuIHlvdSB0aGlu ayBhYm91dCBpdCBMb2piYW5pY2FsbHksIG1vc3Qgb2YgdGhlIHRpbWUgdGhlIHRpbWUtZGlyZWN0 aW9uIGlzIG9idmlvdXMsIGFuZCB0aGUgJydwdScnIG9yICcnYmEnJyBzdXBlcmZsdW91cyEKCgoK VGhlIG9yZGVyIGluIHdoaWNoIGRpcmVjdGlvbi1zdW10Y2l0YSBhbmQgZGlzdGFuY2Utc3VtdGNp dGEgYXJlIHNhaWQgbWFrZXMgYSBkaWZmZXJlbmNlLiBSZW1lbWJlciB0aGF0IHRoZSBtZWFuaW5n cyBvZiBzZXZlcmFsIHRlbnNlIHdvcmRzIHBsYWNlZCB0b2dldGhlciBhcmUgcGljdHVyZWQgYnkg YW4gaW1hZ2luYXJ5IGpvdXJuZXkgcmVhZGluZyBmcm9tIGxlZnQgdG8gcmlnaHQuIFRodXMgJydw dSB6dScnIGlzIOKAnGEgbG9uZyB0aW1lIGFnb+KAnSB3aGlsZSAnJ3p1IHB1JycgaXMg4oCcaW4g dGhlIHBhc3Qgb2Ygc29tZSBwb2ludCBpbiB0aW1lIHdoaWNoIGlzIGEgbG9uZyB0aW1lIHRvd2Fy ZCB0aGUgZnV0dXJlIG9yIHRoZSBwYXN0IG9mIG5vd+KAnS4gSW4gdGhlIGZpcnN0IGV4YW1wbGUs ICcncHUnJyBzaG93cyB0aGF0IHdlIGJlZ2luIGluIHRoZSBwYXN0LCAnJ3p1JycgdGhlbiB0aGF0 IGl0IGlzIGEgbG9uZyB0aW1lIGJhY2t3YXJkcy4gSW4gdGhlIHNlY29uZCBleGFtcGxlLCAnJ3p1 Jycgc2hvd3MgdGhhdCB3ZSBiZWdpbiBhdCBzb21lIHBvaW50IGZhciBhd2F5IGluIHRpbWUgZnJv bSBub3csICcncHUnJyB0aGVuLCB0aGF0IHdlIG1vdmUgYmFja3dhcmRzIGZyb20gdGhhdCBwb2lu dC4gVGh1cyAnJ3B1IHp1JycgaXMgYWx3YXlzIGluIHRoZSBwYXN0LiAnJ3p1IHB1JycgY291bGQg YmUgaW4gdGhlIGZ1dHVyZS4gVGhlIGZhY3QgdGhhdCB0aGVzZSB0aW1lIHRlbnNlcyBjb21iaW5l IGluIHRoaXMgd2F5IGlzIG9uZSBvZiB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0ZW5zZSBzdW10 Y2l0YSBhbmQgb3RoZXIgc3VtdGNpdGEuIFRoZSBtZWFuaW5ncyBvZiBvdGhlciBzdW10Y2l0YSBh cmUgbm90IGFsdGVyZWQgYnkgdGhlIHByZXNlbmNlIG9mIGFkZGl0aW9uYWwgc3VtdGNpdGEgaW4g YSBicmlkaS4KCgoKQXMgYnJpZWZseSBpbXBsaWVkIGVhcmxpZXIsIGFsbCB0aGVzZSBjb25zdHJ1 Y3RzIGJhc2ljYWxseSB0cmVhdCBicmlkaSBhcyBpZiB0aGV5IHdlcmUgcG9pbnQtbGlrZSBpbiB0 aW1lIGFuZCBzcGFjZS4gSW4gYWN0dWFsaXR5LCBtb3N0IGV2ZW50cyBwbGF5IG91dCBvdmVyIGEg c3BhbiBvZiB0aW1lIGFuZCBzcGFjZS4gSW4gdGhlIGZvbGxvd2luZyBmZXcgcGFyYWdyYXBocywg d2Ugd2lsbCBsZWFybiBob3cgdG8gc3BlY2lmeSBpbnRlcnZhbHMgb2YgdGltZSBhbmQgc3BhY2Uu CgoKCl9fJyd6ZSdpJydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgc2hvcnQgdGltZSBv ZiB7c3VtdGl9CgpfXycnemUnYScnX18gc3VtdGNpdGE6IHNwYW5uaW5nIG92ZXIgdGhlIHVuc3Bl Y2lmaWVkIChtZWRpdW0pIHRpbWUgb2Yge3N1bXRpfQoKX18nJ3plJ3UnJ19fIHN1bXRjaXRhOiBz cGFubmluZyBvdmVyIHRoZSBsb25nIHRpbWUgb2Yge3N1bXRpfQoKCgpfXycndmUnaScnX18gc3Vt dGNpdGE6IHNwYW5uaW5nIG92ZXIgdGhlIHNob3J0IHNwYWNlIG9mIHtzdW10aX0KCl9fJyd2ZSdh JydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgdW5zcGVjaWZpZWQgKG1lZGl1bSkgc3Bh Y2Ugb2Yge3N1bXRpfQoKX18nJ3ZlJ3UnJ19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSBs b25nIHNwYWNlIG9mIHtzdW10aX0KCgoKU2l4IHdvcmRzIGF0IGEgdGltZSwgSSBrbm93LCBidXQg cmVtZW1iZXJpbmcgdGhlIHZvd2VsIHNlcXVlbmNlIGFuZCB0aGUgc2ltaWxhcml0eSBvZiB0aGUg aW5pdGlhbCBsZXR0ZXIgeiBmb3IgdGVtcG9yYWwgdGVuc2VzIGFuZCB2IGZvciBzcGFjaWFsIHRl bnNlcyBtaWdodCBoZWxwIHRoZSBtZW1vcml6aW5nLgoKX18nJy5vaScnX18gLSBhdHRpdHVkaW5h bDogcGFpbiAtIHBsZWFzdXJlCgoKClRyYW5zbGF0ZTogJycub2kgZGFpIGRvIHZlJ3Uge2t1fSBr bGFtYSBsbyBkb3RjbyBndWdkZSB7a3V9IHplJ3Uge2t1fSB7dmF1fScnCgoKCkFuc3dlcjogfn5n cmV5LGdyZXk64oCcT3VjaCwgeW91IHNwZW5kIGEgbG9uZyB0aW1lIHRyYXZlbGluZyBhIGxvbmcg c3BhY2UgdG8gR2VybWFueeKAnSB+fgoKCgpUaG91Z2ggbW9zdCBwZW9wbGUgYXJlIG5vdCBmYW1p bGlhciB3aXRoIHNwYWNpYWwgdGVuc2VzLCB0aGVzZSBuZXcgd29yZHMgY2FuIG9wZW4gdXAgZm9y IHNvbWUgcHJldHR5IHN3ZWV0IHVzZXMuIE9uZSBjb3VsZCwgZm9yIGluc3RhbmNlLCB0cmFuc2xh dGUg4oCcVGhhdCdzIGEgYmlnIGRvZ+KAnSBhcyAnJ3RpIHZlJ3Uge2t1fSBnZXJrdSB7dmF1fScn LiBTYXlpbmc6IOKAnFRoaXMgdGhpbmcgZG9ncyBmb3IgYSBsb25nIHNwYWNl4oCdIG1ha2VzIHlv dSBzb3VuZCByZXRhcmRlZCBpbiBFbmdsaXNoLCBidXQgd2VsbC1zcG9rZW4gaW4gTG9qYmFuIQoK CgonJ3plJ3UnJyBhbmQgaXRzIGJyb3RoZXJzIGFsc28gY29tYmluZSB3aXRoIG90aGVyIHRlbnNl cyB0byBmb3JtIGNvbXBvdW5kIHRlbnNlcy4gVGhlIHJ1bGUgZm9yICcnemUndScnIGFuZCB0aGUg b3RoZXJzIGFyZSB0aGF0IGFueSB0ZW5zZXMgcHJlY2VkaW5nIGl0IG1hcmtzIGFuIGVuZHBvaW50 IG9mIHRoZSBwcm9jZXNzIChyZWxhdGl2ZSB0byB0aGUgcG9pbnQgb2YgcmVmZXJlbmNlKSBhbmQg YW55IHRlbnNlcyBjb21pbmcgYWZ0ZXIgaXQgbWFya3MgdGhlIG90aGVyIGVuZHBvaW50IHJlbGF0 aXZlIHRvIHRoZSBmaXJzdC4gVGhpcyBzaG91bGQgYmUgZGVtb25zdHJhdGVkIHdpdGggYSBjb3Vw bGUgb2YgZXhhbXBsZXM6CgonJy5vJ29jdSdpIGRvIGNpdGthIHB1IHtrdX0gemUndSB7a3V9IGJh IHtrdX0genUge2t1fSB7dmF1fScnIC0g4oCce3RvbGVyYW5jZX0geW91IGVhdCBiZWdpbm5pbmcg aW4gdGhlIHBhc3QgYW5kIGZvciBhIGxvbmcgdGltZSBlbmRpbmcgYXQgc29tZSBwb2ludCBmYXIg aW50byB0aGUgZnV0dXJlIG9mIHdoZW4geW91IHN0YXJ0ZWTigJ0gb3Ig4oCcSG1wZiwgeW91IGF0 ZSBmb3IgYSBsb25nIHRpbWXigJ0uIE9uZSBjYW4gYWxzbyBjb250cmFzdCAnJ2RvIGNhIHtrdX0g emUnaSB7a3V9IHB1IHtrdX0ga2xhbWEge3ZhdX0nJyB3aXRoICcnZG8gcHUge2t1fSB6ZSdpIHtr dX0gY2Ege2t1fSBrbGFtYSB7dmF1fScnLiBUaGUgZmlyc3QgZXZlbnQgb2YgdHJhdmVsaW5nIGhh cyBvbmUgZW5kcG9pbnQgaW4gdGhlIHByZXNlbnQgYW5kIGV4dGVuZHMgYSBsaXR0bGUgdG93YXJk cyB0aGUgcGFzdCwgd2hpbGUgdGhlIHNlY29uZCBldmVudCBoYXMgb25lIGVuZHBvaW50IGluIHRo ZSBwYXN0IGFuZCBleHRlbmRzIG9ubHkgdG8gdGhlIHByZXNlbnQgKHRoYXQgaXMsIHNsaWdodHkg aW50byB0aGUgcGFzdCBvciBmdXR1cmUpIG9mIHRoYXQgZW5kcG9pbnQuCgpfXycnam1pdmUnJ19f IOKAnHgxIGlzIGFsaXZlIGJ5IHN0YW5kYXJkIHgy4oCdCgoKCldoYXQgZG9lcyAnJy51aSBtaSBw dSB7a3V9IHppIHtrdX0gemUndSB7a3V9IGptaXZlIHt2YXV9JycgZXhwcmVzcz8KCgoKQW5zd2Vy OiB+fmdyZXksZ3JleTrigJx7aGFwcGluZXNzIX0gSSBsaXZlIGZyb20gYSBsaXR0bGUgaW50byB0 aGUgcGFzdCBhbmQgYSBsb25nIHdheSB0b3dhcmRzIHRoZSBmdXR1cmUgb3IgcGFzdCAob2J2aW91 c2x5IHRoZSBmdXR1cmUsIGluIHRoaXMgY2FzZSkgb2YgdGhhdCBldmVudOKAnSBvciDigJxJIGFt IHlvdW5nLCBhbmQgaGF2ZSBtb3N0IG9mIG15IGxpZmUgYWhlYWQgb2YgbWUgOinigJ1+fgoKCgpK dXN0IHRvIHVuZGVybGluZSB0aGUgc2ltaWxhcml0eSB3aXRoIHNwYWNpYWwgdGVuc2VzLCBsZXQn cyBoYXZlIGFub3RoZXIgZXhhbXBsZSwgdGhpcyB0aW1lIHdpdGggc3BhY2lhbCB0ZW5zZXM6Cgpf XycnLnUnZScnX18gYXR0aXR1ZGluYWw6IHdvbmRlciAtIGNvbW1vbnBsYWNlCgoKCicnLnUnZSB6 YSdhIHtrdX0gYnUndSB7a3V9IHZlJ3Uge2t1fSBjYSd1IHtrdX0gemRhbmkge3ZhdX0nJyAtIFdo YXQgZG9lcyBpdCBtZWFuPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OiDigJx7d29uZGVyfSB7SSBv YnNlcnZlIX0gRXh0ZW5kaW5nIGEgbG9uZyBzcGFjZSBmcm9tIGhlcmUgdG8gbXkgZnJvbnQgaXMg YSBob21lLuKAnSBvciDigJxXb3csIHRoaXMgaG9tZSBleHRlbmRpbmcgYWhlYWQgaXMgaHVnZSHi gJ1+fgoKCgpCZWZvcmUgd2UgY29udGludWUgd2l0aCB0aGlzIHN5bnRheC1oZWF2eSB0ZW5zZSBz eXN0ZW0sIGkgcmVjb21tZW5kIHNwZW5kaW5nIGF0IGxlYXN0IHRlbiBtaW51dGVzIGRvaW5nIHNv bWV0aGluZyB3aGljaCBkb2Vzbid0IG9jY3VweSB5b3VyIGJyYWluIGluIG9yZGVyIHRvIGxldCB0 aGUgaW5mb3JtYXRpb24gc2luayBpbi4gU2luZyBhIHNvbmcgb3IgZWF0IGEgY29va2llIHZlcnkg c2xvd2x5IC0gd2hhdGV2ZXIsIGFzIGxvbmcgYXMgeW91IGxldCB5b3VyIG1pbmQgcmVzdC4KCgoK ISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBlbGV2ZW4gKFpBaE8pCgpUaG91Z2ggd2Ugd29uJ3Qg Z28gdGhyb3VnaCBhbGwgTG9qYmFuIHRlbnNlIGNvbnN0cnVjdHMgZm9yIG5vdywgdGhlcmUgaXMg b25lIG90aGVyIGtpbmQgb2YgdGVuc2UgdGhhdCBJIHRoaW5rIHNob3VsZCBiZSB0YXVnaHQgbm93 LiBUaGVzZSBhcmUgY2FsbGVkIOKAnGV2ZW50IGNvbnRvdXJz4oCdLCBhbmQgcmVwcmVzZW50IGEg dmVyeSBkaWZmZXJlbnQgd2F5IG9mIHZpZXdpbmcgdGVuc2VzIHRoYXQgd2UgaGF2ZSBzZWVuIHNv IGZhci4gU28gbGV0J3MgZ2V0IHRvIGl0OgoKCgpVc2luZyB0aGUgdGVuc2VzIHdlIGhhdmUgbGVh cm5lZCBzbyBmYXIsIHdlIGNhbiBpbWFnaW5lIGFuIGluZGVmaW5pdGUgdGltZSBsaW5lLCBhbmQg d2UgdGhlbiBwbGFjZSBldmVudHMgb24gdGhhdCBsaW5lIHJlbGF0aXZlIHRvIHRoZSDigJxub3fi gJ0uIFdpdGggZXZlbnQgY29udG91cnMsIGhvd2V2ZXIsIHdlIHZpZXcgZWFjaCBldmVudCBhcyBh IHByb2Nlc3MsIHdoaWNoIGhhcyBjZXJ0YWluIHN0YWdlczogQSB0aW1lIGJlZm9yZSBpdCB1bmZv bGRzLCBhIHRpbWUgd2hlbiBpdCBiZWdpbnMsIGEgdGltZSB3aGVuIGl0IGlzIGluIHByb2Nlc3Ms IGEgdGltZSB3aGVuIGl0IGVuZHMsIGFuZCBhIHRpbWUgYWZ0ZXIgaXQgaGFzIGVuZGVkLiBFdmVu dCBjb250b3VycyB0aGVuIHRlbGxzIHVzIHdoaWNoIHBhcnQgb2YgdGhlIGV2ZW50J3MgcHJvY2Vz cyB3YXMgaGFwcGVuaW5nIGR1cmluZyB0aGUgdGltZSBzcGVjaWZpZWQgYnkgdGhlIG90aGVyIHRl bnNlcy4gV2UgbmVlZCBhIGNvdXBsZSBvZiB0ZW5zZXMgZmlyc3Q6CgoKCl9fJydwdSdvJydfXyAt IHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBoYXMgbm90IHlldCBoYXBwZW5lZCBkdXJp bmcge3N1bXRpfQoKX18nJ2NhJ28nJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRp IGlzIGluIHByb2Nlc3MgZHVyaW5nIHtzdW10aX0KCl9fJydiYSdvJydfXyAtIHN1bXRjaXRhOiBl dmVudCBjb250b3VyOiBUaGUgcHJvY2VzcyBvZiBicmlkaSBoYXMgZW5kZWQgZHVyaW5nIHtzdW10 aX0KCgoKVGhpcyBuZWVkcyB0byBiZSBkZW1vbnN0cmF0ZWQgYnkgc29tZSBleGFtcGxlcy4gV2hh dCdzICcnLnVpIG1pIHB1J28ge2t1fSBzZSB6ZGFuaSB7dmF1fScnIG1lYW4/CgoKCkFuc3dlcjog 4oCcWWF5LCBJJ2xsIGJlZ2luIHRvIGhhdmUgYSBob21l4oCdLgoKCgpCdXQgaGV5LCB5b3UgYXNr LCB3aHkgbm90IGp1c3Qgc2F5ICcnLnVpIG1pIGJhIHtrdX0gc2UgemRhbmkge3ZhdX0nJyBhbmQg ZXZlbiBzYXZlIGEgc3lsbGFibGU/IEJlY2F1c2UsIHJlbWVtYmVyLCBzYXlpbmcgdGhhdCB5b3Ug d2lsbCBoYXZlIGEgaG9tZSBpbiB0aGUgZnV0dXJlIHNheXMgbm90aGluZyBhYm91dCB3aGV0aGVy IHlvdSBoYXZlIGEgaG9tZSBub3cuIFVzaW5nICcncHUnbycnLCB0aG91Z2gsIHlvdSBzYXkgdGhh dCB5b3UgYXJlIG5vdyBpbiB0aGUgcGFzdCBvZiB0aGUgcHJvY2VzcyBvZiB5b3UgaGF2aW5nIGEg aG9tZSwgd2hpY2ggbWVhbnMgdGhhdCB5b3UgZG9uJ3QgaGF2ZSBvbmUgbm93LgoKTm90ZSwgYnkg dGhlIHdheSwgdGhhdCAnJ21pIGJhIHtrdX0gc2UgemRhbmkge3ZhdX0nJyBpcyBzaW1pbGFyIHRv ICcnbWkgcHUnbyB7a3V9IHNlIHpkYW5pIHt2YXV9JycsIGFuZCBsaWtld2lzZSB3aXRoICcnYmEn bycnIGFuZCAnJ3B1JycuIFdoeSBkbyB0aGV5IHNlZW0gcmV2ZXJzZWQ/IEJlY2F1c2UgZXZlbnQg Y29udG91cnMgdmlldyB0aGUgcHJlc2VudCBhcyBzZWVuIGZyb20gdGhlIHZpZXdwb2ludCBvZiB0 aGUgcHJvY2Vzcywgd2hlcmVhcyB0aGUgb3RoZXIgdGVuc2VzIHZpZXcgZXZlbnRzIHNlZW4gZnJv bSB0aGUgcHJlc2VudC4KCgoKT2Z0ZW4sIGV2ZW50IGNvbnRvdXJzIGFyZSBtb3JlIHByZWNpc2Ug dGhhdCBvdGhlciBraW5kIG9mIHRlbnNlcy4gRXZlbiBtb3JlIGNsYXJpdHkgaXMgYWNoaWV2ZWQg YnkgY29tYmluaW5nIHNldmVyYWwgdGVuc2VzOiAnJy5hJ28gbWkgYmF7a3V9IHppIHtrdX0gYmEn byB7a3V9IGd1bmthIHt2YXV9JycgLSDigJxJIGhvcGUgSSd2ZSBzb29uIGZpbmlzaGVkIHdvcmtp bmcu4oCdCgoKCkluIExvamJhbiwgd2UgYWxzbyBvcGVyYXRlIHdpdGggYW4gZXZlbnQncyDigJxu YXR1cmFsIGJlZ2lubmluZ+KAnSBhbmQgaXRzIOKAnG5hdHVyYWwgZW5k4oCdLiBUaGUgdGVybSDi gJxuYXR1cmFs4oCdIGlzIGhpZ2hseSBzdWJqZWN0aXZlIGluIHRoaXMgc2Vuc2UsIGFuZCB0aGUg bmF0dXJhbCBlbmQgcmVmZXJzIHRvIHRoZSBwb2ludCBpbiB0aGUgcHJvY2VzcyB3aGVyZSBpdCBz aG91bGQgZW5kLiBZb3UgY2FuIHNheSBhYm91dCBhIGxhdGUgdHJhaW4sIGZvciBpbnN0YW5jZSwg dGhhdCBpdHMgcHJvY2VzcyBvZiByZWFjaGluZyB5b3UgaXMgbm93IGV4dGVuZGluZyBiZXlvbmQg aXRzIG5hdHVyYWwgZW5kLiBBbiB1bmRlcmNvb2tlZCwgYnV0IHNlcnZlZCBtZWFsLCBzaW1pbGFy bHksIGlzIGJlaW5nIGVhdGVuIGJlZm9yZSB0aGF0IHByb2Nlc3MnIG5hdHVyYWwgYmVnaW5uaW5n LiBUaGUgZXZlbnQgY29udG91cnMgdXNlZCBpbiB0aGVzZSBleGFtcGxlcyBhcmUgYXMgZm9sbG93 czoKCgoKX18nJ3phJ28nJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGlu IHByb2Nlc3MgYmV5b25kIGl0cyBuYXR1cmFsIGVuZCBkdXJpbmcge3N1bXRpfQoKX18nJ3hhJ28n J19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGltbWF0dXJlbHkgaW4gcHJv Y2VzcyBkdXJpbmcge3N1bXRpfQoKCgpfXycnY2lkamEnJ19fOiDigJx4MSBpcyBmb29kLCB3aGlj aCBpcyBlZGlibGUgZm9yIHgy4oCdCgoKClRyYW5zbGF0ZTogJycub2kgZG8gY2l0a2EgemEnbyBs byBudSBkbyBiYSdvIHtrdX0gdSdlIGNpdGthIHpvJ2Ugbm9pIGNpZGphIGRvIHt2YXV9IHtrdSdv fSB7dmF1fSB7a2VpfSB7a3V9JycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxPeSwgeW91IGtl ZXAgZWF0aW5nIHdoZW4geW91IGhhdmUgZmluaXNoZWQsIGluY3JlZGlibHksIGVhdGluZyBzb21l dGhpbmcgZWRpYmxlIeKAnX5+CgoKCntpbWcgZmlsZUlkPSIyIiB0aHVtYj0ieSIgcmVsPSJib3hb Z10ifQoKSW1hZ2UgYWJvdmU6IFpBaE8gdGVuc2VzIChldmVudCBjb250b3VycykuIEFsbCB0ZW5z ZXMgYWJvdmUgdGhlIGxpbmUgb2YgdGhlIGV2ZW50IHNpZ25pZnkgc3RhZ2VzIGNvdmVyaW5nIGFu IGFtb3VudCBvZiB0aW1lLiBBbGwgdGVuc2VzIGJlbG93IHRoZSBldmVudCBsaW5lIHNpZ25pZnkg c3RhZ2VzIHdoaWNoIGFyZSBwb2ludC1saWtlLgoKCgpBbGwgb2YgdGhlc2UgdGVuc2VzIGhhdmUg YmVlbiBkZXNjcmliaW5nIHN0YWdlcyBvZiBhIHByb2Nlc3Mgd2hpY2ggdGFrZXMgc29tZSB0aW1l IChhcyBzaG93biBvbiB0aGUgZ3JhcGggYWJvdmU7IHRob3NlIHRlbnNlcyBhYm92ZSB0aGUgZXZl bnQgbGlrZSkuIEJ1dCBtYW55IG9mIHRoZSBldmVudCBjb250b3VycyBkZXNjcmliZXMgcG9pbnQg bGlrZSBzdGFnZXMgaW4gdGhlIHByb2Nlc3MsIGxpa2UgaXRzIGJlZ2lubmluZy4gQXMgaXMgdHJ1 ZSBvZiAnJ2NhJycgYW5kICcnYnUndScnLCB0aGV5IGFjdHVhbGx5IGV4dGVuZCBzbGlnaHRseSBp bnRvIHRoZSBwYXN0IGFuZCBmdXR1cmUgb2YgdGhhdCBwb2ludCwgYW5kIG5lZWQgbm90IHRvIGJl IHByZWNpc2UuCgoKClRoZSB0d28gbW9zdCBpbXBvcnRhbnQgcG9pbnQtbGlrZSBldmVudCBjb250 b3VycyBhcmU6CgpfXycnY28nYScnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkg aXMgYXQgaXRzIGJlZ2lubmluZyBkdXJpbmcge3N1bXRpfQoKX18nJ2NvJ3UnJ19fIC0gc3VtdGNp dGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGF0IGl0cyBlbmRpbmcgZHVyaW5nIHtzdW10aX0K CgoKRnVydGhlcm1vcmUsIHRoZXJlIGlzIGEgcG9pbnQgd2hlcmUgdGhlIHByb2Nlc3MgaXMgbmF0 dXJhbGx5IGNvbXBsZXRlLCBidXQgbm90IG5lY2Vzc2FyaWx5IGhhcyBlbmRlZCB5ZXQ6CgpfXycn bW8ndScnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgYXQgaXRzIG5hdHVy YWwgZW5kaW5nIGR1cmluZyB7c3VtdGl9CgpNb3N0IG9mIHRoZSB0aW1lLCB0aG91Z2gsIHByb2Nl c3NlcyBhY3R1YWxseSBlbmQgYXQgdGhlaXIgbmF0dXJhbCBlbmRpbmc7IHRoaXMgaXMgd2hhdCBt YWtlcyBpdCBuYXR1cmFsLiBUcmFpbnMgYXJlIG5vdCB1c3VhbGx5IGxhdGUsIGFuZCBwZW9wbGUg dXN1YWxseSByZXRyYWluIHRoZW1zZWx2ZXMgdG8gZWF0IG9ubHkgZWRpYmxlIGZvb2QuCgoKClNp bmNlIGEgcHJvY2VzcyBjYW4gYmUgaW50ZXJydXB0ZWQgYW5kIHJlc3VtZWQsIHRoZXNlIHBvaW50 cyBoYXZlIGVhcm5lZCB0aGVpciBvd24gZXZlbnQgY29udG91ciBhbHNvOgoKX18nJ2RlJ2EnJ19f IC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIHBhdXNpbmcgZHVyaW5nIHtzdW10 aX0KCl9fJydkaSdhJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyByZXN1 bWluZyBkdXJpbmcge3N1bXRpfQoKCgpJbiBmYWN0LCBzaW5jZSAnJ2p1bmRpJycgbWVhbnMg4oCc eDEgcGF5cyBhdHRlbnRpb24gdG8geDLigJ0sICcnZGUnYSBqdW5kaScnIGFuZCAnJ2RpJ2EganVu ZGknJyBhcmUgY29tbW9uIExvamJhbiB3YXlzIG9mIHNheWluZyDigJxCUkLigJ0gYW5kIOKAnGJh Y2vigJ0uIE9uZSBjb3VsZCBvZiBjb3Vyc2UgYWxzbyBzYXkgdGhlIGV2ZW50IGNvbnRvdXJzIGJ5 IHRoZW1zZWx2ZXMgYW5kIGhvcGUgdGhlIHBvaW50IGdldHMgYWNyb3NzLgoKCgpGaW5hbGx5LCBv bmUgY2FuIHRyZWF0IGFuIGVudGlyZSBldmVudCwgZnJvbSB0aGUgYmVnaW5uaW5nIHRvIHRoZSBl bmQgYXMgb25lIHNpbmdsZSBwb2ludCB1c2luZyAnJ2NvJ2knJzoKCl9fJydwZW5taScnX18g4oCc eDEgbWVldHMgeDIgYXQgbG9jYXRpb24geDPigJ0KCicnbWkgcHUge2t1fSB6aSB7a3V9IGNvJ2kg e2t1fSBwZW5taSBsbyBkb3RjbyBwcmVudSB7a3V9IHt2YXV9JycgLSDigJxBIGxpdHRsZSB3aGls ZSBhZ28sIEkgd2FzIGF0IHRoZSBwb2ludCBpbiB0aW1lIHdoZXJlIGkgbWV0IGEgR2VybWFuIHBl cnNvbuKAnQoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdHdlbHZlIChvcmRlcnMgYW5k IHF1ZXN0aW9ucykKClBoZXcsIHRob3NlIHR3byBsb25nIGxlc3NvbnMgd2l0aCBzeW50YXggaGVh dnkgTG9qYmFuIGdpdmVzIHRoZSBicmFpbiBzb21ldGhpbmcgdG8gcG9uZGVyIGFib3V0LiBFc3Bl Y2lhbGx5IGJlY2F1c2UgaXQncyBzbyBkaWZmZXJlbnQgZnJvbSBFbmdsaXNoLiBTbyBsZXQncyB0 dXJuIHRvIHNvbWV0aGluZyBhIGxpdHRsZSBsaWdodGVyOiBPcmRlcnMgYW5kIHF1ZXN0aW9ucy4K CgoKV2hhdCB0aGUuLi4gX19zaXQgdXAgYW5kIGZvY3VzIV9fCgoKClNpbmNlIHRoZSB3YXkgdG8g ZXhwcmVzcyBvcmRlcnMgaW4gRW5nbGlzaCBpcyB0byBsZWF2ZSBvdXQgdGhlIHN1YmplY3Qgb2Yg dGhlIGNsYXVzZSwgd2h5IGRpZCB5b3UgYXNzdW1lIHRoYXQgaXQgd2FzIHlvdSBJIHdhcyBzcGVh a2luZyB0bywgYW5kIG5vdCBvcmRlcmluZyBteXNlbGYsIG9yIGV4cHJlc3NpbmcgdGhlIG9ibGln YXRpb24gc29tZW9uZSBlbHNlIGhhcz8gQmVjYXVzZSB0aGUgRW5nbGlzaCBsYW5ndWFnZSB1bmRl cnN0YW5kcyB0aGF0IG9yZGVycywgYnkgdGhlaXIgdmVyeSBuYXR1cmUsIGFyZSBhbHdheXMgZGly ZWN0ZWQgdG93YXJkcyB0aGUgbGlzdGVuZXIgLSB0aGUg4oCceW914oCdLCBhbmQgc28gdGhlIHN1 YmplY3QgaXMgbm90IG5lY2Vzc2FyeS4KCkluIExvamJhbiwgZWxpZGluZyB0aGUgc3ViamVjdCB5 aWVsZHMgJyd6bydlJycsIHNvIHRoYXQgcG9zc2liaWxpdHkgaXMgc2FkbHkgbm90IG9wZW4gdG8g dXMuIEluc3RlYWQsIHdlIHVzZSB0aGUgd29yZCAnJ2tvJycsIHdoaWNoIGlzIHRoZSBpbXBlcmF0 aXZlIGZvcm0gb2YgJydkbycnLiBHcmFtbWF0aWNhbGx5IGFuZCBicmlkaS13aXNlLCBpdCdzIGVx dWl2YWxlbnQgdG8gJydkbycnLCBidXQgaXQgYWRkcyBhIGxheWVyIG9mIHNlbWFudGljcywgc2lu Y2UgaXQgdHVybnMgZXZlcnkgc3RhdGVtZW50IHdpdGggJydrbycnIGluIGl0IGludG8gYW4gb3Jk ZXIuIOKAnERvIHN1Y2ggdGhhdCB0aGlzIHNlbnRlbmNlIGlzIHRydWUgZm9yIHlvdT0nJ2tvJych 4oCdIEZvciB0aGUgc2FtZSByZWFzb24gd2UgZG9uJ3QgbmVlZCB0aGUgc3ViamVjdCBpbiBFbmds aXNoIHNlbnRlbmNlcywgd2UgZG9uJ3QgbmVlZCBvcmRlci13b3JkcyBkZXJpdmVkIGZyb20gYW55 IG90aGVyIHN1bXRpIHRoYW4gJydkbycnLgoKCgpIb3cgY291bGQgeW91IG9yZGVyIG9uZSB0byBn byBmYXIgYXdheSBmb3IgYSBsb25nIHRpbWUgKHVzaW5nICcna2xhbWEnJyBhcyB0aGUgb25seSBz ZWxicmk/KQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OmtvIHZlJ3UgemUndSBrbGFtYX5+CgooJycu aSB6YSdhIGRhaSBhJ28gbWkgY2EgY28ndSBjaXNrYSBsbyBmYSdvcm1hJ28gLmkga28gamltcGUg dmF1IC51aScnKSAtIGxvb2sgdXAgY2lza2EgYW5kIHdvcmsgaXQgb3V0LgoKCgpRdWVzdGlvbnMg aW4gTG9qYmFuIGFyZSB2ZXJ5IGVhc3kgdG8gbGVhcm4sIGFuZCB0aGV5IGNvbWUgaW4gdHdvIGtp bmRzOiBGaWxsIGluIHRoZSBibGFuaywgYW5kIHRydWUvZmFsc2UgcXVlc3Rpb25zLiBMZXQncyBi ZWdpbiB3aXRoIHRoZSB0cnVlLWZhbHNlIHF1ZXN0aW9uIGtpbmQgLSB0aGF0J3MgcHJldHR5IG92 ZXJjb21lYWJsZSwgc2luY2UgaXQgb25seSBpbnZvbHZlcyBvbmUgd29yZCwgJyd4dScnLgoKJyd4 dScnIHdvcmtzIGxpa2UgYW4gYXR0aXR1ZGluYWwgaW4gdGhlIHNlbnNlIHRoYXQgaXQgY2FuIGdv IGFueXdoZXJlLCBhbmQgaXQgYXBwbGllcyB0byB0aGUgcHJlY2VkaW5nIHdvcmQgKG9yIGNvbnN0 cnVjdCkuIEl0IHRoZW4gdHJhbnNmb3JtcyB0aGUgc2VudGVuY2UgaW50byBhIHF1ZXN0aW9uLCBh c2tpbmcgd2hldGhlciBpdCBpcyB0cnVlIG9yIG5vdC4gSW4gb3JkZXIgdG8gYWZmaXJtLCB5b3Ug c2ltcGx5IHJlcGVhdCB0aGUgYnJpZGk6CgonJ3h1IHZlJ3UgemRhbmkgZG8nJyAnJy5pIHZlJ3Ug emRhbmkgbWknJywgb3IgeW91IGp1c3QgcmVwZWF0IHRoZSB0aGUgc2VsYnJpLCB3aGljaCBpcyB0 aGUgYnJpZGkgd2l0aCBhbGwgdGhlIHN1bXRpIGFuZCB0ZW5zZXMgZWxpZGVkOiAnJ3pkYW5pJycu CgpUaGVyZSBpcyBhbiBldmVuIGVhc2llciB3YXkgdG8gYWZmaXJtIHVzaW5nIGJyaWthJ2ksIGJ1 dCB0aG9zZSBhcmUgYSB0YWxlIGZvciBhbm90aGVyIHRpbWUuIFRvIGFuc3dlciDigJxub+KAnSBv ciDigJxmYWxzZeKAnSwgeW91IHNpbXBseSBhbnN3ZXIgd2l0aCB0aGUgYnJpZGkgbmVnYXRlZC4g VGhhdCB0b28sIHdpbGwgYmUgbGVmdCBmb3IgbGF0ZXIsIGJ1dCB3ZSB3aWxsIHJldHVybiB0byBx dWVzdGlvbiBhbnN3ZXJpbmcgYnkgdGhlbi4KCgoKVGhlIG90aGVyIGtpbmQgaXMgZmlsbCBpbiB0 aGUgYmxhbmsuIEhlcmUsIHlvdSBhc2sgZm9yIHRoZSBxdWVzdGlvbiB3b3JkIHRvIGJlIHJlcGxh Y2VkIGZvciBhIGNvbnN0cnVjdCwgd2hpY2ggbWFrZXMgdGhlIGJyaWRpIGNvcnJlY3QuIFRoZXJl IGFyZSBzZXZlcmFsIG9mIHRoZXNlIHdvcmRzLCBkZXBlbmRpbmcgb24gd2hhdCB5b3UgYXJlIGFz a2luZyBhYm91dDoKCl9fJydtYScnX18gLSBzdW10aSBxdWVzdGlvbgoKX18nJ21vJydfXyAtIHNl bGJyaSBxdWVzdGlvbgoKX18nJ3hvJydfXyAtIG51bWJlciBxdWVzdGlvbgoKX18nJ2N1J2UnJ19f IC0gdGVuc2UgcXVlc3Rpb24KCgoKQXMgd2VsbCBhcyBtYW55IG90aGVycy4gVG8gYXNrIGFib3V0 IGEgc3VtdGksIHlvdSB0aGVuIGp1c3QgcGxhY2UgdGhlIHF1ZXN0aW9uIHdvcmQgd2hlcmUgeW91 IHdhbnQgeW91ciBhbnN3ZXI6ICcnZG8gZHVuZGEgbWEgbWknJyAtIGFza3MgZm9yIHRoZSB4MiB0 byBiZSBmaWxsZWQgd2l0aCBhIGNvcnJlY3Qgc3VtdGkuIOKAnFlvdSBnaXZlIHdoYXQgdG8gbWU/ 4oCdLiBUaGUgY29tYmluYXRpb24gb2YgJydzdW10Y2l0YScnICsgJydtYScnIGlzIHZlcnkgdXNl ZnVsIGluZGVlZDoKCl9fJydtdSdpJydfXyAtIHN1bXRjaXRhOiBtb3RpdmF0ZWQgYnkgdGhlIGFi c3RyYWN0aW9uIG9mIHtzdW10aX0KCgoKJycub2kgZG8gZGFyeGkgbWkgbXUnaSBtYScnIC0g4oCc T3ksIHdoeSBkbyB5b3UgaGl0IG1lPyHigJ0KCgoKTGV0J3MgdHJ5IGFub3RoZXIgb25lLiBUaGlz IHRpbWUsIHlvdSB0cmFuc2xhdGU6CgonJy51aSBkYWkgZG8gY2EgemUndSBwdSBtbycnCgoKCkFu c3dlcjogfn5ncmV5LGdyZXk64oCcWW91J3JlIGhhcHB5LCB3aGF0IGhhdmUgeW91IGJlZW4gZG9p bmcgYWxsIHRoaXMgbG9uZyB0aW1lIHVudGlsIG5vdz/igJ0gVGVjaG5pY2FsbHksIGl0IGNvdWxk IGFsc28gbWVhbiDigJx3aGF0IGhhdmUgeW91IGJlZW4/4oCdLCBidXQgYW5zd2VyaW5nIHdpdGgg JycudWEgbmFpIGxpJ2EgcmVtbmEnJyAoVWgsIGh1bWFuLCBvYnZpb3VzbHkpIGlzIGp1c3QgYmVp bmcgaW5jcmVkaWJseSBhbm5veWluZyBvbiBwdXJwb3NlLn5+CgoKClNpbmNlIHRvbmUgb2Ygdm9p Y2Ugb3Igc2VudGVuY2Ugc3RydWN0dXJlIGRvZXMgbm90IHJldmVhbCB3aGV0aGVyIGEgc2VudGVu Y2UgaXMgYSBxdWVzdGlvbiBvciBub3QsIG9uZSBiZXR0ZXIgbm90IG1pc3MgdGhlIHF1ZXN0aW9u IHdvcmQuIFRoZXJlZm9yZSwgc2luY2UgcGVvcGxlIHRlbmQgdG8gZm9jdXMgbW9yZSBvbiB3b3Jk cyBpbiB0aGUgYmVnaW5uaW5nIG9yIGF0IHRoZSBlbmQgb2Ygc2VudGVuY2VzLCBpdCdzIHVzdWFs bHkgd29ydGggdGhlIHdoaWxlIHRvIHJlLW9yZGVyIHRoZSBzZW50ZW5jZSBzbyB0aGF0IHRoZSBx dWVzdGlvbiB3b3JkcyBhcmUgYXQgdGhvc2UgcGxhY2VzLiBJZiB0aGF0IGlzIG5vdCBmZWFzYWJs ZSwgJydwYXUnJyBpcyBhbiBhdHRpdHVkaW5hbCBtYXJraW5nIHRoYXQgdGhlIHNlbnRlbmNlIGlz IGEgcXVlc3Rpb24uIENvbnRyYXJ5LCAnJ3BhdSBuYWknJyBleHBsaWNpdGx5IG1hcmtzIGFueSBx dWVzdGlvbiBhcyBiZWluZyByaGV0b3JpY2FsLgoKCgpXaGlsZSB3ZSBhcmUgb24gdGhlIHRvcGlj IG9mIHF1ZXN0aW9ucywgaXQncyBhbHNvIGFwcHJvcHJpYXRlIHRvIG1lbnRpb24gdGhlIHdvcmQg JydrYXUnJywgd2hpY2ggaXMgYSBtYXJrZXIgZm9yIOKAnGluZGlyZWN0IHF1ZXN0aW9u4oCdLiBX aGF0J3MgYW4gaW5kaXJlY3QgcXVlc3Rpb24sIHRoZW4/IFdlbGwsIHRha2UgYSBsb29rIGF0IHRo ZSBzZW50ZW5jZTogJydtaSBkanVubyBsbyBkdSd1IG1hIGthdSB6ZGFuaSBkbycnIC0g4oCcSSBr bm93IHdoYXQgaXMgeW91ciBob21lLuKAnQoKX18nJ2RqdW5vJydfXyDigJx4MSBrbm93cyBmYWN0 KHMpIHgyIGFyZSB0cnVlIGFib3V0IHgzIGJ5IGVwaXN0ZW1vbG9neSB4NOKAnQoKT25lIGNhbiB0 aGluayBpdCBhcyB0aGUgYW5zd2VyIHRvIHRoZSBxdWVzdGlvbiAnJ21hIHpkYW5pIGRvJycuIE1v cmUgcmFyZWx5LCBvbmUgY2FuIG1hcmsgYSBub24tcXVlc3Rpb24gd29yZCB3aXRoICcna2F1Jycs IGluIHdoaWNoIGNhc2Ugb25lIHN0aWxsIGNhbiBpbWFnaW5lIGl0IGFzIHRoZSBhbnN3ZXIgdG8g YSBxdWVzdGlvbjogJydtaSBqaW1wZSBsbyBkdSd1IGR1bmRhIHRpIGthdSBkbycnIC0g4oCcSSBr bm93IHdoYXQgeW91IGhhdmUgYmVlbiBnaXZlbiwgaXQgaXMgdGhpcy7igJ0KCgoKCgohIUxvamJh biBMZXNzb25zIC0gTGVzc29uIHRoaXJ0ZWVuIChtb3JwaG9sb2d5IGFuZCB3b3JkIGNsYXNzZXMp CgpCYWNrIHRvIG1vcmUgaGVhdnkgKGFuZCBpbnRlcmVzdGluZykgc3R1ZmYuCgpJZiB5b3UgaGF2 ZW4ndCBhbHJlYWR5LCBJIHN0cm9uZ2x5IHN1Z2dlc3QgeW91IGZpbmQgdGhlIExvamJhbmljIHJl Y29yZGluZyBjYWxsZWQgIlN0b3J5IFRpbWUgd2l0aCBVbmNsZSBSb2JpbiIsIG9yIGxpc3RlbiB0 byBzb21lb25lIHNwZWFrIExvamJhbiBvbiBNdW1ibGUsIGFuZCB0aGVuIHByYWN0aWNlIHlvdXIg cHJvbnVuY2lhdGlvbi4gSGF2aW5nIGFuIGludGVybmFsIGNvbnZlcnNhdGlvbiBpbiB5b3VyIGhl YWQgaW4gTG9qYmFuIGlzIG9ubHkgZ29vZCBpZiBpdCBpc24ndCB3aXRoIGFsbCB0aGUgd3Jvbmcg c291bmRzLCBhbmQgbGVhcm5pbmcgcHJvbnVuY2lhdGlvbiBmcm9tIHdyaXR0ZW4gdGV4dCBpcyBo YXJkLiBUaGVyZWZvcmUsIHRoaXMgbGVzc29uIHdpbGwgbm90IGJlIG9uIHRoZSBMb2piYW4gc291 bmRzLCBob3dldmVyIGltcG9ydGFudCB0aGV5IG1pZ2h0IGJlLCBidXQgYSBzaG9ydCBpbnRyb2R1 Y3Rpb24gdG8gdGhlIExvamJhbiBtb3JwaG9sb2d5LgoKCgpXaGF0IGlzIG1vcnBob2xvZ3k/IFRo ZSB3b3JkIGlzIGRlcml2ZWQgZnJvbSBHcmVlayBtZWFuaW5nIOKAnHRoZSBzdHVkeSBvZiBzaGFw ZXPigJ0sIGFuZCBpbiB0aGlzIGNvbnRleHQsIHdlIHRhbGsgYWJvdXQgaG93IHdlIG1ha2Ugd29y ZHMgZnJvbSBsZXR0ZXJzIGFuZCBzb3VuZHMsIGFzIGNvbnRyYXN0ZWQgd2l0aCBzeW50YXggLSBo b3cgd2UgbWFrZSBzZW50ZW5jZXMgd2l0aCB3b3Jkcy4gTG9qYmFuIG9wZXJhdGVzIHdpdGggZGlm ZmVyZW50IG1vcnBob2xvZ2ljYWwgd29yZCBjbGFzc2VzLCB3aGljaCBhcmUgYWxsIGRlZmluZWQg YnkgdGhlaXIgbW9ycGhvbG9neS4gVG8gbWFrZSBpdCBhbGwgbmljZSBhbmQgc3lzdGVtYXRpYyB0 aG91Z2gsIHdvcmRzIHdpdGggY2VydGFpbiBmdW5jdGlvbnMgdGVuZCB0byBiZSBncm91cGVkIGJ5 IG1vcnBob2xvZ2ljYWwgY2xhc3NlcywgYnV0IGV4Y2VwdGlvbnMgbWF5IG9jY3VyLgoKfHwgICBD bGFzc3xNZWFuaW5nfERlZmluZWQgQnl8VHlwaWNhbCBGdW5jdGlvbgoKICAgV29yZHM6fCAgIHwg ICB8ICAgCgogICBCcml2bGF8ICAgYnJpZGktd29yZHwgICBBbW9uZyBmaXJzdCA1IGxldHRlcnMg KGV4Y2x1ZGluZyDigJwg4oCYIOKAnCkgaXMgYSBjb25zb25hbnQgY2x1c3Rlci4gRW5kcyBpbiB2 b3dlbC4gICB8ICAgQWN0cyBhcyBhIHNlbGJyaSBieSBkZWZhdWx0LiBBbHdheXMgaGFzIGEgcGxh Y2Ugc3RydWN0dXJlLgoKICAgLS1HaXNtdXwgICBSb290LXdvcmR8IDUgbGV0dGVycyBvZiB0aGUg Zm9ybSBDVkNDViBvciBDQ1ZDViAgIHwgICBPbmUgdG8gZml2ZSBzdW10aSBwbGFjZXMuIENvdmVy cyBiYXNpYyBjb25jZXB0cy4KCiAgIC0tTHVqdm98ICBDb21wb3VuZCB3b3JkLiBEZXJpdmVkIGZy b20gZnJvbSDigJxsdWp2bGHigJ0sIG1lYW5pbmcg4oCcY29tcGxleCB3b3Jk4oCdIHwgICBNaW4u IDYgbGV0dGVycy4gTWFkZSBieSBzdHJpbmdpbmcgcmFmc2kgdG9nZXRoZXIgd2l0aCBiaW5kaW5n IGxldHRlcnMgaWYgbmVjZXNzYXJ5LnwgICBDb3ZlcnMgbW9yZSBjb21wbGV4IGNvbmNlcHRzIHRo YW4gZ2lzbXUuCgogICAtLUZ1J2l2bGF8ICBDb3B5LXdvcmQgfCBBcyBicml2bGEsIGJ1dCBkbyBu b3QgbWVldCBkZWZpbmluZyBjcml0ZXJpYSBvZiBnaXNtdSBvciBsdWp2bywgZXg6ICcnYW5nZWxp JycgIHwgICBDb3ZlcnMgdW5pcXVlIGNvbmNlcHRzIGxpa2UgbmFtZXMgb2YgcGxhY2VzIG9yIG9y Z2FuaXNtcy4KCiAgIENtZXZsYXwgIE5hbWUtd29yZCB8ICAgQmVnaW5uaW5nIGFuZCBlbmRpbmcg d2l0aCBwYXVzZSAoZnVsbCBzdG9wKS4gTGFzdCBzb3VuZC9sZXR0ZXIgaXMgYSBjb25zb25hbnQu fCAgIEFsd2F5cyBhY3RzIGFzIGEgbmFtZSBvciBhcyB0aGUgY29udGVudCBvZiBhIHF1b3RlLgoK ICAgQ21hdm98ICAgR3JhbW1hci13b3JkLiBGcm9tIOKAnGNtYXZsYeKAnSwgbWVhbmluZyDigJxz bWFsbCB3b3Jk4oCdfCBPbmUgY29uc29uYW50IG9yIHplcm8sIGFsd2F5cyBhdCB0aGUgYmVnaW5u aW5nLiBFbmRzIGluIGEgdm93ZWwuICB8ICAgR3JhbW1hdGljYWwgZnVuY3Rpb25zLiBWYXJpZXMK CiAgIFdvcmQtZnJhZ21lbnRzOnwgICB8ICAgfAoKICAgUmFmc2l8ICAgQWZmaXh8ICBDQ1YsIENW QywgQ1YnViwgLUNWQ0NWLCAtQ0NWQ1YsIENWQ0N5LSBvciBDQ1ZDeS0gIHwgTm90IGFjdHVhbCB3 b3JkcywgYnV0IGNhbiBiZSBzdHJpbmdlZCB0b2dldGhlciB0byBmb3JtIGx1anZvIHx8CgoKCgoK X18nJ2NtZXZsYScnX18gYXJlIHZlcnkgZWFzeSB0byBpZGVudGlmeSBiZWNhdXNlIHRoZXkgYmVn aW4gYW5kIGVuZCB3aXRoIGEgcGF1c2UsIHNpZ25hbGVkIGJ5IGEgZnVsbCBzdG9wIGluIHdyaXRp bmcsIGFuZCB0aGUgbGFzdCBsZXR0ZXIgaXMgYSBjb25zb25hbnQuIGNtZXZsYSBjYW4ndCBoYXZl IGFueSBvdGhlciBmdW5jdGlvbiBiZXNpZGVzIGFjdGluZyBhcyBhIG5hbWUuIE9uIHRoZSBvdGhl ciBoYW5kLCBuYW1lcyB3aGljaCBhcmUgbm90IHNlbGJyaSBjYW5ub3QgYXBwZWFyIGluIExvamJh biB3aXRob3V0IHRoZW0gYmVpbmcgY21ldmxhLCBvciBlbmNhc2VkIGJ5IGNlcnRhaW4gcXVvdGUg d29yZHMuIE9uZSBjYW4gbWFyayBzdHJlc3MgaW4gdGhlIG5hbWVzIGJ5IGNhcGl0YWxpemluZyB0 aGUgbGV0dGVycyB3aGljaCBhcmUgc3RyZXNzZWQuIEV4YW1wbGVzIG9mIGNtZXZsYSBhcmU6ICcn LmlvaEFOLicnIChKb2hhbiwgaCBpcyBjYXBpdGFsIGFwb3N0cm9waGUpLCAnJy5tYXQuJycgKE1h dHQpIGFuZCAnJy5sdXRjaU1JTi4nJyAoTHVpLUNoaSBNaW4pLiBOYW1lcyB3aGljaCBkbyBub3Qg ZW5kIGluIGNvbnNvbmFudHMgaGF2ZSB0byBoYXZlIG9uZSBhZGRlZDogJycuaXZ5bi4nJyAoRXZl KSwgb3IgKHByb2JhYmx5IGJldHRlciBpbiB0aGlzIGNhc2UpIHJlbW92ZWQ6ICcnLml2LicnCgoK Cl9fJydicml2bGEnJ19fIGFyZSBjYWxsZWQg4oCcYnJpZGktd29yZHPigJ0gYmVjYXVzZSB0aGV5 IGJ5IGRlZmF1bHQgYXJlIHNlbGJyaSwgYW5kIHRoZXJlZm9yZSBhbG1vc3QgYWxsIExvamJhbiB3 b3JkcyB3aXRoIGEgcGxhY2Ugc3RydWN0dXJlIGFyZSBicml2bGEuIFRoaXMgaGFzIGFsc28gZ2l2 ZW4gdGhlbSB0aGUgRW5nbGlzaCBuaWNrbmFtZSDigJxjb250ZW50LXdvcmRz4oCdLiBJdCdzIG5l YXJseSBpbXBvc3NpYmxlIHRvIHNheSBhbnl0aGluZyB1c2VmdWwgd2l0aG91dCBicml2bGEsIGFu ZCBhbG1vc3QgYWxsIHdvcmRzIGZvciBjb25jZXB0cyBvdXRzaWRlIGxvamJhbiBncmFtbWFyIChh bmQgZXZlbiBtb3N0IG9mIHRoZSB3b3JkcyBmb3IgdGhpbmdzIGluIHRoZSBsYW5ndWFnZSkgYXJl IGNhcHR1cmVkIGJ5IGJyaXZsYS4gQXMgc2hvd24gaW4gdGhlIHRhYmxlLCBicml2bGEgaGFzIHRo cmVlIHN1YmNhdGVnb3JpZXM6CgpfXycnZ2lzbXUnJ19fIGFyZSB0aGUgcm9vdCB3b3JkcyBvZiB0 aGUgbGFuZ3VhZ2UuIE9ubHkgYWJvdXQgMTQ1MCBleGlzdHMsIGFuZCB2ZXJ5IGZldyBuZXcgb25l cyBhcmUgYWRkZWQuIFRoZXkgY292ZXIgdGhlIG1vc3QgYmFzaWMgY29uY2VwdHMgbGlrZSDigJxj aXJjbGXigJ0sIOKAnGZyaWVuZOKAnSwg4oCcdHJlZeKAnSBhbmQg4oCcZHJlYW3igJ0uIEV4YW1w bGVzIGluY2x1ZGUgJyd6ZGFuaScnLCAnJ3BlbHh1JycgYW5kICcnZHVuZGEnJwoKX18nJ2x1anZv JydfXyBhcmUgbWFkZSBieSBjb21iaW5pbmcgcmFmc2kgKHNlZSB1bmRlciByYWZzaSksIHJlc3By ZXNlbnRpbmcgZ2lzbXUuIEJ5IGNvbWJpbmluZyByYWZzaSwgb25lIG5hcnJvd3MgZG93biB0aGUg bWVhbmluZyBvZiB0aGUgd29yZC4gbHVqdm8gYXJlIG1hZGUgYnkgYW4gZWxhYm9yYXRlIGFsZ29y aXRobSwgc28gbWFraW5nIHZhbGlkIGx1anZvIG9uIHRoZSBmbHkgaXMgbmVhciBpbXBvc3NpYmxl LCB3aXRoIGZldyBleGNlcHRpb25zIGxpa2UgJydzZWxwYSdpJycsIGZyb20gJydzZSBwcmFtaScn LCB3aGljaCBjYW4gb25seSBoYXZlIG9uZSBkZWZpbml0aW9uLiBJbnN0ZWFkLCBsdWp2byBhcmUg bWFkZSBvbmNlLCBpdHMgcGxhY2Ugc3RydWN0dXJlIGRlZmluZWQsIGFuZCB0aGVuIHRoYXQgZGVm aW5pdGlvbiBpcyBtYWRlIG9mZmljaWFsIGJ5IHRoZSBkaWN0aW9uYXJ5LiBFeGFtcGxlcyBpbmNs dWRlIGJyaXZsYSAoYnJpZGktd29yZCksICcnY2luamlrY2EnJyAoc2V4dWFsLXNvY2lhbGl6aW5n ID0gZmxpcnRpbmcpIGFuZCAnJ2Nha2NpbmtpJycgKHNoZWxsLWluc2VjdCA9IGJlZXRsZSkuCgpf XycnZnUnaXZsYScnX18gYXJlIG1hZGUgYnkgbWFraW5nIHVwIHdvcmRzIHdoaWNoIGZpdCB0aGUg ZGVmaW5pdGlvbiBmb3IgYnJpdmxhLCBidXQgbm90IGZvciBsdWp2byBvciBnaXNtdS4gVGhleSB0 ZW5kIHRvIGNvdmVyIGNvbmNlcHRzIHdoaWNoIGl0J3MgaGFyZCB0byBjb3ZlciBieSBsdWp2bywg Zm9yIGluc3RhbmNlIG5hbWVzIG9mIHNwZWNpZXMsIG5hdGlvbnMgb3IgdmVyeSBjdWx0dXJhbCBz cGVjaWZpYyBjb25jZXB0cy4gRXhhbXBsZXMgaW5jbHVkZSAnJ2d1Z2RyZ29ndXJpbycnIChLb3Jl YSkgJydjaWRqcnBpdHNhJycgKHBpenphKSBvciAnJ2FuZ2VsaScnIChhbmdlbCkuCgoKCl9fJydj bWF2bycnX18gYXJlIHNtYWxsIHdvcmRzIHdpdGggb25lIG9yIHplcm8gY29uc29uYW50cy4gVGhl eSB0ZW5kIHRvIG5vdCBzaWduaWZ5IGFueXRoaW5nIGluIHRoZSBleHRlcmlvciB3b3JsZCwgYnV0 IHRvIGhhdmUgb25seSBncmFtbWF0aWNhbCBmdW5jdGlvbi4gRXhjZXB0aW9ucyBvY2N1ciwgYW5k IGl0J3MgZGViYXRhYmxlIGhvdyBtdWNoIGF0dGl0dWRpbmFscyBleGlzdHMgZm9yIHRoZWlyIGdy YW1tYXRpY2FsIGZ1bmN0aW9uLiBBbm90aGVyIHdlaXJkIGV4YW1wbGUgYXJlIHRoZSB3b3JkcyBv ZiB0aGUgY2xhc3MgR09oQSwgd2hpY2ggYWN0IGFzIGJyaXZsYS4gSXQgaXMgdmFsaWQgdG8gdHlw ZSBzZXZlcmFsIGNtYXZvIGluIGEgcm93IGFzIG9uZSB3b3JkLCBidXQgaW4gdGhlc2UgbGVzc29u cywgdGhhdCB3b24ndCBiZSBkb25lLiBCeSBncm91cGluZyBjZXJ0YWluIGNtYXZvIGluIGZ1bmN0 aW9uYWwgdW5pdHMsIHRob3VnaCwgaXQgaXMgc29tZXRpbWVzIGVhc2llciB0byByZWFkLiBUaHVz LCAnJy51aXB1enV2dWt1bWkgY2l0a2EnJyBpcyB2YWxpZCwgYW5kIGlzIHBhcnNlZCBhbmQgdW5k ZXJzdG9vZCBhcyAnJy51aSBwdSB6dSB2dSBrdSBtaSBjaXRrYScnLiBMaWtlIG90aGVyIExvamJh biB3b3Jkcywgb25lIHNob3VsZCAoYnV0IG5lZWQgbm90IGFsd2F5cykgcGxhY2UgYSBmdWxsIHN0 b3AgYmVmb3JlIGFueSB3b3JkcyBiZWdpbm5pbmcgd2l0aCBhIHZvd2VsLgoKY21hdm8gb2YgdGhl IGZvcm0geFZWLCBDVidWViBvciBWJ1ZWIGFyZSBleHBlcmltZW50YWwsIGFuZCBhcmUgd29yZHMg d2hpY2ggYXJlIG5vdCBpbiB0aGUgZm9ybWFsIGdyYW1tYXIsIGJ1dCB3aGljaCBoYXZlIGJlZW4g YWRkZWQgYnkgTG9qYmFuIHVzZXJzIHRvIHJlc3BvbmQgdG8gYSBjZXJ0YWluIG5lZWQuCgoKCl9f JydyYWZzaScnX18gYXJlIG5vdCBMb2piYW4gd29yZHMsIGFuZCBjYW4gbmV2ZXIgYXBwZWFyIGFs b25lLiBIb3dldmVyLCBzZXZlcmFsIChtb3JlIHRoYW4gb25lKSByYWZzaSBjb21iaW5lIHRvIGZv cm0gbHVqdm8uIFRoZXNlIG11c3Qgc3RpbGwgbGl2ZSB1cCB0byB0aGUgYnJpdmxhLWRlZmluaXRp b24sIGZvciBpbnN0YW5jZSAnJ2xvamJhbicnIGlzIGludmFsaWQgYmVjYXVzZSBpdCBlbmRzIGlu IGEgY29uc29uYW50ICh3aGljaCBtYWtlcyBpdCBhIGNtZXZsYSksIGFuZCAnJ2NpJ2VrZWknJyBp cyBpbnZhbGlkIGJlY2F1c2UgaXQgZG9lcyBub3QgY29udGFpbiBhIGNvbnNvbmFudCBjbHVzdGVy LCBhbmQgaXMgdGh1cyByZWFkIGFzIHR3byBjbWF2byB3cml0dGVuIGFzIG9uZSB3b3JkLiBPZnRl biwgYSAzLTQgbGV0dGVyIHN0cmluZyBpcyBib3RoIGEgY21hdm8gYW5kIGEgcmFmc2ksIGxpa2Ug Jyd6dSdlJycsIHdoaWNoIGlzIGJvdGggdGhlIEJBSSBhbmQgdGhlIHJhZnNpIGZvciAnJ3p1a3Rl JycuIE5vdGUgdGhhdCB0aGVyZSBpcyBub3doZXJlIHRoYXQgYm90aCBhIGNtYXZvIGFuZCBhIHJh ZnNpIHdvdWxkIGJlIGdyYW1tYXRpY2FsLCBzbyB0aGVzZSBhcmUgbm90IGNvbnNpZGVyZWQgaG9t b3Bob25lcy4gQWxsIGdpc211IGNhbiBkb3VibGUgYXMgcmFmc2ksIGlmIHRoZXkgYXJlIHByZWZp eGVkIHdpdGggYW5vdGhlciByYWZzaS4gVGhlIGZpcnN0IGZvdXIgbGV0dGVyIG9mIGEgZ2lzbXUg c3VmZml4ZWQgd2l0aCBhbiAieSIgY2FuIGFsc28gYWN0IGFzIGEgcmFmc2ksIGlmIHRoZXkgYXJl IHN1ZmZpeGVkIHdpdGggYW5vdGhlciByYWZzaS4gVGhlIHZvd2VsICJ5IiBjYW4gb25seSBhcHBl YXIgaW4gbHVqdm8gb3IgY21ldmxhLiBWYWxpZCByYWZzaSBsZXR0ZXIgY29tYmluYXRpb25zIGFy ZTogQ1ZWLCBDVidWLCBDQ1YsIENWQ0N5LSBDQ1ZDeS0sIC1DVkNDViBhbmQgLUNDVkNWLgoKCgpV c2luZyB3aGF0IHlvdSBrbm93IG5vdywgeW91IHNob3VsZCBiZSBhYmxlIHRvIGFuc3dlciB0aGUg dGVzdCBpIHRodXMgcHJlc2VudDoKCkNhdGVnb3JpemUgZWFjaCBvZiB0aGUgZm9sbG93aW5nIHdv cmRzIGFzIGNtZXZsYSAoQyksIGdpc211IChnKSwgbHVqdm8gKGwpLCAnJ2Z1J2l2bGEnJyAoZikg b3IgY21hdm8gKGMpOgoKQSApIGphaSAgICAgICAgRyApIG11bWJsCgpCICkgLmlyY2kgICAgICAg IEggKSAuaSdpCgpDICkgYm9zdHUgICAgICAgIEkgKSBjdQoKRCApIHhlbG1hbiAgICAgICAgSiAp IHBsYWp2YQoKRSApIHBvJ2UgICAgICAgIEsgKSBkYW5zZWtlCgpGICkgZGppc2t1ICAgICAgICBM ICkgLmVydHNhCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6YS1jLCBiLWYsIGMtZywgZC1DLCBlLWMs IGYtbCwgZy1DLCBoLWMsIGktYywgai1sLCBrLWYsIGwtZi4gSSBsZWZ0IG91dCB0aGUgZnVsbCBz dG9wcyBiZWZvcmUgYW5kIGFmdGVyIG5hbWVzIHNvIGl0IHdvdWxkbid0IGJlIHRvbyBlYXN5LgoK Tm90ZTogc29tZSBvZiB0aGVzZSB3b3JkcywgbGlrZSAnJ2Jvc3R1JycgZG8gbm90IGV4aXN0IGlu IHRoZSBkaWN0aW9uYXJ5LCBidXQgdGhpcyBpcyBpcnJlbGV2YW50LiBUaGUgbW9ycGhvbG9neSBz dGlsbCBtYWtlcyBpdCBhIGdpc211LCBzbyBpdCdzIGp1c3QgYW4gdW5kZWZpbmVkIGdpc211LiBT aW1pbGFybHkgd2l0aCAnJy5lcnRzYScnfn4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29u IGZvdXJ0ZWVuICh0aGUgTG9qYmFuIHN1bXRpIDE6IExFIGFuZCBMQSkKCklmIHlvdSBoYXZlIHJl YWQgYW5kIHVuZGVyc3Rvb2QgdGhlIGNvbnRlbnQgb2YgYWxsIHRoZSBsZXNzb25zIHVudGlsIG5v dywgeW91IGhhdmUgYW1hc3NlZCBhIGxhcmdlIGVub3VnaCBrbm93bGVkZ2Ugb2YgTG9qYmFuIHNv IHRoYXQgaXQgZG9lc24ndCBtYXR0ZXIgaW4gd2hpY2ggb3JkZXIgeW91IGxlYXJuIHRoZSByZXN0 LiBBcyBhIHJlc3VsdCwgdGhlIG9yZGVyIG9mIHRoZSBuZXh0IGxlc3NvbnMgd2lsbCBiZSBhIG1p eHR1cmUgb2Ygc29ydGVkIGJ5IGluY3JlYXNpbmcgZGlmZmljdWx0eSBhbmQgc29ydGVkIGJ5IGlt cG9ydGFuY2UgaW4gb3JkaW5hcnkgTG9qYmFuIGNvbnZlcnNhdGlvbi4KCgoKT25lIG9mIHRoZSBi aWdnZXN0IGNvbnN0cmFpbnMgb24geW91ciBzcGVhayBub3cgaXMgeW91ciBsaW1pdGVkIGtub3ds ZWRnZSBvbiBob3cgdG8gbWFrZSBzdW10aS4gU28gZmFyLCB5b3Ugb25seSBrbm93ICcndGknJyBh bmQgJydsbyBTRUxCUkknJywgd2hpY2ggZG9lc24ndCB0YWtlIHlvdSBmYXIgY29uc2lkZXJpbmcg aG93IGltcG9ydGFudCBzdW10aSBhcmUgaW4gTG9qYmFuLiBUaGlzIGxlc3NvbiBhcyB3ZWxsIGFz IHRoZSBmb2xsb3dpbmcgdHdvIHdpbGwgYmUgYWJvdXQgdGhlIExvamJhbiBzdW10aS4gRm9yIG5v dywgd2UgZm9jdXMgb24gdGhlIGRlc2NyaXB0aXZlLWxpa2Ugc3VtdGksIHRoZSBvbmVzIG1hZGUg d2l0aCBhcnRpY2xlcyBsaWtlICcnbG8nJwoKQXJ0aWNsZXMgYXJlIGluIGxvamJhbiBjYWxsZWQg JydnYWRyaScnLCBhbmQgYWxsIHRoZSBvbmVzIGRpc2N1c3NlZCBpbiB0aGlzIGxlc3NvbiBhcmUg dGVybWluYXRlZCBieSAnJ2t1JycsIGV4Y2VwdCB0aGUgY29tYmluYXRpb25zICcnbGEgQ01FVkxB JycsICcnbGFpIENNRVZMQScnIGFuZCAnJ2xhJ2kgQ01FVkxBJycuIFdlIHdpbGwgYmVnaW4gYnkg ZGVzY3JpYmluZyB0aHJlZSBzaW1wbGUga2luZHMgb2YgZGVzY3JpcHRpdmUgc3VtdGksIGFuZCB0 aGVuIGltbWVkaWF0ZWx5IGZpbmQgdGhhdCB0aGV5IGFyZSBub3Qgc28gc2ltcGxlIGFmdGVyIGFs bDoKCl9fJydsbycnX18gLSBnYWRyaTogR2VuZXJpYyB2ZXJpZGljYWwg4oCcY29udmVydCBzZWxi cmkgdG8gc3VtdGnigJ0uIFJlc3VsdCBpcyB2YWd1ZSB3aXRoIHJlZ2FyZCB0byBpbmRpdmlkdWFs aXR5L21hc3MtbmVzcy4KCl9fJydsZScnX18gLSBnYWRyaTogR2VuZXJpYyBkZXNjcmlwdGl2ZSDi gJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gUmVzdWx0IGlzIHZhZ3VlIHdpdGggcmVnYXJk IHRvIGluZGl2aWR1YWxpdHkvbWFzcy1uZXNzLgoKX18nJ2xhJydfXyAtIGdhZHJpOiBOYW1pbmcg YXJ0aWNsZTogQ29udmVudGlvbmFsLCDigJxjb252ZXJ0IHNlbGJyaSBvciBjbWV2bGEgdG8gc3Vt dGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBpbmRpdmlkdWFsKHMpLgoKCgpZb3UgYXJlIGFscmVhZHkg ZmFtaWxpYXIgd2l0aCAnJ2xvJycgYW5kIHdoYXQgaXQgZG9lcy4gQnV0IHdoYXQgZG9lcyBpdCBt ZWFuLCDigJx2ZXJpZGljYWzigJ0gYW5kIOKAnHZhZ3VlIHdpdGggcmVnYXJkIHRvIGluZGl2aWR1 YWxpdHkvbWFzcy1uZXNz4oCdPyBUaGUgbGF0dGVyIGFib3V0IGluZGl2aWR1YWxzIGFuZCBtYXNz ZXMsIEknbGwgY29tZSBiYWNrIHRvIGxhdGVyLiBGb3Igbm93LCDigJx2ZXJpZGljYWzigJ0gaW4g dGhpcyBjb250ZXh0IG1lYW5zIHRoYXQgaW4gb3JkZXIgZm9yIGEgdGhpbmcgdG8gcXVhbGlmeSBi ZWdpbiBsYWJlbGxlZCBhcyAnJ2xvIGtsYW1hJycsIGl0IGhhcyB0byBhY3R1YWxseSAnJ2tsYW1h JycuIFRodXMsIHZlcmlkaWNhbCBnYWRyaSBtYWtlcyBhIGNsYWltIHdoaWNoIG1heSBiZSB0cnVl IG9yIGZhbHNlIC0gdGhhdCB0aGUgb2JqZWN0KHMpIGluIHF1ZXN0aW9uIGFyZSBhY3R1YWxseSB0 aGUgeDEgb2YgdGhlIHNlbGJyaSBhZnRlciAnJ2xvJycuIAoKCgpUaGlzIG1heSBiZSBjb250cmFz dGVkIHdpdGggJydsZScnLCB3aGljaCBpcyBkZXNjcmlwdGl2ZSwgYW5kIHRodXMgbm90IHZlcmlk aWNhbC4gU2F5aW5nICcnbGUgZ2Vya3UnJyBzYXlzIHRoYXQgeW91IGhhdmUgb25lIG9yIG1vcmUg c3BlY2lmaWMgb2JqZWN0cyBpbiBtaW5kLCBhbmQgeW91IHVzZSB0aGUgc2VsYnJpICcnZ2Vya3Un JyB0byBkZXNjcmliZSBpdCwgc28gdGhhdCB0aGUgbGlzdGVuZXIgbWF5IGlkZW50aWZ5IHRob3Nl IHNwZWNpZmljIG9iamVjdHMuIFRoaXMgbWVhbnMgdGhhdCAnJ2xlJycgaGF2ZXMgdHdvIGltcG9y dGFudCBkaWZmZXJlbmNlcyBmcm9tICcnbG8nJzogRmlyc3RseSwgaXQgY2Fubm90IHJlZmVyIHRv IG9iamVjdHMgaW4gZ2VuZXJhbCwgYnV0IGFsd2F5cyByZWZlcnMgdG8gc3BlY2lmaWMgb2JqZWN0 cy4gU2Vjb25kbHksIHdoaWxlICcnbG8gZ2Vya3UnJyBkZWZpbml0ZWx5IGlzIG9uZSBvciBtb3Jl IGRvZ3MsICcnbGUgZ2Vya3UnJywgYmVjYXVzZSBpdCdzIG5vdCB2ZXJpZGljYWwsIGNhbiBiZSBh bnl0aGluZywgYXMgbG9uZyBhcyB0aGUgc3BlYWtlciB0aGlua3MgdGhlIGRlc2NyaXB0aW9uIHdp bGwgaGVscCBpZGVudGlmeWluZyB0aGUgY29ycmVjdCBvYmplY3RzLiBQZXJoYXBzIHRoZSBzcGVh a2VyIGlzIHJlZmVycmluZyB0byBhIGh5ZW5hLCBidXQgYXJlIG5vdCBmYW1pbGlhciB3aXRoIHRo ZW0gYW5kIHRoaW5rIOKAnGRvZ+KAnSBpcyBhIGdvb2QgZW5vdWdoIGFwcHJveGltYXRpb24gdG8g YmUgdW5kZXJzdG9vZC4gVGhpcyBub24tdmVyaWRpY2FsaXR5IGlzIHBlcmhhcHMgb3Zlci1lbXBo YXNpc2VkIGluIG1vc3QgbWFueSB0ZXh0czsgVGhlIGJlc3Qgd2F5IHRvIGRlc2NyaWJlIGEgZG9n IGlzIHVzdWFsbHkgdG8gZGVzY3JpYmUgaXQgYXMgYmVpbmcgYSBkb2csIGFuZCB1bmxlc3MgdGhl cmUgaXMgYSBnb29kIHJlYXNvbiBub3QgdG8sICcnbGUgZ2Vya3UnJyBpcyB1c3VhbGx5IHByZXN1 bWVkIHRvIHJlZmVyIHRvIHNvbWV0aGluZyB3aGljaCBpcyBhbHNvICcnbG8gZ2Vya3UnJy4KCklu IHRyYW5zbGF0aW9uLCAnJ2xvIGdlcmt1JycgaXMgdXN1YWxseSDigJxhIGRvZ+KAnSBvciDigJxz b21lIGRvZ3PigJ0sIHdoaWxlICcnbGUgZ2Vya3UnJyBpcyDigJx0aGUgZG9n4oCdIG9yIOKAnHRo ZSBkb2dz4oCdLiBFdmVuIGJldHRlciBmb3IgJydsZSBnZXJrdScnIHdvdWxkIGJlIOKAnHRoZSDi gJxkb2cocynigJ0g4oCdCgoKCkxhc3Qgb2YgdGhlIHRocmVlIGJhc2ljICcnZ2FkcmknJywgdGhl cmUgaXMgJydsYScnLCB0aGUgbmFtaW5nICcnZ2FkcmknJywgd2hpY2ggSSBoYXZlIHVuY29udmVu dGlvbmFsbHkgY2FsbGVkIOKAnGNvbnZlbnRpb25hbOKAnS4gV2hhdCBJIG1lYW4gYnkgdGhpcyBp cyB0aGF0IGl0J3MgbmVpdGhlciBkZXNjcmlwdGl2ZSBub3IgdmVyaWRpY2FsLCBzaW5jZSBpdCBy ZWZlcnMgdG8gYSBwcm9wZXIgbmFtZS4gSWYgSSBpbiBFbmdsaXNoIHJlZmVyIHRvIGEgcGVyc29u IGNhbGxlZCBJbm5vY2VudCBieSBoZXIgbmFtZSwgSSBuZWl0aGVyIGRlc2NyaWJlIGhlciBhcyBi ZWluZyBpbm5vY2VudCwgbm9yIGRvIEkgc3RhdGUgdGhhdCBzaGUgaXMuIEkgb25seSBzdGF0ZSB0 aGF0IGJ5IGNvbnZlbnRpb24sIHRoYXQgb2JqZWN0IGlzIHJlZmVycmVkIHRvIGJ5IHRoYXQgc2Vs YnJpIG9yIGNtZXZsYS4gTm90ZSB0aGF0ICcnbGEnJyBhbmQgdGhlIGdhZHJpIGRlcml2ZWQgZnJv bSBpdCBjYW4gY29udmVydCBjbWV2bGEgdG8gc3VtdGkgdW5saWtlIGFueSBvdGhlciAnJ2dhZHJp JycuIEFsc286IEJlIGNhdXRpb3VzOiBPdGhlciB0ZXh0cyBkbyBub3QgbWVudGlvbiB0aGF0IG5h bWVzIGNhbiBiZSBmb3JtZWQgZnJvbSBvcmRpbmFyeSBzZWxicmkgdXNpbmcgdGhlIGdhZHJpICcn bGEnJy4gQnV0IHRob3NlIGhlcmV0aWNzIG11c3QgYnVybjsgc2VsYnJpIG5hbWVzIGFyZSBhcyBn b29kIGFzIHRoZXkgZ2V0LCBhbmQgbWFueSBhIHByb3VkIExvamJhbmlzdCBoYXZlIHRoZW0uCgon J2xhJycsIGFzIHdlbGwgYXMgJydsYWknJyBhbmQgJydsYSdpJycgYXJlIGEgYml0IGVjY2VudHJp Yywgc2luY2UgdGhleSBfX2Fsd2F5c19fIG1hcmtzIHRoZSBiZWdpbm5pbmcgb2YgYSBuYW1lLiBV bmxpa2UgdGhlIG90aGVyIGdhZHJpLCBhbnl0aGluZyB0aGF0IGNhbiBiZSBncmFtbWF0aWNhbGx5 IHBsYWNlZCBhZnRlciAnJ2xhJycgYW5kIGl0cyBzaXN0ZXJzIGFyZSBjb25zaWRlcmVkIHBhcnQg b2YgdGhlIG5hbWUuIEZvciBleGFtcGxlLCAnJ2xlIG1pIGdlcmt1JycgaXMgIm15IGRvZyIsIGJ1 dCAnJ2xhIG1pIGdlcmt1JycgaXMgc29tZW9uZSBjYWxsZWQgIk15IERvZyIuCgoKClRoZXNlIHRo cmVlIGJhc2ljICcnZ2FkcmknJyBjYW4gYmUgZXhwYW5kZWQgd2l0aCB0aHJlZSBtb3JlLCB3aGlj aCBjb3JyZXNwb25kcyB0byB0aGUgcHJldmlvdXM6CgoKCl9fJydsb2knJ19fIC0gZ2Fkcmk6IHZl cmlkaWNhbCDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIG1h c3MoZXMpLgoKX18nJ2xlaScnX18gLSBnYWRyaTogRGVzY3JpcHRpdmUg4oCcY29udmVydCBzZWxi cmkgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBhIG1hc3MoZXMpLgoKX18nJ2xhaScnX18g LSBnYWRyaTogTmFtaW5nIGFydGljbGU6IENvbnZlbnRpb25hbCwg4oCcY29udmVydCBzZWxicmkg b3IgY21ldmxhIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgbWFzcyhlcykuCgoKClRoZXNl IGFyZSB0aGUgc2FtZSBpbiBhbGwgYXNwZWN0cyBleGNlcHQgZm9yIG9uZTogVGhleSB0cmVhdCB0 aGUgc3VtdGkgZXhwbGljaXRseSBhcyBtYXNzZXMuIElmIHRoZXJlIGlzIG9ubHkgb25lIG9iamVj dCBpbiBxdWVzdGlvbiwgYW4gaW5kaXZpZHVhbCBhbmQgYSBtYXNzIGNvbnNpc3Rpbmcgb2Ygb25l IG9iamVjdCBhcmUgZXF1aXZhbGVudC4gVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGVzZSB0d28g Y29uY2VwdHMgbGllIGluIHdoaWNoIHNlbGJyaSBjYW4gYmUgYXNjcmliZWQgdG8gYSBncm91cCBv ZiBpbmRpdmlkdWFscyB2ZXJzdXMgYSBtYXNzLiBBIGdyb3VwIG9mIGluZGl2aWR1YWxzIGNhbiBi ZSBzYWlkIHRvIGZpdCBhIGNlcnRhaW4gc2VsYnJpIGlmLCBhbmQgb25seSBpZiwgYWxsIG1lbWJl cnMgb2YgdGhlIGdyb3VwIGVhY2ggZml0IHRoZSBzZWxicmkuIEl0IGlzIGNvcnJlY3QgdG8gZGVz Y3JpYmUgYSBwYWNrIG9mICcnbG8gZ2Vya3UnJywgY29uc2lkZXJlZCBpbmRpdmlkdWFsbHksIGFz IGJlaW5nIGJsYWNrLCBpZiBmb3IgZWFjaCBvZiB0aGUgZG9ncyBpdCdzIHRydWUgdGhhdCB0aGV5 IGFyZSBibGFjay4gQSBtYXNzLCBvbiB0aGUgb3RoZXIgaGFuZCwgZml0cyBvbmx5IHRob3NlIHNl bGJyaSB3aGljaCBpdHMgY29tcG9uZW50cyBmaXQgYXMgYSB3aG9sZSwgYXMgYSB0ZWFtLCBzbyB0 byBzcGVhay4gSG93ZXZlciwgYWxsIHRoZSBtZW1iZXJzIG9mIGEgbWFzcyAnJ2xvaSBnZXJrdScn IG11c3QgYmUgZG9ncyBpbiBvcmRlciBmb3IgJydsb2knJyB0byBiZSBhcHBsaWNhYmxlLiBUaGUg bm90aW9uIG9mICJtYXNzZXMiIGFyZSBzb3BoaXN0aWNhdGVkLCBhbmQgcmVxdWlyZXMgc29tZSBl eGFtcGxlcyB0byBkZW1vbnN0cmF0ZSB3aGljaCBwcm9wZXJ0aWVzIGl0IGNhbiBoYXZlOgoKX18n J3NydXJpJydfXzog4oCceDEgZmxhbmtzL2VuY2lyY2xlcy9lbmNsb3NlcyB4MiBpbiBsaW5lL3Bs YW5lL2RpcmVjdGlvbnMgeDPigJ0KCicnbGVpIHByZW51IGN1IHNydXJpIGxvIHpkYW5pJycgLSDi gJxUaGUgcGVvcGxlIHN1cnJvdW5kZWQgdGhlIGhvbWUu4oCdIGlzIHBsYXVzaWJsZSwgZXZlbiB0 aG91Z2gsIHlvIG1vbWEgam9rZXMgbm90IGNvbnNpZGVyZWQsIGl0J3MgY29tcGxldGVseSBpbXBs YXVzaWJsZSB0aGF0IGl0IGNvdWxkIGJlIHRydWUgZm9yIGFueSBvbmUgb2YgdGhlIG1lbWJlcnMg YWxvbmUuIEFuIEVuZ2xpc2ggYW5hbG9neSBjb3VsZCBiZTog4oCcSHVtYW5zIGRlZmVhdGVkIHNt YWxscG94IGluIHRoZSAyMHRoIGNlbnR1cnnigJ0uIFN1cmVseSBubyBodW1hbiBkaWQgc28sIGJ1 dCB0aGUgbWFzcyBvZiBodW1hbnMgZGlkLCBhbmQgdGhhdCBtYWtlcyB0aGUgc2VudGVuY2UgdHJ1 ZSBpbiBFbmdsaXNoLCBhcyB3ZWxsIGFzIGluIExvamJhbiBpZiDigJxodW1hbnPigJ0gYXJlIGEg bWFzcy4gSnVzdCBsaWtlIHRoZSBMb2piYW4gbWFzcywgdGhlIEVuZ2xpc2ggbWFzcyDigJxodW1h bnPigJ0gY2FuIG9ubHkgcmVmZXIgdG8gaW5kaXZpZHVhbHMgZWFjaCBvZiB3aGljaCBhcmUgaHVt YW4uIEFub3RoZXIgZXhhbXBsZToKCl9fJydtaXZ5c2xlJydfXzogIngxIGlzIGEgYmlvbG9naWNh bCBjZWxsIG9mIG9yZ2FuaXNtIHgyIgoKX18nJ3JlbW5hJydfXzogIngxIGlzIGEgaHVtYW4iCgon J2xvaSBtaXZ5c2xlIGN1IHJlbW5hJycgLSAiU29tZSBtYXNzZXMgb2YgY2VsbHMgYXJlIGh1bWFu Ii4gQWdhaW4sIG5vbmUgb2YgdGhlIGNlbGxzIGFyZSBodW1hbi4gSW5kZWVkLCB0aGUgY2VsbHMg aGF2ZSB2ZXJ5IGZldyBodW1hbiB0cmFpdHMsIGJ1dCB0aGUgY2VsbHMgY29uc2lkZXJlZCBhcyBh IHdob2xlIG1ha2VzIHVwIGEgaHVtYW4uCgoKCkEgbWFzcyBtYWRlIHdpdGggJydsZWknJywgc3Vj aCBhcyAnJ2xlaSBnZXJrdScnLCByZWZlcnMgdG8gYSBtYXNzIGZvcm1lZCBieSBhIGdyb3VwIG9m IHNwZWNpZmljIGluZGl2aWR1YWxzLCBlYWNoIG9mIHdoaWNoIHRoZSBzcGVha2VyIHJlZmVycyB0 byBhcyAnJ2xlIGdlcmt1JycuCgpNYXNzIG5hbWVzIGFzIGRlc2NyaWJlcyBieSAnJ2xhaScnIGFy ZSBvbmx5IGFwcHJvcHJpYXRlIGlmIHRoZSBncm91cCBhcyBhIHdob2xlIGlzIG5hbWVkIHN1Y2gs IGFuZCBub3QganVzdCBpZiBhbnkgb2YgdGhlIG1lbWJlcnMgYXJlLiBJdCBjYW4sIGhvd2V2ZXIg YmUgdXNlZCBpZiB0aGUgYnJpZGkgaXMgdHJ1ZSBmb3Igb25seSBhIGZyYWN0aW9uIG9mIHRoYXQg Z3JvdXAuCgoKCkl0IGlzIGltcG9ydGFudCB0byByZW1lbWJlciB0aGF0ICcnbG8nJyBhbmQgJyds ZScnIGNhbiBiZSB1c2VkIHRvIGRlc2NyaWJlIGJvdGggaW5kaXZpZHVhbHMgYW5kIG1hc3Nlcy4g TGV0J3Mgc2F5IGEgcGFjayBvZiBkb2dzLCBjb25zaWRlcmVkIGFzIGEgbWFzcyBuZWVkcyBkZXNj cmlwdGlvbi4gSSBtaWdodCBkZXNjcmliZSBpdCBhcyBlaXRoZXIgJydsb2kgZ2Vya3UnJyBvciAn J2xvIGdlcmt1JycuIElmIEkgdXNlICcnbG8nJywgdGhpcyBhbGxvd3MgbWUgdG8gY29ycmVjdGx5 IHN0YXRlIHNvbWV0aGluZyB3aGljaCBsb29rcyBsaWtlIGEgY29udHJhZGljdGlvbiwgYnV0IHJl YWxseSBpc24ndDogJydsbyBnZXJrdSBuYSBnZXJrdScnIC0gIlNvbWUgZG9ncyBhcmUgbm90IGRv Z3MiLiBTaW5jZSBpdCdzIGJlaW5nIGNvbnNpZGVyZWQgYSBtYXNzIG9mIGRvZ3MsIHRoZSBtYW55 IGRvZ3MgY29uc2lkZXJlcyBhcyBhIHdob2xlIGlzIG5vdCBhIGRvZywgYnV0IHJhdGhlciBhIHBh Y2sgb2YgZG9ncy4KCllvdSBtaWdodCBoYXZlIG5vdGljZWQgdGhhdCB0aGVyZSBpcyBubyB3b3Jk IHdoaWNoIHVuYW1iaWd1b3VzbHkgY29udmVydHMgc2VsYnJpIHRvIGluZGl2aWR1YWwocykuIElu IG9yZGVyIHRvIGJlIGV4cGxpY2l0IGFib3V0IGluZGl2aWR1YWxuZXNzLCBvbmUgbmVlZHMgJyds bycnLCAnJ2xlJycgb3IgJydsYScnIHdpdGggYW4gb3V0ZXIgcXVhbnRpZmllci4gVGhlIHN1Ympl Y3Qgb2YgcXVhbnRpZmllcnMgd2lsbCBiZSBjb25zaWRlcmVkIGxhdGVyLCBpbiBsZXNzb24gdHdl bnR5LXR3by4gV2hhdCBpcyB0aGUgcmVhc29uIHRoYXQgJydsbycnIGFuZCAnJ2xlJycgdmFndWUs IGFuZCBub3QgZXhwbGljaXRseSBpbmRpdmlkdWFsPyBJdCBpcyBiZWNhdXNlIHRoZWlyIHZhZ3Vl bmVzcyBlbmFibGVzIHRoZW0gdG8gYmUgdXNlZCBpbiBhbnkgY29udGV4dCwgd2l0aG91dCB0aGUg c3BlYWtlciBoYXZpbmcgdG8gdGhpbmsgYWJvdXQgd2hldGhlciBpcyBiZWhhdmVzIGFzIGEgbWFz cyBvciBhIGdyb3VwIG9mIGluZGl2aWR1YWxzLgoKCgpUaGlyZCBpbiB0aGlzIHNlcmllcywgdGhl cmUgYXJlIHRocmVlIHNldC1mb3JtaW5nICcnZ2FkcmknJzoKCgoKX18nJ2xvJ2knJ19fIC0gZ2Fk cmk6IHZlcmlkaWNhbCDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0 IGFzIGEgc2V0LgoKX18nJ2xlJ2knJ19fIC0gZ2Fkcmk6IERlc2NyaXB0aXZlIOKAnGNvbnZlcnQg c2VsYnJpIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgYSBzZXQuCgpfXycnbGEnaScnX18g LSBnYWRyaTogTmFtaW5nIGFydGljbGU6IENvbnZlbnRpb25hbCwg4oCcY29udmVydCBzZWxicmkg b3IgY21ldmxhIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgYSBzZXQuCgoKClVubGlrZSBn cm91cHMgb2YgaW5kaXZpZHVhbHMgb3IsIHNvbWV0aW1lcywgbWFzc2VzLCBzZXRzIGRvZXMgbm90 IHRha2UgYW55IG9mIHRoZSBwcm9wZXJ0aWVzIGZyb20gdGhlIG9iamVjdHMgZnJvbSB3aGljaCB0 aGUgc2V0IGlzIGZvcm1lZC4gQSBzZXQgaXMgYSBwdXJlbHkgbWF0aGVtYXRpY2FsIG9yIGxvZ2lj YWwgY29uc3RydWN0LCBhbmQgaGFzIHByb3BlcnRpZXMgbGlrZSBjYXJkaW5hbGl0eSwgbWVtYmVy c2hpcCBhbmQgc2V0IGluY2x1c2lvbi4gQWdhaW4sIG5vdGUgdGhlIGRpZmZlcmVuY2UgYmV0d2Vl biBhIHNldCBvZiB0aGluZ3MsIGFuZCB0aGUgdGhpbmdzIG9mIHdoaWNoIHRoZSBzZXQgaXMgZm9y bWVkOgoKX18nJ3Rpcnh1JydfXyDigJx4MSBpcyBhIHRpZ2VyL2xlb3BhcmQvamFndWFyIG9mIHNw ZWNpZXMvYnJlZWQgeDIgd2l0aCBjb2F0IG1hcmtpbmdzIHgz4oCdCgonJ2xvJ2kgdGlyeHUgY3Ug Y21hbHUnJyBzYXlzIG5vdGhpbmcgYWJvdXQgd2hldGhlciBiaWcgY2F0cyBhcmUgc21hbGwgKHdo aWNoIGlzLCBieSB0aGUgd2F5LCBvYnZpb3VzbHkgZmFsc2UpLCBidXQgaW5zdGVhZCBzYXkgdGhh dCB0aGUgc2V0IG9mIGJpZyBjYXRzIGlzIHNtYWxsOyB0aGF0IGlzIC0gdGhlcmUgYXJlIGZldyBv ZiB0aGVtLgoKCgpMYXN0bHksIHRoZXJlIGFyZSB0aGUgKG9ubHkgdHdvKSBnZW5lcmFsaXppbmcg JydnYWRyaScnOgoKX18nJ2xvJ2UnJ19fIC0gZ2Fkcmk6IHZlcmlkaWNhbCDigJxjb252ZXJ0IHNl bGJyaSB0byBzdW10aeKAnS4gU3VtdGkgcmVmZXJzIHRvIHRoZSBhcmNoZXR5cGUgb2YgJydsbyB7 c2VsYnJpfScnLgoKX18nJ2xlJ2UnJ19fIC0gZ2Fkcmk6IERlc2NyaXB0aXZlIOKAnGNvbnZlcnQg c2VsYnJpIHRvIHN1bXRp4oCdLiBTdW10aSByZWZlcnMgdG8gdGhlIGRlc2NyaWJlZC9wZXJjZWl2 ZWQgYXJjaGV0eXBlIG9mICcnbGUge3NlbGJyaX0nJy4KCk9mIHdoaWNoIHRoZXJlIGlzIG5vICcn bGEnJy1lcXVpdmFsZW50LgoKCgpTbywgd2hhdCBpcyBhY3R1YWxseSBtZWFudCBieSB0aGUgYXJj aGV0eXBlPyBGb3IgJydsbydlIHRpcnh1JycsIGl0IGlzIGFuIGlkZWFsLCBpbWFnaW5lZCBiaWcg Y2F0LCB3aGljaCBoYXMgYWxsIHRoZSBwcm9wZXJ0aWVzIHdoaWNoIGJlc3QgZXhlbXBsaWZpZXMg YmlnIGNhdHMuIEl0IHdvdWxkIGJlIHdyb25nIHRvIHNheSB0aGF0IHRoaXMgaW5jbHVkZXMgaGF2 aW5nIGEgc3RyaXBlZCBmdXIsIHNpbmNlIGEgYmlnIHN5c3RlbWF0aWMgc3ViZ3JvdXAgb2YgdGhl IG1lbWJlcnMgb2YgdGhlIHNldCBvZiBiaWcgY2F0cyBkbyBub3QgaGF2ZSBzdHJpcGVkIGZ1ciwg dGhlIGxlb3BhcmRzIGFuZCB0aGUgamFndWFycy4gTGlrZXdpc2UsIHRoZSB0eXBpY2FsIGh1bWFu IGRvZXMgbm90IGxpdmUgaW4gQXNpYSBldmVuIHRob3VnaCBhIGxvdCBvZiBodW1hbnMgZG8uIEhv d2V2ZXIsIGlmIHN1ZmZpY2llbnRseSBtYW55IGh1bWFucyBoYXZlIGEgdHJhaXQsIGZvciBpbnN0 YW5jZSBiZWluZyBhYmxlIHRvIHNwZWFrLCB3ZSBjYW4gc2F5OgoKX18nJ2tha25lJydfXzog4oCc eDEgaXMgY2FwYWJsZSBvZiBkb2luZy9iZWluZyB4MiB1bmRlciBjaXJjdW1zdGFuY2UgeDPigJ0K CicnbG8nZSByZW1uYSBjdSBrYWtuZSBsbyBudSB0YXZsYScnIC0g4oCcVGhlIHR5cGljYWwgaHVt YW4gYmVpbmcgY2FuIHNwZWFr4oCdLgoKCgonJ2xlJ2UnJyB0aGVuLCBpcyB0aGUgaWRlYWwgb2Jq ZWN0IGFzIHBlcmNlaXZlZCBvciBkZXNjcmliZWQgYnkgdGhlIHNwZWFrZXIuIFRoaXMgbmVlZCBu b3QgYmUgZmFjdHVhbGx5IGNvcnJlY3QsIGFuZCBpcyBvZnRlbiB0cmFuc2xhdGVkIGFzIHRoZSDi gJxzdGVyZW90eXBl4oCdLCBldmVuIHRob3VnaCB0aGUgRW5nbGlzaCBwaHJhc2UgaGF2ZSBzb21l IHVucGxlYXNhbnQgbmVnYXRpdmUgY29ubm90YXRpb25zLCB3aGljaCB0aGUgTG9qYmFuIGRvZXMg bm90LiBJbiBmYWN0LCBldmVyeW9uZSBoYXMgYSBzdGVyZW90eXBpY2FsIGFyY2hldHlwaWNoYWwg aW1hZ2Ugb2YgYW55IGNhdGVnb3J5LiBJbiBvdGhlciB3b3JkcywgJydsbydlIHJlbW5hJycgaXMg dGhlIGFyY2hldHlwZSB3aGljaCBiZXN0IGV4ZW1wbGlmaWVzIGFsbCAnJ2xvIHJlbW5hJycsIHdo aWxlIHRoZSBhcmNoZXR5cGUgJydsZSdlIHJlbW5hJycgYmVzdCBleGVtcGxpZmllcyBhbGwgJyds ZSByZW1uYScnLgoKCgpUaGUgZWxldmVuIGdhZHJpIGNhbiBiZSBzZWVuIGluIHRoZSBkaWFncmFt IGJlbG93LgoKfHwgfEdlbmVyaWN8TWFzc2VzfFNldHN8R2VuZXJhbGl6aW5nCgp2ZXJpZGljYWx8 bG98bG9pfGxvJ2l8bG8nZQoKRGVzY3JpcHRpdmV8bGV8bGVpfGxlJ2l8bGUnZQoKTmFtZXxsYXxs YWl8bGEnaXxkb2VzIG5vdCBleGlzdHx8CgoKCk5vdGU6IEVhcmxpZXIsIHRoZXJlIHdhcyBhIHdv cmQgJyd4bydlJycgZm9yIHRoZSBnZW5lcmljIGdhZHJpLiBIb3dldmVyLCB0aGUgcnVsZXMgYW5k IGRlZmluaXRpb25zIGZvciBnYWRyaSB3ZXJlIGNoYW5nZWQgaW4gbGF0ZSAyMDA0LCBhbmQgdGhl IGN1cnJlbnQgc2V0IG9mIHJ1bGVzIG9uIHRoaXMgdG9waWMsIG5pY2tlZCDigJx4b3Jsb+KAnSBo YXMgcmVwbGFjZWQgdGhlIG9sZCB3YXkuIE5vdywgJydsbycnIGlzIGdlbmVyaWMsIGFuZCAnJ3hv J2UnJyBpcyB1c2VkIGFzIGEgZWxsaXB0aWNhbCBkaWdpdCAobGVzc29uIG5pbmV0ZWVuKS4KCgoK CgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIGZpZnRlZW4gKHRoZSBMb2piYW4gc3VtdGkgMjog S09oQTMsIEtPaEE1IGFuZCBLT2hBNikKClNlZSB3aGF0IGhhcHBlbnMgaWYgSSB0cnkgdG8gdHJh bnNsYXRlIHRoZSBzZW50ZW5jZTog4oCcU3RlcmVvdHlwaWNhbCBwZW9wbGUgd2hvIGNhbiBzcGVh ayBMb2piYW4gc3BlYWsgdG8gZWFjaCBvdGhlciBhYm91dCB0aGUgbGFuZ3VhZ2VzIHRoZXkgY2Fu IHNwZWFr4oCdOgoKX18nJ2Jhbmd1JydfXyDigJx4MSBpcyBhIGxhbmd1YWdlIHVzZWQgYnkgeDIg dG8gZXhwcmVzcyB4MyAoYWJzdHJhY3Rpb24p4oCdCgonJ2xlJ2UgcHJlbnUgcG9pIGtlJ2Ega2Fr bmUgbG8gbnUgdGF2bGEgZm8gbGEgLmxvamJhbi4gY3UgdGF2bGEgbGUnZSBwcmVudSBwb2kga2Un YSBrYWtuZSBsbyBudSB0YXZsYSBmbyBsYSAubG9qYmFuLiBsbyBiYW5ndSBwb2kgbG8gcHJlbnUg cG9pIGtlJ2EgdGF2bGEgZm8gbGEgLmxvamJhbi4gY3Ugc2UgYmFuZ3Uga2UnYScnCgoKCldoYXQg d2Ugc2VlIGlzIHRoYXQgdGhlIExvamJhbiB2ZXJzaW9uIGlzIG11Y2ggbG9uZ2VyIHRoYW4gdGhl IEVuZ2xpc2guIFRoaXMgaXMgcHJpbWFyaWx5IGJlY2F1c2UgdGhlIGZpcnN0LCByaWRpY3Vsb3Vz bHkgbG9uZyBzdW10aSBpcyBiZWluZyByZXBlYXRlZCB0d28gbW9yZSB0aW1lcyBpbiB0aGUgTG9q YmFuIHRleHQsIHdoaWxlIHRoZSBFbmdsaXNoIGNhbiByZWZlciB0byBpdCBieSDigJxlYWNoIG90 aGVy4oCdIGFuZCDigJx0aGV54oCdIC0gbXVjaCBtb3JlIGVmZmljaWVudGx5LiBXb3VsZG4ndCBp dCBiZSBjbGV2ZXIgaWYgTG9qYmFuIHNvbWVob3cgaGFkIG1lY2hhbmlzbXMgZm9yIGRvaW5nIHRo ZSBzYW1lPwoKCgpJdCB0dXJucyBvdXQgaXQgZG9lcywgd2hhdCBhIHN1cnByaXNlISBMb2piYW4g aGFzIGEgcmFuZ2Ugb2Ygd29yZHMgY2FsbGVkICcnc3Vta2EnaScnIG1lYW5pbmcg4oCcc3VtdGkt cmVwcmVzZW50YXRpdmVz4oCdLiBJbiBFbmdsaXNoLCB3ZSByZWZlciB0byB0aGVtIGFzIHByby1z dW10aSwgYmVjYXVzZSB0aGV5IGFyZSBlc3NlbnRpYWxseSB0aGUgc2FtZSBhcyB0aGUgRW5nbGlz aCBwcm9ub3VucywgYnV0IHdpdGggc3VtdGkgaW5zdGVhZCBvZiBub3Vucy4gSW4gZmFjdCwgeW91 IGFscmVhZHkga25vdyAnJ3RpJycsICcnZG8nJyBhbmQgJydtaScnLCBidXQgdGhlcmUgYXJlIG1h bnkgbW9yZSwgc28gbGV0J3MgZ2V0IGxlYXJuaW5nLiBGaXJzdCwgd2Ugd2FudCB0byBwdXQgaXQg aW50byBzeXN0ZW0uIFdlIGNhbiBiZWdpbiB3aXRoIHRoZSBvbmVzIG1vc3QgZmFtaWxpYXIgdG8g RW5nbGlzaCwgYW5kIHdoYXQgeW91J3ZlIGFscmVhZHkgbGVhcm5lZDoKCgoKX18nJ3RpJydfXyAt IHN1bWthJ2k6IOKAnGltbWVkaWF0ZSDigJhpdCc6IHJlcHJlc2VudHMgYSBzdW10aSBwaHlzaWNh bGx5IG5lYXIgdGhlIHNwZWFrZXLigJ0KCl9fJyd0YScnX18gLSBzdW1rYSdpOiDigJxuZWFyYnkg 4oCYaXQnOiByZXByZXNlbnRzIGEgc3VtdGkgc29tZSBwaHlzaWNhbCBkaXN0YW5jZSBmcm9tIHRo ZSBzcGVha2VyIE9SIGNsb3NlIHRvIHRoZSBsaXN0ZW5lcuKAnQoKX18nJ3R1JydfXyAtIHN1bWth J2k6IOKAnGRpc3RhbnQg4oCYaXQnOiByZXByZXNlbnRzIGEgc3VtdGkgcGh5c2ljYWxseSBmYXIg ZnJvbSB0aGUgc3BlYWtlciBhbmQgdGhlIGxpc3RlbmVyLuKAnQoKCgpZb3UgY2FuIGFnYWluIHJl Y29nbml6ZSB0aGUg4oCcaSwgYSwgdeKAnS1zZXF1ZW5jZSB3aGljaCBwb3BzIHVwIG92ZXIgYW5k IG92ZXIuIFNvbWUgdGhpbmdzIG1pZ2h0IHRha2Ugc29tZSBjbGVhcmluZyB1cCwgdGhvdWdoLiBG aXJzdGx5LCB0aGVzZSBzdW10aSBjYW4gcmVwcmVzZW50IGFueXRoaW5nIHdoaWNoIGNhbiBiZSBz YWlkIHRvIG9jY3VweSBhIHBoeXNpY2FsIHNwYWNlLiBPYmplY3RzLCBjZXJ0YWlubHkuIElkZWFz LCBjZXJ0YWlubHkgbm90LiBFdmVudHMgYXJlIGFjY2VwdGVkLCBidXQgb25seSB0byB0aGUgZXh0 ZW50IHRoZXkgYXJlIHJlc3RyaWN0ZWQgdG8gYSBzcGVjaWZpYyBwbGFjZSAtIHRoZSBKYXNtaW4g UmV2b2x1dGlvbiBjYW5ub3QgYmUgcG9pbnRlZCBhdCwgYnV0IHNvbWUgYmFyLWZpZ2h0IG9yIGEg a2lzcyBtaWdodC4gU2Vjb25kbHksIG5vdGUgdGhhdCB0aGUgZGlzdGFuY2UgaXMgcmVsYXRpdmUg dG8gZGlmZmVyZW50IHRoaW5ncyBmb3IgdGhlIGRpZmZlcmVudCB3b3JkczogJyd0dScnIG9ubHkg YXBwbGllcyBpZiBpdCdzIGRpc3RhbnQgZnJvbSBib3RoIHRoZSBzcGVha2VyIGFuZCB0aGUgbGlz dGVuZXIuIEluIGNhc2VzIHdoZXJlIHRoZSBzcGVha2VyIGFuZCBsaXN0ZW5lciBpcyBmYXIgYXBh cnQgYW5kIHRoZSBsaXN0ZW5lciBjYW5ub3Qgc2VlIHRoZSBzcGVha2VyIHRhbGtpbmcsICcndGEn JyByZWZlcnMgdG8gc29tZXRoaW5nIGNsb3NlIHRvIHRoZSBsaXN0ZW5lci4gVGhpcmRseSwgaXQn cyBhbGwgcmVsYXRpdmUgYW5kIGNvbnRleHQgZGVwZW5kZW50LiBUaGVzZSB0aHJlZSB3b3JkcyBh cmUgYWxsIHByb2JsZW1hdGljIGluIHdyaXR0ZW4gdGV4dCwgZm9yIGluc3RhbmNlLCBiZWNhdXNl IHRoZSBwb3NpdGlvbiBvZiB0aGUgc3BlYWtlciBhbmQgbGlzdGVuZXIgaXMgdW5rbm93biB0byBl YWNoIG90aGVyLCBhbmQgY2hhbmdlcyBhcyB0aW1lIGdvZXMgYnkuIEZ1cnRoZXJtb3JlLCB0aGUg YXV0aG9yIG9mIGEgYm9vayBjYW5ub3QgcG9pbnQgdG8gYW4gb2JqZWN0IGFuZCBleHByZXNzIHRo ZSBwb2ludGluZyBpbiB0aGUgYm9vay4KCgoKVGhlbiB0aGVyZSBpcyBhIHNlcmllcyBjYWxsZWQg S09oQTMsIHRvIHdoaWNoICcnbWknJyBhbmQgJydkbycnIChhbmQgJydrbycnLCBidXQgSSB3b24n dCB3cml0ZSB0aGF0IGhlcmUpIGJlbG9uZ3M6CgpfXycnbWknJ19fIC0gc3Vta2EnaTogVGhlIHNw ZWFrZXIocykuCgpfXycnbWknbycnX18gLSBzdW1rYSdpOiBUaGUgbWFzcyBvZiB0aGUgc3BlYWtl cihzKSBhbmQgdGhlIGxpc3RlbmVyKHMpIC4KCl9fJydtaSdhJydfXyAtIHN1bWthJ2k6IFRoZSBt YXNzIG9mIHRoZSBzcGVha2VyKHMpIGFuZCBvdGhlcnMuCgpfXycnbWEnYScnX18gLSBzdW1rYSdp OiBUaGUgbWFzcyBvZiB0aGUgc3BlYWtlcihzKSwgdGhlIGxpc3RlbmVyKHMpIGFuZCBvdGhlcnMu CgpfXycnZG8nJ19fIC0gc3Vta2EnaTogVGhlIGxpc3RlbmVyKHMpLgoKX18nJ2RvJ28nJ19fIC0g c3Vta2EnaTogVGhlIG1hc3Mgb2YgdGhlIGxpc3RlbmVyKHMpIGFuZCBvdGhlcnMuCgoKClRoZXNl IHNpeCBzdW1rYSdpIGFyZSBtb3JlIGVhc2lseSBncmFzcGVkIGluIHRoZSBiZWxvdyBWZW5uIGRp YWdyYW06CgoKCntpbWcgZmlsZUlkPSIzIiB0aHVtYj0ieSIgcmVsPSJib3hbZ10ifQoKVmVubiBk aWFncmFtIG9mIEtPaEEzICgnJ2tvJycgZXhjbHVkZWQpLiAnJ2xlIGRyYXRhJycgaXMgbm90IGEg S09oQTMsIGJ1dCBtZWFucyDigJx0aGUgb3RoZXIocynigJ0KCgoKSXQgaXMgcG9zc2libGUgZm9y IHNldmVyYWwgcGVvcGxlIHRvIGJlIOKAnHRoZSBzcGVha2Vyc+KAnSwgaWYgb25lIHN0YXRlbWVu dCBpcyBtYWRlIG9uIHRoZSBiZWhhbGYgb2YgYWxsIG9mIHRoZW0uIFRoZXJlZm9yZSwgd2hpbGUg 4oCcd2XigJ0gY2FuIGJlIHRyYW5zbGF0ZWQgYXMgZWl0aGVyICcnbWknJywgJydtaSdvJycsICcn bWknYScnIG9yICcnbWEnYScnLCB3aGF0IG9uZSBxdWl0ZSBvZnRlbiBtZWFucyBpcyByZWFsbHkg anVzdCAnJ21pJycuIEFsbCBvZiB0aGVzZSBzaXgsIGlmIHRoZXkgcmVmZXIgdG8gbW9yZSB0aGFu IG9uZSBpbmRpdmlkdWFsLCByZXByZXNlbnQgbWFzc2VzLiBXaXRoaW4gYnJpZGktbG9naWMsIHRo ZSBicmlkaSAnJ21pIGdsZWtpJycgc2FpZCBieSBzcGVha2VyIEEgaXMgZXhhY3RseSBlcXVpdmFs ZW50IHRvICcnZG8gZ2xla2knJyBzYWlkIGJ5IHNwZWFrZXIgQiB0byBzcGVha2VyIEEsIGFuZCBh cmUgY29uc2lkZXJlZCB0aGUgc2FtZSBicmlkaS4gV2Ugd2lsbCBjb21lIGJhY2sgdG8gdGhpcyBs YXRlciwgaW4gdGhlICcnYnJpa2EnaScnIChwcm8tYnJpZGkpIGxlc3Nvbi4KCgoKQWxsIG9mIHRo ZXNlICcnc3Vta2EnaScnIGFyZSB2ZXJ5IGNvbnRlbnQtc3BlY2lmaWMsIGFuZCBjYW5ub3QgYmUg dXNlZCwgZm9yIGluc3RhbmNlLCB0byBoZWxwIHVzIHdpdGggdGhlIHNlbnRlbmNlIHdoaWNoIHRo aXMgbGVzc29uIGJlZ2FuIHdpdGguIFRoZSBmb2xsb3dpbmcgc2VyaWVzIGNhbiBpbiBwcmluY2lw bGUgYmUgdXNlZCB0byByZWZlciB0byBhbnkgc3VtdGk6CgpfXycncmknJ19fIC0gc3Vta2EnaTog 4oCcTGFzdCBzdW10aSBtZW50aW9uZWTigJ0KCl9fJydyYScnX18gLSBzdW1rYSdpOiDigJxBIHJl Y2VudCwgYnV0IG5vdCB0aGUgbGFzdCBzdW10aSBtZW50aW9uZWTigJ0KCl9fJydydScnX18gLSBz dW1rYSdpOiDigJxBIHN1bXRpIG1lbnRpb25lZCBsb25nIGFnb+KAnQoKCgpUaGVzZSBzdW10aSB3 aWxsIHJlZmVyIHRvIGFueSB0ZXJtaW5hdGVkIHN1bXRpIGV4Y2VwdCBtb3N0IG90aGVyICcnc3Vt a2EnaScnLiBUaGUgcmVhc29uIHRoYXQgbW9zdCBvdGhlciAnJ3N1bWthJ2knJyBjYW5ub3QgYmUg cmVmZXJyZWQgdG8gYnkgdGhlc2Ugc3VtdGksIGlzIHRoYXQgdGhleSBhcmUgc28gZWFzeSB0byBq dXN0IHJlcGVhdCBieSB0aGVtc2VsdmVzLiBUaGUgZXhjZXB0aW9uIHRvIHRoZSBydWxlIGFyZSAn J3RpJycsICcndGEnJyBhbmQgJyd0dScnLCBiZWNhdXNlIHlvdSBjb3VsZCBoYXZlIGNoYW5nZWQg d2hhdCB5b3UgcG9pbnQgYXQsIGFuZCB0aHVzIGNhbm5vdCBqdXN0IHJlcGVhdCB0aGUgd29yZC4g VGhleSB3aWxsIG9ubHkgcmVmZXIgdG8gdGVybWluYXRlZCBzdW10aSwgYW5kIHRodXMgY2Fubm90 LCBmb3IgaW5zdGFuY2UsIGJlIHVzZWQgdG8gcmVmZXIgdG8gYW4gYWJzdHJhY3Rpb24gaWYgdGhl IHdvcmQgaW4gaXMgdGhhdCBhYnN0cmFjdGlvbjogJydsZSBwZW5kbyBub2kga2UnYSBwZW5kbyBt aSBjdSBkamljYSBsbyBudSByaSBzZSB6ZGFuaScnIC0gaGVyZSAnJ3JpJycgY2Fubm90IHJlZmVy IHRvIHRoZSBhYnN0cmF0aW9uLCBzaW5jZSBpdCBpcyBub3QgdGVybWluYXRlZCwgbm9yIHRvICcn bWknJyBvciAnJ2tlJ2EnJywgc2luY2UgdGhleSBhcmUgc3Vta2EnaSwgc28gaXQgcmVmZXJzIHRv ICcnbGUgcGVuZG8nJy4KCicncmEnJyBhbmQgJydydScnIGFyZSBjb250ZXh0LWRlcGVuZGVudCBp biB3aGF0IHRoZXkgcmVmZXIgdG8sIGJ1dCB0aGV5IGZvbGxvdyB0aGUgcnVsZXMgbWVudGlvbmVk IGFib3ZlLCBhbmQgJydydScnIGFsd2F5cyByZWZlciB0byBhIG1vcmUgZGlzdGFudCBzdW10aSB0 aGFuICcncmEnJywgd2hpY2ggaXMgYWx3YXlzIG1vcmUgZGlzdGFudCB0aGFuICcncmknJy4KCgoK JydyaScnIGFuZCBpdCdzIGJyb3RoZXJzIGFyZSBwcmV0dHkgd2VsbCBzdWl0ZWQgZm9yIGRlYWxp bmcgd2l0aCB0aGUgb3JpZ2luYWwgc2VudGVuY2UuIFRyeSBzYXlpbmcgaXQgdXNpbmcgdHdvIGlu c3RhbmNlcyBvZiAnJ3N1bWthJ2knJyEKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ2xlJ2UgcHJl bnUgcG9pIGtlJ2Ega2FrbmUgbG8gbnUgdGF2bGEgZm8gbGEgLmxvamJhbi4gY3UgdGF2bGEgcnUg bG8gYmFuZ3UgcG9pIHJ1IGN1IHNlIGJhbmd1IGtlJ2EnJy4gJydyaScnIGlzIG5vdCBjb3JyZWN0 LCBiZWNhdXNlIGl0IHJlZmVycyB0byAnJ2xhIC5sb2piYW4uJycuICcncmEnJyBjb3VsZCBiZSB1 c2VkLCBidXQgY291bGQgYmUgbWlzdGFrZW5seSBiZSB0aG91Z2h0IHRvIHJlZmVyIHRvICcnbG8g bnUgdGF2bGEgZm8gbGEgLmxvamJhbi4nJywgYnV0ICcncnUnJyBpcyBhc3N1bWVkIHRvIHJlZmVy IHRvIHRoZSBtb3N0IGRpc3RhbnQgc3VtdGkgLSB0aGUgbW9zdCBvdXRlciBvbmUufn4KCgoKTGFz dGx5LCB0aGVyZSBhIHN1bXRjaXRhIHdoaWNoIHJlcHJlc2VudCB1dHRlcmFuY2VzOiBTbyBjYWxs ZWQgdXR0ZXJhbmNlIHZhcmlhYmxlcy4gVGhleSBuZWVkIG5vdCBiZSByZXN0cmljdGVkIHRvIG9u ZSBzZW50ZW5jZSAoanVmcmEpLCBidXQgY2FuIGJlIHNldmVyYWwgc2VudGVuY2VzLCBpZiB0aGUg Y29udGV4dCBhbGxvd3MgaXQ6CgpfXycnZGEndScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBSZW1v dGUgcGFzdCBzZW50ZW5jZQoKX18nJ2RlJ3UnJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogUmVjZW50 IHNlbnRlbmNlCgpfXycnZGkndScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBQcmV2aW91cyBzZW50 ZW5jZQoKX18nJ2RlaScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBUaGlzIHNlbnRlbmNlCgpfXycn ZGknZScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBOZXh0IHNlbnRlbmNlCgpfXycnZGUnZScnX18g VXR0ZXJhbmNlIHZhcmlhYmxlOiBOZWFyIGZ1dHVyZSBzZW50ZW5jZQoKX18nJ2RhJ2UnJ19fIFV0 dGVyYW5jZSB2YXJpYWJsZTogUmVtb3RlIGZ1dHVyZSBzZW50ZW5jZQoKX18nJ2RvJ2knJ19fIFV0 dGVyYW5jZSB2YXJpYWJsZTogRWxsaXB0aWNhbCB1dHRlcmFuY2UgdmFyaWFibGU6IOKAnFNvbWUg c2VudGVuY2XigJ0KClRoZXNlIHJlcHJlc2VudHMgc2VudGVuY2VzIGFzIHN1bXRpLCBhbmQgcmVm ZXIgb25seSB0byB0aGUgc3Bva2VuIHdvcmRzIG9yIHRoZSBsZXR0ZXJzLCBub3QgdG8gdGhlIG1l YW5pbmcgYmVoaW5kIHRoZW0uCgoKClRoZXJlIGFyZSBtb3JlIExvamJhbiAnJ3N1bWthJ2knJywg YnV0IGZvciBub3cgeW91IHByb2JhYmx5IG5lZWQgYSBicmVhayBmcm9tIHRoZW0uIFRoZSBuZXh0 IGxlc3NvbiB3aWxsIGJlIG9uIGRlcml2ZWQgc3VtdGksIHN1bXRpIG1hZGUgZnJvbSBvdGhlciBz dW10aS4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHNpeHRlZW4gKHRoZSBMb2piYW4g c3VtdGkgMzogZGVyaXZlZCBzdW10aSkKCllvdSBjYW4gcHJvYmFibHkgc2VlIHRoYXQgdGhlIHN1 bXRpICcnbGUgYmFuZ3UgcG9pIG1pIHNlIGJhbmd1IGtlJ2EnJyBpcyBhIGxlc3MgdGhhbiBlbGVn YW50IGV4cHJlc3Npb24gZm9yIOKAnG15IGxhbmd1YWdl4oCdLiBUaGlzIGlzIGJlY2F1c2UgaXQn cyByZWFsbHkgYSB3b3JrIGFyb3VuZC4gQSBsYW5ndWFnZSB3aGljaCBJIHNwZWFrIGNhbiBiZSBz YWlkIHRvIGZpbGwgaW50byB0aGUgeDEgb2YgdGhlIGJyaWRpICcnYmFuZ3UgbWknJy4gV2UgY2Fu J3QgY29udmVydCB0aGF0IHRvIGEgc3VtdGkgdXNpbmcgYSBnYWRyaTogJydsZSBiYW5ndSB7a3V9 IG1pJycgaXMgdHdvIHN1bXRpLCBiZWNhdXNlICcnYmFuZ3UgbWknJyBpcyBhIGJyaWRpLCBub3Qg YSBzZWxicmkuIE5laXRoZXIgY2FuIHdlIGNvbnZlcnQgaXQgdXNpbmcgJydsZSBzdSd1JycsIGJl Y2F1c2UgdGhlIHN1J3UgZ2l2ZXMgdGhlIGJyaWRpIGEgbmV3IHgxLCB0aGUgYWJzdHJhY3Rpb24s IGFuZCB0aGUgJydsZScnIHRoZW4gZXh0cmFjdHMgdGhhdC4gVGhhdCBtYWtlcyBhbiBhYnN0cmFj dGlvbiBzdW10aSBtZWFuaW5nIHNvbWV0aGluZyBsaWtlIOKAnHRoYXQgc29tZXRoaW5nIGlzIG15 IGxhbmd1YWdl4oCdLgoKRW50ZXIgJydiZScnLiAnJ2JlJycgaXMgYSB3b3JkIHdoaWNoIGJpbmRz IGNvbnN0cnVjdHMgKHN1bXRpLCBzdW10Y2l0YSBhbmQgb3RoZXJzKSB0byBhIHNlbGJyaS4gVXNp bmcgaXQgaW4gb3JkaW5hcnkgc2VsYnJpIGhhcyBubyBlZmZlY3Q6IGluICcnbWkgbmVsY2kgYmUg ZG8nJywgdGhlICcnYmUnJyBkb2VzIG5vdGhpbmcuIEhvd2V2ZXIsIHdoZW4gYSBzdW10aSBpcyBi b3VuZCB0byBhIHNlbGJyaSB0aGlzIHdheSwgeW91IGNhbiB1c2UgYSBnYWRyaSBvbiB0aGUgc2Vs YnJpIHdpdGhvdXQgdGhlIHN1bXRpIHNwbGl0dGluZyBvZmY6ICcnbGUgYmFuZ3UgYmUgbWknJyBp cyBhIGNvcnJlY3Qgc29sdXRpb24gdG8gdGhlIHByb2JsZW0gYWJvdmUuIExpa2V3aXNlLCB5b3Ug Y2FuIGF0dGFjaCBhIHN1bXRjaXRhOiAnJ2xlIG51IGRhcnhpIGtlaSBiZSBnYXUgZG8nJzog4oCc VGhlIGV2ZW50IG9mIGhpdHRpbmcsIHdoaWNoIGlzIGNhdXNlZCBieSB5b3XigJ0uIE5vdGUgdGhh dCB0aGUgcHJlc2VuY2Ugb3IgYWJzZW5jZSBvZiAnJ2tlaScnIG1ha2VzIGl0IHBhcnNlIGRpZmZl cmVudGx5OiBXaXRoIHRoZSBmYSdvcm1hJ28gcHJlc2VudCwgJydiZScnIGF0dGFjaGVzIHRvICcn bnUnJywgd2l0aG91dCB0aGUgZmEnb3JtYSdvLCBpdCBhdHRhY2hlcyB0byAnJ2RhcnhpJycuIFNv IGl0IGRlY2lkZXMgd2hhdCBpcyBiZWluZyBlbXBoYXNpc2VkOiBJcyB0aGUgaGl0dGluZywgb3Ig dGhlIGV2ZW50IG9mIGhpdHRpbmcgY2F1c2VkIGJ5IHlvdT8gSW4gdGhpcyBzcGVjaWZpYyBjYXNl LCB0aG91Z2gsIHRoYXQncyBqdXN0IGFib3V0IHRoZSBzYW1lIHRoaW5nLgoKCgpXaGF0IGlmIEkg d2FudCB0byBhdHRhY2ggc2V2ZXJhbCBzdW10aSB0byBhIHNlbGJyaSBpbnNpZGUgYSBnYWRyaT8g 4oCcVGhlIGdpdmVyIG9mIHRoZSBhcHBsZSB0byB5b3XigJ0gaXMgJydsZSBkdW5kYSBiZSBsbyBw bGlzZSBiZSBkbycnLCByaWdodD8gTm9wZS4gVGhlIHNlY29uZCAnJ2JlJycgYXR0YWNoZXMgdG8g dGhlIGFwcGxlLCBtZWFuaW5nICcnbGUgcGxpc2UgYmUgZG8nJyAtIOKAnFRoZSBhcHBsZSBvZiB0 aGUgc3RyYWluIG9mIHlvdeKAnSwgd2hpY2ggbWFrZXMgbm8gc2Vuc2UuIEluIG9yZGVyIHRvIHN0 cmluZyBzZXZlcmFsIHN1bXRpIHRvIGEgc2VsYnJpLCB0aGUgYWxsIHRoZSBvbmVzIGZvbGxvd2lu ZyB0aGUgZmlyc3QgbXVzdCBiZSBib3VuZCB3aXRoICcnYmVpJycuIFRoZSDigJxiaW5kaW5n4oCd IGNhbiBiZSB0ZXJtaW5hdGVkIHdpdGggJydiZSdvJycgLSBvbmUgaW5zdGFuY2Ugb2YgJydiZSdv JycgZm9yIGVhY2ggc2VsYnJpIHdoaWNoIGhhcyBzdW10aSBib3VuZCBieSAnJ2JlJycuCgpUbyBs aXN0IHRoZW06CgpfXycnYmUnJ19fIGJpbmRzIHN1bXRpIG9yIHN1bXRjaXRhIHRvIHNlbGJyaQoK X18nJ2JlaScnX18gYmluZHMgYSBzZWNvbmQsIHRoaXJkLCBmb3VydGggKGVjdCkgc3VtdGkgb3Ig c3VtdGNpdGEgdG8gYSBzZWxicmkKCl9fJydiZSdvJydfXyBlbmRzIGJpbmRpbmcgdG8gc2VsYnJp CgoKClRoZXJlIGlzIGFsc28gd2F5cyB0byBsb29zZWx5IGFzc29jaWF0ZSBhIHN1bXRpIHdpdGgg YW5vdGhlci4gJydwZScnIGFuZCAnJ25lJycgZm9yIHJlc3RyaWN0aXZlIGFuZCBub24tcmVzdHJp Y3RpdmUgYXNzb2NpYXRpb24uIEFjdHVhbGx5LCAnJ2xlIGJhbmd1IHBlIG1pJycgaXMgYSBiZXR0 ZXIgdHJhbnNsYXRpb24gb2Yg4oCcbXkgbGFuZ3VhZ2XigJ0sIHNpbmNlIHRoaXMgcGhyYXNlLCBs aWtlIHRoZSBFbmdsaXNoLCBpcyB2YWd1ZSBhcyB0byBob3cgdGhlIHR3byBhcmUgYXNzb2NpYXRl ZCB3aXRoIGVhY2ggb3RoZXIuCgonJ3BlJycgYW5kICcnbmUnJyBhcmUgdXNlZCBhcyBsb29zZSBh c3NvY2lhdGlvbiBvbmx5LCBsaWtlIHNheWluZyDigJxteSBjaGFpcuKAnSBhYm91dCBhIGNoYWly IHdoaWNoIHlvdSBzaXQgb24uIEl0J3Mgbm90IHJlYWxseSB5b3VycywgYnV0IGhhcyBzb21ldGhp bmcgZG8gdG8gd2l0aCB5b3UuIEEgbW9yZSBpbnRpbWF0ZSBjb25uZWN0aW9uIGNhbiBiZSBlc3Rh Ymxpc2hlZCB3aXRoICcncG8nJywgd2hpY2ggbWFrZXMgdGhlIGFzc29jaWF0aW9uIHVuaXF1ZSBh bmQgYmluZGluZyB0byBhIHBlcnNvbiwgYXMgaW4g4oCcbXkgY2Fy4oCdIGZvciBhIGNhciB0aGF0 IHlvdSBhY3R1YWxseSBvd24uIFRoZSBsYXN0IGtpbmQgb2YgYXNzb2NpYXRvciBpcyAnJ3BvJ2Un Jywgd2hpY2ggbWFrZXMgYSBzby1jYWxsZWQgImluYWxpZW5hYmxlIiBib25kIGJldHdlZW4gc3Vt dGksIG1lYW5pbmcgdGhhdCB0aGUgYm9uZCBpcyBpbm5hdGUgYmV0d2VlbiB0aGUgdHdvIHN1bXRp LiBTb21lIGV4YW1wbGVzIGNvdWxkIGJlICJteSBtb3RoZXIiLCAibXkgYXJtIiBvciAibXkgaG9t ZSBjb3VudHJ5Ijsgbm9uZSBvZiB0aGVzZSAicG9zc2VzaW9ucyIgY2FuIGJlIGxvc3QgKGV2ZW4g aWYgeW91IHNhdyBvZmYgeW91ciBhcm0sIGl0J3Mgc3RpbGwgX195b3VyX18gYXJtKSwgYW5kIGFy ZSB0aGVyZWZvcmUgaW5hbGllbmFibGUuIEFsbW9zdCBhbGwgb2YgdGhlIHRpbWVzIGEgJydwbydl JycgaXMgYXBwcm9wcmlhdGUsIHRob3VnaCwgdGhlIHgyIG9mIHRoZSBzZWxicmkgY29udGFpbnMg dGhlIG9uZSB0byB3aGljaCB0aGUgeDEgaXMgY29ubmVjdGVkLCBzbyAnJ2JlJycgaXMgYmV0dGVy LgoKX18nJ25lJydfXyBub24tcmVzdHJpY3RpdmUgcmVsYXRpdmUgcGhyYXNlLiAid2hpY2ggaXMg YXNzb2NpYXRlZCB3aXRoLi4uIgoKX18nJ3BlJydfXyByZXN0cmljdGl2ZSByZWxhdGl2ZSBwaHJh c2UuICJ3aGljaCBpcyBhc3NvY2lhdGVkIHdpdGguLi4iCgpfXycncG8nJ19fIHBvc3Nlc2l2ZSBy ZWxhdGl2ZSBwaHJhc2UuICJ3aGljaCBpcyBzcGVjaWZpYyB0by4uLiIKCl9fJydwbydlJydfXyBp bmFsaWVuYWJsZSByZWxhdGl2ZSBwaHJhc2UuICJ3aGljaCBiZWxvbmdzIHRvLi4uIgoKCgpBIHZl cnkgdXNlZnVsIGNvbnN0cnVjdCB0byBrbm93IGlzICcne2dhZHJpfSB7c3VtdGl9IHtzZWxicml9 JycuIHRoaXMgaXMgZXF1aXZhbGVudCB0byAnJ3tnYWRyaX0ge3NlbGJyaX0gcGUgIHtzdW10aX0n Jy4gRm9yIGluc3RhbmNlICcnbGUgbWkgZ2Vya3UnJyBpcyBlcXVpdmFsZW50IHRvICcnbGUgZ2Vy a3UgcGUgbWknJy4gT25lIGNvdWxkIGhhdmUgZGVzY3JpcHRpb24gc3VtdGkgaW5zaWRlIGRlc2Ny aXB0aW9uIHN1bXRpLCBzYXlpbmcgJydsZSBsZSBzZSBjaW5qaWtjYSBiZSBtaSBrdSBnZXJrdScn LCA9ICcnbGUgZ2Vya3UgcGUgbGUgc2UgY2luamlrY2EgYmUgbWknJyA94oCcdGhlIGRvZyBvZiB0 aGUgbWFuIEknbSBmbGlydGluZyB3aXRo4oCdLCBidXQgdGhhdCdzIG5vdCB2ZXJ5IGVhc3kgdG8g cmVhZCAob3IgdG8gdW5kZXJzdGFuZCB3aGVuIHNwb2tlbiksIGFuZCBpcyBvZnRlbiBiZWluZyBh dm9pZGVkLgoKCgpPbmUgbmVlZCBhbHNvIHRvIGxlYXJuICcndHUnYScnLCBzaW5jZSBpdCB3aWxs IG1ha2UgYSBsb3Qgb2Ygc2VudGVuY2VzIG11Y2ggZWFzaWVyLiBJdCB0YWtlcyBhIHN1bXRpIGFu ZCBjb252ZXJ0cyBpdCB0byBhbm90aGVyIHN1bXRpIC0gYW4gZWxsaXB0aWNhbCBhYnN0cmFjdGlv biB3aGljaCBoYXMgc29tZXRoaW5nIHRvIGRvIHdpdGggdGhlIGZpcnN0IHN1bXRpLiBGb3IgZXhh bXBsZSwgSSBjb3VsZCBzYXkgJydtaSBkamljYSBsbyBudSBtaSBjaXRrYSBsbyBwbGlzZScnLCBv ciBJIGNvdWxkIGxldCBpdCBiZSB1cCB0byBjb250ZXh0IHdoYXQgYWJzdHJhY3Rpb24gYWJvdXQg dGhlIGFwcGxlIEkgZGVzaXJlIGFuZCBqdXN0IHNheSAnJ21pIGRqaWNhIHR1J2EgbG8gcGxpc2Un Jy4gT25lIGFsd2F5cyBoYXMgdG8gZ3Vlc3Mgd2hhdCBhYnN0cmFjdGlvbiB0aGUgc3BlYWtlciBt ZWFucyBieSAnJ3R1J2EgU1VNVEknJywgc28gaXQgc2hvdWxkIG9ubHkgYmUgdXNlZCB3aGVuIGNv bnRleHQgbWFrZXMgaXQgZWFzeSB0byBndWVzcy4gQW5vdGhlciBleGFtcGxlOgoKX18nJ2dhc251 JydfXyDigJx4MSBkb2VzL2JyaW5ncyBhYm91dCB4MiAodm9saXRpb24gbm90IGltcGxpZWQp4oCd CgonJ3phJ2EgZG8gZ2FzbnUgdHUnYSBsbyBza2FtaScnIC0g4oCcSSBzZWUgdGhhdCB5b3UgbWFr ZSB0aGUgY29tcHV0ZXIgZG8gc29tZXRoaW5n4oCdLiBPZmZpY2lhbGx5LCAnJ3R1J2EgU1VNVEkn JyBpcyBlcXVpdmFsZW50IHRvICcnbGUgc3UndSBTVU1USSBjbydlJycuIFZhZ3VlLCBidXQgdXNl ZnVsLiBUaGVyZSBhcmUgc2l0dWF0aW9ucyB3aGVyZSB5b3UgY2Fubm90IHVzZSAnJ3R1J2EnJywg ZXZlbiB0aG91Z2ggaXQgd291bGQgc2VlbSBzdWl0YWJsZS4gVGhlc2Ugc2l0dWF0aW9ucyBhcmUg d2hlbiBJIGRvbid0IHdhbnQgdGhlIHJlc3VsdGluZyBzdW10aSB0byBiZSBhbiBhYnN0cmFjdGlv biwgYnV0IGEgY29uY3JldGUgc3VtdGkuIEluIHRoaXMgY2FzZSwgb25lIGNhbiB1c2UgJyd6bydl IHBlJycuCgpfXycndHUnYScnX18gY29udmVydCBzdW10aSB0byB2YWd1ZSBhYnN0cmFjdGlvbiBp bnZvbHZpbmcgdGhlIHN1bXRpLiBFcXVpdmFsZW50IHRvICcnbGUgc3UndSBTVU1USSBjbydlIGtl aSBrdScnCgoKCkZpbmFsbHksIG9uZSBraW5kIG9mIHN1bXRpIGNhbiBiZSB0dXJuZWQgaW50byBh bm90aGVyIGJ5IHRoZSB3b3JkcyBvZiB0aGUgY2xhc3MgTEFoRS4KCl9fJydsdSdhJydfXyAtIENv bnZlcnQgaW5kaXZpZHVhbChzKS9tYXNzL3NlcXVlbmNlL3NldCB0byBpbmRpdmlkdWFscy4KCl9f JydsdSdpJydfXyAtIENvbnZlcnQgaW5kaXZpZHVhbChzKS9tYXNzL3NlcXVlbmNlL3NldCB0byBh IHNldC4KCl9fJydsdSdvJydfXyAtIENvbnZlcnQgaW5kaXZpZHVhbChzKS9tYXNzL3NlcXVlbmNl L3NldCB0byBtYXNzLgoKX18nJ3Z1J2knJ19fIC0gQ29udmVydCBpbmRpdmlkdWFsKHMpL21hc3Mv c2VxdWVuY2Uvc2V0IHRvIHNlcXVlbmNlOyB0aGUgb3JkZXIgaXMgbm90IHN0YXRlZC4KClRoZSB1 c2Ugb2YgdGhlc2Ugd29yZHMgaXMgc3RyYWlnaHQtZm9yd2FyZGx5OiBQbGFjaW5nIHRoZW0gYmVm b3JlIGEgc3VtdGkgb2YgYSBjZXJ0YWluIHR5cGUgbWFrZXMgYSBuZXcgc3VtdGkgb2YgYSBuZXcg dHlwZS4gTm90aWNlLCB0aG91Z2gsIHRoYXQgYXMgYSBmb3VydGgga2luZCBvZiBzdW10aSwgYSBz ZXF1ZW5jZSBoYXMgYmVlbiBpbnRyb2R1Y2VkLiBUaGlzIGlzIG5vdCB1c2VkIHZlcnkgb2Z0ZW4g KGl0IGRvZXNuJ3QgaGF2ZSBpdHMgb3duIGdhZHJpLCBmb3IgaW5zdGFuY2UpLCBidXQganVzdCBp bmNsdWRlZCBoZXJlIGZvciBjb21wbGV0aW9uLgoKVGhlIGxhc3QgdHdvIG1lbWJlcnMgb2YgTEFo RSBkbyBub3QgY29udmVydCBiZXR3ZWVuIHR5cGVzIG9mIHN1bXRpLCBidXQgYWxsb3dzIHlvdSB0 byBzcGVhayBvZiBhIGEgc3VtdGkgYnkgb25seSBtZW50aW9uaW5nIHNvbWV0aGluZyB3aGljaCBy ZWZlcmVuY2VzIHRvIGl0OgoKSWYgb25lIHN1bXRpIEEgcmVmZXJzIHRvIGEgc3VtdGkgQiwgZm9y IGluc3RhbmNlIGJlY2F1c2Ugc3VtdGkgQSBpcyBhIHRpdGxlIG9mIGEgYm9vaywgb3IgYSBuYW1l LCBvciBhIHNlbnRlbmNlICh3aGljaCBhbHdheXMgcmVmZXIgdG8gc29tZXRoaW5nLCBhdCBsZWFz dCBhIGJyaWRpKSwg4oCYJ2xhJ2UgU1VNVEkgQScnIHJlZmVycyB0byBzdW10aSBCLiBGb3IgaW5z dGFuY2UsIOKAmCdtaSBuZWxjaSBsYSdlIGRpJ3UnJyBmb3Ig4oCcSSBsaWtlIHdoYXQgeW91IGp1 c3Qgc2FpZOKAnSAobm90ICcnbWkgbmVsY2kgZGkndScnIHdoaWNoIGp1c3QgbWVhbnMgIkkgbGlr ZSB5b3VyIHByZXZpb3VzIHNlbnRlbmNlIikgb3Ig4oCYJ2xhJ2UgbGUgY21hbHUgbm9sdHJ1Jycg Zm9yIHRoZSBib29rIOKAnFRoZSBMaXR0bGUgUHJpbmNl4oCdLCBhbmQgbm90IHNvbWUgbGl0dGxl IHByaW5jZSBoaW1zZWxmLiBUaGUgY21hdm8g4oCYJ2x1J2UnJyBkb2VzIHRoZSBleGFjdCByZXZl cnNlIOKAkyDigJgnbHUnZSBTVU1USScnIHJlZmVycyB0byBhbiBvYmplY3Qgd2hpY2ggcmVmZXJz IHRvIHRoZSBzdW10aS4gCgpfXycnbGEnZScnX18gLSDigJx0aGUgdGhpbmcgcmVmZXJyZWQgdG8g YnnigJ0gLSBleHRyYWN0cyBhIHN1bXRpIEEgZnJvbSBhIHN1bXRpIEIgd2hpY2ggcmVmZXJzIHRv IEEuIAoKX18nJ2x1J2UnJ19fIC0g4oCcdGhlIHRoaW5nIHJlZmVycmluZyB0b+KAnSAtIGV4dHJh Y3RzIGEgc3VtdGkgQiBmcm9tIGEgc3VtdGkgQSwgd2hlbiBCIHJlZmVycyB0byBBLgoKCgoKCiEh IUVuZCBvZiBwYXJ0IG9uZQoKRHVlIHRvIHRoZSBpbXByYWN0aWNhbGx5IGxhcmdlIHNpemUgb2Yg dGhlc2UgbGVzc29ucywgdGhlIHNlY29uZCBhbmQgdGhpcmQgaW5zdGFsbG1lbnQgY2FuIGJlIGZv dW5kIG9uIHBhZ2VzIGRlZGljYXRlZCB0byAoKHdhdmVsZXNzb25zY29udGludWVkcDJ8dGhlIGZv cm1lcikpIGFuZCAoKHdhdmVsZXNzb25zY29udGludWVkcDN8dGhlIGxhdHRlcikpLiBObyB3b3Jy aWVzLCB0aG91Z2gsIGNsaWNraW5nIG9uICJ0aGUgZm9ybWVyIiBvciAidGhlIGxhdHRlciIgd2ls bCB0YWtlIHlvdSB0aGVyZSBwYWlubGVzc2x5LgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCldpa2ljaGFuZ2VzIG1haWxpbmcgbGlzdApXaWtpY2hhbmdl c0Bsb2piYW4ub3JnCmh0dHA6Ly9tYWlsLmxvamJhbi5vcmcvbWFpbG1hbi9saXN0aW5mby93aWtp Y2hhbmdlcwo=