Received: from localhost ([::1]:47882 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1TsOL0-0004RA-Rq; Mon, 07 Jan 2013 17:50:47 -0800 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:56767 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1TsOKs-0004R2-9k for wikichanges@lojban.org; Mon, 07 Jan 2013 17:50:45 -0800 Received: by digitalkingdom.org (sSMTP sendmail emulation); Mon, 7 Jan 2013 17:50:38 -0800 From: "Apache" Date: Mon, 7 Jan 2013 17:50:38 -0800 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 snanu at 01:50 UTC Comment: singular plural confusion. "Names which does not" changed to "Names which do not". You can view the page by following this link: [...] Content analysis details: (2.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 RCVD_IN_DNSWL_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to DNSWL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [173.13.139.235 listed in list.dnswl.org] 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikichanges] Wiki page wavelessonscontinued changed by snanu 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 Content-Length: 133868 VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWQgd2FzIGNoYW5nZWQgYnkgc25hbnUgYXQgMDE6 NTAgVVRDCkNvbW1lbnQ6IHNpbmd1bGFyIHBsdXJhbCBjb25mdXNpb24uICJOYW1lcyB3aGljaCBk b2VzIG5vdCIgY2hhbmdlZCB0byAiTmFtZXMgd2hpY2ggZG8gbm90Ii4KCllvdSBjYW4gdmlldyB0 aGUgcGFnZSBieSBmb2xsb3dpbmcgdGhpcyBsaW5rOgogCmh0dHA6Ly93d3cubG9qYmFuLm9yZy90 aWtpL3dhdmVsZXNzb25zY29udGludWVkCgpZb3UgY2FuIHZpZXcgYSBkaWZmIGJhY2sgdG8gdGhl IHByZXZpb3VzIHZlcnNpb24gYnkgZm9sbG93aW5nIHRoaXMgbGluazogCmh0dHA6Ly93d3cubG9q YmFuLm9yZy90aWtpL3Rpa2ktcGFnZWhpc3RvcnkucGhwP3BhZ2U9d2F2ZWxlc3NvbnNjb250aW51 ZWQmY29tcGFyZT0xJm9sZHZlcj00MCZuZXd2ZXI9NDEKCgoqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpUaGUgY2hhbmdlcyBpbiB0aGlz IHZlcnNpb24gZm9sbG93IGJlbG93LCBmb2xsb3dlZCBhZnRlciBieSB0aGUgY3VycmVudCBmdWxs IHBhZ2UgdGV4dC4KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioKCgorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKwpAQCAtTGluZXM6IDY0MS02NDUgY2hhbmdlZCB0byArTGluZXM6 IDY0MS02NDUgQEAKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSsKCgotIF9fJydjbWV2bGEnJ19fIGFyZSB2ZXJ5IGVhc3kgdG8gaWRlbnRp ZnkgYmVjYXVzZSB0aGV5IGJlZ2luIGFuZCBlbmQgd2l0aCBhIHBhdXNlLCBzaWduYWxlZCBieSBh IGZ1bGwgc3RvcCBpbiB3cml0aW5nLCBhbmQgdGhlIGxhc3QgbGV0dGVyIGlzIGEgY29uc29uYW50 LiBjbWV2bGEgY2FudCBoYXZlIGFueSBvdGhlciBmdW5jdGlvbiBiZXNpZGVzIGFjdGluZyBhcyBh IG5hbWUuIE9uIHRoZSBvdGhlciBoYW5kLCBuYW1lcyB3aGljaCBhcmUgbm90IHNlbGJyaSBjYW5u b3QgYXBwZWFyIGluIExvamJhbiB3aXRob3V0IHRoZW0gYmVpbmcgY21ldmxhLCBvciBlbmNhc2Vk IGJ5IGNlcnRhaW4gcXVvdGUgd29yZHMuIE9uZSBjYW4gbWFyayBzdHJlc3MgaW4gdGhlIG5hbWVz IGJ5IGNhcGl0YWxpemluZyB0aGUgbGV0dGVycyB3aGljaCBhcmUgc3RyZXNzZWQuIEV4YW1wbGVz IG9mIGNtZXZsYSBhcmU6ICcnLmlvaEFOLicnIChKb2hhbiwgaCBpcyBjYXBpdGFsIGFwb3N0cm9w aGUpLCAnJy5tYXQuJycgKE1hdHQpIGFuZCAnJy5sdXRjaU1JTi4nJyAoTHVpLUNoaSBNaW4pLiBO YW1lcyB3aGljaCBkb2VzIG5vdCBlbmQgaW4gY29uc29uYW50cyBoYXZlIHRvIGhhdmUgb25lIGFk ZGVkOiAnJy5pdnluLicnIChFdmUpLCBvciAocHJvYmFibHkgYmV0dGVyIGluIHRoaXMgY2FzZSkg cmVtb3ZlZDogJycuaXYuJycKKyBfXycnY21ldmxhJydfXyBhcmUgdmVyeSBlYXN5IHRvIGlkZW50 aWZ5IGJlY2F1c2UgdGhleSBiZWdpbiBhbmQgZW5kIHdpdGggYSBwYXVzZSwgc2lnbmFsZWQgYnkg YSBmdWxsIHN0b3AgaW4gd3JpdGluZywgYW5kIHRoZSBsYXN0IGxldHRlciBpcyBhIGNvbnNvbmFu dC4gY21ldmxhIGNhbnQgaGF2ZSBhbnkgb3RoZXIgZnVuY3Rpb24gYmVzaWRlcyBhY3RpbmcgYXMg YSBuYW1lLiBPbiB0aGUgb3RoZXIgaGFuZCwgbmFtZXMgd2hpY2ggYXJlIG5vdCBzZWxicmkgY2Fu bm90IGFwcGVhciBpbiBMb2piYW4gd2l0aG91dCB0aGVtIGJlaW5nIGNtZXZsYSwgb3IgZW5jYXNl ZCBieSBjZXJ0YWluIHF1b3RlIHdvcmRzLiBPbmUgY2FuIG1hcmsgc3RyZXNzIGluIHRoZSBuYW1l cyBieSBjYXBpdGFsaXppbmcgdGhlIGxldHRlcnMgd2hpY2ggYXJlIHN0cmVzc2VkLiBFeGFtcGxl cyBvZiBjbWV2bGEgYXJlOiAnJy5pb2hBTi4nJyAoSm9oYW4sIGggaXMgY2FwaXRhbCBhcG9zdHJv cGhlKSwgJycubWF0LicnIChNYXR0KSBhbmQgJycubHV0Y2lNSU4uJycgKEx1aS1DaGkgTWluKS4g TmFtZXMgd2hpY2ggZG8gbm90IGVuZCBpbiBjb25zb25hbnRzIGhhdmUgdG8gaGF2ZSBvbmUgYWRk ZWQ6ICcnLml2eW4uJycgKEV2ZSksIG9yIChwcm9iYWJseSBiZXR0ZXIgaW4gdGhpcyBjYXNlKSBy ZW1vdmVkOiAnJy5pdi4nJwoKX18nJ2JyaXZsYScnX18gYXJlIGNhbGxlZCDigJxicmlkaS13b3Jk c+KAnSBiZWNhdXNlIHRoZXkgYnkgZGVmYXVsdCBhcmUgc2VsYnJpLCBhbmQgdGhlcmVmb3JlIGFs bW9zdCBhbGwgTG9qYmFuIHdvcmRzIHdpdGggYSBwbGFjZSBzdHJ1Y3R1cmUgYXJlIGJyaXZsYS4g VGhpcyBoYXMgYWxzbyBnaXZlbiB0aGVtIHRoZSBFbmdsaXNoIG5pY2tuYW1lIOKAnGNvbnRlbnQt d29yZHPigJ0uIEl04oCZcyBuZWFybHkgaW1wb3NzaWJsZSB0byBzYXkgYW55dGhpbmcgdXNlZnVs IHdpdGhvdXQgYnJpdmxhLCBhbmQgYWxtb3N0IGFsbCB3b3JkcyBmb3IgY29uY2VwdHMgb3V0c2lk ZSBsb2piYW4gZ3JhbW1hciAoYW5kIGV2ZW4gbW9zdCBvZiB0aGUgd29yZHMgZm9yIHRoaW5ncyBp biB0aGUgbGFuZ3VhZ2UpIGFyZSBjYXB0dXJlZCBieSBicml2bGEuIEFzIHNob3duIGluIHRoZSB0 YWJsZSwgYnJpdmxhIGhhcyB0aHJlZSBzdWJjYXRlZ29yaWVzOgoKCgoKKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKVGhlIG5ldyBwYWdl IGNvbnRlbnQgZm9sbG93cyBiZWxvdy4KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioKCiFMb2piYW4gV2F2ZSBMZXNzb25zIENvbnRpbnVl ZDoKCiEhIWJ5IGxhIGtsYWt1IHdpdGggaGVscCBmcm9tIGxhIC5rcmliYWNyLiwgbGEgeGFsYm8g YW5kIG90aGVycywgYXV0dW1uIDIwMTEuCgoKCiEhbGVzc29uIHplcm86IEZvcmV3b3JkCgpUaGVz ZSBsZXNzb25zIGFyZSBhbiBhdHRlbXB0IHRvIGV4cGFuZCBvbiB0aGUgR29vZ2xlIFdhdmUgTGVz c29ucywgYW4gZXhjZWxsZW50IExvamJhbiB0dXRvcmlhbCBieSBrcmliYWNyLCB4YWxibywgYW5k IG90aGVycywgd2hpY2ggc2FkbHkgb25seSBjb3ZlcmVkIHRoZSBmaXJzdCBmb3VyIGNoYXB0ZXJz IGluIHRoaXMgdHV0b3JpYWwuIEl0IGltcGxlbWVudHMgdGhlIG5ld2VzdCBydWxlcyBvZiBMb2pi YW4gbm90IGNvdmVyZWQgYnkgb2xkZXIgbWF0ZXJpYWxzIHN1Y2ggYXMgV2hhdCBpcyBMb2piYW4/ IGFuZCBMb2piYW4gZm9yIEJlZ2lubmVycy4KCgoKSWYgeW91IGFyZSBuZXcgdG8gTG9qYmFuLCBJ IHJlY29tbWVuZCBsaXN0ZW5pbmcgdG8gYW55IHJlY29yZGluZ3MgeW91IGNhbiBmaW5kIG9mIHNw b2tlbiBMb2piYW4gYm90aCBiZWZvcmUgYW5kIHdoaWxlIHlvdSBhcmUgdGFraW5nIHRoaXMgdHV0 b3JpYWwsIGluIG9yZGVyIHRvIG1ha2UgeW91cnNlbGYgZmFtaWxpYXIgd2l0aCB0aGUgc291bmRz IGFuZCB3b3JkcyBvZiB0aGUgbGFuZ3VhZ2UsIHdoaWNoIHdpbGwgbm90IGJlIGV4cGxhaW5lZCBo ZXJlLiBGdXJ0aGVybW9yZSwgdHJ5IHRvIHNheSB0aGUgdGhpbmdzIHlvdSByZWFkIGluIExvamJh biBhY2NlbnQgaWYgaXTigJlzIHJlYXNvbmFibHkgcHJhY3RpY2FsLiBUaGlzIGNhbiBoZWxwIHlv dXIgcHJvbnVuY2lhdGlvbiBhIGxvdC4KCgoKV2hlbiB0YWtpbmcgdGhpcyB0dXRvcmlhbCwgaXTi gJlzIGJlc3QgdG8gcGF1c2UgYmV0d2VlbiBsZXNzb25zIGluIG9yZGVyIHRvIGludGVybmFsaXpl IHdoYXQgeW91IGhhdmUgbGVhcm50LiBJIGhhdmUgYXR0ZW1wdGVkIHRvIGJ1aWxkIHRoZXNlIGxl c3NvbnMgZnJvbSB0aGUgYm90dG9tIHVwIGFuZCBleGNsdWRlIGFueSB3b3JkcyBvciBjb25jZXB0 cyB0aGF0IGhhdmUgbm90IGJlZW4gZXhwbGFpbmVkIGluIHByZXZpb3VzIGxlc3NvbnMuIE9uY2Ug ZXhwbGFpbmVkLCB0aGV5IGFyZSB1c2VkIGZyZWVseSB0aHJvdWdob3V0IHRoZSByZW1haW5kZXIg b2YgdGhlIHR1dG9yaWFsLiBJIHVyZ2UgcmVhZGVycyBub3QgdG8gcGFzcyBhbnkgbWlzdW5kZXJz dG9vZCBjb250ZW50OyBpZiB5b3UgaGF2ZSBxdWVzdGlvbnMgb3IgYXJlIHVuY2VydGFpbiBhYm91 dCBzb21ldGhpbmcsIGZlZWwgZnJlZSB0byBhc2sgdGhlIExvamJhbiBjb21tdW5pdHksIHdoaWNo IGNhbiBiZSBmb3VuZCBpbiAjbG9qYmFuIG9uIHRoZSBGcmVlbm9kZSBJUkMgbmV0d29yay4gVGhl eSB3aWxsIGJlIGhhcHB5IHRvIGhlbHAuCgoKCkluIHRoaXMgdHV0b3JpYWwsIExvamJhbiB0ZXh0 IGlzIHdyaXR0ZW4gaW4gJydpdGFsaWNzJycuIExhdGVyLCB3aGVuIHVzZWQgYXMgTG9qYmFuIGxv YW53b3JkcyBpbiBFbmdsaXNoIHNlbnRlbmNlcywgdGhleSBhcmUgbm90IG1hcmtlZC4gQW5zd2Vy cyB0byBleGVyY2lzZXMgYXJlIGRpc3BsYXllZCBhcyBhIGdyZXkgYmFyLiBIaWdobGlnaHQgdGhl IHRleHQgaW4gb3JkZXIgdG8gc2VlIGl0LgoKCgpMYXN0bHksIEkgaGF2ZSBhcyBmYXIgYXMgcG9z c2libGUgYXR0ZW1wdGVkIHRvIHVzZSB0aGUgTG9qYmFuIHdvcmRzIGZvciBncmFtbWF0aWNhbCBj b25zdHJ1Y3RzOiAnJ3N1bWth4oCZaScnIGluc3RlYWQgb2YgcHJvLXN1bXRpLCAnJ3N1bXRjaXRh JycgaW5zdGVhZCBvZiBtb2RhbCBhbmQganVmcmEgaW5zdGVhZCBvZiB1dHRlcmFuY2UuIFRoaXMg aXMgYmVjYXVzZSBJIGZlZWwgdGhlIEVuZ2xpc2ggd29yZHMgYXJlIG9mdGVuIGVpdGhlciBhcmJp dHJhcnksIGluIHdoaWNoIGNhc2UgdGhleSBhcmUganVzdCBtb3JlIHdvcmRzIHRvIGxlYXJuLCBv ciBtaXNsZWFkaW5nLCBpbiB3aGljaCBjYXNlIHRoZXkgYXJlIHdvcnNlIHRoYW4gdXNlbGVzcy4g SW4gZWl0aGVyIGNhc2UsIGFzIGxvbmcgYXMgdGhlIHdvcmRzIGFyZSBzcGVjaWZpYyB0byB0aG9z ZSB3aG8gYXJlIGxlYXJuaW5nIExvamJhbiBhbnl3YXksIHRoZXJlIGlzIG5vIHJlYXNvbiBmb3Ig dGhlbSB0byBleGlzdCBhcyBzZXBhcmF0ZSBFbmdsaXNoIHdvcmRzLgoKCgoKCiEhTG9qYmFuIExl c3NvbnMg4oCTIGxlc3NvbiBvbmUgKGJyaWRpLCBqdWZyYSwgc3VtdGkgYW5kIHNlbGJyaSkKCkEg JydicmlkaScnIGlzIHRoZSBtb3N0IGNlbnRyYWwgdW5pdCBvZiBMb2piYW4gdXR0ZXJhbmNlcy4g VGhlIGNvbmNlcHQgaXMgdmVyeSBjbG9zZSB0byB3aGF0IHdlIGNhbGwgYSBwcm9wb3NpdGlvbiBp biBFbmdsaXNoLiBBIGJyaWRpIGlzIGEgY2xhaW0gdGhhdCBzb21lIG9iamVjdHMgc3RhbmQgaW4g YSByZWxhdGlvbiB0byBlYWNoIG90aGVyLCBvciB0aGF0IGFuIG9iamVjdCBoYXMgc29tZSBwcm9w ZXJ0eS4gVGhpcyBzdGFuZHMgaW4gY29udHJhc3QgdG8gJydqdWZyYScnLCB3aGljaCBhcmUgbWVy ZWx5IExvamJhbiB1dHRlcmFuY2VzLCB3aGljaCBjYW4gYmUgYnJpZGkgb3IgYW55dGhpbmcgZWxz ZSBiZWluZyBzYWlkLiBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGEgYnJpZGkgYW5kIGEganVmcmEg aXMgdGhhdCBhIGp1ZnJhIGRvZXMgbm90IG5lY2Vzc2FyaWx5IHN0YXRlIGFueXRoaW5nLCB3aGls ZSBhIGJyaWRpIGRvZXMuIFRodXMsIGEgYnJpZGkgbWlnaHQgYmUgdHJ1ZSBvciBmYWxzZSwgd2hp bGUgbm90IGFsbCBqdWZyYSBjYW4gYmUgc2FpZCB0byBiZSBzdWNoLgoKVG8gaGF2ZSBzb21lIGV4 YW1wbGVzIChpbiBFbmdsaXNoLCB0byBiZWdpbiB3aXRoKSwg4oCcTW96YXJ0IHdhcyB0aGUgZ3Jl YXRlc3QgbXVzaWNpYW4gb2YgYWxsIHRpbWXigJ0gaXMgYSBicmlkaSwgYmVjYXVzZSBpdCBtYWtl cyBhIGNsYWltIHdpdGggYSB0cnV0aCB2YWx1ZSwgYW5kIGl0IGludm9sdmVzIGFuIG9iamVjdCwg TW96YXJ0LCBhbmQgYSBwcm9wZXJ0eSwgYmVpbmcgdGhlIGdyZWF0ZXN0IG11c2ljaWFuIG9mIGFs bCB0aW1lLiBPbiB0aGUgY29udHJhcnksIOKAnE93ISBNeSB0b2Uh4oCdIGlzIG5vdCBhIGJyaWRp LCBzaW5jZSBpdCBkb2VzIG5vdCBpbnZvbHZlIGEgcmVsYXRpb24sIGFuZCB0aHVzIGRvZXMgbm90 IHN0YXRlIGFueXRoaW5nLiBCb3RoLCB0aG91Z2gsIGFyZSBqdWZyYS4KClRyeSB0byBpZGVudGlm eSB0aGUgYnJpZGkgYW1vbmcgdGhlc2UgRW5nbGlzaCBqdWZyYToKCgoKIyDigJxJIGhhdGUgaXQg d2hlbiB5b3UgZG8gdGhhdC7igJ0KCiMg4oCcUnVucy7igJ0KCiMg4oCcV29haCwgdGhhdCBsb29r cyBkZWxpY2lvdXMh4oCdCgojIOKAnEdlZXosIG5vdCBhZ2Fpbi7igJ0KCiMg4oCcTm8sIEkgb3du IHRocmVlIGNhcnPigJ0KCiMg4oCcTmluZXRlZW4gbWludXRlcyBwYXN0IGVpZ2h0LuKAnQoKIyDi gJxUaGlzIFNhdHVyZGF5LCB5ZXMu4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6MSwgMyBhbmQg NSBhcmUgYnJpZGkuIDIgY29udGFpbnMgbm8gb2JqZWN0cyBhbmQgdGhlIHJlc3QgY29udGFpbiBu byByZWxhdGlvbiBvciBjbGFpbSBvZiBhIHByb3BlcnR5Ln5+CgoKClB1dCBpbiBMb2piYW4gdGVy bXMsIGEgYnJpZGkgY29uc2lzdHMgb2Ygb25lICcnc2VsYnJpJycsIGFuZCBvbmUgb3IgbW9yZSAn J3N1bXRpJycuIFRoZSBzZWxicmkgaXMgdGhlIHJlbGF0aW9uIG9yIGNsYWltIGFib3V0IHRoZSBv YmplY3QsIGFuZCB0aGUgc3VtdGkgYXJlIHRoZSBvYmplY3RzIHdoaWNoIGFyZSBpbiBhIHJlbGF0 aW9uLiBOb3RlIHRoYXQg4oCcb2JqZWN04oCdIGlzIG5vdCBhIHBlcmZlY3QgdHJhbnNsYXRpb24g b2Yg4oCcc3VtdGnigJ0sIHNpbmNlIOKAnHN1bXRp4oCdIGNhbiByZWZlciB0byBub3QganVzdCBw aHlzaWNhbCBvYmplY3RzLCBidXQgY2FuIGFsc28gcHVyZWx5IGFic3RyYWN0IHRoaW5ncyBsaWtl IOKAnFRoZSBpZGVhIG9mIHdhcmZhcmXigJ0uIEEgYmV0dGVyIHRyYW5zbGF0aW9uIHdvdWxkIGJl IHNvbWV0aGluZyBsaWtlIOKAnHN1YmplY3QsIGRpcmVjdCBvciBpbmRpcmVjdCBvYmplY3TigJ0g Zm9yIHN1bXRpLCBhbmQg4oCcdmVyYuKAnSBmb3Igc2VsYnJpLCB0aG91Z2gsIGFzIHdlIHdpbGwg c2VlLCB0aGlzIGlzIG5vdCBvcHRpbWFsIGVpdGhlci4KCldlIGNhbiBub3cgd3JpdGUgdGhlIGZp cnN0IGltcG9ydGFudCBsZXNzb24gZG93bjoKCmJyaWRpID0gc2VsYnJpICsgb25lIG9yIG1vcmUg c3VtdGkKClB1dCBhbm90aGVyIHdheSwgYSBicmlkaSBzdGF0ZXMgdGhhdCBzb21lIHN1bXRpIGRv L2FyZSBzb21ldGhpbmcgZXhwbGFpbmVkIGJ5IGEgc2VsYnJpLgoKCgpJZGVudGlmeSB0aGUgc3Vt dGkgYW5kIHNlbGJyaSBlcXVpdmFsZW50cyBpbiB0aGVzZSBFbmdsaXNoIGp1ZnJhOgoK4oCcSSB3 aWxsIHBpY2sgdXAgbXkgZGF1Z2h0ZXJzIHdpdGggbXkgY2Fy4oCdCgoKCkFuc3dlcjogfn5ncmV5 LGdyZXk6c2VsYnJpOiDigJxwaWNrIHVwICh3aXRoKeKAnS4gc3VtdGk6IOKAnEnigJ0sIOKAnG15 IGRhdWdodGVyc+KAnSwg4oCcbXkgY2Fy4oCdfn4KCgoK4oCcSGUgYm91Z2h0IHNpeHRlZW4gbmV3 IHNoaXJ0cyBmcm9tIExlYSZMZXZ54oCZcyBmb3IganVzdCB0d28gaHVuZHJlZCBldXJvIeKAnQoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OnNlbGJyaTog4oCcYm91Z2h0IChmcm9tKSAoZm9yKeKAnSBz dW10aTog4oCcSGXigJ0sIOKAnHNpeHRlZW4gbmV3IHNoaXJ0c+KAnSwg4oCcTGVhJkxld2lz4oCd IGFuZCDigJx0d28gaHVuZHJlZCBldXJvc+KAnX5+CgoKClNpbmNlIHRoZXNlIGNvbmNlcHRzIGFy ZSBzbyBmdW5kYW1lbnRhbCB0byBMb2piYW4sIGxldOKAmXMgaGF2ZSBhIHRoaXJkIGV4YW1wbGU6 IOKAnFNvIGZhciwgdGhlIEVQQSBoYXMgZG9uZSBub3RoaW5nIGFib3V0IHRoZSBhbW91bnQgb2Yg c3VscGh1ciBkaW94aWRlIGluIHRoZSBhaXIu4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6c2Vs YnJpOiDigJxoYXMgZG9uZSAoYWJvdXQp4oCdIHN1bXRpOiDigJxUaGUgRVBB4oCdLCDigJxub3Ro aW5n4oCdIGFuZCDigJx0aGUgYW1vdW50IG9mIHN1bHBodXIgZGlveGlkZSBpbiB0aGUgYWly4oCd fn4KCgoKTm93IHRyeSBtYWtpbmcgTG9qYmFuIGJyaWRpLiBGb3IgdGhpcyB5b3Ugd2lsbCBuZWVk IHRvIHVzZSBzb21lIHdvcmRzLCB3aGljaCBjYW4gYWN0IGFzIHNlbGJyaToKCicnX19kdW5kYV9f JycgeDEgZ2l2ZXMgeDIgdG8geDMgKHdpdGhvdXQgcGF5bWVudCkKCicnX19wZWx4dV9fJycgeDEg aXMgeWVsbG93CgonJ19femRhbmlfXycnIHgxIGlzIGEgaG9tZSBvZiB4MgoKCgpOb3RpY2UgdGhh dCB0aGVzZSB3b3JkcyBtZWFuaW5nIOKAnGdpdmXigJ0sIOKAnHllbGxvd+KAnSBhbmQg4oCcaG9t ZeKAnSB3b3VsZCBiZSBjb25zaWRlcmVkIGEgdmVyYiwgYW4gYWRqZWN0aXZlIGFuZCBhIG5vdW4g aW4gRW5nbGlzaC4gSW4gTG9qYmFuLCB0aGVyZSBhcmUgbm8gc3VjaCBjYXRlZ29yaWVzIGFuZCBu byBzdWNoIGRpc3RpbmN0aW9uLiAnJ2R1bmRhJycgY2FuIGJlIHRyYW5zbGF0ZWQg4oCcZ2l2ZXPi gJ0gKHZlcmIpLCDigJxpcyBhIGdpdmVy4oCdIChub3VuKSwg4oCcaXMgZ2l2aW5n4oCdIChhZGpl Y3RpdmUpIGFzIHdlbGwgYXMgdG8gYW4gYWR2ZXJiIGZvcm0uIFRoZXkgYWxsIGFjdCBhcyBzZWxi cmksIGFuZCBhcmUgdXNlZCBpbiB0aGUgc2FtZSB3YXkuCgoKCkFzIHdlbGwgYXMgYSBmZXcgd29y ZHMsIHdoaWNoIGNhbiBhY3QgYXMgc3VtdGk6CgonJ19fbWlfXycnIOKAnEnigJ0gb3Ig4oCcd2Xi gJ0g4oCTIHRoZSBvbmUgb3IgdGhvc2Ugd2hvIGFyZSBzcGVha2luZy4KCicnX190aV9fJycg4oCc dGhpc+KAnSDigJMgYSBjbG9zZSB0aGluZyBvciBldmVudCBuZWFyYnkgd2hpY2ggY2FuIGJlIHBv aW50ZWQgdG8gYnkgdGhlIHNwZWFrZXIuCgonJ19fZG9fXycnIOKAnHlvdeKAnSDigJMgdGhlIG9u ZSBvciB0aG9zZSB3aG8gYXJlIGJlaW5nIHNwb2tlbiB0by4KCgoKU2VlIHRoZSBzdHJhbmdlIHRy YW5zbGF0aW9ucyBvZiB0aGUgc2VsYnJpIGFib3ZlIC0gZXNwZWNpYWxseSB0aGUgeDEsIHgyIGFu ZCB4Mz8gVGhvc2UgYXJlIGNhbGxlZCBzdW10aSBwbGFjZXMuIFRoZXkgYXJlIHBsYWNlcyB3aGVy ZSBzdW10aSBjYW4gZ28gdG8gZmlsbCBhIGJyaWRpLiBGaWxsaW5nIGEgc3VtdGkgaW4gYSBwbGFj ZSBzdGF0ZXMgdGhhdCB0aGUgc3VtdGkgZml0cyBpbiB0aGF0IHBsYWNlLiBUaGUgc2Vjb25kIHBs YWNlIG9mICcnZHVuZGEnJywgZm9yIGV4YW1wbGUsIHgyLCBpcyB0aGUgdGhpbmcgYmVpbmcgZ2l2 ZW4uIFRoZSB0aGlyZCBpcyB0aGUgb2JqZWN0IHdoaWNoIHJlY2VpdmVzIHRoZSB0aGluZy4gTm90 aWNlIGFsc28gdGhhdCB0aGUgdHJhbnNsYXRpb24gb2YgJydkdW5kYScnIGhhcyB0aGUgd29yZCDi gJx0b+KAnSBpbiBpdC4gVGhpcyBpcyBiZWNhdXNlLCB3aGlsZSB0aGlzIHdvcmQgaXMgbmVlZGVk IGluIEVuZ2xpc2ggdG8gc2lnbmlmeSB0aGUgcmVjZWl2ZXIsIHRoZSByZWNlaXZlciBpcyBpbiB0 aGUgdGhpcmQgc3VtdGkgcGxhY2Ugb2YgJydkdW5kYScnLiBTbyB3aGVuIHlvdSBmaWxsIHRoZSB0 aGlyZCBzdW10aSBwbGFjZSBvZiAnJ2R1bmRhJycsIHRoZSBzdW10aSB5b3UgZmlsbCBpbiBpcyBh bHdheXMgdGhlIHJlY2VpdmVyLCBhbmQgeW91IGRvbuKAmXQgbmVlZCBhbiBlcXVpdmFsZW50IHRv IHRoZSB3b3JkIOKAnHRv4oCdIQoKCgpUbyBzYXkgYSBicmlkaSwgeW91IHNpbXBseSBzYXkgdGhl IHgxIHN1bXRpIGZpcnN0LCB0aGVuIHRoZSBzZWxicmksIHRoZW4gYW55IG90aGVyIHN1bXRpLgoK VXN1YWwgYnJpZGk6IHt4MSBzdW10aX0gX197c2VsYnJpfV9fIHt4MiBzdW10aX0ge3gzIHN1bXRp fSB7eDQgc3VtdGl9IHt4NSBzdW10aX0ge2FuZCBzbyBvbn0KClRoZSBvcmRlciBjYW4gYmUgcGxh eWVkIGFyb3VuZCB3aXRoLCBidXQgZm9yIG5vdywgd2Ugc3RpY2sgd2l0aCB0aGUgdXN1YWwgZm9y bS4gVG8gc2F5IOKAnEkgZ2l2ZSB0aGlzIHRvIHlvdeKAnSB5b3UganVzdCBzYXkgJydtaSBkdW5k YSB0aSBkbycnLCB3aXRoIHRoZSB0aHJlZSBzdW10aSBhdCB0aGUgcmlnaHQgcGxhY2VzLgoKCgpT bywgaG93IHdvdWxkIHlvdSBzYXkg4oCcVGhpcyBpcyBhIGhvbWUgb2YgbWXigJ0/CgoKCkFuc3dl cjogfn5ncmV5LGdyZXk6Jyd0aSB6ZGFuaSBtaScnfn4KCgoKVHJ5IGEgZmV3IG1vcmUgaW4gb3Jk ZXIgdG8gZ2V0IHRoZSBpZGVhIG9mIGEgcGxhY2Ugc3RydWN0dXJlIHNpbmsgaW4uCgoKCuKAnFlv dSBnaXZlIHRoaXMgdG8gbWXigJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydkbyBkdW5kYSB0 aSBtaScnfn4KCgoKQW5kIHRyYW5zbGF0ZSAnJ3RpIHBlbHh1JycKCgoKQW5zd2VyOiB+fmdyZXks Z3JleTrigJxUaGlzIGlzIHllbGxvdy7igJ1+fgoKCgpRdWl0ZSBlYXN5IG9uY2UgeW91IGdldCB0 aGUgaGFuZyBvZiBpdCwgcmlnaHQ/CgoKCk11bHRpcGxlIGJyaWRpIGFmdGVyIGVhY2ggb3RoZXIg YXJlIHNlcGFyYXRlZCBieSAnJy5pJycgVGhpcyBpcyB0aGUgTG9qYmFuIGVxdWl2YWxlbnQgb2Yg ZnVsbCBzdG9wLCBidXQgaXQgdXN1YWxseSBnb2VzIGJlZm9yZSBicmlkaSBpbnN0ZWFkIG9mIGFm dGVyIHRoZW0uIEl04oCZcyBvZnRlbiBsZWZ0IG91dCBiZWZvcmUgdGhlIGZpcnN0IGJyaWRpLCB0 aG91Z2gsIGFzIGluIGFsbCB0aGVzZSBleGFtcGxlczoKCicnX18uaV9fJycgU2VudGVuY2Ugc2Vw YXJhdG9yLiBTZXBhcmF0ZXMgYW55IHR3byBqdWZyYSAoYW5kIHRoZXJlZm9yZSBhbHNvIGJyaWRp KS4KCgoKJyd0aSB6ZGFuaSBtaSAgLmkgdGkgcGVseHUnJyDigJ1UaGlzIGlzIGEgaG9tZSB0byBt ZS4gVGhpcyBpcyB5ZWxsb3cu4oCdCgoKCkJlZm9yZSB5b3UgbW92ZSBvbiB0byB0aGUgbmV4dCBs ZXNzb24sIEkgcmVjb21tZW5kIHRoYXQgeW91IHRha2UgYSBicmVhayBmb3IgYXQgbGVhc3Qgc2V2 ZW4gbWludXRlcyB0byBsZXQgdGhlIGluZm9ybWF0aW9uIHNpbmsgaW4uCgoKCgoKISFMb2piYW4g TGVzc29ucyDigJMgbGVzc29uIHR3byAoRkEgYW5kIHpv4oCZZSkKCk1vc3Qgc2VsYnJpIGhhdmUg ZnJvbSBvbmUgdG8gZml2ZSBzdW10aSBwbGFjZXMsIGJ1dCBzb21lIGhhdmUgbW9yZS4gSGVyZSBp cyBhIHNlbGJyaSB3aXRoIGZvdXIgc3VtdGkgcGxhY2VzOgoKJydfX3ZlY251X18nJyB4MSBzZWxs cyB4MiB0byB4MyBmb3IgcHJpY2UgeDQKCgoKSWYgSSB3YW50IHRvIHNheSDigJxJIHNlbGwgdGhp c+KAnSwgaXQgd291bGQgYmUgdG9vIG11Y2ggdG8gaGF2ZSB0byBmaWxsIHRoZSBzdW10aSBwbGFj ZXMgeDMgYW5kIHg0LCB3aGljaCBzcGVjaWZ5IHdobyBJIHNlbGwgdGhlIHRoaW5nIHRvLCBhbmQg Zm9yIHdoYXQgcHJpY2UuIEx1Y2tpbHksIEkgZG9u4oCZdCBuZWVkIHRvLiBzdW10aSBwbGFjZXMg Y2FuIGJlIGZpbGxlZCB3aXRoICcnem/igJllJycuICcnem/igJllJycgaW5kaWNhdGVzIHRvIHVz IHRoYXQgdGhlIHZhbHVlIG9mIHRoZSBzdW10aSBwbGFjZSBpcyB1bnNwZWNpZmllZCBiZWNhdXNl IGl04oCZcyB1bmltcG9ydGFudCBvciBjYW4gYmUgZGV0ZXJtaW5lZCBmcm9tIGNvbnRleHQuCgon J19fem/igJllX18nJyDigJxzb21ldGhpbmfigJ0gRmlsbHMgYSBzdW10aSBwbGFjZSB3aXRoIHNv bWV0aGluZywgYnV0IGRvZXMgbm90IHN0YXRlIHdoYXQuCgoKClNvIHRvIHNheSDigJxJIHNlbGwg dG8geW914oCdLCBJIGNvdWxkIHNheSAnJ21pIHZlY251IHpv4oCZZSBkbyB6b+KAmWUnJyDigJMg SSBzZWxsIHNvbWV0aGluZyB0byB5b3UgZm9yIHNvbWUgcHJpY2UuCgpIb3cgd291bGQgeW91IHNh eTog4oCcVGhhdOKAmXMgYSBob21lIChmb3Igc29tZWJvZHkp4oCdPwoKCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OiAnJ3RpIHpkYW5pIHpv4oCZZScnfn4KCgoKSG93IGFib3V0IOKAnChzb21lb25lKSBn aXZlcyB0aGlzIHRvIChzb21lb25lKeKAnT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ3pv4oCZ ZSBkdW5kYSB0aSB6b+KAmWUnJ35+CgoKClN0aWxsLCBmaWxsaW5nIG91dCB0aHJlZSB6b+KAmWUg anVzdCB0byBzYXkgdGhhdCBhIHRoaW5nIGlzIGJlaW5nIHNvbGQgdGFrZXMgdGltZS4gVGhlcmVm b3JlIHlvdSBkb27igJl0IG5lZWQgdG8gd3JpdGUgYWxsIHRoZSAnJ3pv4oCZZScnIGluIGEgYnJp ZGkuIFRoZSBydWxlIHNpbXBseSBpcyB0aGF0IGlmIHlvdSBsZWF2ZSBvdXQgYW55IHN1bXRpLCB0 aGV5IHdpbGwgYmUgY29uc2lkZXJlZCBhcyBpZiB0aGV5IGNvbnRhaW5lZCAnJ3pv4oCZZScnLiBJ ZiB0aGUgYnJpZGkgYmVnaW5zIHdpdGggYSBzZWxicmksIHRoZSB4MSBpcyBwcmVzdW1lZCB0byBi ZSBvbWl0dGVkIGFuZCBpdCBiZWNvbWVzICcnem/igJllJycuCgpUcnkgaXQgb3V0LiBXaGF04oCZ cyBMb2piYW4gZm9yIOKAnEkgc2VsbOKAnT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIHZl Y251Jyd+fgoKCgpBbmQgd2hhdCBkb2VzICcnemRhbmkgbWknJyBtZWFuPwoKCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OuKAnFNvbWV0aGluZyBpcyBhIGhvbWUgb2YgbWXigJ0gb3IganVzdCDigJxJIGhh dmUgYSBob21lLuKAnX5+CgoKCkFzIG1lbnRpb25lZCBlYXJsaWVyLCB0aGUgZm9ybSBkb2VzbuKA mXQgaGF2ZSB0byBiZSB7eDEgc3VtdGl9IHtzZWxicml9IHt4MiBzdW10aX0ge3gzIHN1bXRpfSAo ZXRjLikgSW4gZmFjdCwgeW91IGNhbiBwbGFjZSB0aGUgc2VsYnJpIGFueXdoZXJlIHlvdSB3YW50 LCBqdXN0IG5vdCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBicmlkaS4gSWYgeW91IGRvIHRoYXQs IHRoZSB4MSBpcyBjb25zaWRlcmVkIGxlZnQgb3V0IGFuZCBmaWxsZWQgd2l0aCAnJ3pv4oCZZScn IGluc3RlYWQuIFNvIHRoZSBmb2xsb3dpbmcgdGhyZWUganVmcmEgYXJlIGFsbCB0aGUgZXhhY3Rs eSBzYW1lIGJyaWRpOgoKJydtaSBkdW5kYSB0aSBkbycnCgonJ21pIHRpIGR1bmRhIGRvJycKCicn bWkgdGkgZG8gZHVuZGEnJwoKCgpTb21ldGltZXMgdGhpcyBpcyB1c2VkIGZvciBwb2V0aWMgZWZm ZWN0LiDigJxZb3Ugc2VsbCB5b3Vyc2VsZuKAnSBjb3VsZCBiZSAnJ2RvIGRvIHZlY251JycsIHdo aWNoIHNvdW5kcyBiZXR0ZXIgdGhhbiAnJ2RvIHZlY251IGRvJycuIE9yIGl0IGNhbiBiZSB1c2Vk IGZvciBjbGFyaXR5IGlmIHRoZSBzZWxicmkgaXMgdmVyeSBsb25nIGFuZCB0aGVyZWZvcmUgYmV0 dGVyIGJlIGxlZnQgYXQgdGhlIGVuZCBvZiB0aGUgYnJpZGkuCgoKClRoZXJlIGFyZSBhbHNvIHNl dmVyYWwgd2F5cyB0byBwbGF5IGFyb3VuZCB3aXRoIHRoZSBvcmRlciBvZiB0aGUgc3VtdGkgaW5z aWRlIHRoZSBicmlkaS4gVGhlIGVhc2llc3Qgb25lIGlzIGJ5IHVzaW5nIHRoZSB3b3JkcyAnJ2Zh JycsICcnZmUnJywgJydmaScnLCAnJ2ZvJycgYW5kICcnZnUnJy4gTm90aWNlIHRoYXQgdGhlIHZv d2VscyBhcmUgdGhlIGZpdmUgdm93ZWxzIGluIHRoZSBMb2piYW4gYWxwaGFiZXQgaW4gb3JkZXIu IFVzaW5nIG9uZSBvZiB0aGVzZSB3b3JkcyBtYXJrcyB0aGF0IHRoZSBuZXh0IHN1bXRpIHdpbGwg ZmlsbCB0aGUgeDEsIHgyLCB4MywgeDQgYW5kIHg1IHJlc3BlY3RpdmVseS4gVGhlIG5leHQgc3Vt dGkgYWZ0ZXIgdGhhdCB3aWxsIGJlIHByZXN1bWVkIHRvIGZpbGwgYSBzbG90IG9uZSBncmVhdGVy IHRoYW4gdGhlIHByZXZpb3VzLiBUbyB1c2UgYW4gZXhhbXBsZToKCicnZHVuZGEgZmEgZG8gZmUg dGkgZG8nJyDigJMg4oCcR2l2aW5nIGJ5IHlvdSBvZiB0aGlzIHRoaW5nIHRvIHlvdeKAnS4gJydm YScnIG1hcmtzIHRoZSB4MSwgdGhlIGdpdmVyLCB3aGljaCBpcyB5b3UuICcnZmUnJyBtYXJrcyB0 aGUgdGhpbmcgYmVpbmcgZ2l2ZW4sIHRoZSB4Mi4gU3VtdGkgY291bnRpbmcgdGhlbiBjb250aW51 ZXMgZnJvbSAnJ2ZlJycsIG1lYW5pbmcgdGhhdCB0aGUgbGFzdCBzdW10aSBmaWxscyB4MywgdGhl IG9iamVjdCByZWNlaXZpbmcuCgoKCkF0dGVtcHQgdG8gdHJhbnNsYXRlIHRoZSBmb2xsb3dpbmcg dGhyZWUgc2VudGVuY2VzOgoKCgonJ21pIHZlY251IGZvIHRpIGZlIGRvJycKCgoKQW5zd2VyOiB+ fmdyZXksZ3JleTrigJ1JIHNlbGwsIGZvciB0aGUgcHJpY2Ugb2YgdGhpcywgeW914oCdLiBvciDi gJxJIHNlbGwgeW91IGZvciB0aGUgcHJpY2Ugb2YgdGhpc+KAnSAocHJvYmFibHkgcG9pbnRpbmcg dG8gYSBidW5jaCBvZiBtb25leSl+fgoKCgonJ3pkYW5pIGZlIHRpJycKCgoKQW5zd2VyOiB+fmdy ZXksZ3JleTrigJxUaGlzIGhhcyBhIGhvbWXigJ0uIEhlcmUsIHRoZSBmZSBpcyByZWR1bmRhbnQu fn4KCgoKJyd2ZWNudSB6b+KAmWUgbWkgdGkgZmEgZG8nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5 OuKAnFlvdSBzZWxsIHNvbWV0aGluZyB0byBtZSBmb3IgdGhpcyBwcmljZeKAnX5+CgoKCgoKISFM b2piYW4gTGVzc29ucyDigJMgbGVzc29uIHRocmVlICh0YW5ydSBhbmQgbG8pCgpJbiB0aGlzIGxl c3NvbiwgeW91IHdpbGwgYmVjb21lIGZhbWlsaWFyIHdpdGggdGhlIGNvbmNlcHQgb2YgYSAnJ3Rh bnJ1JycuIEEgdGFucnUgaXMgZm9ybWVkIHdoZW4gYSBzZWxicmkgaXMgcHV0IGluIGZyb250IG9m IGFub3RoZXIgc2VsYnJpLCBtb2RpZnlpbmcgaXRzIG1lYW5pbmcuIEEgdGFucnUgaXMgaXRzZWxm IGEgc2VsYnJpLCBhbmQgY2FuIGNvbWJpbmUgd2l0aCBvdGhlciBzZWxicmkgb3IgdGFucnUgdG8g Zm9ybSBtb3JlIGNvbXBsZXggdGFucnUuIFRodXMgJyd6ZGFuaSB2ZWNudScnIGlzIGEgdGFucnUs IGFzIHdlbGwgYXMgICcncGVseHUgemRhbmkgdmVjbnUnJywgd2hpY2ggaXMgbWFkZSBmcm9tIHRo ZSB0YW5ydSAnJ3BlbHh1IHpkYW5pJycgYW5kIHRoZSBzaW5nbGUgYnJpdmxhIHdvcmQgJyd2ZWNu dScnLiBUbyB1bmRlcnN0YW5kIHRoZSBjb25jZXB0IG9mIHRhbnJ1LCBjb25zaWRlciB0aGUgRW5n bGlzaCBub3VuIGNvbWJpbmF0aW9uIOKAnGxlbW9uIHRyZWXigJ0uIElmIHlvdSBkaWRu4oCZdCBr bm93IHdoYXQgYSBsZW1vbiB0cmVlIHdhcywgYnV0IGhhZCBoZWFyZCBhYm91dCBib3RoIGxlbW9u cyBhbmQgdHJlZXMsIHlvdSB3b3VsZCBub3QgYmUgYWJsZSB0byBkZWR1Y2Ugd2hhdCBhIGxlbW9u IHRyZWUgd2FzLiBQZXJoYXBzIGEgbGVtb24tY29sb3JlZCB0cmVlLCBvciBhIHRyZWUgc2hhcGVk IGxpa2UgYSBsZW1vbiwgb3IgYSB0cmVlIHdob3NlIGJhcmsgdGFzdGVzIGxpa2UgbGVtb24uIFRo ZSBvbmx5IHRoaW5ncyB5b3UgY291bGQga25vdyBmb3Igc3VyZSB3b3VsZCBiZSB0aGF0IGl0IHdv dWxkIGJlIGEgdHJlZSwgYW5kIGl0IHdvdWxkIGJlIGxlbW9uLWxpa2UgaW4gc29tZSB3YXkuCgpB IHRhbnJ1IGlzIGNsb3NlbHkgYW5hbG9nb3VzIHRvIHRoaXMuIEl0IGNhbm5vdCBiZSBzYWlkIGV4 YWN0bHkgd2hhdCBhICcnemRhbmkgdmVjbnUnJyBpcywgYnV0IGl0IGNhbiBiZSBzYWlkIHRoYXQg aXQgaXMgZGVmaW5pdGVseSBhIHZlY251LCBhbmQgdGhhdCBpdOKAmXMgemRhbmktbGlrZSBpbiBz b21lIHdheS4gQW5kIGl0IGNvdWxkIGJlIHpkYW5pLWxpa2UgaW4gYW55IHdheS4gSW4gdGhlb3J5 LCBubyBtYXR0ZXIgaG93IHNpbGx5IG9yIGFic3VyZCB0aGUgY29ubmVjdGlvbiB0byB6ZGFuaSB3 YXMsIGl0IGNvdWxkIHN0aWxsIHRydWx5IGJlIGEgJyd6ZGFuaSB2ZWNudScnLiBIb3dldmVyLCBp dCBtdXN0IGFjdHVhbGx5IGJlIGEgdmVjbnUgaW4gdGhlIG9yZGluYXJ5IHNlbnNlIGluIG9yZGVy IGZvciB0aGUgdGFucnUgdG8gYXBwbHkuIFlvdSBjb3VsZCBnbG9zcyAnJ3pkYW5pIHZlY251Jycg YXMg4oCcaG9tZSBzZWxsZXLigJ0sIG9yIGV2ZW4gYmV0dGVyIGJ1dCB3b3JzZSBzb3VuZGluZyDi gJxhIGhvbWUtdHlwZS1vZiBzZWxsZXLigJ0uIFRoZSBwbGFjZSBzdHJ1Y3R1cmUgb2YgYSB0YW5y dSBpcyBhbHdheXMgdGhhdCBvZiB0aGUgcmlnaHRtb3N0IHNlbGJyaS4gSXTigJlzIGFsc28gc2Fp ZCB0aGF0IHRoZSBsZWZ0IHNlbGJyaSBtb2RpZmllcyB0aGUgcmlnaHQgc2VsYnJpLgoK4oCcUmVh bGx5P+KAnSwgeW91IGFzaywgc2NlcHRpY2FsbHksIOKAnEl0IGRvZXNu4oCZdCBtYXR0ZXIgaG93 IHNpbGx5IHRoZSBjb25uZWN0aW9uIHRvIHRoZSBsZWZ0IHdvcmQgaW4gYSB0YW5ydSBpcywgaXTi gJlzIHN0aWxsIHRydWU/IFNvIEkgY291bGQgY2FsbCBhbGwgc2VsbGVycyBmb3IgJyd6ZGFuaSB2 ZWNudScnIGFuZCB0aGVuIG1ha2UgdXAgc29tZSBzaWxseSBleGN1c2Ugd2h5IEkgdGhpbmsgaXTi gJlzIHpkYW5pLWxpa2U/4oCdCgpXZWxsIHllcywgYnV0IHRoZW4geW914oCZZCBiZSBhIGRpY2su IE9yIGF0IGxlYXN0IHlvdeKAmWQgYmUgaW50ZW50aW9uYWxseSBtaXNsZWFkaW5nLiBJbiBnZW5l cmFsLCB5b3Ugc2hvdWxkIHVzZSBhIHRhbnJ1IHdoZW4gaXTigJlzIG9idmlvdXMgaG93IHRoZSBs ZWZ0IHdvcmQgcmVsYXRlcyB0byB0aGUgcmlnaHQuCgoKCkF0dGVtcHQgdG8gdHJhbnNsYXRlIHRo ZSBmb2xsb3dpbmc6ICcndGkgcGVseHUgemRhbmkgZG8nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5 OuKAnFRoYXQgaXMgYSB5ZWxsb3cgaG9tZSBmb3IgeW914oCdIEFnYWluLCB3ZSBkb27igJl0IGtu b3cgaW4gd2hpY2ggd2F5IGl04oCZcyB5ZWxsb3cuIFByb2JhYmx5IGl04oCZcyBwYWludGVkIHll bGxvdywgYnV0IHdlIGRvbuKAmXQga25vdyBmb3Igc3VyZS5+fgoKCgonJ21pIHZlY251IGR1bmRh JycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxJIHNlbGwtbGlrZSBnaXZl4oCdLiBXaGF0IGNh biB0aGF0IG1lYW4/IE5vIGlkZWEuIEl0IGNlcnRhaW5seSBkb2VzbuKAmXQgbWVhbiB0aGF0IHlv dSBzb2xkIHNvbWV0aGluZywgc2luY2UsIGJ5IGRlZmluaXRpb24gb2YgJydkdW5kYScnLCB0aGVy ZSBjYW4gYmUgbm8gcGF5bWVudCBpbnZvbHZlZC4gSXQgaGFzIHRvIGJlIGEgZ2l2ZWF3YXksIGJ1 dCBiZSBzZWxsLWxpa2UgaW4gc29tZSBhc3BlY3Qufn4KCgoKQW5kIG5vdyBmb3Igc29tZXRoaW5n IGNvbXBsZXRlbHkgZGlmZmVyZW50LiBXaGF0IGlmIEkgd2FudGVkIHRvIHNheSBJIHNvbGQgdG8g YSBHZXJtYW4/CgonJ19fZG90Y29fXycnIHgxIGlzIEdlcm1hbi9yZWZsZWN0cyBHZXJtYW4gY3Vs dHVyZSBpbiBhc3BlY3QgeDIKCgoKSSBjYW7igJl0IHNheSAnJ21pIHZlY251IHpv4oCZZSBkb3Rj bycnIGJlY2F1c2UgdGhhdCB3b3VsZCBsZWF2ZSB0d28gc2VsYnJpIGluIGEgYnJpZGksIHdoaWNo IGlzIG5vdCBwZXJtaXR0ZWQuIEkgY291bGQgc2F5ICcnbWkgZG90Y28gdmVjbnUnJyBidXQgdGhh dCB3b3VsZCBiZSB1bm5lY2Vzc2FyeSB2YWd1ZSAtIEkgY291bGQgc2VsbCBpbiBhIEdlcm1hbiB3 YXkuIExpa2V3aXNlLCBpZiBJIHdhbnQgdG8gc2F5IOKAnEkgYW0gZnJpZW5kcyB3aXRoIGFuIEFt ZXJpY2Fu4oCdLCB3aGF0IHNob3VsZCBJIHNheT8KCicnX19wZW5kb19fJycgMXggaXMgYSBmcmll bmQgb2YgeDIKCicnX19tZXJrb19fJycgeDEgaXMgQW1lcmljYW4vcmVmbGVjdCBVUyBjdWx0dXJl IGluIGFzcGVjdCB4MgoKCgpBZ2FpbiwgdGhlIG9idmlvdXMgd291bGQgYmUgdG8gc2F5ICcnbWkg cGVuZG8gbWVya28nJywgYnV0IHRoYXQgd291bGQgZm9ybSBhIHRhbnJ1LCBtZWFuaW5nIOKAnEkg YW0gZnJpZW5kLWxpa2UgQW1lcmljYW7igJ0sIHdoaWNoIGlzIHdyb25nLiBXaGF0IHdlIHJlYWxs eSB3YW50IHRvIGlzIHRvIHRha2UgdGhlIHNlbGJyaSAnJ21lcmtvJycgYW5kIHRyYW5zZm9ybSBp dCBpbnRvIGEgc3VtdGkgc28gaXQgY2FuIGJlIHVzZWQgaW4gdGhlIHNlbGJyaSAnJ3BlbmRvJycu IFRoaXMgaXMgZG9uZSBieSB0aGUgdHdvIHdvcmRzICcnbG8nJyBhbmQgJydrdScnLgoKX18nJ2xv JydfXyDigJMgZ2VuZXJpYyBiZWdpbiBjb252ZXJ0IHNlbGJyaSB0byBzdW10aSB3b3JkLiBFeHRy YWN0cyB4MSBvZiBzZWxicmkgdG8gdXNlIGFzIHN1bXRpLgoKX18nJ2t1JydfXyDigJMgZW5kIGNv bnZlcnQgc2VsYnJpIHRvIHN1bXRpIHByb2Nlc3MuCgoKCllvdSBzaW1wbHkgcGxhY2UgYSBzZWxi cmkgYmV0d2VlbiB0aGVzZSB0d28gd29yZHMsIGFuZCBpdCB0YWtlcyBhbnl0aGluZyB0aGF0IGNh biBmaWxsIHRoZSB4MSBvZiB0aGF0IHNlbGJyaSBhbmQgdHVybnMgaXQgaW50byBhIHN1bXRpLgoK U28gZm9yIGluc3RhbmNlLCB0aGUgdGhpbmdzIHRoYXQgY2FuIGZpbGwgemRhbmnigJhzIHgxIGFy ZSBvbmx5IHRoaW5ncyB3aGljaCBhcmUgaG9tZXMgb2Ygc29tZWJvZHkuIFNvICcnbG8gemRhbmkg a3UnJyBtZWFucyDigJxhIGhvbWUgb3Igc29tZSBob21lcyBmb3Igc29tZWJvZHku4oCdIFNpbWls YXJseSwgaWYgSSBzYXkgdGhhdCBzb21ldGhpbmcgaXMgcGVseHUsIGl0IG1lYW5zIGl04oCZcyB5 ZWxsb3cuIFNvICcnbG8gcGVseHUga3UnJyByZWZlcnMgdG8gc29tZXRoaW5nIHllbGxvdy4KCgoK Tm93IHlvdSBnb3QgdGhlIG5lY2Vzc2FyeSBncmFtbWFyIHRvIGJlIGFibGUgdG8gc2F5IOKAnEkg YW0gZnJpZW5kcyB3aXRoIGFuIEFtZXJpY2FuLuKAnSBIb3c/CgoKCkFuc3dlcjogfn5ncmV5LGdy ZXk6JydtaSBwZW5kbyBsbyBtZXJrbyBrdScnfn4KCgoKVGhlcmUgaXMgYSBnb29kIHJlYXNvbiB3 aHkgdGhlICcna3UnJyBpcyBuZWNlc3NhcnkuIFRyeSB0byB0cmFuc2xhdGUg4oCcQSBHZXJtYW4g c2VsbHMgdGhpcyB0byBtZeKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbG8gZG90Y28ga3Ug dmVjbnUgdGkgbWknJyBJZiB5b3UgbGVhdmUgb3V0IHRoZSBrdSwgeW91IGRvIG5vdCBnZXQgYSBi cmlkaSwgYnV0IHNpbXBseSB0aHJlZSBzdW10aS4gU2luY2UgbG/igKZrdSBjYW5ub3QgY29udmVy dCBicmlkaSwgdGhlIHRpIGlzIGZvcmNlZCBvdXRzaWRlIHRoZSBzdW10aSwgdGhlIGxvLWNvbnN0 cnVjdCBpcyBmb3JjZWQgdG8gY2xvc2UgYW5kIGl0IHNpbXBseSBiZWNvbWVzIHRoZSB0aHJlZSBz dW10aSBvZiAnJ2xvIGRvdGNvIHZlY251IHtrdX0nJywgJyd0aScnIGFuZCAnJ21pJycufn4KCgoK WW91IGFsd2F5cyBoYXZlIHRvIGJlIGNhcmVmdWwgd2l0aCBqdWZyYSBsaWtlICcnbG8gemRhbmkg a3UgcGVseHUnJy4gSWYgdGhlICcna3UnJyBpcyBsZWZ0IG91dCB0aGUgY29udmVyc2lvbiBwcm9j ZXNzIGRvZXMgbm90IGVuZCwgYW5kIGl0IHNpbXBseSBiZWNvbWVzIG9uZSBzdW10aSwgbWFkZSBm cm9tIHRoZSB0YW5ydSAnJ3pkYW5pIHBlbHh1JycgYW5kIHRoZW4gY29udmVydGVkIHdpdGggJyds bycnLgoKCgoKCiEhTG9qYmFuIExlc3NvbnMg4oCTIGxlc3NvbiBmb3VyIChhdHRpdHVkaW5hbHMp CgpBbm90aGVyIGNvbmNlcHQgd2hpY2ggY2FuIGJlIHVuZmFtaWxpYXIgdG8gRW5nbGlzaCBzcGVh a2VycyBpcyB0aGF0IG9mIGF0dGl0dWRpbmFscy4gQXR0aXR1ZGluYWxzIGFyZSB3b3JkcyB0aGF0 IGV4cHJlc3MgZW1vdGlvbnMgZGlyZWN0bHkuIFRoZSBpZGVhIG9mIGF0dGl0dWRpbmFscyBvcmln aW5hdGVkIGluIHRoZSBmZW1pbmlzdCBjb25zdHJ1Y3RlZCBsYW5ndWFnZSBMw6FhZGFuLCBzdXBw b3NlZGx5IHRvIGVuYWJsZSB0cnVlIGZlbWFsZSBlbW90aW9ucy4gVGhlIGlkZWEgd2FzIHRoYXQg ZmVtYWxlIGVtb3Rpb25hbCBleHByZXNzaW9uIHdhcyBoaW5kZXJlZCBieSBtYWxlIGRvbWluYXRl ZCBsYW5ndWFnZSwgYW5kIGlmIG9ubHkgdGhleSB3ZXJlIGFibGUgdG8gYmUgZXhwcmVzc2VkIG1v cmUgZnJlZWx5LCB0aGlzIHdvdWxkIGVtcG93ZXIgd29tZW4gdGhyb3VnaCBsaWJlcmF0aW9uIG9m IHRoZSBsYW5ndWFnZS4KCkluIExvamJhbiwgdGhlcmUgaXMgbm8gc3VjaCBhZ2VuZGEsIGFuZCBh dHRpdHVkaW5hbHMgbW9zdCBwcm9iYWJseSBoYXZlIGJlZW4gZGVzaWduZWQgaW50byB0aGUgbGFu Z3VhZ2UgYmVjYXVzZSB0aGV5IHR1cm5lZCBvdXQgdG8gYmUgaW5jcmVkaWJseSBhd2Vzb21lIGFu ZCB1c2VmdWwuIFRoZXkgYWxsIGhhdmUgYSBzby1jYWxsZWQgZnJlZSBncmFtbWFyLCB3aGljaCBt ZWFucyB0aGF0IHRoZXkgY2FuIGFwcGVhciBhbG1vc3QgYW55d2hlcmUgd2l0aGluIGJyaWRpIHdp dGhvdXQgZGlzcnVwdGluZyB0aGUgYnJpZGnigJlzIGdyYW1tYXIgb3IgYW55IGdyYW1tYXRpY2Fs IGNvbnN0cnVjdHMuCgpJbiBMb2piYW4gZ3JhbW1hciwgYW4gYXR0aXR1ZGluYWwgYXBwbGllcyB0 byB0aGUgcHJldmlvdXMgd29yZC4gSWYgdGhhdCBwcmV2aW91cyB3b3JkIGlzIGEgd29yZCB3aGlj aCBiZWdpbnMgYSBjb25zdHJ1Y3QgKGxpa2UgJycuaScnIG9yICcnbG8nJyksIGl0IGFwcGxpZXMg dG8gdGhlIGVudGlyZSBjb25zdHJ1Y3QuIExpa2V3aXNlLCBpZiB0aGUgYXR0aXR1ZGluYWwgZm9s bG93cyBhIHdvcmQgd2hpY2ggZW5kcyBhIGNvbnN0cnVjdCBsaWtlICcna3UnJywgaXQgYXBwbGll cyB0byB0aGUgZW5kZWQgY29uc3RydWN0LgoKCgpMZXTigJlzIGhhdmUgdHdvIGF0dGl0dWRpbmFs cyB0byBtYWtlIHNvbWUgZXhhbXBsZXM6CgpfXycnLnVpJydfXzogYXR0aXR1ZGluYWw6IHNpbXBs ZSBwdXJlIGVtb3Rpb246IGhhcHBpbmVzcyAtIHVuaGFwcGluZXNzCgpfXycnemHigJlhJydfXzog YXR0aXR1ZGluYWw6IGV2aWRlbnRpYWw6IEkgZGlyZWN0bHkgb2JzZXJ2ZQoKCgpOb3RlIHRoYXQg aW4gdGhlIGRlZmluaXRpb24gb2YgJycudWknJywgdGhlcmUgYXJlIGxpc3RlZCB0d28gZW1vdGlv bnMsIGhhcHBpbmVzcyBhbmQgdW5oYXBwaW5lc3MuIFRoaXMgbWVhbnMgdGhhdCAnJy51aScnIGlz IGRlZmluZWQgYXMgaGFwcGluZXNzLCB3aGlsZSBpdHMg4oCcbmVnYXRpb27igJ0sIG1lYW5zIHVu aGFwcGluZXNzLiDigJxOZWdhdGlvbuKAnSBtaWdodCBiZSB0aGUgd3Jvbmcgd29yZCBoZXJlLiBU ZWNobmljYWxseSwgdGhlIG90aGVyIGRlZmluaXRpb24gb2YgJycudWknJyBpcyBhbm90aGVyIGNv bnN0cnVjdCwgJycudWkgbmFpJycuIE1vc3Qgb2YgdGhlIHRpbWUsIHRoZSBzZWNvbmQgZGVmaW5p dGlvbiBvZiBhdHRpdHVkaW5hbHMgLSB0aGUgb25lcyBzdWZmaXhlZCB3aXRoICcnbmFpJycgLSBy ZWFsbHkgaXMgdGhlIG5lZ2F0aW9uIG9mIHRoZSBiYXJlIGF0dGl0dWRpbmFsLiBPdGhlciB0aW1l cywgbm90IHNvIG11Y2guCgpfXycnbmFpJydfXyBtaXNjLiBuZWdhdGlvbiAtIGF0dGFjaGVkIHRv IGF0dGl0dWRpbmFscywgaXQgY2hhbmdlcyB0aGUgbWVhbmluZyBpbnRvIHRoZSBhdHRpdHVkaW5h bCdzICJuZWdhdGlvbiIKCgoKQW5kIHNvbWUgbW9yZSBzZWxicmksIGp1c3QgZm9yIHRoZSBoZWNr IG9mIGl0OgoKX18nJ2NpdGthJydfXyDigJMgeDEgZWF0cyB4MgoKX18nJ3BsaXNlJydfXyDigJMg eDEgaXMgYW4gYXBwbGUgb2Ygc3RyYWluL3R5cGUgeDIKCgoKVGhlIHNlbnRlbmNlICcnZG8gY2l0 a2EgbG8gcGxpc2Uga3UgLnVpJycsIG1lYW5zIOKAnFlvdSBlYXQgYW4gYXBwbGUsIHlheSHigJ0g KGVzcGVjaWFsbHkgZXhwcmVzc2luZyB0aGF0IGl0IGlzIHRoZSBfX2FwcGxlX18gdGhhdCB0aGUg c3BlYWtlciBpcyBoYXBweSBhYm91dCwgbm90IHRoZSBlYXRpbmcsIG9yIHRoZSBmYWN0IHRoYXQg aXQgd2FzIHlvdS4pIEluIHRoZSBzZW50ZW5jZSAnJ2RvIHph4oCZYSBjaXRrYSBsbyBwbGlzZSBr dScnLCB0aGUgc3BlYWtlciBkaXJlY3RseSBvYnNlcnZlcyB0aGF0IGl0IGlzIGluZGVlZCB0aGUg X1/igJx5b3XigJ1fXywgd2hvIGVhdHMgYW4gYXBwbGUgYXMgb3Bwb3NlZCB0byBzb21lb25lIGVs c2UuCgoKCklmIGFuIGF0dGl0dWRpbmFsIGlzIHBsYWNlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRo ZSBicmlkaSwgaXQgaXMgdW5kZXJzdG9vZCB0byBhcHBseSB0byBhbiBleHBsaWNpdCBvciBpbXBs aWNpdCAnJy5pJycsIHRodXMgYXBwbHlpbmcgdG8gdGhlIGVudGlyZSBicmlkaToKCicnLnVpIHph 4oCZYSBkbyBkdW5kYSBsbyBwbGlzZSBrdSBtaScnIOKAkyDigJxZYXksIEkgb2JzZXJ2ZSB0aGF0 IHlvdSBnaXZlIGFuL3NvbWUgYXBwbGUgdG8gbWUh4oCdCgoKCicnbWkgdmVjbnUgLnVpIG5haSBs byB6ZGFuaSBrdScnIOKAnEkgc2VsbCAod2hpY2ggc3Vja3MhKSBhIGhvbWXigJ0uCgoKClRyeSBp dCBvdXQgd2l0aCBhIGZldyBleGFtcGxlcy4gRmlyc3QsIHRob3VnaCwgaGVyZSBhcmUgc29tZSBt b3JlIGF0dGl0dWRpbmFsczoKCl9fJycudeKAmXUnJ19fIGF0dGl0dWRpbmFsOiBzaW1wbGUgcHVy ZSBlbW90aW9uOiBndWlsdCAtIHJlbW9yc2VsZXNzbmVzcyAtIGlubm9jZW5jZS4KCl9fJycub2kn J19fIGF0dGl0dWRpbmFsOiBjb21wbGV4IHB1cmUgZW1vdGlvbjogcGFpbiAtIGNvbXBsYWNlbmN5 IC0gY29tZm9ydC4KCl9fJycuaXUnJ19fIGF0dGl0dWRpbmFsOiBtaXNjZWxsYW5lb3VzIHB1cmUg ZW1vdGlvbjogbG92ZSAtIGhhdGUuCgoKCkxvb2sgYXQgdGhhdCwgdHdvIHdvcmRzIHdpdGggdGhy ZWUgZW1vdGlvbnMgaW4gdGhlIGRlZmluaXRpb24hIFRoZSBtaWRkbGUgb25lIGlzIGFjY2Vzc2Vk IGJ5IHN1ZmZpeGlubmcgd2l0aCAnJ2N14oCZaScnLiBJdOKAmXMgY29uc2lkZXJlZCB0aGUgbWlk cG9pbnQgb2YgdGhlIGVtb3Rpb24uCgpfXycnY3UnaScnX18gYXR0aXR1ZGluYWwgbWlkcG9pbnQg c2NhbGFyOiBhdHRhY2ggdG8gYXR0aXR1ZGluYWwgdG8gY2hhbmdlIHRoZSBtZWFuaW5nIHRvIHRo ZSAibWlkcG9pbnQiIG9mIHRoZSBlbW90aW9uLgoKCgpUcnkgc2F5aW5nIOKAnEkgZ2l2ZSBzb21l dGhpbmcgdG8gYSBHZXJtYW4sIHdobyBJIGxvdmXigJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTon J21pIGR1bmRhIGZpIGxvIGRvdGNvIGt1IC5pdScnIG9yICcnem/igJllJycgaW5zdGVhZCBvZiAn J2ZpJyd+fgoKCgpOb3cg4oCcQWFoLCBJIGVhdCBhIHllbGxvdyBhcHBsZeKAnQoKCgpBbnN3ZXI6 IH5+Z3JleSxncmV5OicnLm9pIG5haSBtaSBjaXRrYSBsbyBwZWx4dSBwbGlzZSBrdScnfn4KCgoK TGV04oCZcyBoYXZlIGFub3RoZXIgYXR0aXR1ZGluYWwgb2YgYSBkaWZmZXJlbnQga2luZCB0byBp bGx1c3RyYXRlIHNvbWV0aGluZyBwZWN1bGlhcjoKCicnLmVpJycgQXR0aXR1ZGluYWw6IGNvbXBs ZXggcHJvcG9zaXRpb25hbCBlbW90aW9uOiBvYmxpZ2F0aW9uIC0gZnJlZWRvbS4KCgoKU28sIHF1 aXRlIGVhc3k6IOKAnEkgaGF2ZSB0byBnaXZlIHRoZSBhcHBsZSBhd2F54oCdIGlzICcnbWkgZHVu ZGEgLmVpIGxvIHBsaXNlIGt1JycsIHJpZ2h0PyBJdCBpcywgYWN0dWFsbHkhIFdoZW4geW91IHRo aW5rIGFib3V0IGl0LCB0aGF04oCZcyB3ZWlyZC4gV2h5IGlzIGl0IHRoYXQgYWxsIHRoZSBvdGhl ciBhdHRpdHVkaW5hbHMgd2UgaGF2ZSBzZWVuIHNvIGZhciBleHByZXNzZXMgdGhlIHNwZWFrZXJz IGZlZWxpbmcgYWJvdXQgdGhlIGJyaWRpLCBidXQgdGhpcyBvbmUgYWN0dWFsbHkgY2hhbmdlcyB3 aGF0IHRoZSBicmlkaSBtZWFucz8gU3VyZWx5LCBieSBzYXlpbmcg4oCcSSBoYXZlIHRvIGdpdmUg dGhlIGFwcGxlIGF3YXnigJ0sIHdlIHNheSBub3RoaW5nIGFib3V0IHdoZXRoZXIgdGhlIGFwcGxl IGFjdHVhbGx5IGlzIGJlaW5nIGdpdmVuIGF3YXkuIElmIEkgaGFkIHVzZWQgJycudWknJywgaG93 ZXZlciwgSSB3b3VsZCBhY3R1YWxseSBoYXZlIHN0YXRlZCB0aGF0IEkgZ2F2ZSB0aGUgYXBwbGUg YXdheSwgYW5kIHRoYXQgSSB3YXMgaGFwcHkgYWJvdXQgaXQuIFdoYXTigJlzIHRoYXQgYWxsIGFi b3V0PwoKCgpUaGlzIGlzc3VlLCBleGFjdGx5IGhvdyBhdHRpdHVkaW5hbHMgY2hhbmdlIHRoZSBj b25kaXRpb25zIG9uIHdoaWNoIGEgYnJpZGkgaXMgdHJ1ZSwgaXMgYSBzdWJqZWN0IG9mIGEgbWlu b3IgZGViYXRlLiBUaGUgb2ZmaWNpYWwsIOKAnHRleHRib29r4oCdIHJ1bGUsIHdoaWNoIHByb2Jh Ymx5IHdvbuKAmXQgYmUgY2hhbmdlZCwgaXMgdGhhdCB0aGVyZSBpcyBhIGRpc3RpbmN0aW9uIGJl dHdlZW4g4oCccHVyZSBlbW90aW9uc+KAnSBhbmQg4oCccHJvcG9zaXRpb25hbCBlbW90aW9uc+KA nS4gT25seSBwcm9wb3N0aW9uYWwgZW1vdGlvbnMgY2FuIGNoYW5nZSB0aGUgdHJ1dGggY29uZGl0 aW9ucywgd2hpbGUgcHVyZSBlbW90aW9ucyBjYW5ub3QuIEluIG9yZGVyIHRvIGV4cHJlc3MgYSBw cm9wb3NpdGlvbmFsIGVtb3Rpb25hbCBhdHRpdHVkaW5hbCB3aXRob3V0IGNoYW5naW5nIHRoZSB0 cnV0aCB2YWx1ZSBvZiB0aGUgYnJpZGksIHlvdSBjYW4ganVzdCBzZXBhcmF0ZSBpdCBmcm9tIHRo ZSBicmlkaSB3aXRoICcnLmknJy4gVGhlcmUgaXMgYWxzbyBhIHdvcmQgZm9yIGV4cGxpY2l0bHkg Y29uc2VydmluZyBvciBjaGFuZ2luZyB0aGUgdHJ1dGggY29uZGl0aW9ucyBvZiBhIGJyaWRpOgoK CgpfXycnZGHigJlpJydfXyBhdHRpdHVkaW5hbDogZGlzY3Vyc2l2ZTogc3VwcG9zaW5nIC0gaW4g ZmFjdAoKU2F5aW5nICcnZGHigJlpJycgaW4gYSBicmlkaSBjaGFuZ2VzIHRoZSB0cnV0aCBjb25k aXRpb25zIHRvIGh5cG90aGV0aWNhbCwgd2hpY2ggaXMgdGhlIGRlZmF1bHQgdXNpbmcgcHJvcG9z aXRpb25hbCBhdHRpdHVkaW5hbHMuIFNheWluZyAnJ2Rh4oCZaSBuYWknJyBjaGFuZ2VzIHRoZSB0 cnV0aCBjb25kaXRpb24gdG8gdGhlIG5vcm1hbCwgd2hpY2ggaXMgZGVmYXVsdCB1c2luZyBwdXJl IGF0dGl0dWRpbmFscy4KCgoKU28sIHdoYXTigJlzIHR3byB3YXlzIG9mIHNheWluZyDigJxJIGdp dmUgdGhlIGFwcGxlIGF3YXnigJ0/IChhbmQgZmVlbCBvYmxpZ2F0aW9uIGFib3V0IGl0KQoKCgpB bnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgZHVuZGEgbG8gcGxpc2UgLmkgLmVpJycgIGFuZCAnJ21p IGR1bmRhIGRh4oCZaSBuYWkgLmVpIGxvIHBsaXNlJyd+fgoKCgpUaGUgZmVlbGluZyBvZiBhbiBh dHRpdHVkaW5hbCBjYW4gYmUgc3Vic2NyaWJlZCB0byBzb21lb25lIGVsc2UgdXNpbmcgJydkYWkn Jy4gVXN1YWxseSBpbiBvcmRpbmFyeSBzcGVlY2gsIHRoZSBhdHRpdHVkaW5hbCBpcyBzdWJzY3Jp YmVkIHRvIHRoZSBsaXN0ZW5lciwgYnV0IGl0IGRvZXNu4oCZdCBoYXZlIHRvIGJlIHNvLiBBbHNv LCBiZWNhdXNlIHRoZSB3b3JkIGlzIGdsb3NzZWQg4oCcZW1wYXRoeeKAnSAoZmVlbGluZyBvdGhl cnMgZW1vdGlvbnMpLCBzb21lIExvamJhbmlzdHMgbWlzdGFrZW5seSB0aGluayB0aGF0IHRoZSBz cGVha2VyIG11c3Qgc2hhcmUgdGhlIGVtb3Rpb24gYmVpbmcgc3Vic2NyaWJlZCB0byBvdGhlcnMu CgpfXycnZGFpJydfXyBhdHRpdHVkaW5hbCBtb2RpZnllcjogRW1wYXRoeSAoc3Vic2NyaWJlcyBh dHRpdHVkaW5hbCB0byBzb21lb25lIGVsc2UsIHVuc3BlY2lmaWVkKQoKRXhhbXBsZTogJyd14oCZ aSAub2kgZGFpIGNpdGthIHRpJycgLSDigJxIYSBoYSwgdGhpcyB3YXMgZWF0ZW4hIFRoYXQgbXVz dCBoYXZlIGh1cnQh4oCdCgoKCldoYXQgb2Z0ZW4gdXNlZCBwaHJhc2UgY291bGQgJycub2kgdeKA mWkgZGFpJycgbWVhbj8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxPdWNoLCB2ZXJ5IGZ1bm55 LuKAnX5+CgoKCkFuZCBhbm90aGVyIG9uZSB0byB0ZXN0IHlvdXIga25vd2xlZGdlOiBUcnkgdG8g dHJhbnNsYXRlIOKAnEhlIHdhcyBzb3JyeSBoZSBzb2xkIGEgaG9tZeKAnSAocmVtZW1iZXJpbmcs IHRoYXQgdGVuc2UgaXMgaW1wbGllZCBhbmQgbmVlZCBub3QgYmUgc3BlY2lmaWVkLiBBbHNvLCDi gJxoZeKAnSBjb3VsZCBiZSBvYnZpb3VzIGZyb20gY29udGV4dCkKCgoKQW5zd2VyOiB+fmdyZXks Z3JleTonJ3XigJl1IGRhaSB2ZWNudSBsbyB6ZGFuaSBrdScnfn4KCgoKTGFzdGx5LCB0aGUgaW50 ZW5zaXR5IG9mIGFuIGF0dGl0dWRpbmFsIGNhbiBiZSBzcGVjaWZpZWQgdXNpbmcgY2VydGFpbiB3 b3Jkcy4gVGhlc2UgY2FuIGJlIHVzZWQgYWZ0ZXIgYW4gYXR0aXR1ZGluYWwsIG9yIGFuIGF0dGl0 dWRpbmFsIHdpdGggJyduYWknJyBvciAnJ2N14oCZaScnIHN1ZmZpeGVkLiBJdOKAmXMgbGVzcyBj bGVhciB3aGF0IGhhcHBlbnMgd2hlbiB5b3UgYXR0YWNoIGl0IHRvIG90aGVyIHdvcmRzLCBsaWtl IGEgc2VsYnJpLCBtdXN0IGl04oCZcyBtb3N0bHkgdW5kZXJzdG9vZCBhcyBpbnRlbnNpZnlpbmcg b3Igd2Vha2VuaW5nIHRoZSBzZWxicmkgaW4gc29tZSB1bnNwZWNpZmllZCB3YXk6Cgp8fCBNb2Rp Znlpbmcgd29yZCAgfCBJbnRlbnNpdHkgIAoKIGNhaXwgICBFeHRyZW1lCgogc2FpfCAgIFN0cm9u ZwoKIChub25lKXwgICBVbnNwZWNpZmllZCAobWVkaXVtKQoKIHJ1J2UgIHwgICBXZWFrfHwKCgoK V2hhdCBlbW90aW9uIGlzIGV4cHJlc3NlZCB1c2luZyAnJy51J2kgbmFpIHNhaScnID8KCl9fJycu deKAmWknJ19fOiBhdHRpdHVkaW5hbDogc2ltcGxlIHB1cmUgZW1vdGlvbjogYW11c2VtZW50IC0g d2VhcmluZXNzCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6U3Ryb25nIHdlYXJpbmVzc35+CgoKCkFu ZCBob3cgd291bGQgeW91IGV4cHJlc3MgdGhhdCB5b3UgYXJlIG1pbGRseSByZW1vcnNlbGVzcz8K CgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJy514oCZdSBjdeKAmWkgcnXigJllJyd+fgoKCgohIUxv amJhbiBsZXNzb25zIOKAkyBsZXNzb24gZml2ZSAoU0UpCgpCZWZvcmUgd2UgdmVudHVyZSBpbnRv IHRoZSB0ZXJyaXRvcnkgb2YgbW9yZSBjb21wbGV4IGNvbnN0cnVjdHMsIHlvdSBzaG91bGQgbGVh cm4gYW5vdGhlciBtZWNoYW5pc20gZm9yIHJlb3JkZXJpbmcgdGhlIHN1bXRpIG9mIGEgc2VsYnJp LiBUaGlzLCBhcyB3ZSB3aWxsIHNob3csIGlzIHZlcnkgdXNlZnVsIGZvciBtYWtpbmcgZGVzY3Jp cHRpb24tbGlrZSBzdW10aSAodGhlIGtpbmQgb2Ygc3VtdGkgd2l0aCAnJ2xvJycpLgoKQ29uc2lk ZXIgdGhlIHNlbnRlbmNlIOKAnEkgZWF0IGEgZ2lmdOKAnSwgd2hpY2ggbWlnaHQgYmUgYXBwcm9w cmlhdGUgaWYgdGhhdCBnaWZ0IGlzIGFuIGFwcGxlLiBUbyB0cmFuc2xhdGUgdGhpcywgaXQgd291 bGQgc2VlbSBuYXR1cmFsIHRvIGxvb2sgdXAgYSBzZWxicmkgbWVhbmluZyDigJxnaWZ04oCdIGJl Zm9yZSBjb250aW51aW5nLiBIb3dldmVyLCBpZiBvbmUgbG9va3MgY2FyZWZ1bGx5IGF0IHRoZSBk ZWZpbml0aW9uIG9mICcnZHVuZGEnJywgeDEgZ2l2ZXMgeDIgdG8geDMsIG9uZSByZWFsaXplcyB0 aGF0IHRoZSB4MiBvZiAnJ2R1bmRhJycgaXMgc29tZXRoaW5nIGdpdmVuIOKAkyBhIGdpZnQuCgpT bywgdG8gZXhwcmVzcyB0aGF0IHNlbnRlbmNlLCB3ZSBjYW7igJl0IHNheSAnJ21pIGNpdGthIGxv IGR1bmRhIGt1JycsIGJlY2F1c2UgJydsbyBkdW5kYSBrdScnIHdvdWxkIGJlIHRoZSB4MSBvZiAn J2R1bmRhJycsIHdoaWNoIGlzIGEgZG9ub3Igb2YgYSBnaWZ0LiBDYW5uaWJhbGlzbSBhc2lkZSwg d2UgZG9u4oCZdCB3YW50IHRvIHNheSB0aGF0LiBXaGF0IHdlIHdhbnQgaXMgYSB3YXkgdG8gZXh0 cmFjdCB0aGUgeDIgb2YgYSBzZWxicmkuCgpUaGlzIGlzIG9uZSBleGFtcGxlIHdoZXJlIGl0IGlz IHVzZWZ1bCB0byB1c2UgdGhlIHdvcmQgJydzZScnLiBXaGF0ICcnc2UnJyBkb2VzIGlzIHRvIG1v ZGlmeSBhIHNlbGJyaSBzdWNoIHRoYXQgdGhlIHgxIGFuZCB4MiBvZiB0aGF0IHNlbGJyaSB0cmFk ZSBwbGFjZXMuIFRoZSBjb25zdHJ1Y3Qgb2YgJydzZScnICsgc2VsYnJpIGlzIG9uIGl0cyBvd24g Y29uc2lkZXJlZCBvbmUgc2VsYnJpLiBMZXTigJlzIHRyeSB3aXRoIGFuIG9yZGluYXJ5IHNlbnRl bmNlOgoKX18nJ2ZhbnZhJydfXyA9IOKAnHgxIHRyYW5zbGF0ZXMgeDIgdG8gbGFuZ3VhZ2UgeDMg ZnJvbSBsYW5ndWFnZSB4NCB3aXRoIHJlc3VsdCBvZiB0cmFuc2xhdGlvbiB4NeKAnQoKJyd0aSBz ZSBmYW52YSBtaScnID0gJydtaSBmYW52YSB0aScnCgpUaGlzIGlzIHRyYW5zbGF0ZWQgYnkgbWUg KD0gSSB0cmFuc2xhdGUgdGhpcykuIE9mdGVuLCBidXQgbm90IGFsd2F5cywgYnJpZGkgd2l0aCAn J3NlJyctY29uc3RydWN0cyBhcmUgdHJhbnNsYXRlZCB0byBzZW50ZW5jZXMgd2l0aCB0aGUgcGFz c2l2ZSB2b2ljZSwgc2luY2UgdGhlIHgxIGlzIG9mdGVuIHRoZSBvYmplY3QgdGFraW5nIGFjdGlv bi4KCicnc2UnJyBoYXMgaXRzIG93biBmYW1pbHkgb2Ygd29yZHMuIEFsbCBvZiB0aGVtIHN3YXAg YSBkaWZmZXJlbnQgcGxhY2Ugd2l0aCB0aGUgeDEuCgp8fHNlCXxzd2FwIHgxIGFuZCB4MgoKdGUJ fHN3YXAgeDEgYW5kIHgzCgp2ZQl8c3dhcCB4MSBhbmQgeDQKCnhlCXxzd2FwIHgxIGFuZCB4NXx8 CgpOb3RlIHRoYXQgcywgdCwgdiwgYW5kIHggYXJlIGNvbnNlY3V0aXZlIGNvbnNvbmFudHMgaW4g dGhlIGxvamJhbiBhbHBoYWJldC4KCgoKU286IFVzaW5nIHRoaXMga25vd2xlZGdlLCB3aGF0IHdv dWxkICcndGkgeGUgZmFudmEgdGknJyBtZWFuPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRo aXMgaXMgYSB0cmFuc2xhdGlvbiBvZiB0aGlz4oCdIChvciAnJ2ZhbnZhIHRpIGZ1IHRpJycpfn4K CgoKJydzZScnIGFuZCBpdHMgZmFtaWx5IGNhbiBvZiBjb3Vyc2UgYmUgY29tYmluZWQgd2l0aCAn J2ZhJycgYW5kIGl0cyBmYW1pbHkuIFRoZSByZXN1bHQgY2FuIGJlIHZlcnkgY29uZnVzaW5nIGlu ZGVlZCwgaWYgeW91IHdpc2ggdG8gbWFrZSBpdCBzbzoKCl9fJydrbGFtYScnX18gPSDigJx4MSB0 cmF2ZWxzL2dvZXMgdG8geDIgZnJvbSB4MyB2aWEgeDQgdXNpbmcgeDUgYXMgdHJhbnNwb3J0YXRp b24gZGV2aWNl4oCdCgonJ2Z1IGxvIHpkYW5pIGt1IHRlIGtsYW1hIGZlIGRvIHRpIGZhIG1pJycg PSAnJ21pIHRlIGtsYW1hIGRvIHRpIGxvIHpkYW5pIGt1JycgYW5kIHNpbmNlICcndGUnJyBleGNo YW5nZXMgeDEgYW5kIHgzOiA9ICcndGkga2xhbWEgZG8gbWkgbG8gemRhbmkga3UnJwoK4oCcVGhp cyB0cmF2ZWxzIHRvIHlvdSBmcm9tIG1lIHZpYSBhIGhvbWUu4oCdIE9mIGNvdXJzZSwgbm8gb25l IHdvdWxkIG1ha2Ugc3VjaCBhIHNlbnRlbmNlIGV4Y2VwdCB0byBjb25mdXNlIHBlb3BsZSwgb3Ig Y3J1ZWxseSB0byB0ZXN0IHRoZWlyIHVuZGVyc3RhbmRpbmcgb2YgTG9qYmFuIGdyYW1tYXIuCgpB bmQgdGh1cywgd2UgaGF2ZSBjb21lIHRvIHRoZSBwb2ludCB3aGVyZSB3ZSBjYW4gc2F5IOKAnEkg ZWF0IGEgZ2lmdC7igJ0uIFNpbXBseSBleGNoYW5nZSB0aGUgc3VtdGkgcGxhY2VzIG9mICcnZHVu ZGEnJyB0byBnZXQgdGhlIGdpZnQgdG8gYmUgeDEsIHRoZW4gZXh0cmFjdCB0aGlzIG5ldyB4MSB3 aXRoICcnbG8nJy4uLicna3UnJy4gU28sIGhvdyB3b3VsZCB5b3Ugc2F5IGl0PwoKT25lIChwb3Nz aWJsZSkgYW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGNpdGthIGxvIHNlIGR1bmRhIGt1Jyd+fgoK VGhpcyBzaG93cyBvbmUgb2YgdGhlIG1hbnkgdXNlcyBmb3IgJydzZScnIGFuZCBpdHMgZmFtaWx5 LgoKCgoKCiEhTG9qYmFuIGxlc3NvbnMg4oCTIGxlc3NvbiBzaXggKGFic3RyYWN0aW9ucykKClNv IGZhciB3ZSBoYXZlIG9ubHkgZXhwcmVzc2VkIHNpbmdsZSBzZW50ZW5jZXMgb25lIGF0IGEgdGlt ZS4gVG8gZXhwcmVzcyBtb3JlIGNvbXBsZXggdGhpbmdzLCBob3dldmVyLCB5b3Ugb2Z0ZW4gbmVl ZCBzdWJvcmRpbmF0ZSBzZW50ZW5jZXMuIEx1Y2tpbHksIHRoZXNlIGFyZSBtdWNoIGVhc2llciBp biBMb2piYW4gdGhhbiB3aGF0IG9uZSB3b3VsZCBleHBlY3QuCgpXZSBjYW4gYmVnaW4gd2l0aCBh biBleGFtcGxlIHRvIGRlbW9uc3RyYXRlIHRoaXM6IOKAnEkgYW0gaGFwcHkgdGhhdCB5b3UgYXJl IG15IGZyaWVuZC7igJ0gSGVyZSwgdGhlIG1haW4gYnJpZGkgaXMg4oCcSSBhbSBoYXBweSB0aGF0 IFgu4oCdLCBhbmQgdGhlIHN1Yi1icmlkaSBpcyDigJxZb3UgYXJlIG15IGZyaWVuZC7igJ0gTG9v a2luZyBhdCB0aGUgZGVmaW5pdGlvbiBmb3Ig4oCcaGFwcHnigJ0sIHdoaWNoIGlzICcnZ2xla2kn JzoKCl9fJydnbGVraScnX18g4oCceDEgaXMgaGFwcHkgYWJvdXQgeDIgKGV2ZW50L3N0YXRlKeKA nQoKT25lIHNlZXMgdGhhdCB0aGUgeDIgbmVlZHMgdG8gYmUgYW4gZXZlbnQgb3IgYSBzdGF0ZS4g VGhpcyBpcyBuYXR1cmFsLCBiZWNhdXNlIG9uZSBjYW5ub3QgYmUgaGFwcHkgYWJvdXQgYW4gb2Jq ZWN0IGluIGl0c2VsZiwgb25seSBhYm91dCBzb21lIHN0YXRlIHRoZSBvYmplY3QgaXMgaW4uIEJ1 dCBhbGFzISBPbmx5IGJyaWRpIGNhbiBleHByZXNzIGEgc3RhdGUgb3IgYW4gZXZlbnQsIGFuZCBv bmx5IHN1bXRpIGNhbiBmaWxsIHRoZSB4MiBvZiAnJ2dsZWtpJychCgpBcyB5b3UgbWlnaHQgaGF2 ZSBndWVzc2VkLCB0aGVyZSBpcyBhIHNvbHV0aW9uLiBUaGUgd29yZHMgJydzdeKAmXUnJy4uLicn a2VpJycgaXMgYSBnZW5lcmljIOKAnGNvbnZlcnQgYnJpZGkgdG8gc2VsYnJp4oCdIGZ1bmN0aW9u LCBhbmQgd29ya3MganVzdCBsaWtlICcnbG8nJ+KApicna3UnJy4gRXhhbXBsZToKCl9fJydtcm9i aeKAmW8nJ19fIOKAnHgxIGRpZXMgdW5kZXIgY29uZGl0aW9uIHgy4oCdCgpfXycnc3UndScnX18g eDEgaXMgYW4gYWJzdHJhY3Rpb24gb2Yge2JyaWRpfSBvZiB0eXBlIHgyCgpfXycna2VpJydfXyBl bmQgYWJzdHJhY3Rpb24KCicnbWkgc3XigJl1IGRvIG1yb2Jp4oCZbyBrZWknJyDigJMg4oCcSSBh bSB5b3VyIGRlYXRo4oCdLgoKSXTigJlzIGhhcmQgdG8gZmluZCBnb29kIHVzZXMgb2YgYSBicmlk aSBhcyBhIHNlbGJyaSwgYW5kIHRoZSBhYm92ZSBleGFtcGxlIHNlZW1zIGEgbGl0dGxlIHVuY29u dmluY2luZy4gSG93ZXZlciwgc2luY2UgJydzdeKAmXUgQlJJREkga2VpJycgaXMgYSBzZWxicmks IG9uZSBjYW4gY29udmVydCBpdCB0byBhIHN1bXRpIHVzaW5nICcnbG8nJy4uLicna3UnJy4KCk5v dyB3ZSBoYXZlIHRoZSBlcXVpcG1lbnQgdG8gZXhwcmVzcyDigJxJIGFtIGhhcHB5IHRoYXQgeW91 IGFyZSBteSBmcmllbmTigJ0uIFRyeSBpdCBvdXQhCgpfXycncGVuZG8nJ19fIOKAnHgxIGlzIGEg ZnJpZW5kIG9mIHgy4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBnbGVraSBsbyBzdeKA mXUgZG8gcGVuZG8gbWkga2VpIGt1Jyd+fgoKCgpIb3dldmVyLCAnJ3N14oCZdScn4oCmJydrZWkn JyBkb2VzIG5vdCBzZWUgbXVjaCB1c2UuIFBlb3BsZSBwcmVmZXIgdG8gdXNlIHRoZSBtb3JlIHNw ZWNpZmljIHdvcmRzICcnbnUnJ+KApicna2VpJycgYW5kICcnZHXigJl1JyfigKYnJ2tlaScnLiBU aGV5IHdvcmsgdGhlIHNhbWUgd2F5LCBidXQgbWVhbiBzb21ldGhpbmcgZGlmZmVyZW50LiAnJ251 4oCma2VpJycgdHJlYXRzIHRoZSBicmlkaSBpbiBiZXR3ZWVuIGFzIGFuIGV2ZW50IG9yIHN0YXRl LCBhbmQgJydkdeKAmXXigKZrZWknJyB0cmVhdHMgaXQgYXMgYW4gYWJzdHJhY3QgYnJpZGksIGZv ciBleHByZXNzaW5nIHRoaW5ncyBsaWtlIGlkZWFzLCB0aG91Z2h0cyBvciB0cnV0aHMuIEFsbCB0 aGVzZSB3b3JkcyAoZXhjZXB0ICcna2VpJycpIGFyZSBjYWxsZWQgYWJzdHJhY3RvcnMuIFRoZXJl IGFyZSBtYW55IG9mIHRoZW0sIGFuZCBvbmx5IGZldyBhcmUgdXNlZCBtdWNoLiAnJ3N14oCZdeKA pmtlaScnIGlzIGEgZ2VuZXJhbCBhYnN0cmFjdG9yLCBhbmQgd2lsbCB3b3JrIGluIGFsbCBjYXNl cy4KCgoKVXNlICcnbnUnJyB0byBzYXkg4oCcSeKAmW0gaGFwcHkgYWJvdXQgdGFsa2luZyB0byB5 b3Uu4oCdCgpfXycndGF2bGEnJ19fIHgxIHRhbGtzIHRvIHgyIGFib3V0IHN1YmplY3QgeDMgaW4g bGFuZ3VhZ2UgeDQuCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBnbGVraSBsbyBudSB0YXZs YSBkbyBrZWkga3UnJyAobm90aWNlIGJvdGggdGhlIEVuZ2xpc2ggYW5kIHRoZSBMb2piYW4gaXMg dmFndWUgYXMgdG8gd2hvIGlzIGRvaW5nIHRoZSB0YWxraW5nKS5+fgoKCgpPdGhlciBpbXBvcnRh bnQgYWJzdHJhY3RvcnMgaW5jbHVkZTogJydrYS4uLmtlaScnIChwcm9wZXJ0eSBhYnN0cmFjdGlv biksICcnc2nigJlvLi4ua2VpJycgKGNvbmNlcHQvaWRlYSBhYnN0cmFjdGlvbiksICcnbmkuLi5r ZWknJyAocXVhbnRpdHkgYWJzdHJhY3Rpb24pIGFtb25nIG90aGVycy4KCgoKSXQgaXMgaW1wb3J0 YW50IHRvIG5vdGljZSB0aGF0IHNvbWUgYWJzdHJhY3RvcnMgaGF2ZSBzZXZlcmFsIHN1bXRpIHBs YWNlcy4gQXMgYW4gZXhhbXBsZSwgJydkdeKAmXUnJyBjYW4gYmUgbWVudGlvbmVkLiAnJ2R14oCZ dScnIGlzIGRlZmluZWQ6CgonJ2R14oCZdScnID0g4oCcYWJzdHJhY3Rvci4geDEgaXMgdGhlIHBy ZWRpY2F0ZS9icmlkaSBvZiB7YnJpZGl9IGV4cHJlc3NlZCBpbiBzZW50ZW5jZSB4MuKAnS4KClRo ZSBvdGhlciBzdW10aSBwbGFjZXMgYmVzaWRlcyB4MSBpcyByYXJlbHkgdXNlZCwgYnV0ICcnbG8g c2UgZHUndSB7YnJpZGl9IGtlaSBrdScnIGlzIHNvbWV0aW1lcyB1c2VkIGFzIGEgc3VtdGkgZm9y IGluZGlyZWN0IHF1b3RhdGlvbjog4oCcSSBzYWlkIHRoYXQgSSB3YXMgZ2l2ZW4gYSBkb2figJ0g Y2FuIGJlIHdyaXR0ZW4gJydtaSBjdXNrdSBsbyBzZSBkdeKAmXUgbWkgdGUgZHVuZGEgbG8gZ2Vy a3Uga3Uga2VpIGt1JycsIGlmIHlvdSB3aWxsIHBhcmRvbiB0aGUgd2VpcmQgZXhhbXBsZS4KCl9f JydjdXNrdScnX18geDEgZXhwcmVzc2VzIHgyIHRvIHgzIHRocm91Z2ggbWVkaXVtIHg0CgpfXycn Z2Vya3UnJ19fIHgxIGlzIGEgZG9nIG9mIHJhY2UgeDIKCgoKISFMb2piYW4gbGVzc29ucyDigJMg bGVzc29uIHNldmVuIChOT0kpCgpXaGlsZSB3ZeKAmXJlIGF0IGl0LCB0aGVyZeKAmXMgYW5vdGhl ciB0eXBlIG9mIHN1Ym9yZGluYXRlIGJyaWRpLiBUaGVzZSBhcmUgY2FsbGVkIHJlbGF0aXZlIGNs YXVzZXMuIFRoZXkgYXJlIHNlbnRlbmNlcyB3aGljaCBhZGQgc29tZSBkZXNjcmlwdGlvbiB0byBh IHN1bXRpLiBJbmRlZWQsIHRoZSDigJx3aGljaOKAnSBpbiB0aGUgcHJldmlvdXMgc2VudGVuY2Ug bWFya2VkIHRoZSBiZWdpbm5pbmcgb2YgYSByZWxhdGl2ZSBjbGF1c2UgaW4gRW5nbGlzaCBkZXNj cmliaW5nIHJlbGF0aXZlIGNsYXVzZXMuIEluIExvamJhbiwgdGhleSBjb21lIGluIHR3byBmbGF2 b3JzLCBhbmQgaXQgbWlnaHQgYmUgd29ydGggZGlzdGluZ3Vpc2hpbmcgdGhlIHR3byBraW5kcyBi ZWZvcmUgbGVhcm5pbmcgaG93IHRvIGV4cHJlc3MgdGhlbS4KClRoZSB0d28ga2luZHMgYXJlIGNh bGxlZCByZXN0cmljdGl2ZSBhbmQgbm9uLXJlc3RyaWN0aXZlIChvciBpbmNpZGVudGlhbCkgcmVs YXRpdmUgY2xhdXNlcy4gQW4gZXhhbXBsZSB3b3VsZCBiZSBnb29kIGhlcmU6CgrigJxNeSBicm90 aGVyLCB3aG8gaXMgdHdvIG1ldGVycyB0YWxsLCBpcyBhIHBvbGl0aWNpYW4u4oCdIFRoaXMgY2Fu IGJlIHVuZGVyc3Rvb2QgaW4gdHdvIHdheXMuIEkgY291bGQgaGF2ZSBzZXZlcmFsIGJyb3RoZXJz LCBpbiB3aGljaCBjYXNlIHNheWluZyBoZSBpcyB0d28gbWV0ZXJzIHRhbGwgd2lsbCBsZXQgeW91 IGtub3cgd2hpY2ggYnJvdGhlciBJIGFtIHRhbGtpbmcgYWJvdXQuIE9yIEkgbWlnaHQgaGF2ZSBv bmx5IG9uZSBicm90aGVyLCBpbiB3aGljaCBjYXNlIEkgYW0gc2ltcGx5IGdpdmluZyB5b3UgYWRk aXRpb25hbCBpbmZvcm1hdGlvbi4KCgoKSW4gRW5nbGlzaCBhcyB3ZWxsIGFzIExvamJhbiB3ZSBk aXN0aW5ndWlzaCBiZXR3ZWVuIHRoZXNlIHR3byBraW5kcyDigJMgdGhlIGZpcnN0IGludGVycHJl dGF0aW9uIGlzIHJlc3RyaWN0aXZlIChzaW5jZSBpdCBoZWxwcyByZXN0cmljdCB0aGUgcG9zc2li bGUgYnJvdGhlcnMgSSBtaWdodCBiZSB0YWxraW5nIGFib3V0KSwgdGhlIHNlY29uZCBub24tcmVz dHJpY3RpdmUuIFdoZW4gc3BlYWtpbmcgRW5nbGlzaCwgY29udGV4dCBhbmQgdG9uZSBvZiB2b2lj ZSAob3IgaW4gd3JpdHRlbiBFbmdsaXNoLCBwdW5jdHVhdGlvbikgaGVscHMgdXMgZGlzdGluZ3Vp c2ggYmV0d2VlbiB0aGVzZSB0d28sIGJ1dCBub3Qgc28gaW4gTG9qYmFuLiBMb2piYW4gdXNlcyB0 aGUgY29uc3RydWN0cyAnJ3BvaeKApmt14oCZbycnIGFuZCAnJ25vaeKApmt14oCZbycnIGZvciBy ZXN0cmljdGl2ZSBhbmQgbm9uLXJlc3RyaWN0aXZlIHJlbGF0aXZlIGNsYXVzZXMsIHJlc3BlY3Rp dmVseS4KCkxldOKAmXMgaGF2ZSBhIExvamJhbmljIGV4YW1wbGUsIHdoaWNoIGNhbiBhbHNvIGV4 cGxhaW4gb3VyIHN0cmFuZ2UgZ2lmdC1lYXRpbmcgYmVoYXZpb3VyIGluIHRoZSBleGFtcGxlIGlu IGxlc3NvbiBmaXZlOgoKX18nJ25vaScnX18gYmVnaW4gbm9uLXJlc3RyaWN0aXZlIHJlbGF0aXZl IGNsYXVzZSAoY2FuIG9ubHkgYXR0YWNoIHRvIHN1bXRpKQoKX18nJ3BvaScnX18gYmVnaW4gcmVz dHJpY3RpdmUgcmVsYXRpdmUgY2xhdXNlIChjYW4gb25seSBhdHRhY2ggdG8gc3VtdGkpCgpfXycn a3UnbycnX18gZW5kIHJlbGF0aXZlIGNsYXVzZQoKCgonJ21pIGNpdGthIGxvIHNlIGR1bmRhIGt1 IHBvaSBwbGlzZSBrdeKAmW8nJyA9IOKAnEkgZWF0IGEgZ2lmdCBzdWNoIHRoYXQgKHNvbWV0aGlu ZyBpcykgYW4gYXBwbGXigJ0uIAoKSGVyZSB0aGUgJydwb2nigKZrdeKAmW8nJyBpcyBwbGFjZWQg anVzdCBhZnRlciAnJ2xvIHNlIGR1bmRhIGt1JycsIHNvIGl0IGFwcGxpZXMgdG8gdGhlIGdpZnQu IFRvIGJlIHN0cmljdCwgdGhlIHJlbGF0aXZlIGNsYXVzZSBkb2VzIG5vdCBzcGVjaWZ5IHdoYXQg YW4gYXBwbGUgaXMsIGJ1dCBzaW5jZSB0aGUgcmVsYXRpdmUgY2xhdXNlIGFwcGxpZXMgdG8gdGhl IGdpZnQsIHdlIGNhbiBzYWZlbHkgYXNzdW1lIHRoYXQgaXMgbWVhbnMgdGhlIGdpZnQgaXMgYW4g YXBwbGUuIEFmdGVyIGFsbCwgaW4gdGhlIGNvbnRleHQgb2YgbGVzc29uIGZpdmUsIHRoaXMgc2Vl bXMgcmVhc29uYWJsZS4gSWYgd2Ugd2FudCB0byBiZSBhYnNvbHV0ZWx5IHN1cmUgdGhhdCBpdCBp bmRlZWQgd2FzIHRoZSBnaWZ0IHRoYXQgd2FzIGFuIGFwcGxlLCB3ZSB1c2UgdGhlIHdvcmQgJydr ZeKAmWEnJywgd2hpY2ggaXMgYSAnJ3N1bWthJ2knJyAoYSBMb2piYW4gcHJvbm91biwgbW9yZSBv biB0aGVtIGxhdGVyKSByZXByZXNlbnRpbmcgdGhlIHN1bXRpIHdoaWNoIHRoZSByZWxhdGl2ZSBj bGF1c2UgaXMgYXR0YWNoZWQgdG8uCgpfXycna2UnYScnX18gc3Vta2EnaTsgcmVmZXJzIHRvIHRo ZSBzdW10aSwgdG8gd2hpY2ggdGhlIHJlbGF0aXZlIGNsYXVzZSBpdCBhdHRhY2hlZC4KCgoKJycu dWkgbWkgY2l0a2EgbG8gc2UgZHVuZGEga3UgcG9pIGtl4oCZYSBwbGlzZSBrdeKAmW8nJyA9IOKA nFlheSwgSSBlYXQgYSBnaWZ0LCB3aGljaCBpcyBhbiBhcHBsZeKAnS4KClRvIHVuZGVybGluZSB0 aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHJlc3RyaWN0aXZlIGFuZCBub24tcmVzdHJpY3RpdmUgcmVs YXRpdmUgY2xhdXNlcywgaGVyZeKAmXMgYW5vdGhlciBleGFtcGxlOgoKCgpfXycnbG9qYm8nJ19f IOKAnHgxIHJlZmxlY3RzIExvamJhbmljIGN1bHR1cmUvY29tbXVuaXR5IGlzIGFzcGVjdCB4Mjsg eDEgaXMgTG9qYmFuaWMu4oCdCgoKCicnbWkgbm9pIGxvamJvIGt14oCZbyBmYW52YSBmbyBsbyBs b2pibyBrdScnID0g4oCcSSwgd2hvIGFtIGEgTG9qYmFuaWMsIHRyYW5zbGF0ZSBmcm9tIHNvbWUg TG9qYmFuaWMgbGFuZ3VhZ2Uu4oCdIEhlcmUsIHRoZXJlIGlzIG5vdCBtdWx0aXBsZSB0aGluZ3Mg d2hpY2ggJydtaScnIGNvdWxkIHJlZmVyIHRvLCBhbmQgdGhlIGZhY3QgdGhhdCBJIGFtIGxvamJh bmljIGlzIG1lcmVseSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIG5vdCBuZWVkZWQgdG8gaWRlbnRp ZnkgbWUuIFRoZXJlZm9yZSAnJ25vaeKApmt14oCZbycnIGlzIGFwcHJvcHJpYXRlLgoKU2VlIGlm IHlvdSBjYW4gdHJhbnNsYXRlIHRoaXM6IOKAnEkgZmxpcnQgd2l0aCBhIG1hbiB3aG8gaXMgYmVh dXRpZnVsL2hhbmRzb21l4oCdLgoKX18nJ25hbm11JydfXyDigJx4MSBpcyBhIG1hbuKAnQoKX18n J21lbGJpJydfXyDigJx4MSBpcyBiZWF1dGlmdWwgdG8geDIgaW4gYXNwZWN0IChrYSkgeDMgYnkg c3RhbmRhcmQgeDTigJ0KCl9fJydjaW5qaWtjYScnX18g4oCceDEgZmxpcnRzL2NvdXJ0cyB4Miwg ZXhoaWJpdGluZyBzZXh1YWxpdHkgeDMgYnkgc3RhbmRhcmQgeDTigJ0KCgoKQW5zd2VyOiB+fmdy ZXksZ3JleTonJ21pIGNpbmppa2NhIGxvIG5hbm11IGt1IHBvaSB7a2XigJlhfSBtZWxiaSBrdeKA mW8nJ35+CgoKCk9uIGEgbW9yZSB0ZWNobmljYWwgc2lkZSBub3RlLCBpdCBtaWdodCBiZSB1c2Vm dWwgdG8ga25vdyB0aGF0ICcnbG8ge3NlbGJyaX0ga3UnJyBpcyBvZnRlbiBzZWVuIGRlZmluZWQg YXMgJyd6b+KAmWUgbm9pIGtl4oCZYSB7c2VsYnJpfSBrdeKAmW8nJy4KCgoKCgohIUxvamJhbiBM ZXNzb25zIOKAkyBMZXNzb24gZWlnaHQgKHRlcm1pbmF0b3IgZWxpc2lvbikKCicnLmF1IGRh4oCZ aSBtaSBkamljYSBsbyBudSBsZSBtZXJrbyBwb2kgdHVuYmEgbWkgX192YXUga3UnbyBrdV9fIGpp bXBlIGxvIGR1J3UgbWkgbmEgbmVsY2kgbG8gbnUgdm/igJlhIGRhcnhpIG1pIF9fdmF1IGtlaSBr dSB2YXUga2VpIGt1IHZhdSBrZWkga3UgdmF1X18nJwoKIC0gIOKAnEkgd2lzaCB0aGUgQW1lcmlj YW4sIHdobyBpcyBteSBzaWJsaW5nLCB3b3VsZCB1bmRlcnN0YW5kIHRoYXQgSSBkb27igJl0IGxp a2UgdGhhdCBoZSBoaXRzIG1lLuKAnQoKUmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBhYm92ZSBz ZW50ZW5jZSBpcyBiZWluZyB1bmRlcnN0b29kLCAoaXQgc2hvdWxkbuKAmXQsIGFzIGl0IGNvbnRh aW5zIHdvcmRzIHdlIGhhdmUgbm90IGNvdmVyZWQgaW4gdGhlc2UgbGVzc29ucyB5ZXQpIG9uZSB0 aGluZyBzdGFuZHMgb3V0OiBBcyBtb3JlIGNvbXBsZXggTG9qYmFuIHN0cnVjdHVyZXMgYXJlIGxl YXJuZWQsIG1vcmUgYW5kIG1vcmUgb2YgdGhlIHNlbnRlbmNlcyBnZXQgZmlsbGVkIHdpdGggJydr dScnLCAnJ2tlaScnLCAnJ2t14oCZbycnIGFuZCBvdGhlciBvZiB0aG9zZSB3b3JkcyB3aGljaCBi eSB0aGVtc2VsdmVzIGNhcnJ5IG5vIG1lYW5pbmcuCgoKClRoZSBmdW5jdGlvbiBvZiBhbGwgdGhl c2Ugd29yZHMgaXMgdG8gc2lnbmFsIHRoZSBlbmQgb2YgYSBjZXJ0YWluIGdyYW1tYXRpY2FsIGNv bnN0cnVjdCwgbGlrZSBmb3IgaW5zdGFuY2Ug4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0g aW4gdGhlIGNhc2Ugb2YgJydrdScnLiBUaGUgRW5nbGlzaCB3b3JkIGZvciB0aGlzIGtpbmQgb2Yg d29yZCBpcyDigJx0ZXJtaW5hdG9y4oCdLCB0aGUgTG9qYmFuIHdvcmQgaXMgJydmYeKAmW9ybWHi gJlvJycuIFRoZXkgYXJlIHdyaXR0ZW4gaW4gYm9sZCBpbiB0aGUgZXhhbXBsZSBhYm92ZS4KCk5v dGU6IFRoZSAnJ3ZhdScnIGluIHRoZSBhYm92ZSBleGFtcGxlIGFyZSB0aGUgZmEnb3JtYSdvIGZv ciDigJxlbmQgYnJpZGnigJ0uIFRoZXJlIGlzIGEgZ29vZCByZWFzb24geW91IGhhdmUgbm90IHll dCBzZWVuIGl0LCBzdGF5IHR1bmVkLgoKX18nJ3ZhdScnX18gZmEnb3JtYSdvOiBUZXJtaW5hdGVz IGJyaWRpLgoKCgpJbiBtb3N0IHNwb2tlbiBhbmQgd3JpdHRlbiBMb2piYW4sIG1vc3QgZmEnb3Jt YSdvIGFyZSBza2lwcGVkIChlbGlkZWQpLiBUaGlzIGdyZWF0bHkgc2F2ZXMgc3lsbGFibGVzIGlu IHNwZWVjaCBhbmQgc3BhY2UgaW4gd3JpdGluZywgaG93ZXZlciwgb25lIG11c3QgYWx3YXlzIGJl IGNhcmVmdWwgd2hlbiBlbGlkaW5nIGZhJ29ybWEnby4gSW4gdGhlIHNpbXBsZSBleGFtcGxlICcn bG8gbWVya28ga3Uga2xhbWEnJywgcmVtb3ZpbmcgdGhlIGZhJ29ybWEnbyAnJ2t1Jycgd291bGQg eWllbGQgJydsbyBtZXJrbyBrbGFtYScnLCB3aGljaCBpcyBhIHNpbmdsZSBzdW10aSBtYWRlIGZy b20gdGhlIHRhbnJ1ICcnbWVya28ga2xhbWEnJy4gVGh1cywgaXQgbWVhbnMg4oCcYW4gQW1lcmlj YW4gdHJhdmVsZXLigJ0gaW5zdGVhZCBvZiDigJxhbiBBbWVyaWNhbiB0cmF2ZWxz4oCdLiBmYSdv cm1hJ28gZWxpc2lvbiBjYW4gbGVhZCB0byB2ZXJ5IHdyb25nIHJlc3VsdHMgaWYgZG9uZSBpbmNv cnJlY3RseSwgd2hpY2ggaXMgd2h5IHlvdSBoYXZlbuKAmXQgbGVhcm5lZCBhYm91dCBpdCB1bnRp bCBub3cuCgoKClRoZSBydWxlIGZvciB3aGVuIGZhJ29ybWEnbyBjYW4gYmUgZWxpZGVkIGlzIHZl cnkgc2ltcGxlLCBhdCBsZWFzdCBpbiB0aGVvcnk6IOKAnFlvdSBjYW4gZWxpZGUgYSBmYSdvcm1h J28sIF9faWYgYW5kIG9ubHkgaWZfXyBkb2luZyBzbyBkb2VzIG5vdCBjaGFuZ2UgdGhlIGdyYW1t YXRpY2FsIGNvbnN0cnVjdHMgaW4gdGhlIHNlbnRlbmNlLuKAnQoKTW9zdCBmYSdvcm1hJ28gY2Fu IGJlIHNhZmVseSBlbGlkZWQgYXQgdGhlIGVuZCBvZiB0aGUgYnJpZGkuIEV4Y2VwdGlvbnMgYXJl IHRoZSBvYnZpb3VzIG9uZXMgbGlrZSDigJxlbmQgcXVvdGXigJ0tZmEnb3JtYSdvIGFuZCDigJxl bmQgYnJpZGkgZ3JvdXBpbmfigJ0tZmEnb3JtYSdvLiBUaGlzIGlzIHdoeSAnJ3ZhdScnIGlzIGFs bW9zdCBuZXZlciB1c2VkIOKAkyBzaW1wbHkgYmVnaW5uaW5nIGEgbmV3IGJyaWRpIHdpdGggJycu aScnIHdpbGwgYWxtb3N0IGFsd2F5cyB0ZXJtaW5hdGUgdGhlIHByZWNlZGluZyBicmlkaSBhbnl3 YXkuIEl0IGhhcyBvbmUgZnJlcXVlbnQgdXNlLCBob3dldmVyLiBTaW5jZSBhdHRpdHVkaW5hbHMg YWx3YXlzIGFwcGx5IHRvIHRoZSBwcmVjZWRpbmcgd29yZCwgYXBwbHlpbmcgaXQgdG8gYSBmYSdv cm1hJ28gYXBwbGllcyBpdCB0byB0aGUgZW50aXJlIGNvbnN0cnVjdCB3aGljaCBpcyB0ZXJtaW5h dGVkLiBVc2luZyAnJ3ZhdScnLCBvbmUgY2FuIHRoZW4gdXNlIGF0dGl0dWRpbmFscyBhZnRlcnRo b3VnaHQgYW5kIGFwcGx5IHRoZW0gdG8gdGhlIGVudGlyZSBicmlkaToKCicnemHigJlhIGRvIGR1 bmRhIGxvIHpkYW5pIHtrdX0gbG8gcHJlbnUge2t1fS4uLiB2YXUgaeKAmWUnJyAtIOKAnEkgc2Vl IHRoYXQgeW91IGdpdmUgYSBob21lIHRvIGEgcGVyc29uLi4uIEkgYXBwcm92ZSHigJ0KCl9fJydw cmVudScnX18geDEgaXMgYSBwZXJzb247IHgxIGhhcyBhIHBlcnNvbmFsaXR5LgoKCgpLbm93aW5n IHRoZSBiYXNpYyBydWxlcyBmb3IgZmEnb3JtYSdvIGVsaXNpb24sIHdlIGNhbiB0aHVzIHJldHVy biB0byB0aGUgb3JpZ2luYWwgc2VudGVuY2UgYW5kIGJlZ2luIHJlbW92aW5nIGZhJ29ybWEnbzoK CgoKJycuYXUgZGHigJlpIG1pIGRqaWNhIGxvIG51IGxlIG1lcmtvIHBvaSB0dW5iYSBtaSBfX3Zh dSBrdSdvIGt1X18gamltcGUgbG8gZHUndSBtaSBuYSBuZWxjaSBsbyBudSB2b+KAmWEgZGFyeGkg bWkgX192YXUga2VpIGt1IHZhdSBrZWkga3UgdmF1IGtlaSBrdSB2YXVfXycnCgoKCldlIGNhbiBz ZWUgdGhhdCB0aGUgZmlyc3QgJyd2YXUnJyBpcyBncmFtbWF0aWNhbGx5IHVubmVjZXNzYXJ5LCBi ZWNhdXNlIHRoZSBuZXh0IG5vbi1mYSdvcm1hJ28td29yZCBpcyAnJ2ppbXBlJycsIHdoaWNoIGlz IGEgc2VsYnJpLiBTaW5jZSB0aGVyZSBjYW4gb25seSBiZSBvbmUgc2VsYnJpIHBlciBicmlkaSwg Jyd2YXUnJyBpcyBub3QgbmVlZGVkLiBTaW5jZSAnJ2ppbXBlJycgYXMgYSBzZWxicmkgY2Fubm90 IGJlIGluIHRoZSByZWxhdGl2ZSBjbGF1c2UgZWl0aGVyIChvbmx5IG9uZSBicmlkaSBpbiBhIGNs YXVzZSwgb25seSBvbmUgc2VsYnJpIGluIGVhY2ggYnJpZGkpLCB3ZSBjYW4gZWxpZGUgJydrdSdv JycuIExpa2V3aXNlLCAnJ2ppbXBlJycgY2Fubm90IGJlIGEgc2Vjb25kIHNlbGJyaSBpbnNpZGUg dGhlIGNvbnN0cnVjdCAnJ2xlIG1lcmtvIHBvaXsuLi59JycsIHNvIHRoZSAnJ2t1JycgaXMgbm90 IG5lZWRlZCBlaXRoZXIuIEZ1cnRoZXJtb3JlLCBhbGwgdGhlIGZhJ29ybWEnbyBhdCB0aGUgdmVy eSBlbmQgb2YgdGhlIHNlbnRlbmNlIGNhbiBiZSBlbGlkZWQgdG9vLCBzaW5jZSBiZWdpbm5pbmcg YSBuZXcgYnJpZGkgd2lsbCB0ZXJtaW5hdGUgYWxsIG9mIHRoZXNlIGNvbnN0cnVjdHMgYW55d2F5 LgoKV2UgdGhlbiBlbmQgdXAgd2l0aDoKCicnLmF1IGRh4oCZaSBtaSBkamljYSBsbyBudSBsZSBt ZXJrbyBwb2kgdHVuYmEgbWkgamltcGUgbG8gZHUndSBtaSBuYSBuZWxjaSBsbyBudSB2b+KAmWEg ZGFyeGkgbWknJyDigJMgd2l0aCBubyBmYSdvcm1hJ28gYXQgYWxsIQoKCgpXaGVuIGVsaWRpbmcg ZmEnb3JtYSdvLCBpdCBpcyBhIGdvb2QgaWRlYSB0byBiZSBhY3F1YWludGVkIHdpdGggJydjdScn LiAnJ2N1JycgaXMgb25lIG9mIHRob3NlIHdvcmRzIHdoaWNoIGNhbiBtYWtlIHlvdXIgKExvamJh bmljKSBsaWZlIGEgbG90IGVhc2llci4gV2hhdCBpdCBkb2VzIGlzIHRvIHNlcGFyYXRlIGFueSBw cmV2aW91cyBzdW10aSBmcm9tIHRoZSBzZWxicmkuIE9uZSBjb3VsZCBzYXkgdGhhdCBpdCBkZWZp bmVzIHRoZSBuZXh0IHdvcmQgdG8gYmUgYSBzZWxicmksIGFuZCB0ZXJtaW5hdGVzIGV4YWN0bHkg YXMgbXVjaCBhcyBpdCBuZWVkcyB0byBpbiBvcmRlciB0byBkbyB0aGF0LgoKX18nJ2N1JydfXyBl bGlkYWJsZSBtYXJrZXI6IHNlcGFyYXRlcyBzZWxicmkgZnJvbSBwcmVjZWRpbmcgc3VtdGksIGFs bG93cyBwcmVjZWRpbmcgZmEnb3JtYSdvIGVsaXNpb24uCgoKCl9fJydwcmFtaScnX18gPSDigJx4 MSBsb3ZlcyB4MuKAnQoKCgonJ2xvIHN14oCZdSBkbyBjdXNrdSBsbyBzZSBkdeKAmXUgZG8gcHJh bWkgbWkgX192YXUga2VpIGt1IHZhdSBrZWkga3VfXyBzZSBkamljYSBtaScnID0KCicnbG8gc3Xi gJl1IGRvIGN1c2t1IGxvIHNlIGR14oCZdSBkbyBwcmFtaSBtaSBfX2N1X18gc2UgZGppY2EgbWkn JwoK4oCcVGhhdCB5b3Ugc2F5IHRoYXQgeW91IGxvdmUgbWUgaXMgZGVzaXJlZCBieSBiZeKAnSBv ciDigJxJIHdpc2ggeW91IHNhaWQgeW91IGxvdmVkIG1l4oCdCgpub3RlOiAnJ2N1JycgaXMgbm90 IGEgZmEnb3JtYSdvLCBiZWNhdXNlIGl0IGlzIG5vdCB0aWVkIHRvIG9uZSBzcGVjaWZpYyBjb25z dHJ1Y3QuIEJ1dCBpdCBjYW4gYmUgdXNlZCB0byBlbGlkZSBvdGhlciBmYSdvcm1hJ28uCgoKCk9u ZSBvZiB0aGUgZ3JlYXRlc3Qgc3RyZW5ndGhzIG9mICcnY3UnJyBpcyB0aGF0IGl0IHF1aWNrbHkg YmVjb21lcyBlYXN5IHRvIGludHVpdGl2ZWx5IHVuZGVyc3RhbmQuIEJ5IGl0c2VsZiBpdCBtZWFu cyBub3RoaW5nLCBidXQgaXQgcmV2ZWFscyB0aGUgc3RydWN0dXJlIG9mIExvamJhbiBleHByZXNz aW9ucyBieSBpZGVudGlmeWluZyB0aGUgY29yZSBzZWxicmkuIEluIHRoZSBvcmlnaW5hbCBleGFt cGxlIHdpdGggdGhlIHZpb2xlbnQgQW1lcmljYW4gYnJvdGhlciwgdXNpbmcgJydjdScnIGJlZm9y ZSAnJ2ppbXBlJycgZG9lcyBub3QgY2hhbmdlIHRoZSBtZWFuaW5nIG9mIHRoZSBzZW50ZW5jZSBp biBhbnkgd2F5LCBidXQgbWlnaHQgbWFrZSBpdCBlYXNpZXIgdG8gcmVhZC4KCgoKSW4gdGhlIGZv bGxvd2luZyBjb3VwbGUgb2YgbGVzc29ucywgJydjdScnIHdpbGwgYmUgdXNlZCB3aGVuIG5lY2Vz c2FyeSwgYW5kIGFsbCBmYSdvcm1hJ28gZWxpZGVkIGlmIHBvc3NpYmxlLiBUaGUgZWxpZGVkIGZh J29ybWEnbyB3aWxsIGJlIGVuY2FzZWQgaW4gY3VybHkgYnJhY2tldHMsIGFzIHNob3duIGJlbG93 LiBUcnkgdG8gdHJhbnNsYXRlIGl0IQoKX18nJ3Zham5pJydfXyDigJx4MSBpcyBpbXBvcnRhbnQg dG8geDIgZm9yIHJlYXNvbiB4M+KAnQoKX18nJ2ppbXBlJydfXyDigJx4MSB1bmRlcnN0YW5kcyB0 aGF0IHgyIChkdeKAmXUtYWJzdHJhY3Rpb24pIGlzIHRydWUgYWJvdXQgeDPigJ0KCl9fJydh4oCZ bycnX18gLSBBdHRpdHVkaW5hbDogU2ltcGxlIHByb3Bvc2l0aW9uYWwgZW1vdGlvbjogSG9wZSAt IGRlc3BhaXIKCgoKJydh4oCZbyBkbyBub2kga2XigJlhIGxvamJvIC5p4oCZZSB7a3XigJlvfSB7 a3V9IGN1IGppbXBlIGxvIGR14oCZdSBsbyBmYeKAmW9ybWHigJlvIHtrdX0gY3UgdmFqbmkge3Zh dX0ge2tlaX0ge2t1fSB7dmF1fScnCgpXaGF0IGRvIEkgc3RhdGU/CgoKCkFuc3dlcjogfn5ncmV5 LGdyZXk64oCcSSBob3BlIHRoYXQgeW91LCB3aG8gYXJlIExvamJhbmljIChJIGFwcHJvdmUgb2Yg dGhpcyksIHVuZGVyc3RhbmRzIHRoYXQgZmEnb3JtYSdvIGFyZSBpbXBvcnRhbnTigJ1+fgoKCgpG dW4gc2lkZSBub3RlOiBNb3N0IHBlb3BsZSB3ZWxsLXZlcnNlZCBpbiBmYSdvcm1hJ28tZWxpc2lv biBkbyBpdCBzbyBpbnN0aW5jdGl2ZWx5IHRoYXQgdGhleSBvZnRlbiBtdXN0IGJlIHJlbWluZGVk IGhvdyBpbXBvcnRhbnQgdW5kZXJzdGFuZGluZyBmYSdvcm1hJ28gYXJlIHRvIHRoZSB1bmRlcnN0 YW5kaW5nIG9mIExvamJhbi4gVGhlcmVmb3JlLCBlYWNoIFR1ZXNkYXkgaGF2ZSBiZWVuIGRlc2ln bmF0ZWQg4oCcVGVybWluYXRvciBEYXnigJ0gb3IgJydmYeKAmW9ybWHigJlvIGRqZWRpJycgb24g dGhlIExvamJhbiBJUkMgY2hhdHJvb20uIER1cmluZyBUZXJtaW5hdG9yIERheSwgbWFueSBwZW9w bGUgdHJ5IChhbmQgb2Z0ZW4gZmFpbCkgdG8gcmVtZW1iZXIgd3JpdGluZyBvdXQgYWxsIGZhJ29y bWEnbyB3aXRoIHNvbWUgdmVyeSB2ZXJib3NlIGNvbnZlcnNhdGlvbnMgYXMgYSByZXN1bHQuCgoK CgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBuaW5lIChzdW10Y2l0YSkKClNvIGZhciB3ZSBo YXZlIGJlZW4gZG9pbmcgcHJldHR5IHdlbGwgd2l0aCB0aGUgc2VsYnJpIHdlIGhhdmUgaGFkIGF0 IGhhbmQuIEhvd2V2ZXIsIHRoZXJlIGlzIGEgZmluaXRlIGFtb3VudCBvZiBkZWZpbmVkIHNlbGJy aSBvdXQgdGhlcmUsIGFuZCBpbiBtYW55IGNhc2VzIHRoZSBzdW10aSBwbGFjZXMgYXJlIG5vdCB1 c2VmdWwgZm9yIHdoYXQgd2UgaGFkIGluIG1pbmQuIFdoYXQgaWYsIHNheSwgaSB3YW50IHRvIHNh eSB0aGF0IEkgYW0gdHJhbnNsYXRpbmcgdXNpbmcgYSBjb21wdXRlcj8gVGhlcmUgaXMgbm8gcGxh Y2UgaW4gdGhlIHN0cnVjdHVyZSBvZiAnJ2ZhbnZhJycgdG8gc3BlY2lmeSB3aGF0IHRvb2wgSSB0 cmFuc2xhdGUgd2l0aCwgc2luY2UsIG1vc3Qgb2YgdGhlIHRpbWUsIHRoYXQgaXMgbm90IG5lY2Vz c2FyeS4gTm90IHRvIHdvcnJ5LCB0aGlzIGxlc3NvbiBpcyBvbiBob3cgdG8gYWRkIGFkZGl0aW9u YWwgc3VtdGkgcGxhY2VzIHRvIHRoZSBzZWxicmkuCgoKClRoZSBtb3N0IGJhc2ljIHdheSB0byBh ZGQgc3VtdGkgcGxhY2VzIGFyZSB3aXRoICcnZmnigJlvLi4uZmXigJl1JycgKHllcywgYW5vdGhl ciBleGFtcGxlIG9mIGEgZmEnb3JtYSdvLCAnJ2Zl4oCZdScnLiBJdOKAmXMgYWxtb3N0IG5ldmVy IG5lY2Vzc2FyeSwgc28gdGhpcyBtaWdodCBiZSB0aGUgbGFzdCB0aW1lIHlvdSBldmVyIHNlZSBp dC4pCgpJbiBiZXR3ZWVuIHRoZXNlIHR3byB3b3JkcyBnb2VzIGEgc2VsYnJpLCBhbmQgbGlrZSAn J2xvLi4ua3UnJywgJydmaeKAmW8uLi5mZeKAmXUnJyBleHRyYWN0cyB0aGUgeDEgb2YgdGhlIHNl bGJyaSBwdXQgaW50byBpdC4gSG93ZXZlciwgd2l0aCAnJ2Zp4oCZby4uLmZl4oCZdScnLCB0aGUg c2VsYnJpIHBsYWNlIGlzIGNvbnZlcnRlZCwgbm90IHRvIGEgc3VtdGksIGJ1dCB0byBhICcnc3Vt dGNpdGEnJywgbWVhbmluZyDigJxzdW10aS1sYWJlbOKAnSwgd2l0aCB0aGUgcGxhY2Ugc3RydWN0 dXJlIG9mIHRoZSB4MSBvZiB0aGUgc2VsYnJpIGl0IGNvbnZlcnRlZC4gVGhpcyAnJ3N1bXRjaXRh JycgdGhlbiBhYnNvcmJzIHRoZSBuZXh0IHN1bXRpLiBPbmUgY291bGQgc2F5IHRoYXQgdXNpbmcg YSAnJ3N1bXRjaXRhJycsIHlvdSBpbXBvcnQgYSBzdW10aSBwbGFjZSBmcm9tIGFub3RoZXIgc2Vs YnJpLCBhbmQgYWRkIGl0IHRvIHRoZSBicmlkaSBiZWluZyBzYWlkLgoKTm90ZTogU29tZXRpbWVz LCBlc3BlY2lhbGx5IGluIG9sZGVyIHRleHRzLCB0aGUgdGVybSDigJx0YWfigJ0gb3Ig4oCcbW9k YWzigJ0gaXMgdXNlZCBmb3IgJydzdW10Y2l0YScnLiBJZ25vcmUgdGhvc2UgcHVueSBFbmdsaXNo IGV4cHJlc3Npb25zLiBXZSB0ZWFjaCBwcm9wZXIgTG9qYmFuIGhlcmUuCgoKCldoaWxlIGl0IGlz IGhhcmQgdG8gZ3Jhc3AgdGhlIHByb2Nlc3MgZnJvbSByZWFkaW5nIGFib3V0IGl0LCBhbiBleGFt cGxlIGNhbiBwZXJoYXBzIHNob3cgaXRzIGFjdHVhbCBzaW1wbGljaXR5OgoKX18nJ3NrYW1pJydf XyDigJx4MSBpcyBhIGNvbXB1dGVyIGZvciBwdXJwb3NlIHgy4oCdCgpfXycncGlsbm8nJ19fIOKA nHgxIHVzZXMgeDIgYXMgYSB0b29sIGZvciBkb2luZyB4M+KAnQoKCgonJ21pIGZhbnZhIHRpIGZp 4oCZbyBzZSBwaWxubyB7ZmXigJl1fSBsbyBza2FtaSB7a3V9e3ZhdX0nJyAtIOKAnEkgdHJhbnNs YXRlIHRoaXMgd2l0aCBhIGNvbXB1dGVy4oCdIFRoZSB4MiBvZiAnJ3BpbG5vJycsIHdoaWNoIGlz IHRoZSB4MSBvZiAnJ3NlIHBpbG5vJycgaXMgYSBwbGFjZSBzdHJ1Y3R1cmUgZm9yIGEgdG9vbCBi ZWluZyB1c2VkIGJ5IHNvbWVvbmUuIFRoaXMgcGxhY2Ugc3RydWN0dXJlIGlzIGNhcHR1cmVkIGJ5 ICcnZmnigJlvLi4uZmXigJl1JycsIGFkZGVkIHRvIHRoZSBtYWluIHNlbGJyaSwgYW5kIHRoZW4g ZmlsbGVkIGJ5ICcnbG8gc2thbWknJy4gVGhlIGlkZWEgb2YgJydzdW10Y2l0YScnIGlzIHNvbWV0 aW1lcyBleHByZXNzZWQgaW4gRW5nbGlzaCB1c2luZyB0aGUgZm9sbG93aW5nIHRyYW5zbGF0aW9u OgoK4oCcSSB0cmFuc2xhdGUgdGhpcyB3aXRoLXRvb2w6IEEgY29tcHV0ZXLigJ0KCgoKQSAnJ3N1 bXRjaXRhJycgY2FuIG9ubHkgYWJzb3JiIG9uZSBzdW10aSwgd2hpY2ggaXMgYWx3YXlzIHRoZSBm b2xsb3dpbmcgb25lLiBBbHRlcm5hdGl2ZWx5LCB0aGUgJydzdW10Y2l0YScnIGNvbnN0cnVjdCBj YW4gYmUgdGVybWluYXRlZCB3aXRoICcna3UnJywgaW4gd2hpY2ggY2FzZSBhICcnem/igJllJycg aXMgaW1wbGllZCB0byBmaWxsIHRoZSAnJ3N1bXRjaXRhJycuIE9yLCBvbmUgY291bGQgaW1hZ2lu ZSBhbiBlbGlkZWQgc3VtdGkgYmVpbmcgdGVybWluYXRlZCB3aXRoIHRoZSAnJ2t1JycuCgpfXycn enVrdGUnJ19fIOKAnHgxIGlzIGEgdm9saXRpb25hbCBlbnRpdHkgY2Fycnlpbmcgb3V0IGFjdGlv biB4MiBmb3IgcHVycG9zZSB4M+KAnQoKCgonJ2Zp4oCZbyB6dWt0ZSB7ZmXigJl1fSBrdSBsbyBz a2FtaSB7a3V9IGN1IHBpbG5vIGxvIGxvamJvIHtrdX17dmF1fScnIC0g4oCcV2l0aCB2b2xpdGlv biwgYSBjb21wdXRlciB1c2VkIHNvbWV0aGluZyBMb2piYW5pY+KAnSAocGVyaGFwcyBpbXBseWlu ZyB0aGF0IGEgTG9qYmFuaWMgY29tcHV0ZXIgd2VudCBzZW50aWVudD8gVG91Z2ggaXQgZG9lcyBu b3Qgc3BlY2lmeSB3aG8gaGFkIHZvbGl0aW9uLiBJdCBjb3VsZCBqdXN0IGJlIHRoZSBwcm9ncmFt bWVyIHdobyBwcm9ncmFtbWVkIHRoZSBjb21wdXRlciAtIGhvdyBib3JpbmcuKQoKCgpXaGF0IGRv ZXMgJydtaSBqaW1wZSBmaSBsbyBsb2pibyB7a3V9IGZp4oCZbyBzZSB0YXZsYSB7ZmXigJl1fSBt aScnIHN0YXRlPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnEkgdW5kZXJzdGFuZCBzb21ldGhp bmcgYWJvdXQgTG9qYmFuLCBzcG9rZW4gdG8gbWXigJ1+fgoKCgpQdXR0aW5nIHRoZSAnJ3N1bXRj aXRhJycgcmlnaHQgaW4gZnJvbnQgb2YgdGhlIHNlbGJyaSBhbHNvIG1ha2VzIGl0IHNlbGYtdGVy bWluYXRlLCBzaW5jZSBzdW10Y2l0YSBvbmx5IGNhbiBhYnNvcmIgc3VtdGksIGFuZCBub3Qgc2Vs YnJpLiBUaGlzIGZhY3Qgd2lsbCBiZSBvZiBpbXBvcnRhbmNlIGluIG5leHQgbGVzc29uLCBhcyB5 b3Ugd2lsbCBzZWUuCgoKClNhZGx5LCAnJ2Zp4oCZbycnIGlzIG5vdCB1c2VkIHZlcnkgb2Z0ZW4g ZGVzcGl0ZSBpdHMgZmxleGliaWxpdHkuIFdoYXQgSVMgdXNlZCB2ZXJ5IG9mdGVuLCB0aG91Z2gs IGFyZSBCQUkuIEJBSSBhcmUgYSBjbGFzcyBvZiBMb2piYW4gd29yZHMsIHdoaWNoIGluIHRoZW1z ZWx2ZXMgYWN0IGFzICcnc3VtdGNpdGEnJy4gQW4gZXhhbXBsZSBvZiB0aGlzIGlzICcnenXigJll JycsIHRoZSBCQUkgZm9yICcnenVrdGUnJy4gR3JhbWF0aWNhbGx5LCAnJ3p14oCZZScnIGlzIHRo ZSBzYW1lIGFzICcnZmnigJlvIHp1a3RlIGZl4oCZdScnLiBUaHVzLCB0aGUgYWJvdmUgZXhhbXBs ZSBjb3VsZCBiZSByZWR1Y2VkIHRvOgoKJyd6deKAmWUga3UgbG8gc2thbWkge2t1fSBjdSBwaWxu byBsbyBsb2pibyB7a3V9IHt2YXV9JycuIFRoZXJlIGV4aXN0IHNvbWV0aGluZyBsaWtlIDYwIEJB SSwgYW5kIGEgbG90IG9mIHRoZXNlIGFyZSB2ZXJ5IHVzZWZ1bCBpbmRlZWQuIEZ1cnRlcm1vcmUs IEJBSSBjYW4gYWxzbyBiZSBjb252ZXJ0ZWQgd2l0aCAnJ3NlJycgYW5kIGZyaWVuZHMsIG1lYW5p bmcgdGhhdCAnJ3NlIHp14oCZZScnIGlzIGVxdWFsIHRvICcnZmnigJlvIHNlIHp1a3RlIGZl4oCZ dScnLCB3aGljaCByZXN1bHRzIGluIGEgZ3JlYXQgZGVhbCBtb3JlIEJBSS4KCgoKISFMb2piYW4g TGVzc29ucyAtIExlc3NvbiB0ZW4gKFBVLCBGQWhBLCBaSSwgVkEsIFpFaEEsIFZFaEEpCgpIb3cg dW5mYW1pbGlhciB0byB0aGUgRW5nbGlzaC1zcGVha2VyIGEgbGFuZ3VhZ2UgTG9qYmFuIGlzIHdo ZW4gb25lIGNhbiByZWFkIHRocm91Z2ggbmluZSBsZXNzb25zIG9mIExvamJhbiBncmFtbWFyIHdp dGhvdXQgbWVldGluZyBhIHRlbnNlIG9uY2UuIFRoaXMgaXMgYmVjYXVzZSwgdW5saWtlIG1hbnkg bmF0dXJhbCBsYW5ndWFnZXMgKG1vc3QgSW5kby1FdXJvcGVhbiBvbmVzLCBmb3IgaW5zdGFuY2Up LCBhbGwgdGVuc2VzIGluIExvamJhbiBhcmUgb3B0aW9uYWwuIFNheWluZyAnJ21pIGNpdGthIGxv IGNpcmxhIHtrdX0nJyBjYW4gbWVhbiDigJxJIGVhdCBjaGVlc2XigJ0gb3Ig4oCcSSBhdGUgdGhl IGNoZWVzZeKAnSBvciDigJxJIGFsd2F5cyBlYXQgY2hlZXNl4oCdIG9yIOKAnEluIGEgbW9tZW50 LCBpIHdpbGwgaGF2ZSBqdXN0IGZpbmlzaGVkIGVhdGluZyBjaGVlc2XigJ0uIENvbnRleHQgcmVz b2x2ZXMgd2hhdCBpcyBjb3JyZWN0LCBhbmQgaW4gbW9zdCBjb252ZXJzYXRpb24sIHRlbnNlcyBh cmUgbm90IG5lZWRlZCBhdCBhbGwuIEhvd2V2ZXIsIHdoZW4gaXTigJlzIG5lZWRlZCBpdOKAmXMg bmVlZGVkLCBhbmQgaXQgbXVzdCBiZSB0YXVnaHQuIEZ1cnRoZXJtb3JlLCBMb2piYW4gdGVuc2Vz IGFyZSB1bnVzdWFsIGJlY2F1c2UgdGhleSB0cmVhdCB0aW1lIGFuZCBzcGFjZSBmdW5kYW1lbnRh bGx5IHRoZSBzYW1lIC0gc2F5aW5nIHRoYXQgSSB3b3JrZWQgYSBsb25nIHRpbWUgYWdvIGlzIG5v dCBncmFtbWF0aWNhbGx5IGRpZmZlcmVudCB0aGFuIHNheWluZyBJIHdvcmsgZmFyIGF3YXkgdG8g dGhlIG5vcnRoLgoKTGlrZSBtYW55IG90aGVyIGxhbmd1YWdlcywgdGhlIExvamJhbiB0ZW5zZSBz eXN0ZW0gaXMgcGVyaGFwcyB0aGUgbW9zdCBkaWZmaWN1bHQgcGFydCBvZiB0aGUgbGFuZ3VhZ2Uu IFVubGlrZSBtYW55IG90aGVyIGxhbmd1YWdlcyB0aG91Z2gsIGl04oCZcyBwZXJmZWN0bHkgcmVn dWxhciBhbmQgbWFrZXMgc2Vuc2UuIFNvIGZlYXIgbm90LCBmb3IgaXQgd2lsbCBub3QgaW52b2x2 ZSBzd2VhdGluZyB0byBsZWFybiBob3cgdG8gbW9kaWZ5IHRoZSBzZWxicmkgb3IgYW55dGhpbmcg c2lsbHkgbGlrZSB0aGF0LgoKCgpObywgaW4gdGhlIExvamJhbiB0ZW5zZSBzeXN0ZW0sIGFsbCB0 ZW5zZXMgYXJlIHN1bXRjaXRhLCB3aGljaCB3ZSBoYXZlIGNvbnZlbmllbnRseSBqdXN0IG1hZGUg b3Vyc2VsdmVzIGZhbWlsaWFyIHdpdGguIE9rYXkgb2theSwgdGVjaG5pY2FsbHksIHRlbnNlcyBh cmUgc2xpZ2h0bHkgZGlmZmVyZW50IGZyb20gb3RoZXIgc3VtdGNpdGEsIGJ1dCB0aGlzIGRpZmZl cmVuY2UgaXMgYWxtb3N0IGluc2lnbmlmaWNhbnQsIGFuZCB3aWxsIGJlIHdvbid0IGJlIGV4cGxh aW5lZCB1bnRpbCBsYXRlci4gCgpUaGVyZSBhcmUgbWFueSBkaWZmZXJlbnQga2luZHMgb2YgdGVu c2Utc3VtdGNpdGEsIHNvIGxldOKAmXMgc3RhcnQgYXQgdGhlIG9uZXMgbW9zdCBmYW1pbGlhciB0 byBFbmdsaXNoLXNwZWFrZXJzLgoKX18nJ3B1JydfXyAtIHN1bXRjaXRhOiBiZWZvcmUge3N1bXRp fQoKX18nJ2NhJydfXyAtIHN1bXRjaXRhOiBhdCB0aGUgc2FtZSB0aW1lIGFzIHtzdW10aX0KCl9f JydiYScnX18gLSBzdW10Y2l0YTogYWZ0ZXIge3N1bXRpfQoKCgpUaGVzZSBhcmUgbGlrZSB0aGUg RW5nbGlzaCBjb25jZXB0cyDigJxiZWZvcmXigJ0sIOKAnG5vd+KAnSBhbmQg4oCcYWZ0ZXLigJ0u IEluIGFjdHVhbGl0eSB0aG91Z2gsIG9uZSBjb3VsZCBhcmd1ZSB0aGF0IHR3byBwb2ludC1saWtl IGV2ZW50cyBjYW4gbmV2ZXIgb2NjdXIgZXhhY3RseSBzaW11bHRhbmVvdXNseSwgcmVuZGVyaW5n ICcnY2EnJyB1c2VsZXNzLiBCdXQgJydjYScnIGV4dGVuZHMgc2xpZ2h0bHkgaW50byB0aGUgcGFz dCBhbmQgdGhlIGZ1dHVyZSwgbWVhbmluZyBqdXN0IOKAnGFib3V0IG5vd+KAnS4gVGhpcyBpcyBi ZWNhdXNlIGh1bWFuIGJlaW5ncyBkb27igJl0IHBlcmNlaXZlIHRpbWUgaW4gYSBwZXJmZWN0bHkg bG9naWNhbCB3YXksIGFuZCB0aGUgTG9qYmFuIHRlbnNlIHN5c3RlbSByZWZsZWN0cyB0aGF0LgoK CgpTaWRlIG5vdGU6IEl0IHdhcyBhY3R1YWxseSBzdWdnZXN0ZWQgbWFraW5nIHRoZSBMb2piYW4g dGVuc2Ugc3lzdGVtIHJlbGF0aXZpc3RpYy4gVGhhdCBpZGVhLCBob3dldmVyLCB3YXMgZHJvcHBl ZCwgYmVjYXVzZSBpdCBpcyBjb3VudGVyLWludHVpdGl2ZSwgYW5kIHdvdWxkIG1lYW4gdGhhdCB0 byBsZWFybiBMb2piYW4sIG9uZSB3b3VsZCBoYXZlIHRvIGxlYXJuIHRoZSB0aGVvcnkgb2YgcmVs YXRpdml0eSBmaXJzdC4gIAoKCgpTbywgaG93IHdvdWxkIHlvdSBzYXkg4oCcSSBleHByZXNzIHRo aXMgYWZ0ZXIgSSBjYW1lIGhlcmU/4oCdIChwb2ludGluZyB0byBhIHBhcGVyKQoKCgpBbnN3ZXI6 IH5+Z3JleSxncmV5OicnbWkgY3Vza3UgdGkgYmEgbG8gbnUgbWkga2xhbWEgdGkge3ZhdX0ge2tl aSB7a3V9IHt2YXV9Jyd+fgoKCgpVc3VhbGx5IHdoZW4gc3BlYWtpbmcsIHdlIGRvIG5vdCBuZWVk IHRvIHNwZWNpZnkgd2hpY2ggZXZlbnQgdGhpcyBhY3Rpb24gaXMgaW4gdGhlIHBhc3QgcmVsYXRp dmUgdG8uIEluOiDigJxJIGdhdmUgYSBjb21wdXRlciBhd2F54oCdLCB3ZSBjYW4gYXNzdW1lIHRo YXQgdGhlIGFjdGlvbiBoYXBwZW5lZCByZWxhdGl2ZSB0byDigJxub3figJ0sIGFuZCB0aHVzIHdl IGNhbiBlbGlkZSB0aGUgc3VtdGkgb2YgdGhlIHN1bXRjaXRhLCBiZWNhdXNlIGl04oCZcyBvYnZp b3VzOgoKJydwdSBrdSBtaSBkdW5kYSBsbyBza2FtaSB7a3V9IHt2YXV9Jycgb3IKCicnbWkgZHVu ZGEgbG8gc2thbWkge2t1fSBwdSB7a3V9IHt2YXV9Jycgb3IsIG1vcmUgY29tbW9ubHkKCicnbWkg cHUge2t1fSBkdW5kYSBsbyBza2FtaSB7a3V9IHt2YXV9JycuIFRoZSBzdW10aSB3aGljaCBmaWxs cyB0aGUgc3VtdGNpdGEgaXMgYW4gaW1wbGllZCAnJ3pv4oCZZScnLCB3aGljaCBpcyBhbG1vc3Qg YWx3YXlzIHVuZGVyc3Rvb2QgYXMgcmVsYXRpdmUgdG8gdGhlIHNwZWFrZXIncyB0aW1lIGFuZCBw bGFjZSAodGhpcyBpcyBlc3BlY2lhbGx5IGltcG9ydGFudCB3aGVuIHNwZWFraW5nIGFib3V0IGxl ZnQgYW5kIHJpZ2h0KS4gSWYgc3BlYWtpbmcgYWJvdXQgc29tZSBldmVudHMgdGhhdCBoYXBwZW5l ZCBzb21lIG90aGVyIHRpbWUgdGhhbiB0aGUgcHJlc2VudCwgaXQgaXMgc29tZXRpbWVzIGFzc3Vt ZWQgdGhhdCBhbGwgdGVuc2VzIGFyZSByZWxhdGl2ZSB0byB0aGF0IGV2ZW50IHdoaWNoIGlzIGJl aW5nIHNwb2tlbiBhYm91dC4gSW4gb3JkZXIgdG8gY2xhcmlmeSB0aGF0IGFsbCB0ZW5zZXMgYXJl IHJlbGF0aXZlIHRvIHRoZSBzcGVha2VyJ3MgY3VycmVudCBwb3NpdGlvbiwgdGhlIHdvcmQgJydu YXUnJyBjYW4gYmUgdXNlZCBhdCBhbnkgdGltZS4gQW5vdGhlciB3b3JkLCAnJ2tpJycgbWFya3Mg YSB0ZW5zZSB3aGljaCBpcyB0aGVuIGNvbnNpZGVyZWQgdGhlIG5ldyBzdGFuZGFyZC4gVGhhdCB3 aWxsIGJlIHRhdWdodCB3YXkgbGF0ZXIuCgpfXycnbmF1JydfXyB1cGRhdGVzIHRlbXBvcmFsIGFu ZCBzcGFjaWFsIGZyYW1lIG9mIHJlZmVyZW5jZSB0byB0aGUgc3BlYWtlcidzIGN1cnJlbnQgaGVy ZSBhbmQgbm93LgoKCgpfXycnZ3VnZGUnJ19fID0g4oCceDEgaXMgdGhlIGNvdW50cnkgb2YgcGVv cGxlIHgyIHdpdGggbGFuZC90ZXJyaXRvcnkgeDPigJ0KCgoKQWxzbyBub3RlIHRoYXQgJydtaSBw dSB7a3V9IGtsYW1hIGxvIG1lcmtvIGd1Z2RlIHtrdX0ge3ZhdX0nJywg4oCcSSB3ZW50IHRvIEFt ZXJpY2HigJ0sIGRvZXMgbm90IGltcGx5IHRoYXQgSeKAmW0gbm90IHN0aWxsIHRyYXZlbGluZyB0 byBVU0EsIG9ubHkgdGhhdCBpdCB3YXMgYWxzbyB0cnVlIHNvbWUgdGltZSBpbiB0aGUgcGFzdCwg Zm9yIGluc3RhbmNlIGZpdmUgbWludXRlcyBhZ28uCgoKCkFzIG1lbnRpb25lZCwgc3BhY2lhbCBh bmQgdGVtcG9yYWwgdGltZSB0ZW5zZXMgYXJlIHZlcnkgbXVjaCBhbGlrZS4gQ29udHJhc3QgdGhl IHByZXZpb3VzIHRocmVlIHRpbWUgdGVuc2VzIHdpdGggdGhlc2UgZm91ciBzcGFjaWFsIHRlbnNl czoKCl9fJyd6deKAmWEnJ19fIHN1bXRjaXRhOiBsZWZ0IG9mIHtzdW10aX0KCl9fJydjYeKAmXUn J19fIHN1bXRjaXRhOiBpbiBmcm9udCBvZiB7c3VtdGl9CgpfXycncmnigJl1JydfXyBzdW10Y2l0 YTogcmlnaHQgb2Yge3N1bXRpfQoKX18nJ2J14oCZdScnX18gc3VtdGNpdGE6IGF0IHRoZSBzYW1l IHBsYWNlIGFzIHtzdW10aX0gKHNwYWNpYWwgZXF1aXZhbGVudCBvZiAnJ2NhJycpCgoKCl9fJydv J28nJ19fOiBhdHRpdHVkaW5hbDogY29tcGxleCBwdXJlIGVtb3Rpb246IHBhdGllbmNlIC0gdG9s ZXJhbmNlIC0gYW5nZXIKCgoKV2hhdCB3b3VsZCAnJy5v4oCZb25haSByaeKAmXUge2t1fSBudSBs byBwcmVudSB7a3V9IGN1IGRhcnhpIGxvIGdlcmt1IHB1IHtrdX0ge2t1fSB7dmF1fSB7a2VpfSB7 dmF1fScnIG1lYW4/IChub3RpY2UgdGhlIGZpcnN0IGVsaWRlZCBrdSEpCgpfXycnZGFyeGknJ19f IHgxIGJlYXRzL2hpdHMgeDIgd2l0aCBpbnN0cnVtZW50IHgzIGF0IGxvY3VzIHg0CgoKCkFuc3dl cjogfn5ncmV5LGdyZXk64oCce2FuZ2VyIX0gVG8gdGhlIHJpZ2h0IChvZiBzb21ldGhpbmcsIHBy b2JhYmx5IG1lKSBhbmQgaW4gdGhlIHBhc3QgKG9mIHNvbWUgZXZlbnQpLCBzb21ldGhpbmcgaXMg YW4gZXZlbnQgb2YgYSBwZXJzb24gYmVhdGluZyBhIGRvZy7igJ0gb3Ig4oCcQSBtYW4gaGl0IGEg ZG9nIHRvIG15IHJpZ2h0IeKAnX5+CgoKCklmIHRoZXJlIGFyZSBzZXZlcmFsIHRlbnNlIHN1bXRj aXRhIGluIG9uZSBicmlkaSwgdGhlIHJ1bGUgaXMgdGhhdCB5b3UgcmVhZCB0aGVtIGZyb20gbGVm dCB0byByaWdodCwgdGhpbmtpbmcgaXQgYXMgYSBzbyBjYWxsZWQg4oCcaW1hZ2luYXJ5IGpvdXJu ZXnigJ0sIFdoZXJlIHlvdSBiZWdpbiBhdCBhbiBpbXBsaWVkIHBvaW50IGluIHRpbWUgYW5kIHNw YWNlIChkZWZhdWx0OiB0aGUgc3BlYWtlcuKAmXMgbm93IGFuZCBoZXJlKSwgYW5kIHRoZW4gZm9s bG93IHRoZSBzdW10Y2l0YSBvbmUgYXQgYSB0aW1lIGZyb20gbGVmdCB0byByaWdodC4KCkV4YW1w bGUKCicnbWkgcHUge2t1fSBiYSB7a3V9IGppbXBlIGZpIGxvIGxvamJvIGZh4oCZb3JtYeKAmW8g e2t1fSB7dmF1fScnID0g4oCcQXQgc29tZSB0aW1lIGluIHRoZSBwYXN0LCBJIHdpbGwgYmUgYWJv dXQgdG8ga25vdyBhYm91dCBmYSdvcm1hJ29zLuKAnQoKJydtaSBiYSB7a3V9IHB1IHtrdX0gamlt cGUgZmkgbG8gbG9qYm8gZmHigJlvcm1h4oCZbyB7a3V9IHt2YXV9Jycg4oCcQXQgc29tZSBwb2lu dCBpbiB0aGUgZnV0dXJlLCBJIHdpbGwgaGF2ZSB1bmRlcnN0b29kIGFib3V0IGZhJ29ybWEnb3Mu 4oCdCgpTaW5jZSB3ZSBkbyBub3Qgc3BlY2lmeSB0aGUgYW1vdW50IG9mIHRpbWUgd2UgbW92ZSBi YWNrIG9yIGZvcnRoLCB0aGUgdW5kZXJzdGFuZGluZyBjb3VsZCBpbiBib3RoIGNhc2VzIGhhcHBl biBpbiB0aGUgZnV0dXJlIG9yIHRoZSBwYXN0IG9mIHRoZSBwb2ludCBvZiByZWZlcmVuY2UuCgoK CkFsc28sIGlmIHNwYWNpYWwgYW5kIHRlbXBvcmFsIHRlbnNlcyBhcmUgbWl4ZWQsIHRoZSBydWxl IGlzIHRvIGFsd2F5cyBwdXQgdGVtcG9yYWwgYmVmb3JlIHNwYWNpYWwuIElmIHRoaXMgcnVsZSBp cyB2aW9sYXRlZCwgaXQgY2FuIHNvbWV0aW1lcyByZXN1bHQgaW4gc3ludGFjdGljYWwgYW1iaWd1 aXR5LCB3aGljaCBMb2piYW4gZG9lcyBub3QgdG9sZXJhdGUuCgoKClN1cHBvc2Ugd2Ugd2FudCB0 byBzcGVjaWZ5IHRoYXQgYSBtYW4gaGl0IGEgZG9nIGp1c3QgYSBtaW51dGUgYWdvLiBUaGUgd29y ZHMgJyd6aScnLCAnJ3phJycgYW5kICcnenUnJyBzcGVjaWZpZXMgYSBzaG9ydCwgdW5zcGVjaWZp ZWQgKHByZXN1bWFibHkgbWVkaXVtKSBhbmQgbG9uZyBkaXN0YW5jZSBpbiB0aW1lLiBOb3RpY2Ug dGhlIHZvd2VsIG9yZGVyICcnaScnLCAnJ2EnJyBhbmQgJyd1JycuIFRoaXMgb3JkZXIgYXBwZWFy cyBhZ2FpbiBhbmQgYWdhaW4gaW4gTG9qYmFuLCBhbmQgbWlnaHQgYmUgd29ydGggdG8gbWVtb3Jp emUuIOKAnFNob3J04oCdIGFuZCDigJxsb25n4oCdIGluIGFyZSBhbHdheXMgY29udGV4dCBkZXBl bmRlbnQsIHJlbGF0aXZlIGFuZCBzdWJqZWN0aXZlLiBUd28gaHVuZHJlZCB5ZWFycyBpcyBhIHNo b3J0IHRpbWUgZm9yIGEgc3BlY2llcyB0byBldm9sdmUsIGJ1dCBhIGxvbmcgdGltZSB0byB3YWl0 IGZvciB0aGUgYnVzLgoKX18nJ3ppJydfXyBzdW10Y2l0YTogT2N1cnJpbmcgdGhlIHNtYWxsIGRp c3RhbmNlIG9mIHtzdW10aX0gaW4gdGltZSBmcm9tIHBvaW50IG9mIHJlZmVyZW5jZSAKCl9fJyd6 YScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSB1bnNwZWNpZmllZChtZWRpdW0pIGRpc3RhbmNl IG9mIHtzdW10aX0gaW4gdGltZSBmcm9tIHBvaW50IG9mIHJlZmVyZW5jZSAKCl9fJyd6dScnX18g c3VtdGNpdGE6IE9jdXJyaW5nIHRoZSBmYXIgZGlzdGFuY2Ugb2Yge3N1bXRpfSBpbiB0aW1lIGZy b20gdGhlIHBvaW50IG9mIHJlZmVyZW5jZSAKCgoKU2ltaWxhcmx5LCBzcGFjaWFsIGRpc3RhbmNl IGlzIG1hcmtlZCBieSAnJ3ZpJycsICcndmEnJyBhbmQgJyd2dScnIGZvciBzaG9ydCwgdW5zcGVj aWZpZWQgKG1lZGl1bSkgYW5kIGxvbmcgZGlzdGFuY2UgaW4gc3BhY2UuCgpfXycndmknJ19fIHN1 bXRjaXRhOiBPY3VycmluZyB0aGUgc21hbGwgZGlzdGFuY2Ugb2Yge3N1bXRpfSBpbiBzcGFjZSBm cm9tIHBvaW50IG9mIHJlZmVyZW5jZSAKCl9fJyd2YScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRo ZSB1bnNwZWNpZmllZChtZWRpdW0pIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gc3BhY2UgZnJvbSBw b2ludCBvZiByZWZlcmVuY2UgCgpfXycndnUnJ19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUgZmFy IGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gc3BhY2UgZnJvbSB0aGUgcG9pbnQgb2YgcmVmZXJlbmNl IAoKX18nJ2d1bmthJydfXyDigJx4MSB3b3JrcyBhdCB4MiB3aXRoIG9iamVjdGl2ZSB4M+KAnQoK CgpUcmFuc2xhdGU6ICcnYmEge2t1fSB6YSBrdSBtaSB2dSB7a3V9IGd1bmthIHt2YXV9JycKCgoK QW5zd2VyOiB+fmdyZXksZ3JleTrigJxTb21lIHRpbWUgaW4gdGhlIGZ1dHVyZSwgSSB3aWxsIHdv cmsgYSBwbGFjZSBsb25nIGF3YXnigJ1+fgoKTm90ZTogUGVvcGxlIHJhcmVseSB1c2UgJyd6aScn LCAnJ3phJycgb3IgJyd6dScnIHdpdGhvdXQgYSAnJ3B1Jycgb3IgJydiYScnIGluIGZyb250IG9m IGl0LiBUaGlzIGlzIGJlY2F1c2UgbW9zdCBwZW9wbGUgYWx3YXlzIG5lZWQgdG8gc3BlY2lmeSBw YXN0IG9yIGZ1dHVyZSBpbiB0aGVpciBuYXRpdmUgbGFuZ3VhZ2UuIFdoZW4geW91IHRoaW5rIGFi b3V0IGl0IExvamJhbmljYWxseSwgbW9zdCBvZiB0aGUgdGltZSB0aGUgdGltZS1kaXJlY3Rpb24g aXMgb2J2aW91cywgYW5kIHRoZSAnJ3B1Jycgb3IgJydiYScnIHN1cGVyZmx1b3VzIQoKCgpUaGUg b3JkZXIgaW4gd2hpY2ggZGlyZWN0aW9uLXN1bXRjaXRhIGFuZCBkaXN0YW5jZS1zdW10Y2l0YSBh cmUgc2FpZCBtYWtlcyBhIGRpZmZlcmVuY2UuIFJlbWVtYmVyIHRoYXQgdGhlIG1lYW5pbmdzIG9m IHNldmVyYWwgdGVuc2Ugd29yZHMgYXJlIHBpY3R1cmVkIGJ5IGFuIGltYWdpbmFyeSBqb3VybmV5 IHJlYWRpbmcgZnJvbSBsZWZ0IHRvIHJpZ2h0LiBUaHVzICcncHUgenUnJyBpcyDigJxhIGxvbmcg dGltZSBhZ2/igJ0gd2hpbGUgJyd6dSBwdScnIGlzIOKAnGluIHRoZSBwYXN0IG9mIHNvbWUgcG9p bnQgaW4gdGltZSB3aGljaCBpcyBhIGxvbmcgdGltZSB0b3dhcmQgdGhlIGZ1dHVyZSBvciB0aGUg cGFzdCBvZiBub3figJ0uIEluIHRoZSBmaXJzdCBleGFtcGxlLCAnJ3B1Jycgc2hvd3MgdGhhdCB3 ZSBiZWdpbiBpbiB0aGUgcGFzdCwgJyd6dScnIHRoZW4gdGhhdCBpdCBpcyBhIGxvbmcgdGltZSBi YWNrd2FyZHMuIEluIHRoZSBzZWNvbmQgZXhhbXBsZSwgJyd6dScnIHNob3dzIHRoYXQgd2UgYmVn aW4gYXQgc29tZSBwb2ludCBmYXIgYXdheSBpbiB0aW1lIGZyb20gbm93LCAnJ3B1JycgdGhlbiwg dGhhdCB3ZSBtb3ZlIGJhY2t3YXJkcyBmcm9tIHRoYXQgcG9pbnQuIFRodXMgJydwdSB6dScnIGlz IGFsd2F5cyBpbiB0aGUgcGFzdC4gJyd6dSBwdScnIGNvdWxkIGJlIGluIHRoZSBmdXR1cmUuIFRo ZSBmYWN0IHRoYXQgdGhlc2UgdGltZSB0ZW5zZXMgY29tYmluZSBpbiB0aGlzIHdheSBpcyBvbmUg b2YgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGVuc2Ugc3VtdGNpdGEgYW5kIG90aGVyIHN1bXRj aXRhLiBUaGUgbWVhbmluZ3Mgb2Ygb3RoZXIgc3VtdGNpdGEgYXJlIG5vdCBhbHRlcmVkIGJ5IHRo ZSBwcmVzZW5jZSBvZiBhZGRpdGlvbmFsIHN1bXRjaXRhIGluIGEgYnJpZGkuCgoKCkFzIGJyaWVm bHkgaW1wbGllZCBlYXJsaWVyLCBhbGwgdGhlc2UgY29uc3RydWN0cyBiYXNpY2FsbHkgdHJlYXQg YnJpZGkgYXMgaWYgdGhleSB3ZXJlIHBvaW50LWxpa2UgaW4gdGltZSBhbmQgc3BhY2UuIEluIGFj dHVhbGl0eSwgbW9zdCBldmVudHMgcGxheSBvdXQgb3ZlciBhIHNwYW4gb2YgdGltZSBhbmQgc3Bh Y2UuIEluIHRoZSBmb2xsb3dpbmcgZmV3IHBhcmFncmFwaHMsIHdlIHdpbGwgbGVhcm4gaG93IHRv IHNwZWNpZnkgaW50ZXJ2YWxzIG9mIHRpbWUgYW5kIHNwYWNlLgoKCgpfXycnemXigJlpJydfXyBz dW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgc2hvcnQgdGltZSBvZiB7c3VtdGl9CgpfXycnemXi gJlhJydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgdW5zcGVjaWZpZWQgKG1lZGl1bSkg dGltZSBvZiB7c3VtdGl9CgpfXycnemXigJl1JydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0 aGUgbG9uZyB0aW1lIG9mIHtzdW10aX0KCgoKX18nJ3Zl4oCZaScnX18gc3VtdGNpdGE6IHNwYW5u aW5nIG92ZXIgdGhlIHNob3J0IHNwYWNlIG9mIHtzdW10aX0KCl9fJyd2ZeKAmWEnJ19fIHN1bXRj aXRhOiBzcGFubmluZyBvdmVyIHRoZSB1bnNwZWNpZmllZCAobWVkaXVtKSBzcGFjZSBvZiB7c3Vt dGl9CgpfXycndmXigJl1JydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgbG9uZyBzcGFj ZSBvZiB7c3VtdGl9CgoKClNpeCB3b3JkcyBhdCBhIHRpbWUsIEkga25vdywgYnV0IHJlbWVtYmVy aW5nIHRoZSB2b3dlbCBzZXF1ZW5jZSBhbmQgdGhlIHNpbWlsYXJpdHkgb2YgdGhlIGluaXRpYWwg bGV0dGVyIHogZm9yIHRlbXBvcmFsIHRlbnNlcyBhbmQgdiBmb3Igc3BhY2lhbCB0ZW5zZXMgbWln aHQgaGVscCB0aGUgbWVtb3JpemluZy4KCl9fJycub2knJ19fIC0gYXR0aXR1ZGluYWw6IHBhaW4g LSBwbGVhc3VyZQoKCgpUcmFuc2xhdGU6ICcnLm9pIGRhaSBkbyB2ZeKAmXUge2t1fSBrbGFtYSBs byBkb3RjbyBndWdkZSB7a3V9IHpl4oCZdSB7a3V9IHt2YXV9JycKCgoKQW5zd2VyOiB+fmdyZXks Z3JleTrigJxPdWNoLCB5b3Ugc3BlbmQgYSBsb25nIHRpbWUgdHJhdmVsaW5nIGEgbG9uZyBzcGFj ZSB0byBHZXJtYW554oCdIH5+CgoKClRob3VnaCBtb3N0IHBlb3BsZSBhcmUgbm90IGZhbWlsaWFy IHdpdGggc3BhY2lhbCB0ZW5zZXMsIHRoZXNlIG5ldyB3b3JkcyBjYW4gb3BlbiB1cCBmb3Igc29t ZSBwcmV0dHkgc3dlZXQgdXNlcy4gT25lIGNvdWxkLCBmb3IgaW5zdGFuY2UsIHRyYW5zbGF0ZSDi gJxUaGF04oCZcyBhIGJpZyBkb2figJ0gYXMgJyd0aSB2ZeKAmXUge2t1fSBnZXJrdSB7dmF1fScn LiBTYXlpbmc6IOKAnFRoaXMgdGhpbmcgZG9ncyBmb3IgYSBsb25nIHNwYWNl4oCdIG1ha2VzIHlv dSBzb3VuZCByZXRhcmRlZCBpbiBFbmdsaXNoLCBidXQgd2VsbC1zcG9rZW4gaW4gTG9qYmFuIQoK CgonJ3pl4oCZdScnIGFuZCBpdHMgYnJvdGhlcnMgYWxzbyBjb21iaW5lIHdpdGggb3RoZXIgdGVu c2VzIHRvIGZvcm0gY29tcG91bmQgdGVuc2VzLiBUaGUgcnVsZSBmb3IgJyd6ZeKAmXUnJyBhbmQg dGhlIG90aGVycyBhcmUgdGhhdCBhbnkgdGVuc2VzIHByZWNlZGluZyBpdCBtYXJrcyBhbiBlbmRw b2ludCBvZiB0aGUgcHJvY2VzcyAocmVsYXRpdmUgdG8gdGhlIHBvaW50IG9mIHJlZmVyZW5jZSkg YW5kIGFueSB0ZW5zZXMgY29taW5nIGFmdGVyIGl0IG1hcmtzIHRoZSBvdGhlciBlbmRwb2ludCBy ZWxhdGl2ZSB0byB0aGUgZmlyc3QuIFRoaXMgc2hvdWxkIGJlIGRlbW9uc3RyYXRlZCB3aXRoIGEg Y291cGxlIG9mIGV4YW1wbGVzOgoKJycub+KAmW9jdeKAmWkgZG8gY2l0a2EgcHUge2t1fSB6ZeKA mXUge2t1fSBiYSB7a3V9IHp1IHtrdX0ge3ZhdX0nJyAtIOKAnHt0b2xlcmFuY2V9IHlvdSBlYXQg YmVnaW5uaW5nIGluIHRoZSBwYXN0IGFuZCBmb3IgYSBsb25nIHRpbWUgZW5kaW5nIGF0IHNvbWUg cG9pbnQgZmFyIGludG8gdGhlIGZ1dHVyZSBvZiB3aGVuIHlvdSBzdGFydGVk4oCdIG9yIOKAnEht cGYsIHlvdSBhdGUgZm9yIGEgbG9uZyB0aW1l4oCdLiBPbmUgY2FuIGFsc28gY29udHJhc3QgJydk byBjYSB7a3V9IHpl4oCZaSB7a3V9IHB1IHtrdX0ga2xhbWEge3ZhdX0nJyB3aXRoICcnZG8gcHUg e2t1fSB6ZeKAmWkge2t1fSBjYSB7a3V9IGtsYW1hIHt2YXV9JycuIFRoZSBmaXJzdCBldmVudCBv ZiB0cmF2ZWxpbmcgaGFzIG9uZSBlbmRwb2ludCBpbiB0aGUgcHJlc2VudCBhbmQgZXh0ZW5kcyBh IGxpdHRsZSB0b3dhcmRzIHRoZSBwYXN0LCB3aGlsZSB0aGUgc2Vjb25kIGV2ZW50IGhhcyBvbmUg ZW5kcG9pbnQgaW4gdGhlIHBhc3QgYW5kIGV4dGVuZHMgb25seSB0byB0aGUgcHJlc2VudCAodGhh dCBpcywgc2xpZ2h0eSBpbnRvIHRoZSBwYXN0IG9yIGZ1dHVyZSkgb2YgdGhhdCBlbmRwb2ludC4K Cl9fJydqbWl2ZScnX18g4oCceDEgaXMgYWxpdmUgYnkgc3RhbmRhcmQgeDLigJ0KCgoKV2hhdCBk b2VzICcnLnVpIG1pIHB1IHtrdX0gemkge2t1fSB6ZeKAmXUge2t1fSBqbWl2ZSB7dmF1fScnIGV4 cHJlc3M/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCce2hhcHBpbmVzcyF9IEkgbGl2ZSBmcm9t IGEgbGl0dGxlIGludG8gdGhlIHBhc3QgYW5kIGEgbG9uZyB3YXkgdG93YXJkcyB0aGUgZnV0dXJl IG9yIHBhc3QgKG9idmlvdXNseSB0aGUgZnV0dXJlLCBpbiB0aGlzIGNhc2UpIG9mIHRoYXQgZXZl bnTigJ0gb3Ig4oCcSSBhbSB5b3VuZywgYW5kIGhhdmUgbW9zdCBvZiBteSBsaWZlIGFoZWFkIG9m IG1lIDop4oCdfn4KCgoKSnVzdCB0byB1bmRlcmxpbmUgdGhlIHNpbWlsYXJpdHkgd2l0aCBzcGFj aWFsIHRlbnNlcywgbGV04oCZcyBoYXZlIGFub3RoZXIgZXhhbXBsZSwgdGhpcyB0aW1lIHdpdGgg c3BhY2lhbCB0ZW5zZXM6CgpfXycnLnXigJllJydfXyBhdHRpdHVkaW5hbDogd29uZGVyIC0gY29t bW9ucGxhY2UKCgoKJycudeKAmWUgemHigJlhIHtrdX0gYnXigJl1IHtrdX0gdmXigJl1IHtrdX0g Y2HigJl1IHtrdX0gemRhbmkge3ZhdX0nJyAtIFdoYXQgZG9lcyBpdCBtZWFuPwoKCgpBbnN3ZXI6 IH5+Z3JleSxncmV5OiDigJx7d29uZGVyfSB7SSBvYnNlcnZlIX0gRXh0ZW5kaW5nIGEgbG9uZyBz cGFjZSBmcm9tIGhlcmUgdG8gbXkgZnJvbnQgaXMgYSBob21lLuKAnSBvciDigJxXb3csIHRoaXMg aG9tZSBleHRlbmRpbmcgYWhlYWQgaXMgaHVnZSHigJ1+fgoKCgpCZWZvcmUgd2UgY29udGludWUg d2l0aCB0aGlzIHN5bnRheC1oZWF2eSB0ZW5zZSBzeXN0ZW0sIGkgcmVjb21tZW5kIHNwZW5kaW5n IGF0IGxlYXN0IHRlbiBtaW51dGVzIGRvaW5nIHNvbWV0aGluZyB3aGljaCBkb2VzbuKAmXQgb2Nj dXB5IHlvdXIgYnJhaW4gaW4gb3JkZXIgdG8gbGV0IHRoZSBpbmZvcm1hdGlvbiBzaW5rIGluLiBT aW5nIGEgc29uZyBvciBlYXQgYSBjb29raWUgdmVyeSBzbG93bHkgLSB3aGF0ZXZlciwgYXMgbG9u ZyBhcyB5b3UgbGV0IHlvdXIgbWluZCByZXN0LgoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNz b24gZWxldmVuIChaQWhPKQoKVGhvdWdoIHdlIHdvbuKAmXQgZ28gdGhyb3VnaCBhbGwgTG9qYmFu IHRlbnNlIGNvbnN0cnVjdHMgZm9yIG5vdywgdGhlcmUgaXMgb25lIG90aGVyIGtpbmQgb2YgdGVu c2UgdGhhdCBJIHRoaW5rIHNob3VsZCBiZSB0YXVnaHQgbm93LiBUaGVzZSBhcmUgY2FsbGVkIOKA nGV2ZW50IGNvbnRvdXJz4oCdLCBhbmQgcmVwcmVzZW50IGEgdmVyeSBkaWZmZXJlbnQgd2F5IG9m IHZpZXdpbmcgdGVuc2VzIHRoYXQgd2UgaGF2ZSBzZWVuIHNvIGZhci4gU28gbGV04oCZcyBnZXQg dG8gaXQ6CgoKClVzaW5nIHRoZSB0ZW5zZXMgd2UgaGF2ZSBsZWFybmVkIHNvIGZhciwgd2UgY2Fu IGltYWdpbmUgYW4gaW5kZWZpbml0ZSB0aW1lIGxpbmUsIGFuZCB3ZSB0aGVuIHBsYWNlIGV2ZW50 cyBvbiB0aGF0IGxpbmUgcmVsYXRpdmUgdG8gdGhlIOKAnG5vd+KAnS4gV2l0aCBldmVudCBjb250 b3VycywgaG93ZXZlciwgd2UgdmlldyBlYWNoIGV2ZW50IGFzIGEgcHJvY2Vzcywgd2hpY2ggaGFz IGNlcnRhaW4gc3RhZ2VzOiBBIHRpbWUgYmVmb3JlIGl0IHVuZm9sZHMsIGEgdGltZSB3aGVuIGl0 IGJlZ2lucywgYSB0aW1lIHdoZW4gaXQgaXMgaW4gcHJvY2VzcywgYSB0aW1lIHdoZW4gaXQgZW5k cywgYW5kIGEgdGltZSBhZnRlciBpdCBoYXMgZW5kZWQuIEV2ZW50IGNvbnRvdXJzIHRoZW4gdGVs bHMgdXMgd2hpY2ggcGFydCBvZiB0aGUgZXZlbnTigJlzIHByb2Nlc3Mgd2FzIGhhcHBlbmluZyBk dXJpbmcgdGhlIHRpbWUgc3BlY2lmaWVkIGJ5IHRoZSBvdGhlciB0ZW5zZXMuIFdlIG5lZWQgYSBj b3VwbGUgb2YgdGVuc2VzIGZpcnN0OgoKCgpfXycncHXigJlvJydfXyAtIHN1bXRjaXRhOiBldmVu dCBjb250b3VyOiBCcmlkaSBoYXMgbm90IHlldCBoYXBwZW5lZCBkdXJpbmcge3N1bXRpfQoKX18n J2Nh4oCZbycnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgaW4gcHJvY2Vz cyBkdXJpbmcge3N1bXRpfQoKX18nJ2Jh4oCZbycnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91 cjogVGhlIHByb2Nlc3Mgb2YgYnJpZGkgaGFzIGVuZGVkIGR1cmluZyB7c3VtdGl9CgoKClRoaXMg bmVlZHMgdG8gYmUgZGVtb25zdHJhdGVkIGJ5IHNvbWUgZXhhbXBsZXMuIFdoYXTigJlzICcnLnVp IG1pIHB14oCZbyB7a3V9IHNlIHpkYW5pIHt2YXV9JycgbWVhbj8KCgoKQW5zd2VyOiDigJxZYXks IEnigJlsbCBiZWdpbiB0byBoYXZlIGEgaG9tZeKAnS4KCgoKQnV0IGhleSwgeW91IGFzaywgd2h5 IG5vdCBqdXN0IHNheSAnJy51aSBtaSBiYSB7a3V9IHNlIHpkYW5pIHt2YXV9JycgYW5kIGV2ZW4g c2F2ZSBhIHN5bGxhYmxlPyBCZWNhdXNlLCByZW1lbWJlciwgc2F5aW5nIHRoYXQgeW91IHdpbGwg aGF2ZSBhIGhvbWUgaW4gdGhlIGZ1dHVyZSBzYXlzIG5vdGhpbmcgYWJvdXQgd2hldGhlciB5b3Ug aGF2ZSBhIGhvbWUgbm93LiBVc2luZyAnJ3B14oCZbycnLCB0aG91Z2gsIHlvdSBzYXkgdGhhdCB5 b3UgYXJlIG5vdyBpbiB0aGUgcGFzdCBvZiB0aGUgcHJvY2VzcyBvZiB5b3UgaGF2aW5nIGEgaG9t ZSwgd2hpY2ggbWVhbnMgdGhhdCB5b3UgZG9u4oCZdCBoYXZlIG9uZSBub3cuCgpOb3RlLCBieSB0 aGUgd2F5LCB0aGF0ICcnbWkgYmEge2t1fSBzZSB6ZGFuaSB7dmF1fScnIGlzIHNpbWlsYXIgdG8g JydtaSBwdeKAmW8ge2t1fSBzZSB6ZGFuaSB7dmF1fScnLCBhbmQgbGlrZXdpc2Ugd2l0aCAnJ2Jh 4oCZbycnIGFuZCAnJ3B1JycuIFdoeSBkbyB0aGV5IHNlZW0gcmV2ZXJzZWQ/IEJlY2F1c2UgZXZl bnQgY29udG91cnMgdmlldyB0aGUgcHJlc2VudCBhcyBzZWVuIGZyb20gdGhlIHZpZXdwb2ludCBv ZiB0aGUgcHJvY2Vzcy4gV2hlcmVhcyB0aGUgb3RoZXIgdGVuc2VzIHZpZXcgZXZlbnRzIHNlZW4g ZnJvbSB0aGUgcHJlc2VudC4KCgoKT2Z0ZW4sIGV2ZW50IGNvbnRvdXJzIGFyZSBtb3JlIHByZWNp c2UgdGhhbiBvdGhlciBraW5kcyBvZiB0ZW5zZXMuIEV2ZW4gbW9yZSBjbGFyaXR5IGlzIGFjaGll dmVkIGJ5IGNvbWJpbmluZyBzZXZlcmFsIHRlbnNlczogJycuYeKAmW8gbWkgYmF7a3V9IHppIHtr dX0gYmHigJlvIHtrdX0gZ3Vua2Ege3ZhdX0nJyAtIOKAnEkgaG9wZSBJ4oCZdmUgc29vbiBmaW5p c2hlZCB3b3JraW5nLuKAnQoKCgpJbiBMb2piYW4sIHdlIGFsc28gb3BlcmF0ZSB3aXRoIGFuIGV2 ZW504oCZcyDigJxuYXR1cmFsIGJlZ2lubmluZ+KAnSBhbmQgaXRzIOKAnG5hdHVyYWwgZW5k4oCd LiBUaGUgdGVybSDigJxuYXR1cmFs4oCdIGlzIGhpZ2hseSBzdWJqZWN0aXZlIGluIHRoaXMgc2Vu c2UsIGFuZCB0aGUgbmF0dXJhbCBlbmQgcmVmZXJzIHRvIHRoZSBwb2ludCBpbiB0aGUgcHJvY2Vz cyB3aGVyZSBpdCBzaG91bGQgZW5kLiBZb3UgY2FuIHNheSBhYm91dCBhIGxhdGUgdHJhaW4sIGZv ciBpbnN0YW5jZSwgdGhhdCBpdHMgcHJvY2VzcyBvZiByZWFjaGluZyB5b3UgaXMgbm93IGV4dGVu ZGluZyBiZXlvbmQgaXRzIG5hdHVyYWwgZW5kLiBBbiB1bmRlcmNvb2tlZCwgYnV0IHNlcnZlZCBt ZWFsLCBzaW1pbGFybHksIGlzIGJlaW5nIGVhdGVuIGJlZm9yZSB0aGF0IHByb2Nlc3PigJkgbmF0 dXJhbCBiZWdpbm5pbmcuIFRoZSBldmVudCBjb250b3VycyB1c2VkIGluIHRoZXNlIGV4YW1wbGVz IGFyZSBhcyBmb2xsb3dzOgoKCgpfXycnemHigJlvJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250 b3VyOiBCcmlkaSBpcyBpbiBwcm9jZXNzIGJleW9uZCBpdHMgbmF0dXJhbCBlbmQgZHVyaW5nIHtz dW10aX0KCl9fJyd4YeKAmW8nJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlz IGltbWF0dXJlbHkgaW4gcHJvY2VzcyBkdXJpbmcge3N1bXRpfQoKCgpfXycnY2lkamEnJ19fOiDi gJx4MSBpcyBmb29kLCB3aGljaCBpcyBlZGlibGUgZm9yIHgy4oCdCgoKClRyYW5zbGF0ZTogJycu b2kgZG8gY2l0a2EgemHigJlvIGxvIG51IGRvIGJh4oCZbyB7a3V9IHXigJllIGNpdGthIHpv4oCZ ZSBub2kgY2lkamEgZG8ge3ZhdX0ge2t14oCZb30ge3ZhdX0ge2tlaX0ge2t1fScnCgoKCkFuc3dl cjogfn5ncmV5LGdyZXk64oCcT3ksIHlvdSBrZWVwIGVhdGluZyB3aGVuIHlvdSBoYXZlIGZpbmlz aGVkLCBpbmNyZWRpYmx5LCBlYXRpbmcgc29tZXRoaW5nIGVkaWJsZSHigJ1+fgoKCgp7aW1nIGZp bGVJZD0iMiIgdGh1bWI9InkiIHJlbD0iYm94W2ddIn0KCkltYWdlIGFib3ZlOiBaQWhPIHRlbnNl cyAoZXZlbnQgY29udG91cnMpLiBBbGwgdGVuc2VzIGFib3ZlIHRoZSBsaW5lIG9mIHRoZSBldmVu dCBzaWduaWZ5IHN0YWdlcyBjb3ZlcmluZyBhbiBhbW91bnQgb2YgdGltZS4gQWxsIHRlbnNlcyBi ZWxvdyB0aGUgZXZlbnQgbGluZSBzaWduaWZ5IHN0YWdlcyB3aGljaCBhcmUgcG9pbnQtbGlrZS4K CgoKQWxsIG9mIHRoZXNlIHRlbnNlcyBoYXZlIGJlZW4gZGVzY3JpYmluZyBzdGFnZXMgb2YgYSBw cm9jZXNzIHdoaWNoIHRha2VzIHNvbWUgdGltZSAoYXMgc2hvd24gb24gdGhlIGdyYXBoIGFib3Zl OyB0aG9zZSB0ZW5zZXMgYWJvdmUgdGhlIGV2ZW50IGxpa2UpLiBCdXQgbWFueSBvZiB0aGUgZXZl bnQgY29udG91cnMgZGVzY3JpYmVzIHBvaW50IGxpa2Ugc3RhZ2VzIGluIHRoZSBwcm9jZXNzLCBs aWtlIGl0cyBiZWdpbm5pbmcuIEFzIGlzIHRydWUgb2YgJydjYScnIGFuZCAnJ2J14oCZdScnLCB0 aGV5IGFjdHVhbGx5IGV4dGVuZCBzbGlnaHRseSBpbnRvIHRoZSBwYXN0IGFuZCBmdXR1cmUgb2Yg dGhhdCBwb2ludCwgYW5kIG5lZWQgbm90IHRvIGJlIHByZWNpc2UuCgoKClRoZSB0d28gbW9zdCBp bXBvcnRhbnQgcG9pbnQtbGlrZSBldmVudCBjb250b3VycyBhcmU6CgpfXycnY2/igJlhJydfXyAt IHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBhdCBpdHMgYmVnaW5uaW5nIGR1cmlu ZyB7c3VtdGl9CgpfXycnY2/igJl1JydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlk aSBpcyBhdCBpdHMgZW5kaW5nIGR1cmluZyB7c3VtdGl9CgoKCkZ1cnRoZXJtb3JlLCB0aGVyZSBp cyBhIHBvaW50IHdoZXJlIHRoZSBwcm9jZXNzIGlzIG5hdHVyYWxseSBjb21wbGV0ZSwgYnV0IG5v dCBuZWNlc3NhcmlseSBoYXMgZW5kZWQgeWV0OgoKX18nJ21v4oCZdScnX18gLSBzdW10Y2l0YTog ZXZlbnQgY29udG91cjogQnJpZGkgaXMgYXQgaXRzIG5hdHVyYWwgZW5kaW5nIGR1cmluZyB7c3Vt dGl9CgpNb3N0IG9mIHRoZSB0aW1lLCB0aG91Z2gsIHByb2Nlc3NlcyBhY3R1YWxseSBlbmQgYXQg dGhlaXIgbmF0dXJhbCBlbmRpbmc7IHRoaXMgaXMgd2hhdCBtYWtlcyBpdCBuYXR1cmFsLiBUcmFp bnMgYXJlIG5vdCB1c3VhbGx5IGxhdGUsIGFuZCBwZW9wbGUgdXN1YWxseSByZXRyYWluIHRoZW1z ZWx2ZXMgdG8gZWF0IG9ubHkgZWRpYmxlIGZvb2QuCgoKClNpbmNlIGEgcHJvY2VzcyBjYW4gYmUg aW50ZXJydXB0ZWQgYW5kIHJlc3VtZWQsIHRoZXNlIHBvaW50cyBoYXZlIGVhcm5lZCB0aGVpciBv d24gZXZlbnQgY29udG91ciBhbHNvOgoKX18nJ2Rl4oCZYScnX18gLSBzdW10Y2l0YTogZXZlbnQg Y29udG91cjogQnJpZGkgaXMgcGF1c2luZyBkdXJpbmcge3N1bXRpfQoKX18nJ2Rp4oCZYScnX18g LSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgcmVzdW1pbmcgZHVyaW5nIHtzdW10 aX0KCgoKSW4gZmFjdCwgc2luY2UgJydqdW5kaScnIG1lYW5zIOKAnHgxIHBheXMgYXR0ZW50aW9u IHRvIHgy4oCdLCAnJ2Rl4oCZYSBqdW5kaScnIGFuZCAnJ2Rp4oCZYSBqdW5kaScnIGFyZSBjb21t b24gTG9qYmFuIHdheXMgb2Ygc2F5aW5nIOKAnEJSQuKAnSBhbmQg4oCcYmFja+KAnS4gT25lIGNv dWxkIG9mIGNvdXJzZSBhbHNvIHNheSB0aGUgZXZlbnQgY29udG91cnMgYnkgdGhlbXNlbHZlcyBh bmQgaG9wZSB0aGUgcG9pbnQgZ2V0cyBhY3Jvc3MuCgoKCkZpbmFsbHksIG9uZSBjYW4gdHJlYXQg YW4gZW50aXJlIGV2ZW50LCBmcm9tIHRoZSBiZWdpbm5pbmcgdG8gdGhlIGVuZCBhcyBvbmUgc2lu Z2xlIHBvaW50IHVzaW5nICcnY2/igJlpJyc6CgpfXycncGVubWknJ19fIOKAnHgxIG1lZXRzIHgy IGF0IGxvY2F0aW9uIHgz4oCdCgonJ21pIHB1IHtrdX0gemkge2t1fSBjb+KAmWkge2t1fSBwZW5t aSBsbyBkb3RjbyBwcmVudSB7a3V9IHt2YXV9JycgLSDigJxBIGxpdHRsZSB3aGlsZSBhZ28sIEkg d2FzIGF0IHRoZSBwb2ludCBpbiB0aW1lIHdoZXJlIGkgbWV0IGEgR2VybWFuIHBlcnNvbuKAnQoK CgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdHdlbHZlIChvcmRlcnMgYW5kIHF1ZXN0aW9u cykKClBoZXcsIHRob3NlIHR3byBsb25nIGxlc3NvbnMgd2l0aCBzeW50YXggaGVhdnkgTG9qYmFu IGdpdmVzIHRoZSBicmFpbiBzb21ldGhpbmcgdG8gcG9uZGVyIGFib3V0LiBFc3BlY2lhbGx5IGJl Y2F1c2UgaXTigJlzIHNvIGRpZmZlcmVudCBmcm9tIEVuZ2xpc2guIFNvIGxldOKAmXMgdHVybiB0 byBzb21ldGhpbmcgYSBsaXR0bGUgbGlnaHRlcjogT3JkZXJzIGFuZCBxdWVzdGlvbnMuCgoKCldo YXQgdGhlLi4uIF9fc2l0IHVwIGFuZCBmb2N1cyFfXwoKCgpTaW5jZSB0aGUgd2F5IHRvIGV4cHJl c3Mgb3JkZXJzIGluIEVuZ2xpc2ggaXMgdG8gbGVhdmUgb3V0IHRoZSBzdWJqZWN0IG9mIHRoZSBj bGF1c2UsIHdoeSBkaWQgeW91IGFzc3VtZSB0aGF0IGl0IHdhcyB5b3UgSSB3YXMgc3BlYWtpbmcg dG8sIGFuZCBub3Qgb3JkZXJpbmcgbXlzZWxmLCBvciBleHByZXNzaW5nIHRoZSBvYmxpZ2F0aW9u IHNvbWVvbmUgZWxzZSBoYXM/IEJlY2F1c2UgdGhlIEVuZ2xpc2ggbGFuZ3VhZ2UgdW5kZXJzdGFu ZHMgdGhhdCBvcmRlcnMsIGJ5IHRoZWlyIHZlcnkgbmF0dXJlLCBhcmUgYWx3YXlzIGRpcmVjdGVk IHRvd2FyZHMgdGhlIGxpc3RlbmVyIC0gdGhlIOKAnHlvdeKAnSwgYW5kIHNvIHRoZSBzdWJqZWN0 IGlzIG5vdCBuZWNlc3NhcnkuCgpJbiBMb2piYW4sIGVsaWRpbmcgdGhlIHN1YmplY3QgeWllbGRz ICcnem/igJllJycsIHNvIHRoYXQgcG9zc2liaWxpdHkgaXMgc2FkbHkgbm90IG9wZW4gdG8gdXMu IEluc3RlYWQsIHdlIHVzZSB0aGUgd29yZCAnJ2tvJycsIHdoaWNoIGlzIHRoZSBpbXBlcmF0aXZl IGZvcm0gb2YgJydkbycnLiBHcmFtbWF0aWNhbGx5IGFuZCBicmlkaS13aXNlLCBpdOKAmXMgZXF1 aXZhbGVudCB0byAnJ2RvJycsIGJ1dCBpdCBhZGRzIGEgbGF5ZXIgb2Ygc2VtYW50aWNzLCBzaW5j ZSBpdCB0dXJucyBldmVyeSBzdGF0ZW1lbnQgd2l0aCAnJ2tvJycgaW4gaXQgaW50byBhbiBvcmRl ci4g4oCcRG8gc3VjaCB0aGF0IHRoaXMgc2VudGVuY2UgaXMgdHJ1ZSBmb3IgeW91PScna28nJyHi gJ0gRm9yIHRoZSBzYW1lIHJlYXNvbiB3ZSBkb27igJl0IG5lZWQgdGhlIHN1YmplY3QgaW4gRW5n bGlzaCBzZW50ZW5jZXMsIHdlIGRvbuKAmXQgbmVlZCBvcmRlci13b3JkcyBkZXJpdmVkIGZyb20g YW55IG90aGVyIHN1bXRpIHRoYW4gJydkbycnLgoKCgpIb3cgY291bGQgeW91IG9yZGVyIG9uZSB0 byBnbyBmYXIgYXdheSBmb3IgYSBsb25nIHRpbWUgKHVzaW5nICcna2xhbWEnJyBhcyB0aGUgb25s eSBzZWxicmk/KQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OmtvIHZl4oCZdSB6ZeKAmXUga2xhbWF+ fgoKKCcnLmkgemHigJlhIGRhaSBh4oCZbyBtaSBjYSBjb+KAmXUgY2lza2EgbG8gZmHigJlvcm1h 4oCZbyAuaSBrbyBqaW1wZSB2YXUgLnVpJycpIC0gbG9vayB1cCBjaXNrYSBhbmQgd29yayBpdCBv dXQuCgoKClF1ZXN0aW9ucyBpbiBMb2piYW4gYXJlIHZlcnkgZWFzeSB0byBsZWFybiwgYW5kIHRo ZXkgY29tZSBpbiB0d28ga2luZHM6IEZpbGwgaW4gdGhlIGJsYW5rLCBhbmQgdHJ1ZS9mYWxzZSBx dWVzdGlvbnMuIExldOKAmXMgYmVnaW4gd2l0aCB0aGUgdHJ1ZS1mYWxzZSBxdWVzdGlvbiBraW5k IC0gdGhhdOKAmXMgcHJldHR5IG92ZXJjb21lYWJsZSwgc2luY2UgaXQgb25seSBpbnZvbHZlcyBv bmUgd29yZCwgJyd4dScnLgoKJyd4dScnIHdvcmtzIGxpa2UgYW4gYXR0aXR1ZGluYWwgaW4gdGhl IHNlbnNlIHRoYXQgaXQgY2FuIGdvIGFueXdoZXJlLCBhbmQgaXQgYXBwbGllcyB0byB0aGUgcHJl Y2VkaW5nIHdvcmQgKG9yIGNvbnN0cnVjdCkuIEl0IHRoZW4gdHJhbnNmb3JtcyB0aGUgc2VudGVu Y2UgaW50byBhIHF1ZXN0aW9uLCBhc2tpbmcgd2hldGhlciBpdCBpcyB0cnVlIG9yIG5vdC4gSW4g b3JkZXIgdG8gYWZmaXJtLCB5b3Ugc2ltcGx5IHJlcGVhdCB0aGUgYnJpZGk6CgonJ3h1IHZl4oCZ dSB6ZGFuaSBkbycnICcnLmkgdmXigJl1IHpkYW5pIG1pJycsIG9yIHlvdSBqdXN0IHJlcGVhdCB0 aGUgdGhlIHNlbGJyaSwgd2hpY2ggaXMgdGhlIGJyaWRpIHdpdGggYWxsIHRoZSBzdW10aSBhbmQg dGVuc2VzIGVsaWRlZDogJyd6ZGFuaScnLgoKVGhlcmUgaXMgYW4gZXZlbiBlYXNpZXIgd2F5IHRv IGFmZmlybSB1c2luZyBwcm8tYnJpZGlzLCBidXQgdGhvc2UgYXJlIGEgdGFsZSBmb3IgYW5vdGhl ciB0aW1lLiBUbyBhbnN3ZXIg4oCcbm/igJ0gb3Ig4oCcZmFsc2XigJ0sIHlvdSBzaW1wbHkgYW5z d2VyIHdpdGggdGhlIGJyaWRpIG5lZ2F0ZWQuIFRoYXQgdG9vLCB3aWxsIGJlIGxlZnQgZm9yIGxh dGVyLCBidXQgd2Ugd2lsbCByZXR1cm4gdG8gcXVlc3Rpb24gYW5zd2VyaW5nIGJ5IHRoZW4uCgoK ClRoZSBvdGhlciBraW5kIGlzIGZpbGwgaW4gdGhlIGJsYW5rLiBIZXJlLCB5b3UgYXNrIGZvciB0 aGUgcXVlc3Rpb24gd29yZCB0byBiZSByZXBsYWNlZCBmb3IgYSBjb25zdHJ1Y3QsIHdoaWNoIG1h a2VzIHRoZSBicmlkaSBjb3JyZWN0LiBUaGVyZSBhcmUgc2V2ZXJhbCBvZiB0aGVzZSB3b3Jkcywg ZGVwZW5kaW5nIG9uIHdoYXQgeW91IGFyZSBhc2tpbmcgYWJvdXQ6CgpfXycnbWEnJ19fIC0gc3Vt dGkgcXVlc3Rpb24KCl9fJydtbycnX18gLSBzZWxicmkgcXVlc3Rpb24KCl9fJyd4bycnX18gLSBu dW1iZXIgcXVlc3Rpb24KCl9fJydjdeKAmWUnJ19fIC0gdGVuc2UgcXVlc3Rpb24KCgoKQXMgd2Vs bCBhcyBtYW55IG90aGVycy4gVG8gYXNrIGFib3V0IGEgc3VtdGksIHlvdSB0aGVuIGp1c3QgcGxh Y2UgdGhlIHF1ZXN0aW9uIHdvcmQgd2hlcmUgeW91IHdhbnQgeW91ciBhbnN3ZXI6ICcnZG8gZHVu ZGEgbWEgbWknJyAtIGFza3MgZm9yIHRoZSB4MiB0byBiZSBmaWxsZWQgd2l0aCBhIGNvcnJlY3Qg c3VtdGkuIOKAnFlvdSBnaXZlIHdoYXQgdG8gbWU/4oCdLiBUaGUgY29tYmluYXRpb24gb2YgJydz dW10Y2l0YScnICsgJydtYScnIGlzIHZlcnkgdXNlZnVsIGluZGVlZDoKCl9fJydtdeKAmWknJ19f IC0gc3VtdGNpdGE6IG1vdGl2YXRlZCBieSB0aGUgYWJzdHJhY3Rpb24gb2Yge3N1bXRpfQoKCgon Jy5vaSBkbyBkYXJ4aSBtaSBtdeKAmWkgbWEnJyAtIOKAnE95LCB3aHkgZG8geW91IGhpdCBtZT8h 4oCdCgoKCkxldOKAmXMgdHJ5IGFub3RoZXIgb25lLiBUaGlzIHRpbWUsIHlvdSB0cmFuc2xhdGU6 CgonJy51aSBkYWkgZG8gY2EgemXigJl1IHB1IG1vJycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTri gJxZb3XigJlyZSBoYXBweSwgd2hhdCBoYXZlIHlvdSBiZWVuIGRvaW5nIGFsbCB0aGlzIGxvbmcg dGltZSB1bnRpbCBub3c/4oCdIFRlY2huaWNhbGx5LCBpdCBjb3VsZCBhbHNvIG1lYW4g4oCcd2hh dCBoYXZlIHlvdSBiZWVuP+KAnSwgYnV0IGFuc3dlcmluZyB3aXRoICcnLnVhIG5haSBsaeKAmWEg cmVtbmEnJyAoVWgsIGh1bWFuLCBvYnZpb3VzbHkpIGlzIGp1c3QgYmVpbmcgaW5jcmVkaWJseSBh bm5veWluZyBvbiBwdXJwb3NlLn5+CgoKClNpbmNlIHRvbmUgb2Ygdm9pY2Ugb3Igc2VudGVuY2Ug c3RydWN0dXJlIGRvZXMgbm90IHJldmVhbCB3aGV0aGVyIGEgc2VudGVuY2UgaXMgYSBxdWVzdGlv biBvciBub3QsIG9uZSBiZXR0ZXIgbm90IG1pc3MgdGhlIHF1ZXN0aW9uIHdvcmQuIFRoZXJlZm9y ZSwgc2luY2UgcGVvcGxlIHRlbmQgdG8gZm9jdXMgbW9yZSBvbiB3b3JkcyBpbiB0aGUgYmVnaW5u aW5nIG9yIGF0IHRoZSBlbmQgb2Ygc2VudGVuY2VzLCBpdOKAmXMgdXN1YWxseSB3b3J0aCB0aGUg d2hpbGUgdG8gcmUtb3JkZXIgdGhlIHNlbnRlbmNlIHNvIHRoYXQgdGhlIHF1ZXN0aW9uIHdvcmRz IGFyZSBhdCB0aG9zZSBwbGFjZXMuIElmIHRoYXQgaXMgbm90IGZlYXNhYmxlLCAnJ3BhdScnIGlz IGFuIGF0dGl0dWRpbmFsIG1hcmtpbmcgdGhhdCB0aGUgc2VudGVuY2UgaXMgYSBxdWVzdGlvbi4g Q29udHJhcnksICcncGF1IG5haScnIGV4cGxpY2l0bHkgbWFya3MgYW55IHF1ZXN0aW9uIGFzIGJl aW5nIHJoZXRvcmljYWwuCgoKCldoaWxlIHdlIGFyZSBvbiB0aGUgdG9waWMgb2YgcXVlc3Rpb25z LCBpdOKAmXMgYWxzbyBhcHByb3ByaWF0ZSB0byBtZW50aW9uIHRoZSB3b3JkICcna2F1JycsIHdo aWNoIGlzIGEgbWFya2VyIGZvciDigJxpbmRpcmVjdCBxdWVzdGlvbuKAnS4gV2hhdOKAmXMgYW4g aW5kaXJlY3QgcXVlc3Rpb24sIHRoZW4/IFdlbGwsIHRha2UgYSBsb29rIGF0IHRoZSBzZW50ZW5j ZTogJydtaSBkanVubyBsbyBkdeKAmXUgbWEga2F1IHpkYW5pIGRvJycgLSDigJxJIGtub3cgd2hh dCBpcyB5b3VyIGhvbWUu4oCdCgpfXycnZGp1bm8nJ19fIOKAnHgxIGtub3dzIGZhY3QocykgeDIg YXJlIHRydWUgYWJvdXQgeDMgYnkgZXBpc3RlbW9sb2d5IHg04oCdCgpPbmUgY2FuIHRoaW5rIGl0 IGFzIHRoZSBhbnN3ZXIgdG8gdGhlIHF1ZXN0aW9uICcnbWEgemRhbmkgZG8nJy4gTW9yZSByYXJl bHksIG9uZSBjYW4gbWFyayBhIG5vbi1xdWVzdGlvbiB3b3JkIHdpdGggJydrYXUnJywgaW4gd2hp Y2ggY2FzZSBvbmUgc3RpbGwgY2FuIGltYWdpbmUgaXQgYXMgdGhlIGFuc3dlciB0byBhIHF1ZXN0 aW9uOiAnJ21pIGppbXBlIGxvIGR14oCZdSBkdW5kYSB0aSBrYXUgZG8nJyAtIOKAnEkga25vdyB3 aGF0IHlvdSBoYXZlIGJlZW4gZ2l2ZW4sIGl0IGlzIHRoaXMu4oCdCgoKCgoKISFMb2piYW4gTGVz c29ucyAtIExlc3NvbiB0aGlydGVlbiAobW9ycGhvbG9neSBhbmQgd29yZCBjbGFzc2VzKQoKQmFj ayB0byBtb3JlIGhlYXZ5IChhbmQgaW50ZXJlc3RpbmcpIHN0dWZmLgoKSWYgeW91IGhhdmVu4oCZ dCBhbHJlYWR5LCBJIHN0cm9uZ2x5IHN1Z2dlc3QgeW91IGZpbmQgdGhlIExvamJhbmljIHJlY29y ZGluZyBjYWxsZWQgIlN0b3J5IFRpbWUgd2l0aCBVbmNsZSBSb2JpbiIsIG9yIGxpc3RlbiB0byBz b21lb25lIHNwZWFrIExvamJhbiBvbiBNdW1ibGUsIGFuZCB0aGVuIHByYWN0aWNlIHlvdXIgcHJv bnVuY2lhdGlvbi4gSGF2aW5nIGFuIGludGVybmFsIGNvbnZlcnNhdGlvbiBpbiB5b3VyIGhlYWQg aW4gTG9qYmFuIGlzIG9ubHkgZ29vZCBpZiBpdCBpc27igJl0IHdpdGggYWxsIHRoZSB3cm9uZyBz b3VuZHMsIGFuZCBsZWFybmluZyBwcm9udW5jaWF0aW9uIGZyb20gd3JpdHRlbiB0ZXh0IGlzIGhh cmQuIFRoZXJlZm9yZSwgdGhpcyBsZXNzb24gd2lsbCBub3QgYmUgb24gdGhlIExvamJhbiBzb3Vu ZHMsIGhvd2V2ZXIgaW1wb3J0YW50IHRoZXkgbWlnaHQgYmUsIGJ1dCBhIHNob3J0IGludHJvZHVj dGlvbiB0byB0aGUgTG9qYmFuIG1vcnBob2xvZ3kuCgoKCldoYXQgaXMgbW9ycGhvbG9neT8gVGhl IHdvcmQgaXMgZGVyaXZlZCBmcm9tIEdyZWVrIG1lYW5pbmcg4oCcdGhlIHN0dWR5IG9mIHNoYXBl c+KAnSwgYW5kIGluIHRoaXMgY29udGV4dCwgd2UgdGFsayBhYm91dCBob3cgd2UgbWFrZSB3b3Jk cyBmcm9tIGxldHRlcnMgYW5kIHNvdW5kcywgYXMgY29udHJhc3RlZCB3aXRoIHN5bnRheCAtIGhv dyB3ZSBtYWtlIHNlbnRlbmNlcyB3aXRoIHdvcmRzLiBMb2piYW4gb3BlcmF0ZXMgd2l0aCBkaWZm ZXJlbnQgbW9ycGhvbG9naWNhbCB3b3JkIGNsYXNzZXMsIHdoaWNoIGFyZSBhbGwgZGVmaW5lZCBi eSB0aGVpciBtb3JwaG9sb2d5LiBUbyBtYWtlIGl0IGFsbCBuaWNlIGFuZCBzeXN0ZW1hdGljIHRo b3VnaCwgd29yZHMgd2l0aCBjZXJ0YWluIGZ1bmN0aW9ucyB0ZW5kIHRvIGJlIGdyb3VwZWQgYnkg bW9ycGhvbG9naWNhbCBjbGFzc2VzLCBidXQgZXhjZXB0aW9ucyBtYXkgb2NjdXIuCgp8fCAgIENs YXNzfE1lYW5pbmd8RGVmaW5lZCBCeXxUeXBpY2FsIEZ1bmN0aW9uCgogICBXb3Jkczp8ICAgfCAg IHwgICAKCiAgIEJyaXZsYXwgICBicmlkaS13b3JkfCAgIEFtb25nIGZpcnN0IDUgbGV0dGVycyAo ZXhjbHVkaW5nIOKAnCDigJgg4oCcKSBpcyBhIGNvbnNvbmFudCBjbHVzdGVyLiBFbmRzIGluIHZv d2VsLiAgIHwgICBBY3RzIGFzIGEgc2VsYnJpIGJ5IGRlZmF1bHQuIEFsd2F5cyBoYXMgYSBwbGFj ZSBzdHJ1Y3R1cmUuCgogICAtLUdpc211fCAgIFJvb3Qtd29yZHwgNSBsZXR0ZXJzIG9mIHRoZSBm b3JtIENWQ0NWIG9yIENDVkNWICAgfCAgIE9uZSB0byBmaXZlIHN1bXRpIHBsYWNlcy4gQ292ZXJz IGJhc2ljIGNvbmNlcHRzLgoKICAgLS1MdWp2b3wgIENvbXBvdW5kIHdvcmQuIERlcml2ZWQgZnJv bSBmcm9tIOKAnGx1anZsYeKAnSwgbWVhbmluZyDigJxjb21wbGV4IHdvcmTigJ0gfCAgIE1pbi4g NiBsZXR0ZXJzLiBNYWRlIGJ5IHN0cmluZ2luZyByYWZzaSB0b2dldGhlciB3aXRoIGJpbmRpbmcg bGV0dGVycyBpZiBuZWNlc3NhcnkufCAgIENvdmVycyBtb3JlIGNvbXBsZXggY29uY2VwdHMgdGhh biBnaXNtdS4KCiAgIC0tRnUnaXZsYXwgIENvcHktd29yZCB8IEFzIGJyaXZsYSwgYnV0IGRvIG5v dCBtZWV0IGRlZmluaW5nIGNyaXRlcmlhIG9mIGdpc211IG9yIGx1anZvLCBleDogJydhbmdlbGkn JyAgfCAgIENvdmVycyB1bmlxdWUgY29uY2VwdHMgbGlrZSBuYW1lcyBvZiBwbGFjZXMgb3Igb3Jn YW5pc21zLgoKICAgQ21ldmxhfCAgTmFtZS13b3JkIHwgICBCZWdpbm5pbmcgYW5kIGVuZGluZyB3 aXRoIHBhdXNlIChmdWxsIHN0b3ApLiBMYXN0IHNvdW5kL2xldHRlciBpcyBhIGNvbnNvbmFudC58 ICAgQWx3YXlzIGFjdHMgYXMgYSBuYW1lIG9yIGFzIHRoZSBjb250ZW50IG9mIGEgcXVvdGUuCgog ICBDbWF2b3wgICBHcmFtbWFyLXdvcmQuIEZyb20g4oCcY21hdmxh4oCdLCBtZWFuaW5nIOKAnHNt YWxsIHdvcmTigJ18IE9uZSBjb25zb25hbnQgb3IgemVybywgYWx3YXlzIGF0IHRoZSBiZWdpbm5p bmcuIEVuZHMgaW4gYSB2b3dlbC4gIHwgICBHcmFtbWF0aWNhbCBmdW5jdGlvbnMuIFZhcmllcwoK ICAgV29yZC1mcmFnbWVudHM6fCAgIHwgICB8CgogICBSYWZzaXwgICBBZmZpeHwgIENDViwgQ1ZD LCBDVidWLCAtQ1ZDQ1YsIC1DQ1ZDViwgQ1ZDQ3ktIG9yIENDVkN5LSAgfCBOb3QgYWN0dWFsIHdv cmRzLCBidXQgY2FuIGJlIHN0cmluZ2VkIHRvZ2V0aGVyIHRvIGZvcm0gbHVqdm8gfHwKCgoKCgpf XycnY21ldmxhJydfXyBhcmUgdmVyeSBlYXN5IHRvIGlkZW50aWZ5IGJlY2F1c2UgdGhleSBiZWdp biBhbmQgZW5kIHdpdGggYSBwYXVzZSwgc2lnbmFsZWQgYnkgYSBmdWxsIHN0b3AgaW4gd3JpdGlu ZywgYW5kIHRoZSBsYXN0IGxldHRlciBpcyBhIGNvbnNvbmFudC4gY21ldmxhIGNhbuKAmXQgaGF2 ZSBhbnkgb3RoZXIgZnVuY3Rpb24gYmVzaWRlcyBhY3RpbmcgYXMgYSBuYW1lLiBPbiB0aGUgb3Ro ZXIgaGFuZCwgbmFtZXMgd2hpY2ggYXJlIG5vdCBzZWxicmkgY2Fubm90IGFwcGVhciBpbiBMb2pi YW4gd2l0aG91dCB0aGVtIGJlaW5nIGNtZXZsYSwgb3IgZW5jYXNlZCBieSBjZXJ0YWluIHF1b3Rl IHdvcmRzLiBPbmUgY2FuIG1hcmsgc3RyZXNzIGluIHRoZSBuYW1lcyBieSBjYXBpdGFsaXppbmcg dGhlIGxldHRlcnMgd2hpY2ggYXJlIHN0cmVzc2VkLiBFeGFtcGxlcyBvZiBjbWV2bGEgYXJlOiAn Jy5pb2hBTi4nJyAoSm9oYW4sIGggaXMgY2FwaXRhbCBhcG9zdHJvcGhlKSwgJycubWF0LicnIChN YXR0KSBhbmQgJycubHV0Y2lNSU4uJycgKEx1aS1DaGkgTWluKS4gTmFtZXMgd2hpY2ggZG8gbm90 IGVuZCBpbiBjb25zb25hbnRzIGhhdmUgdG8gaGF2ZSBvbmUgYWRkZWQ6ICcnLml2eW4uJycgKEV2 ZSksIG9yIChwcm9iYWJseSBiZXR0ZXIgaW4gdGhpcyBjYXNlKSByZW1vdmVkOiAnJy5pdi4nJwoK CgpfXycnYnJpdmxhJydfXyBhcmUgY2FsbGVkIOKAnGJyaWRpLXdvcmRz4oCdIGJlY2F1c2UgdGhl eSBieSBkZWZhdWx0IGFyZSBzZWxicmksIGFuZCB0aGVyZWZvcmUgYWxtb3N0IGFsbCBMb2piYW4g d29yZHMgd2l0aCBhIHBsYWNlIHN0cnVjdHVyZSBhcmUgYnJpdmxhLiBUaGlzIGhhcyBhbHNvIGdp dmVuIHRoZW0gdGhlIEVuZ2xpc2ggbmlja25hbWUg4oCcY29udGVudC13b3Jkc+KAnS4gSXTigJlz IG5lYXJseSBpbXBvc3NpYmxlIHRvIHNheSBhbnl0aGluZyB1c2VmdWwgd2l0aG91dCBicml2bGEs IGFuZCBhbG1vc3QgYWxsIHdvcmRzIGZvciBjb25jZXB0cyBvdXRzaWRlIGxvamJhbiBncmFtbWFy IChhbmQgZXZlbiBtb3N0IG9mIHRoZSB3b3JkcyBmb3IgdGhpbmdzIGluIHRoZSBsYW5ndWFnZSkg YXJlIGNhcHR1cmVkIGJ5IGJyaXZsYS4gQXMgc2hvd24gaW4gdGhlIHRhYmxlLCBicml2bGEgaGFz IHRocmVlIHN1YmNhdGVnb3JpZXM6CgpfXycnZ2lzbXUnJ19fIGFyZSB0aGUgcm9vdCB3b3JkcyBv ZiB0aGUgbGFuZ3VhZ2UuIE9ubHkgYWJvdXQgMTQ1MCBleGlzdHMsIGFuZCB2ZXJ5IGZldyBuZXcg b25lcyBhcmUgYWRkZWQuIFRoZXkgY292ZXIgdGhlIG1vc3QgYmFzaWMgY29uY2VwdHMgbGlrZSDi gJxjaXJjbGXigJ0sIOKAnGZyaWVuZOKAnSwg4oCcdHJlZeKAnSBhbmQg4oCcZHJlYW3igJ0uIEV4 YW1wbGVzIGluY2x1ZGUgJyd6ZGFuaScnLCAnJ3BlbHh1JycgYW5kICcnZHVuZGEnJwoKX18nJ2x1 anZvJydfXyBhcmUgbWFkZSBieSBjb21iaW5pbmcgcmFmc2kgKHNlZSB1bmRlciByYWZzaSksIHJl c3ByZXNlbnRpbmcgZ2lzbXUuIEJ5IGNvbWJpbmluZyByYWZzaSwgb25lIG5hcnJvd3MgZG93biB0 aGUgbWVhbmluZyBvZiB0aGUgd29yZC4gbHVqdm8gYXJlIG1hZGUgYnkgYW4gZWxhYm9yYXRlIGFs Z29yaXRobSwgc28gbWFraW5nIHZhbGlkIGx1anZvIG9uIHRoZSBmbHkgaXMgbmVhciBpbXBvc3Np YmxlLCB3aXRoIGZldyBleGNlcHRpb25zIGxpa2UgJydzZWxwYeKAmWknJywgZnJvbSAnJ3NlIHBy YW1pJycsIHdoaWNoIGNhbiBvbmx5IGhhdmUgb25lIGRlZmluaXRpb24uIEluc3RlYWQsIGx1anZv IGFyZSBtYWRlIG9uY2UsIGl0cyBwbGFjZSBzdHJ1Y3R1cmUgZGVmaW5lZCwgYW5kIHRoZW4gdGhh dCBkZWZpbml0aW9uIGlzIG1hZGUgb2ZmaWNpYWwgYnkgdGhlIGRpY3Rpb25hcnkuIEV4YW1wbGVz IGluY2x1ZGUgYnJpdmxhIChicmlkaS13b3JkKSwgJydjaW5qaWtjYScnIChzZXh1YWwtc29jaWFs aXppbmcgPSBmbGlydGluZykgYW5kICcnY2FrY2lua2knJyAoc2hlbGwtaW5zZWN0ID0gYmVldGxl KS4KCl9fJydmdeKAmWl2bGEnJ19fIGFyZSBtYWRlIGJ5IG1ha2luZyB1cCB3b3JkcyB3aGljaCBm aXQgdGhlIGRlZmluaXRpb24gZm9yIGJyaXZsYSwgYnV0IG5vdCBmb3IgbHVqdm8gb3IgZ2lzbXUu IFRoZXkgdGVuZCB0byBjb3ZlciBjb25jZXB0cyB3aGljaCBpdOKAmXMgaGFyZCB0byBjb3ZlciBi eSBsdWp2bywgZm9yIGluc3RhbmNlIG5hbWVzIG9mIHNwZWNpZXMsIG5hdGlvbnMgb3IgdmVyeSBj dWx0dXJhbCBzcGVjaWZpYyBjb25jZXB0cy4gRXhhbXBsZXMgaW5jbHVkZSAnJ2d1Z2RyZ29ndXJp bycnIChLb3JlYSkgJydjaWRqcnBpdHNhJycgKHBpenphKSBvciAnJ2FuZ2VsaScnIChhbmdlbCku CgoKCl9fJydjbWF2bycnX18gYXJlIHNtYWxsIHdvcmRzIHdpdGggb25lIG9yIHplcm8gY29uc29u YW50cy4gVGhleSB0ZW5kIHRvIG5vdCBzaWduaWZ5IGFueXRoaW5nIGluIHRoZSBleHRlcmlvciB3 b3JsZCwgYnV0IHRvIGhhdmUgb25seSBncmFtbWF0aWNhbCBmdW5jdGlvbi4gRXhjZXB0aW9ucyBv Y2N1ciwgYW5kIGl04oCZcyBkZWJhdGFibGUgaG93IG11Y2ggYXR0aXR1ZGluYWxzIGV4aXN0cyBm b3IgdGhlaXIgZ3JhbW1hdGljYWwgZnVuY3Rpb24uIEFub3RoZXIgd2VpcmQgZXhhbXBsZSBhcmUg dGhlIHdvcmRzIG9mIHRoZSBjbGFzcyBHT2hBLCB3aGljaCBhY3QgYXMgYnJpdmxhLiBJdCBpcyB2 YWxpZCB0byB0eXBlIHNldmVyYWwgY21hdm8gaW4gYSByb3cgYXMgb25lIHdvcmQsIGJ1dCBpbiB0 aGVzZSBsZXNzb25zLCB0aGF0IHdvbuKAmXQgYmUgZG9uZS4gQnkgZ3JvdXBpbmcgY2VydGFpbiBj bWF2byBpbiBmdW5jdGlvbmFsIHVuaXRzLCB0aG91Z2gsIGl0IGlzIHNvbWV0aW1lcyBlYXNpZXIg dG8gcmVhZC4gVGh1cywgJycudWlwdXp1dnVrdW1pIGNpdGthJycgaXMgdmFsaWQsIGFuZCBpcyBw YXJzZWQgYW5kIHVuZGVyc3Rvb2QgYXMgJycudWkgcHUgenUgdnUga3UgbWkgY2l0a2EnJy4gTGlr ZSBvdGhlciBMb2piYW4gd29yZHMsIG9uZSBzaG91bGQgKGJ1dCBuZWVkIG5vdCBhbHdheXMpIHBs YWNlIGEgZnVsbCBzdG9wIGJlZm9yZSBhbnkgd29yZHMgYmVnaW5uaW5nIHdpdGggYSB2b3dlbC4K CmNtYXZvIG9mIHRoZSBmb3JtIHhWViwgQ1bigJlWViBvciBW4oCZVlYgYXJlIGV4cGVyaW1lbnRh bCwgYW5kIGFyZSB3b3JkcyB3aGljaCBhcmUgbm90IGluIHRoZSBmb3JtYWwgZ3JhbW1hciwgYnV0 IHdoaWNoIGhhdmUgYmVlbiBhZGRlZCBieSBMb2piYW4gdXNlcnMgdG8gcmVzcG9uZCB0byBhIGNl cnRhaW4gbmVlZC4KCgoKX18nJ3JhZnNpJydfXyBhcmUgbm90IExvamJhbiB3b3JkcywgYW5kIGNh biBuZXZlciBhcHBlYXIgYWxvbmUuIEhvd2V2ZXIsIHNldmVyYWwgKG1vcmUgdGhhbiBvbmUpIHJh ZnNpIGNvbWJpbmUgdG8gZm9ybSBsdWp2by4gVGhlc2UgbXVzdCBzdGlsbCBsaXZlIHVwIHRvIHRo ZSBicml2bGEtZGVmaW5pdGlvbiwgZm9yIGluc3RhbmNlICcnbG9qYmFuJycgaXMgaW52YWxpZCBi ZWNhdXNlIGl0IGVuZHMgaW4gYSBjb25zb25hbnQgKHdoaWNoIG1ha2VzIGl0IGEgY21ldmxhKSwg YW5kICcnY2nigJlla2VpJycgaXMgaW52YWxpZCBiZWNhdXNlIGl0IGRvZXMgbm90IGNvbnRhaW4g YSBjb25zb25hbnQgY2x1c3RlciwgYW5kIGlzIHRodXMgcmVhZCBhcyB0d28gY21hdm8gd3JpdHRl biBhcyBvbmUgd29yZC4gT2Z0ZW4sIGEgMy00IGxldHRlciBzdHJpbmcgaXMgYm90aCBhIGNtYXZv IGFuZCBhIHJhZnNpLCBsaWtlICcnenXigJllJycsIHdoaWNoIGlzIGJvdGggdGhlIEJBSSBhbmQg dGhlIHJhZnNpIGZvciAnJ3p1a3RlJycuIE5vdGUgdGhhdCB0aGVyZSBpcyBub3doZXJlIHRoYXQg Ym90aCBhIGNtYXZvIGFuZCBhIHJhZnNpIHdvdWxkIGJlIGdyYW1tYXRpY2FsLCBzbyB0aGVzZSBh cmUgbm90IGNvbnNpZGVyZWQgaG9tb3Bob25lcy4gQWxsIGdpc211IGNhbiBkb3VibGUgYXMgcmFm c2ksIGlmIHRoZXkgYXJlIHByZWZpeGVkIHdpdGggYW5vdGhlciByYWZzaS4gVGhlIGZpcnN0IGZv dXIgbGV0dGVyIG9mIGEgZ2lzbXUgc3VmZml4ZWQgd2l0aCBhbiAieSIgY2FuIGFsc28gYWN0IGFz IGEgcmFmc2ksIGlmIHRoZXkgYXJlIHN1ZmZpeGVkIHdpdGggYW5vdGhlciByYWZzaS4gVGhlIHZv d2VsICJ5IiBjYW4gb25seSBhcHBlYXIgaW4gbHVqdm8gb3IgY21ldmxhLiBWYWxpZCByYWZzaSBs ZXR0ZXIgY29tYmluYXRpb25zIGFyZTogQ1ZWLCBDVuKAmVYsIENDViwgQ1ZDQ3ktIENDVkN5LSwg LUNWQ0NWIGFuZCAtQ0NWQ1YuCgoKClVzaW5nIHdoYXQgeW91IGtub3cgbm93LCB5b3Ugc2hvdWxk IGJlIGFibGUgdG8gYW5zd2VyIHRoZSB0ZXN0IGkgdGh1cyBwcmVzZW50OgoKQ2F0ZWdvcml6ZSBl YWNoIG9mIHRoZSBmb2xsb3dpbmcgd29yZHMgYXMgY21ldmxhIChDKSwgZ2lzbXUgKGcpLCBsdWp2 byAobCksICcnZnXigJlpdmxhJycgKGYpIG9yIGNtYXZvIChjKToKCkEgKSBqYWkgICAgICAgIEcg KSBtdW1ibAoKQiApIC5pcmNpICAgICAgICBIICkgLmnigJlpCgpDICkgYm9zdHUgICAgICAgIEkg KSBjdQoKRCApIHhlbG1hbiAgICAgICAgSiApIHBsYWp2YQoKRSApIHBv4oCZZSAgICAgICAgSyAp IGRhbnNla2UKCkYgKSBkamlza3UgICAgICAgIEwgKSAuZXJ0c2EKCgoKQW5zd2VyOiB+fmdyZXks Z3JleTphLWMsIGItZiwgYy1nLCBkLUMsIGUtYywgZi1sLCBnLUMsIGgtYywgaS1jLCBqLWwsIGst ZiwgbC1mLiBJIGxlZnQgb3V0IHRoZSBmdWxsIHN0b3BzIGJlZm9yZSBhbmQgYWZ0ZXIgbmFtZXMg c28gaXQgd291bGRu4oCZdCBiZSB0b28gZWFzeS4KCk5vdGU6IHNvbWUgb2YgdGhlc2Ugd29yZHMs IGxpa2UgJydib3N0dScnIGRvIG5vdCBleGlzdCBpbiB0aGUgZGljdGlvbmFyeSwgYnV0IHRoaXMg aXMgaXJyZWxldmFudC4gVGhlIG1vcnBob2xvZ3kgc3RpbGwgbWFrZXMgaXQgYSBnaXNtdSwgc28g aXTigJlzIGp1c3QgYW4gdW5kZWZpbmVkIGdpc211LiBTaW1pbGFybHkgd2l0aCAnJy5lcnRzYScn fn4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIGZvdXJ0ZWVuICh0aGUgTG9qYmFuIHN1 bXRpIDE6IExFIGFuZCBMQSkKCklmIHlvdSBoYXZlIHJlYWQgYW5kIHVuZGVyc3Rvb2QgdGhlIGNv bnRlbnQgb2YgYWxsIHRoZSBsZXNzb25zIHVudGlsIG5vdywgeW91IGhhdmUgYW1hc3NlZCBhIGxh cmdlIGVub3VnaCBrbm93bGVkZ2Ugb2YgTG9qYmFuIHNvIHRoYXQgaXQgZG9lc27igJl0IG1hdHRl ciBpbiB3aGljaCBvcmRlciB5b3UgbGVhcm4gdGhlIHJlc3QuIEFzIGEgcmVzdWx0LCB0aGUgb3Jk ZXIgb2YgdGhlIG5leHQgbGVzc29ucyB3aWxsIGJlIGEgbWl4dHVyZSBvZiBzb3J0ZWQgYnkgaW5j cmVhc2luZyBkaWZmaWN1bHR5IGFuZCBzb3J0ZWQgYnkgaW1wb3J0YW5jZSBpbiBvcmRpbmFyeSBM b2piYW4gY29udmVyc2F0aW9uLgoKCgpPbmUgb2YgdGhlIGJpZ2dlc3QgY29uc3RyYWlucyBvbiB5 b3VyIHNwZWFrIG5vdyBpcyB5b3VyIGxpbWl0ZWQga25vd2xlZGdlIG9uIGhvdyB0byBtYWtlIHN1 bXRpLiBTbyBmYXIsIHlvdSBvbmx5IGtub3cgJyd0aScnIGFuZCAnJ2xvIFNFTEJSSScnLCB3aGlj aCBkb2VzbuKAmXQgdGFrZSB5b3UgZmFyIGNvbnNpZGVyaW5nIGhvdyBpbXBvcnRhbnQgc3VtdGkg YXJlIGluIExvamJhbi4gVGhpcyBsZXNzb24gYXMgd2VsbCBhcyB0aGUgZm9sbG93aW5nIHR3byB3 aWxsIGJlIGFib3V0IHRoZSBMb2piYW4gc3VtdGkuIEZvciBub3csIHdlIGZvY3VzIG9uIHRoZSBk ZXNjcmlwdGl2ZS1saWtlIHN1bXRpLCB0aGUgb25lcyBtYWRlIHdpdGggYXJ0aWNsZXMgbGlrZSAn J2xvJycKCkFydGljbGVzIGFyZSBpbiBsb2piYW4gY2FsbGVkICcnZ2FkcmknJywgYW5kIGFsbCB0 aGUgb25lcyBkaXNjdXNzZWQgaW4gdGhpcyBsZXNzb24gYXJlIHRlcm1pbmF0ZWQgYnkgJydrdScn IChleGNlcHQgdGhlIGNvbWJpbmF0aW9uICcnbGEgQ01FVkxBJycpLiBXZSB3aWxsIGJlZ2luIGJ5 IGRlc2NyaWJpbmcgdGhyZWUgc2ltcGxlIGtpbmRzLCBhbmQgdGhlbiBpbW1lZGlhdGVseSBmaW5k IHRoYXQgdGhleSBhcmUgbm90IHNvIHNpbXBsZSBhZnRlciBhbGw6CgpfXycnbG8nJ19fIC0gIGdh ZHJpOiBHZW5lcmljIHZlcmlkaWNhbCDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gUmVz dWx0IGlzIHZhZ3VlIHdpdGggcmVnYXJkIHRvIGluZGl2aWR1YWxpdHkvbWFzcy1uZXNzLgoKX18n J2xlJydfXyAtIGdhZHJpOiBHZW5lcmljIGRlc2NyaXB0aXZlIOKAnGNvbnZlcnQgc2VsYnJpIHRv IHN1bXRp4oCdLiBSZXN1bHQgaXMgdmFndWUgd2l0aCByZWdhcmQgdG8gaW5kaXZpZHVhbGl0eS9t YXNzLW5lc3MuCgpfXycnbGEnJ19fIC0gZ2Fkcmk6IE5hbWluZyBhcnRpY2xlOiBDb252ZW50aW9u YWwsIOKAnGNvbnZlcnQgc2VsYnJpIG9yIGNtZXZsYSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0 IGFzIGluZGl2aWR1YWwocykuCgoKCllvdSBhcmUgYWxyZWFkeSBmYW1pbGlhciB3aXRoICcnbG8n JyBhbmQgd2hhdCBpdCBkb2VzLiBCdXQgd2hhdCBkb2VzIGl0IG1lYW4sIOKAnFZlcmlkaWNhbOKA nSBhbmQg4oCcVHJlYXQgcmVzdWx0IGFzIGluZGl2aWR1YWxz4oCdPyBUaGUgbGF0dGVyIGFib3V0 IGluZGl2aWR1YWxzLCBJ4oCZbGwgY29tZSBiYWNrIHRvIGxhdGVyIHdoZW4gc3BlYWtpbmcgYWJv dXQgbWFzc2VzLiBGb3Igbm93LCDigJx2ZXJpZGljYWzigJ0gaW4gdGhpcyBjb250ZXh0IG1lYW5z IHRoYXQgaW4gb3JkZXIgZm9yIGEgdGhpbmcgdG8gcXVhbGlmeSBiZWdpbiBsYWJlbGxlZCBhcyAn J2xvIGtsYW1hJycsIGl0IGhhcyB0byBhY3R1YWxseSAnJ2tsYW1hJycuIFRodXMsIHZlcmlkaWNh bCAnJ2dhZHJpJycgbWFrZXMgYSBjbGFpbSB3aGljaCBtYXkgYmUgdHJ1ZSBvciBmYWxzZSAtIHRo YXQgdGhlIG9iamVjdChzKSBpbiBxdWVzdGlvbiBhcmUgYWN0dWFsbHkgdGhlIHgxIG9mIHRoZSBz ZWxicmkgYWZ0ZXIgJydsbycnLgoKCgpUaGlzIG1heSBiZSBjb250cmFzdGVkIHdpdGggJydsZScn LCB3aGljaCBpcyBkZXNjcmlwdGl2ZSwgYW5kIHRodXMgbm90IHZlcmlkaWNhbC4gU2F5aW5nICcn bGUgZ2Vya3UnJyBzYXlzIHRoYXQgeW91IGhhdmUgb25lIG9yIG1vcmUgc3BlY2lmaWMgb2JqZWN0 cyBpbiBtaW5kLCBhbmQgeW91IHVzZSB0aGUgc2VsYnJpICcnZ2Vya3UnJyB0byBkZXNjcmliZSBp dCwgc28gdGhhdCB0aGUgbGlzdGVuZXIgbWF5IGlkZW50aWZ5IHRob3NlIHNwZWNpZmljIG9iamVj dHMuVGhpcyBtZWFucyB0aGF0ICcnbGUnJyBoYXZlcyB0d28gaW1wb3J0YW50IGRpZmZlcmVuY2Vz IGZyb20gJydsbycnOiBGaXJzdGx5LCBpdCBkb2VzIG5vdCByZWZlciB0byBvYmplY3RzIGluIGdl bmVyYWwsIGJ1dCB0byBzcGVjaWZpYyBvYmplY3RzLiBTZWNvbmRseSwgd2hpbGUgJydsbyBnZXJr dScnIGRlZmluaXRlbHkgaXMgb25lIG9yIG1vcmUgZG9ncywgJydsZSBnZXJrdScnLCBiZWNhdXNl IGl04oCZcyBub3QgdmVyaWRpY2FsLCBjYW4gYmUgYW55dGhpbmcsIGFzIGxvbmcgYXMgdGhlIHNw ZWFrZXIgdGhpbmtzIHRoZSBkZXNjcmlwdGlvbiB3aWxsIGhlbHAgaWRlbnRpZnlpbmcgdGhlIGNv cnJlY3Qgb2JqZWN0cy4gUGVyaGFwcyB0aGUgc3BlYWtlciBpcyByZWZlcnJpbmcgdG8gYSBoeWVu YSwgYnV0IGFyZSBub3QgZmFtaWxpYXIgd2l0aCB0aGVtIGFuZCB0aGluayDigJxkb2figJ0gaXMg YSBnb29kIGVub3VnaCBhcHByb3hpbWF0aW9uIHRvIGJlIHVuZGVyc3Rvb2QuIFRoaXMgbm9uLXZl cmlkaWNhbGl0eSBpcyBwZXJoYXBzIG92ZXItZW1waGFzaXNlZCBpbiBtb3N0IG1hbnkgdGV4dHM7 IFRoZSBiZXN0IHdheSB0byBkZXNjcmliZSBhIGRvZyBpcyB1c3VhbGx5IHRvIGRlc2NyaWJlIGl0 IGFzIGJlaW5nIGEgZG9nLCBhbmQgdW5sZXNzIHRoZXJlIGlzIGEgZ29vZCByZWFzb24gbm90IHRv LCAnJ2xlIGdlcmt1JycgaXMgdXN1YWxseSBwcmVzdW1lZCB0byByZWZlciB0byBzb21ldGhpbmcg d2hpY2ggaXMgYWxzbyAnJ2xvIGdlcmt1JycuCgpJbiB0cmFuc2xhdGlvbiwgJydsbyBnZXJrdScn IGlzIHVzdWFsbHkg4oCcYSBkb2figJ0gb3Ig4oCcc29tZSBkb2dz4oCdLCB3aGlsZSAnJ2xlIGdl cmt1JycgaXMg4oCcdGhlIGRvZ+KAnSBvciDigJx0aGUgZG9nc+KAnS4gRXZlbiBiZXR0ZXIgZm9y ICcnbGUgZ2Vya3UnJyB3b3VsZCBiZSDigJx0aGUg4oCcZG9nKHMp4oCdIOKAnQoKCgpMYXN0IG9m IHRoZSB0aHJlZSBiYXNpYyAnJ2dhZHJpJycsIHRoZXJlIGlzICcnbGEnJywgdGhlIG5hbWluZyAn J2dhZHJpJycsIHdoaWNoIEkgaGF2ZSB1bmNvbnZlbnRpb25hbGx5IGNhbGxlZCDigJxjb252ZW50 aW9uYWzigJ0uIFdoYXQgSSBtZWFuIGJ5IHRoaXMgaXMgdGhhdCBpdOKAmXMgbmVpdGhlciBkZXNj cmlwdGl2ZSBub3IgdmVyaWRpY2FsLCBzaW5jZSBpdCByZWZlcnMgdG8gYSBwcm9wZXIgbmFtZS4g SWYgSSBpbiBFbmdsaXNoIHJlZmVyIHRvIGEgcGVyc29uIGNhbGxlZCBJbm5vY2VudCBieSBoZXIg bmFtZSwgSSBuZWl0aGVyIGRlc2NyaWJlIGhlciBhcyBiZWluZyBpbm5vY2VudCwgbm9yIGRvIEkg c3RhdGUgdGhhdCBzaGUgaXMuIEkgb25seSBzdGF0ZSB0aGF0IGJ5IGNvbnZlbnRpb24sIHRoYXQg b2JqZWN0IGlzIHJlZmVycmVkIHRvIGJ5IHRoYXQgc2VsYnJpIG9yIGNtZXZsYS4gTm90ZSB0aGF0 ICcnbGEnJyBhbmQgdGhlICcnZ2FkcmknJyBkZXJpdmVkIGZyb20gaXQgY2FuIGNvbnZlcnQgY21l dmxhIHRvIHN1bXRpIHVubGlrZSBhbnkgb3RoZXIgJydnYWRyaScnLiBBbHNvOiBCZSBjYXV0aW91 czogT3RoZXIgdGV4dHMgZG9lcyBub3QgbWVudGlvbiB0aGF0IG5hbWVzIGNhbiBiZSBmb3JtZWQg ZnJvbSBvcmRpbmFyeSBzZWxicmkgdXNpbmcgdGhlIGdhZHJpICcnbGEnJy4gQnV0IHRob3NlIGhl cmV0aWNzIG11c3QgYnVybjsgc2VsYnJpIG5hbWVzIGFyZSBhcyBnb29kIGFzIHRoZXkgZ2V0LCBh bmQgbWFueSBhIHByb3VkIExvamJhbmlzdCBoYXZlIHRoZW0uCgoKClRoZXNlIHRocmVlIGJhc2lj ICcnZ2FkcmknJyBjYW4gYmUgZXhwYW5kZWQgd2l0aCB0aHJlZSBtb3JlLCB3aGljaCBjb3JyZXNw b25kcyB0byB0aGUgcHJldmlvdXM6CgoKCl9fJydsb2knJ19fIC0gZ2Fkcmk6IFZlcmlkaWNhbCDi gJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIG1hc3MoZXMpLgoK X18nJ2xlaScnX18gLSBnYWRyaTogRGVzY3JpcHRpdmUg4oCcY29udmVydCBzZWxicmkgdG8gc3Vt dGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBhIG1hc3MoZXMpLgoKX18nJ2xhaScnX18gLSBnYWRyaTog TmFtaW5nIGFydGljbGU6IENvbnZlbnRpb25hbCwg4oCcY29udmVydCBzZWxicmkgb3IgY21ldmxh IHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgbWFzcyhlcykuCgoKClRoZXNlIGFyZSB0aGUg c2FtZSBpbiBhbGwgYXNwZWN0cyBleGNlcHQgZm9yIG9uZTogVGhleSB0cmVhdCB0aGUgc3VtdGkg ZXhwbGljaXRseSBhcyBtYXNzZXMuIElmIHRoZXJlIGlzIG9ubHkgb25lIG9iamVjdCBpbiBxdWVz dGlvbiwgYW4gaW5kaXZpZHVhbCBhbmQgYSBtYXNzIGNvbnNpc3Rpbmcgb2Ygb25lIG9iamVjdCBh cmUgZXF1aXZhbGVudC4gVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGVzZSB0d28gY29uY2VwdHMg bGllIGluIHdoaWNoIHNlbGJyaSBjYW4gYmUgYXNjcmliZWQgdG8gYSBncm91cCBvZiBpbmRpdmlk dWFscyB2ZXJzdXMgYSBtYXNzLiBBIGdyb3VwIG9mIGluZGl2aWR1YWxzIGNhbiBiZSBzYWlkIHRv IGZpdCBhIGNlcnRhaW4gc2VsYnJpLCBpZiBhbGwgbWVtYmVycyBvZiB0aGUgZ3JvdXAgZWFjaCBm aXQgdGhlIHNlbGJyaS4gSXQgaXMgY29ycmVjdCB0byBkZXNjcmliZSBhIHBhY2sgb2YgJydsbyBn ZXJrdScnLCBhcyBiZWluZyBibGFjaywgaWYgZm9yIGVhY2ggb2YgdGhlIGRvZ3MgaXTigJlzIHRy dWUgdGhhdCB0aGV5IGFyZSBibGFjay4gQSBtYXNzLCBvbiB0aGUgb3RoZXIgaGFuZCwgZml0cyBh bGwgdGhlIHNlbGJyaSB3aGljaCBhbnkgb2YgaXRzIG1lbWJlcnMgZml0LCBhcyB3ZWxsIGFzIHRo ZSBzZWxicmkgd2hpY2ggbm9uZSBvZiB0aGUgbWVtYmVycyBmaXQsIGJ1dCB3aGljaCB0aGUgZ3Jv dXAgY29uc2lkZXJlZCBhcyBhIHdob2xlIGRvZXMuIFRodXMsIGEgbWFzcyBvZiBkb2dzIGNhbiBi ZSBib3RoIGJsYWNrIGFuZCB3aGl0ZS4gSG93ZXZlciwgYWxsIHRoZSBtZW1iZXJzIG9mIHRoZSBt YXNzIG9mIGRvZ3MgbXVzdCBiZSBkb2dzIGluIG9yZGVyIGZvciAnJ2xvaScnIHRvIGJlIGFwcGxp Y2FibGUuIEFub3RoZXIgZXhhbXBsZSBjYW4gaWxsdXN0cmF0ZSBob3cgYSBtYXNzIGNhbiBoYXZl IHByb3BlcnRpZXMgd2hpY2ggbm9uZSBvZiBpdHMgbWVtYmVycyBoYXM6CgpfXycnc3J1cmknJ19f OiDigJx4MSBmbGFua3MvZW5jaXJjbGVzL2VuY2xvc2VzIHgyIGluIGxpbmUvcGxhbmUvZGlyZWN0 aW9ucyB4M+KAnQoKJydsZWkgcHJlbnUgY3Ugc3J1cmkgbG8gemRhbmknJyAtIOKAnFRoZSBwZW9w bGUgc3Vycm91bmRlZCB0aGUgaG9tZS7igJ0gaXMgcGxhdXNpYmxlLCBldmVuIHRob3VnaCwgeW8g bW9tYSBqb2tlcyBub3QgY29uc2lkZXJlZCwgaXTigJlzIGNvbXBsZXRlbHkgaW1wbGF1c2libGUg dGhhdCBpdCBjb3VsZCBiZSB0cnVlIGZvciBhbnkgb25lIG9mIHRoZSBtZW1iZXJzIGFsb25lLiBB biBFbmdsaXNoIGFuYWxvZ3kgY291bGQgYmU6IOKAnEh1bWFucyBkZWZlYXRlZCBzbWFsbHBveCBp biB0aGUgMjB0aCBjZW50dXJ54oCdLiBTdXJlbHkgbm8gaHVtYW4gZGlkIHNvLCBidXQgdGhlIG1h c3Mgb2YgaHVtYW5zIGRpZCwgYW5kIHRoYXQgbWFrZXMgdGhlIHNlbnRlbmNlIHRydWUgaW4gRW5n bGlzaCwgYXMgd2VsbCBhcyBpbiBMb2piYW4gaWYg4oCcaHVtYW5z4oCdIGFyZSBhIG1hc3MuIEp1 c3QgbGlrZSB0aGUgTG9qYmFuIG1hc3MsIHRoZSBFbmdsaXNoIG1hc3Mg4oCcaHVtYW5z4oCdIGNh biBvbmx5IHJlZmVyIHRvIGluZGl2aWR1YWxzIGVhY2ggb2Ygd2hpY2ggYXJlIGh1bWFuLgoKJyds ZWkgZ2Vya3UnJyByZWZlcnMgdG8gYSBtYXNzIGZvcm1lZCBieSBhIGdyb3VwIG9mIHNwZWNpZmlj IGluZGl2aWR1YWxzLCBlYWNoIG9mIHdoaWNoIHRoZSBzcGVha2VyIHJlZmVycyB0byBhcyAnJ2xl IGdlcmt1JycuCgpNYXNzIG5hbWVzIGFzIGRlc2NyaWJlcyBieSAnJ2xhaScnIGFyZSBvbmx5IGFw cHJvcHJpYXRlIGlmIHRoZSBncm91cCBhcyBhIHdob2xlIGlzIG5hbWVkIHN1Y2gsIGFuZCBub3Qg anVzdCBpZiBhbnkgb2YgdGhlIG1lbWJlcnMgYXJlLiBJdCBjYW4sIGhvd2V2ZXIgYmUgdXNlZCBp ZiB0aGUgYnJpZGkgaXMgdHJ1ZSBmb3Igb25seSBhIGZyYWN0aW9uIG9mIHRoYXQgZ3JvdXAuCgoK CllvdSBtaWdodCBoYXZlIG5vdGljZWQgdGhhdCB0aGVyZSBpcyBubyB3b3JkIHdoaWNoIHVuYW1i aWd1b3VzbHkgY29udmVydHMgc2VsYnJpIHRvIGluZGl2aWR1YWwocykuIEluIG9yZGVyIHRvIGJl IGV4cGxpY2l0IGFib3V0IGluZGl2aWR1YWxuZXNzLCBvbmUgbmVlZHMgJydsbycnLCAnJ2xlJycg b3IgJydsYScnIHdpdGggYW4gb3V0ZXIgcXVhbnRpZmllci4gVGhlIHN1YmplY3Qgb2YgcXVhbnRp ZmllcnMgd2lsbCBiZSBjb25zaWRlcmVkIGxhdGVyLCBpbiBsZXNzb24gdHdlbnR5LXR3by4gV2hh dCBpcyB0aGUgcmVhc29uIHRoYXQgJydsbycnIGFuZCAnJ2xlJycgdmFndWUsIGFuZCBub3QgZXhw bGljaXRseSBpbmRpdmlkdWFsPyBJdCBpcyBiZWNhdXNlIHRoZWlyIHZhZ3VlbmVzcyBlbmFibGVz IHRoZW0gdG8gYmUgdXNlZCBpbiBhbnkgY29udGV4dCwgd2l0aG91dCB0aGUgc3BlYWtlciBoYXZp bmcgdG8gdGhpbmsgYWJvdXQgd2hldGhlciBpcyBiZWhhdmVzIGFzIGEgbWFzcyBvciBhIGdyb3Vw IG9mIGluZGl2aWR1YWxzLgoKCgpUaGlyZCBpbiB0aGlzIHNlcmllcywgdGhlcmUgYXJlIHRocmVl IHNldC1mb3JtaW5nICcnZ2FkcmknJzoKCgoKX18nJ2xvJ2knJ19fIC0gZ2Fkcmk6IFZlcmlkaWNh bCDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGEgc2V0LgoK X18nJ2xl4oCZaScnX18gLSBnYWRyaTogRGVzY3JpcHRpdmUg4oCcY29udmVydCBzZWxicmkgdG8g c3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBhIHNldC4KCl9fJydsYeKAmWknJ19fIC0gZ2Fkcmk6 IE5hbWluZyBhcnRpY2xlOiBDb252ZW50aW9uYWwsIOKAnGNvbnZlcnQgc2VsYnJpIG9yIGNtZXZs YSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGEgc2V0LgoKCgpVbmxpa2UgZ3JvdXBzIG9m IGluZGl2aWR1YWxzIG9yIG1hc3Nlcywgc2V0cyBkb2VzIG5vdCB0YWtlIGFueSBvZiB0aGUgcHJv cGVydGllcyBmcm9tIHRoZSBvYmplY3RzIGZyb20gd2hpY2ggdGhlIHNldCBpcyBmb3JtZWQuIEEg c2V0IGlzIGEgcHVyZWx5IG1hdGhlbWF0aWNhbCBvciBsb2dpY2FsIGNvbnN0cnVjdCwgYW5kIGhh cyBwcm9wZXJ0aWVzIGxpa2UgY2FyZGluYWxpdHksIG1lbWJlcnNoaXAgYW5kIHNldCBpbmNsdXNp b24uIEFnYWluLCBub3RlIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYSBzZXQgb2YgdGhpbmdzLCBh bmQgdGhlIHRoaW5ncyBvZiB3aGljaCB0aGUgc2V0IGlzIGZvcm1lZDoKCl9fJyd0aXJ4dScnX18g 4oCceDEgaXMgYSB0aWdlci9sZW9wYXJkL2phZ3VhciBvZiBzcGVjaWVzL2JyZWVkIHgyIHdpdGgg Y29hdCBtYXJraW5ncyB4M+KAnQoKJydsb+KAmWkgdGlyeHUgY3UgY21hbHUnJyBzYXlzIG5vdGhp bmcgYWJvdXQgd2hldGhlciBiaWcgY2F0cyBhcmUgc21hbGwgKHdoaWNoIGlzLCBieSB0aGUgd2F5 LCBvYnZpb3VzbHkgZmFsc2UpLCBidXQgaW5zdGVhZCBzYXkgdGhhdCB0aGUgc2V0IG9mIGJpZyBj YXRzIGlzIHNtYWxsOyB0aGF0IGlzIC0gdGhlcmUgYXJlIGZldyBvZiB0aGVtLgoKCgpMYXN0bHks IHRoZXJlIGFyZSB0aGUgKG9ubHkgdHdvKSBnZW5lcmFsaXppbmcgJydnYWRyaScnOgoKX18nJ2xv 4oCZZScnX18gLSBnYWRyaTogVmVyaWRpY2FsIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCd LiBTdW10aSByZWZlcnMgdG8gdGhlIGFyY2hldHlwZSBvZiAnJ2xvIHtzZWxicml9JycuCgpfXycn bGXigJllJydfXyAtIGdhZHJpOiBEZXNjcmlwdGl2ZSDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10 aeKAnS4gU3VtdGkgcmVmZXJzIHRvIHRoZSBkZXNjcmliZWQvcGVyY2VpdmVkIGFyY2hldHlwZSBv ZiAnJ2xlIHtzZWxicml9JycuCgpPZiB3aGljaCB0aGVyZSBpcyBubyAnJ2xhJyctZXF1aXZhbGVu dC4KCgoKU28sIHdoYXQgaXMgYWN0dWFsbHkgbWVhbnQgYnkgdGhlIGFyY2hldHlwZT8gRm9yICcn bG/igJllIHRpcnh1JycsIGl0IGlzIGFuIGlkZWFsLCBpbWFnaW5lZCBiaWcgY2F0LCB3aGljaCBo YXMgYWxsIHRoZSBwcm9wZXJ0aWVzIHdoaWNoIGJlc3QgZXhlbXBsaWZpZXMgYmlnIGNhdHMuIEl0 IHdvdWxkIGJlIHdyb25nIHRvIHNheSB0aGF0IHRoaXMgaW5jbHVkZXMgaGF2aW5nIGEgc3RyaXBl ZCBmdXIsIHNpbmNlIGEgYmlnIHN5c3RlbWF0aWMgc3ViZ3JvdXAgb2YgdGhlIG1lbWJlcnMgb2Yg dGhlIHNldCBvZiBiaWcgY2F0cyBkbyBub3QgaGF2ZSBzdHJpcGVkIGZ1ciwgdGhlIGxlb3BhcmRz IGFuZCB0aGUgamFndWFycy4gTGlrZXdpc2UsIHRoZSB0eXBpY2FsIGh1bWFuIGRvZXMgbm90IGxp dmUgaW4gQXNpYSBldmVuIHRob3VnaCBhIGxvdCBvZiBodW1hbnMgZG8uIEhvd2V2ZXIsIGlmIHN1 ZmZpY2llbnRseSBtYW55IGh1bWFucyBoYXZlIGEgdHJhaXQsIGZvciBpbnN0YW5jZSBiZWluZyBh YmxlIHRvIHNwZWFrLCB3ZSBjYW4gc2F5OgoKX18nJ2tha25lJydfXzog4oCceDEgaXMgY2FwYWJs ZSBvZiBkb2luZy9iZWluZyB4MiB1bmRlciBjaXJjdW1zdGFuY2UgeDPigJ0KCicnbG/igJllIHJl bW5hIGN1IGtha25lIGxvIG51IHRhdmxhJycgLSDigJxUaGUgdHlwaWNhbCBodW1hbiBiZWluZyBj YW4gc3BlYWvigJ0uCgoKCicnbGXigJllJycgdGhlbiwgaXMgdGhlIGlkZWFsIG9iamVjdCBhcyBw ZXJjZWl2ZWQgb3IgZGVzY3JpYmVkIGJ5IHRoZSBzcGVha2VyLiBUaGlzIG5lZWQgbm90IGJlIGZh Y3R1YWxseSBjb3JyZWN0LCBhbmQgaXMgb2Z0ZW4gdHJhbnNsYXRlZCBhcyB0aGUg4oCcc3RlcmVv dHlwZeKAnSwgZXZlbiB0aG91Z2ggdGhlIEVuZ2xpc2ggcGhyYXNlIGhhdmUgc29tZSB1bnBsZWFz YW50IG5lZ2F0aXZlIGNvbm5vdGF0aW9ucywgd2hpY2ggdGhlIExvamJhbiBkb2VzIG5vdC4gSW4g ZmFjdCwgZXZlcnlvbmUgaGFzIGEgc3RlcmVvdHlwaWNhbCBhcmNoZXR5cGljaGFsIGltYWdlIG9m IGFueSBjYXRlZ29yeS4gSW4gb3RoZXIgd29yZHMsICcnbG/igJllIHJlbW5hJycgaXMgdGhlIGFy Y2hldHlwZSB3aGljaCBiZXN0IGV4ZW1wbGlmaWVzIGFsbCAnJ2xvIHJlbW5hJycsIHdoaWxlIHRo ZSBhcmNoZXR5cGUgJydsZeKAmWUgcmVtbmEnJyBiZXN0IGV4ZW1wbGlmaWVzIGFsbCAnJ2xlIHJl bW5hJycuCgoKClRoZSBlbGV2ZW4gZ2FkcmkgY2FuIGJlIHNlZW4gaW4gdGhlIGRpYWdyYW0gYmVs b3cuCgp8fCB8R2VuZXJpY3xNYXNzZXN8U2V0c3xHZW5lcmFsaXppbmcKClZlcmlkaWNhbHxsb3xs b2l8bG/igJlpfGxv4oCZZQoKRGVzY3JpcHRpdmV8bGV8bGVpfGxl4oCZaXxsZeKAmWUKCk5hbWV8 bGF8bGFpfGxh4oCZaXxkb2VzIG5vdCBleGlzdHx8CgoKCk5vdGU6IEVhcmxpZXIsIHRoZXJlIHdh cyBhIHdvcmQgJyd4b+KAmWUnJyBmb3IgdGhlIGdlbmVyaWMgZ2FkcmkuIEhvd2V2ZXIsIHRoZSBy dWxlcyBhbmQgZGVmaW5pdGlvbnMgZm9yIGdhZHJpIHdlcmUgY2hhbmdlZCBpbiBsYXRlIDIwMDQs IGFuZCB0aGUgY3VycmVudCBzZXQgb2YgcnVsZXMgb24gdGhpcyB0b3BpYywgbmlja2VkIOKAnHhv cmxv4oCdIGhhcyByZXBsYWNlZCB0aGUgb2xkIHdheS4gTm93LCAnJ2xvJycgaXMgZ2VuZXJpYywg YW5kICcneG/igJllJycgaXMgdXNlZCBhcyBhIGVsbGlwdGljYWwgZGlnaXQgKGxlc3NvbiBuaW5l dGVlbikuCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBmaWZ0ZWVuICh0aGUgTG9qYmFu IHN1bXRpIDI6IEtPaEEzLCBLT2hBNSBhbmQgS09oQTYpCgpTZWUgd2hhdCBoYXBwZW5zIGlmIEkg dHJ5IHRvIHRyYW5zbGF0ZSB0aGUgc2VudGVuY2U6IOKAnFN0ZXJlb3R5cGljYWwgcGVvcGxlIHdo byBjYW4gc3BlYWsgTG9qYmFuIHNwZWFrIHRvIGVhY2ggb3RoZXIgYWJvdXQgdGhlIGxhbmd1YWdl cyB0aGV5IGNhbiBzcGVha+KAnToKCl9fJydiYW5ndScnX18g4oCceDEgaXMgYSBsYW5ndWFnZSB1 c2VkIGJ5IHgyIHRvIGV4cHJlc3MgeDMgKGFic3RyYWN0aW9uKeKAnQoKJydsZeKAmWUgcHJlbnUg cG9pIGtl4oCZYSBrYWtuZSBsbyBudSB0YXZsYSBmbyBsYSAubG9qYmFuLiBjdSB0YXZsYSBsZeKA mWUgcHJlbnUgcG9pIGtl4oCZYSBrYWtuZSBsbyBudSB0YXZsYSBmbyBsYSAubG9qYmFuLiBsbyBi YW5ndSBwb2kgbG8gcHJlbnUgcG9pIGtl4oCZYSB0YXZsYSBmbyBsYSAubG9qYmFuLiBjdSBzZSBi YW5ndSBrZeKAmWEnJwoKCgpXaGF0IHdlIHNlZSBpcyB0aGF0IHRoZSBMb2piYW4gdmVyc2lvbiBp cyBtdWNoIGxvbmdlciB0aGFuIHRoZSBFbmdsaXNoLiBUaGlzIGlzIHByaW1hcmlseSBiZWNhdXNl IHRoZSBmaXJzdCwgcmlkaWN1bG91c2x5IGxvbmcgc3VtdGkgaXMgYmVpbmcgcmVwZWF0ZWQgdHdv IG1vcmUgdGltZXMgaW4gdGhlIExvamJhbiB0ZXh0LCB3aGlsZSB0aGUgRW5nbGlzaCBjYW4gcmVm ZXIgdG8gaXQgYnkg4oCcZWFjaCBvdGhlcuKAnSBhbmQg4oCcdGhleeKAnSAtIG11Y2ggbW9yZSBl ZmZpY2llbnRseS4gV291bGRu4oCZdCBpdCBiZSBjbGV2ZXIgaWYgTG9qYmFuIHNvbWVob3cgaGFk IG1lY2hhbmlzbXMgZm9yIGRvaW5nIHRoZSBzYW1lPwoKCgpJdCB0dXJucyBvdXQgaXQgZG9lcywg d2hhdCBhIHN1cnByaXNlISBMb2piYW4gaGFzIGEgcmFuZ2Ugb2Ygd29yZHMgY2FsbGVkICcnc3Vt a2HigJlpJycgbWVhbmluZyDigJxzdW10aS1yZXByZXNlbnRhdGl2ZXPigJ0uIEluIEVuZ2xpc2gs IHdlIHJlZmVyIHRvIHRoZW0gYXMgcHJvLXN1bXRpLCBiZWNhdXNlIHRoZXkgYXJlIGVzc2VudGlh bGx5IHRoZSBzYW1lIGFzIHRoZSBFbmdsaXNoIHByb25vdW5zLCBidXQgd2l0aCBzdW10aSBpbnN0 ZWFkIG9mIG5vdW5zLiBJbiBmYWN0LCB5b3UgYWxyZWFkeSBrbm93ICcndGknJywgJydkbycnIGFu ZCAnJ21pJycsIGJ1dCB0aGVyZSBhcmUgbWFueSBtb3JlLCBzbyBsZXTigJlzIGdldCBsZWFybmlu Zy4gRmlyc3QsIHdlIHdhbnQgdG8gcHV0IGl0IGludG8gc3lzdGVtLiBXZSBjYW4gYmVnaW4gd2l0 aCB0aGUgb25lcyBtb3N0IGZhbWlsaWFyIHRvIEVuZ2xpc2gsIGFuZCB3aGF0IHlvdeKAmXZlIGFs cmVhZHkgbGVhcm5lZDoKCgoKX18nJ3RpJydfXyAtIHN1bWth4oCZaTog4oCcaW1tZWRpYXRlIOKA mGl04oCZOiByZXByZXNlbnRzIGEgc3VtdGkgcGh5c2ljYWxseSBuZWFyIHRoZSBzcGVha2Vy4oCd CgpfXycndGEnJ19fIC0gc3Vta2HigJlpOiDigJxuZWFyYnkg4oCYaXTigJk6IHJlcHJlc2VudHMg YSBzdW10aSBzb21lIHBoeXNpY2FsIGRpc3RhbmNlIGZyb20gdGhlIHNwZWFrZXIgT1IgY2xvc2Ug dG8gdGhlIGxpc3RlbmVy4oCdCgpfXycndHUnJ19fIC0gc3Vta2HigJlpOiDigJxkaXN0YW50IOKA mGl04oCZOiByZXByZXNlbnRzIGEgc3VtdGkgcGh5c2ljYWxseSBmYXIgZnJvbSB0aGUgc3BlYWtl ciBhbmQgdGhlIGxpc3RlbmVyLuKAnQoKCgpZb3UgY2FuIGFnYWluIHJlY29nbml6ZSB0aGUg4oCc aSwgYSwgdeKAnS1zZXF1ZW5jZSB3aGljaCBwb3BzIHVwIG92ZXIgYW5kIG92ZXIuIFNvbWUgdGhp bmdzIG1pZ2h0IHRha2Ugc29tZSBjbGVhcmluZyB1cCwgdGhvdWdoLiBGaXJzdGx5LCB0aGVzZSBz dW10aSBjYW4gcmVwcmVzZW50IGFueXRoaW5nIHdoaWNoIGNhbiBiZSBzYWlkIHRvIG9jY3VweSBh IHBoeXNpY2FsIHNwYWNlLiBPYmplY3RzLCBjZXJ0YWlubHkuIElkZWFzLCBjZXJ0YWlubHkgbm90 LiBFdmVudHMgYXJlIGFjY2VwdGVkLCBidXQgb25seSB0byB0aGUgZXh0ZW50IHRoZXkgYXJlIHJl c3RyaWN0ZWQgdG8gYSBzcGVjaWZpYyBwbGFjZSAtIHRoZSBKYXNtaW4gUmV2b2x1dGlvbiBjYW5u b3QgYmUgcG9pbnRlZCBhdCwgYnV0IHNvbWUgYmFyLWZpZ2h0IG9yIGEga2lzcyBtaWdodC4gU2Vj b25kbHksIG5vdGUgdGhhdCB0aGUgZGlzdGFuY2UgaXMgcmVsYXRpdmUgdG8gZGlmZmVyZW50IHRo aW5ncyBmb3IgdGhlIGRpZmZlcmVudCB3b3JkczogJyd0dScnIG9ubHkgYXBwbGllcyBpZiBpdOKA mXMgZGlzdGFudCBmcm9tIGJvdGggdGhlIHNwZWFrZXIgYW5kIHRoZSBsaXN0ZW5lci4gSW4gY2Fz ZXMgd2hlcmUgdGhlIHNwZWFrZXIgYW5kIGxpc3RlbmVyIGlzIGZhciBhcGFydCBhbmQgdGhlIGxp c3RlbmVyIGNhbm5vdCBzZWUgdGhlIHNwZWFrZXIgdGFsa2luZywgJyd0YScnIHJlZmVycyB0byBz b21ldGhpbmcgY2xvc2UgdG8gdGhlIGxpc3RlbmVyLiBUaGlyZGx5LCBpdOKAmXMgYWxsIHJlbGF0 aXZlIGFuZCBjb250ZXh0IGRlcGVuZGVudC4gVGhlc2UgdGhyZWUgd29yZHMgYXJlIGFsbCBwcm9i bGVtYXRpYyBpbiB3cml0dGVuIHRleHQsIGZvciBpbnN0YW5jZSwgYmVjYXVzZSB0aGUgcG9zaXRp b24gb2YgdGhlIHNwZWFrZXIgYW5kIGxpc3RlbmVyIGlzIHVua25vd24gdG8gZWFjaCBvdGhlciwg YW5kIGNoYW5nZXMgYXMgdGltZSBnb2VzIGJ5LiBGdXJ0aGVybW9yZSwgdGhlIGF1dGhvciBvZiBh IGJvb2sgY2Fubm90IHBvaW50IHRvIGFuIG9iamVjdCBhbmQgZXhwcmVzcyB0aGUgcG9pbnRpbmcg aW4gdGhlIGJvb2suCgoKClRoZW4gdGhlcmUgaXMgYSBzZXJpZXMgY2FsbGVkIEtPaEEzLCB0byB3 aGljaCAnJ21pJycgYW5kICcnZG8nJyAoYW5kICcna28nJywgYnV0IEkgd29u4oCZdCB3cml0ZSB0 aGF0IGhlcmUpIGJlbG9uZ3M6CgpfXycnbWknJ19fIC0gc3Vta2HigJlpOiBUaGUgc3BlYWtlcihz KS4KCl9fJydtaeKAmW8nJ19fIC0gc3Vta2HigJlpOiBUaGUgbWFzcyBvZiB0aGUgc3BlYWtlcihz KSBhbmQgdGhlIGxpc3RlbmVyKHMpIC4KCl9fJydtaeKAmWEnJ19fIC0gc3Vta2HigJlpOiBUaGUg bWFzcyBvZiB0aGUgc3BlYWtlcihzKSBhbmQgb3RoZXJzLgoKX18nJ21h4oCZYScnX18gLSBzdW1r YeKAmWk6IFRoZSBtYXNzIG9mIHRoZSBzcGVha2VyKHMpLCB0aGUgbGlzdGVuZXIocykgYW5kIG90 aGVycy4KCl9fJydkbycnX18gLSBzdW1rYeKAmWk6IFRoZSBsaXN0ZW5lcihzKS4KCl9fJydkb+KA mW8nJ19fIC0gc3Vta2HigJlpOiBUaGUgbWFzcyBvZiB0aGUgbGlzdGVuZXIocykgYW5kIG90aGVy cy4KCgoKVGhlc2Ugc2l4IHN1bWth4oCZaSBhcmUgbW9yZSBlYXNpbHkgZ3Jhc3BlZCBpbiB0aGUg YmVsb3cgVmVubiBkaWFncmFtOgoKCgp7aW1nIGZpbGVJZD0iMyIgdGh1bWI9InkiIHJlbD0iYm94 W2ddIn0KClZlbm4gZGlhZ3JhbSBvZiBLT2hBMyAoJydrbycnIGV4Y2x1ZGVkKS4gJydsZSBkcmF0 YScnIGlzIG5vdCBhIEtPaEEzLCBidXQgbWVhbnMg4oCcdGhlIG90aGVyKHMp4oCdCgoKCkl0IGlz IHBvc3NpYmxlIGZvciBzZXZlcmFsIHBlb3BsZSB0byBiZSDigJx0aGUgc3BlYWtlcnPigJ0sIGlm IG9uZSBzdGF0ZW1lbnQgaXMgbWFkZSBvbiB0aGUgYmVoYWxmIG9mIGFsbCBvZiB0aGVtLiBUaGVy ZWZvcmUsIHdoaWxlIOKAnHdl4oCdIGNhbiBiZSB0cmFuc2xhdGVkIGFzIGVpdGhlciAnJ21pJycs ICcnbWnigJlvJycsICcnbWnigJlhJycgb3IgJydtYeKAmWEnJywgd2hhdCBvbmUgcXVpdGUgb2Z0 ZW4gbWVhbnMgaXMgcmVhbGx5IGp1c3QgJydtaScnLiBBbGwgb2YgdGhlc2Ugc2l4LCBpZiB0aGV5 IHJlZmVyIHRvIG1vcmUgdGhhbiBvbmUgaW5kaXZpZHVhbCwgcmVwcmVzZW50IG1hc3Nlcy4gV2l0 aGluIGJyaWRpLWxvZ2ljLCB0aGUgYnJpZGkgJydtaSBnbGVraScnIHNhaWQgYnkgc3BlYWtlciBB IGlzIGV4YWN0bHkgZXF1aXZhbGVudCB0byAnJ2RvIGdsZWtpJycgc2FpZCBieSBzcGVha2VyIEIg dG8gc3BlYWtlciBBLCBhbmQgYXJlIGNvbnNpZGVyZWQgdGhlIHNhbWUgYnJpZGkuIFdlIHdpbGwg Y29tZSBiYWNrIHRvIHRoaXMgbGF0ZXIsIGluIHRoZSAnJ2JyaWth4oCZaScnIChwcm8tYnJpZGkp IGxlc3Nvbi4KCgoKQWxsIG9mIHRoZXNlICcnc3Vta2HigJlpJycgYXJlIHZlcnkgY29udGVudC1z cGVjaWZpYywgYW5kIGNhbiBub3QgYmUgdXNlZCwgZm9yIGluc3RhbmNlLCB0byBoZWxwIHVzIHdp dGggdGhlIHNlbnRlbmNlIHdoaWNoIHRoaXMgbGVzc29uIGJlZ2FuIHdpdGguIFRoZSBmb2xsb3dp bmcgc2VyaWVzIGNhbiBpbiBwcmluY2lwbGUgYmUgdXNlZCB0byByZWZlciB0byBhbnkgc3VtdGk6 CgpfXycncmknJ19fIC0gc3Vta2HigJlpOiDigJxMYXN0IHN1bXRpIG1lbnRpb25lZOKAnQoKX18n J3JhJydfXyAtIHN1bWth4oCZaTog4oCcQSByZWNlbnQsIGJ1dCBub3QgdGhlIGxhc3Qgc3VtdGkg bWVudGlvbmVk4oCdCgpfXycncnUnJ19fIC0gc3Vta2HigJlpOiDigJxBIHN1bXRpIG1lbnRpb25l ZCBsb25nIGFnb+KAnQoKCgpUaGVzZSBzdW10aSB3aWxsIHJlZmVyIHRvIGFueSB0ZXJtaW5hdGVk IHN1bXRpIGV4Y2VwdCBtb3N0IG90aGVyICcnc3Vta2HigJlpJycuIFRoZSByZWFzb24gdGhhdCBt b3N0IG90aGVyICcnc3Vta2HigJlpJycgY2Fubm90IGJlIHJlZmVycmVkIHRvIGJ5IHRoZXNlIHN1 bXRpLCBpcyB0aGF0IHRoZXkgYXJlIHNvIGVhc3kgdG8ganVzdCByZXBlYXQgYnkgdGhlbXNlbHZl cy4gVGhlIGV4Y2VwdGlvbiB0byB0aGUgcnVsZSBhcmUgJyd0aScnLCAnJ3RhJycgYW5kICcndHUn JywgYmVjYXVzZSB5b3UgY291bGQgaGF2ZSBjaGFuZ2VkIHdoYXQgeW91IHBvaW50IGF0LCBhbmQg dGh1cyBjYW5ub3QganVzdCByZXBlYXQgdGhlIHdvcmQuIFRoZXkgd2lsbCBvbmx5IHJlZmVyIHRv IHRlcm1pbmF0ZWQgc3VtdGksIGFuZCB0aHVzIGNhbm5vdCwgZm9yIGluc3RhbmNlLCBiZSB1c2Vk IHRvIHJlZmVyIHRvIGFuIGFic3RyYWN0aW9uIGlmIHRoZSB3b3JkIGluIGlzIHRoYXQgYWJzdHJh Y3Rpb246ICcnbGUgcGVuZG8gbm9pIGtl4oCZYSBwZW5kbyBtaSBjdSBkamljYSBsbyBudSByaSBz ZSB6ZGFuaScnIC0gaGVyZSAnJ3JpJycgY2Fubm90IHJlZmVyIHRvIHRoZSBhYnN0cmF0aW9uLCBz aW5jZSBpdCBpcyBub3QgdGVybWluYXRlZCwgbm9yIHRvICcnbWknJyBvciAnJ2tl4oCZYScnLCBz aW5jZSB0aGV5IGFyZSBzdW1rYeKAmWksIHNvIGl0IHJlZmVycyB0byAnJ2xlIHBlbmRvJycuCgon J3JhJycgYW5kICcncnUnJyBhcmUgY29udGV4dC1kZXBlbmRlbnQgaW4gd2hhdCB0aGV5IHJlZmVy IHRvLCBidXQgdGhleSBmb2xsb3cgdGhlIHJ1bGVzIG1lbnRpb25lZCBhYm92ZSwgYW5kICcncnUn JyBhbHdheXMgcmVmZXIgdG8gYSBtb3JlIGRpc3RhbnQgc3VtdGkgdGhhbiAnJ3JhJycsIHdoaWNo IGlzIGFsd2F5cyBtb3JlIGRpc3RhbnQgdGhhbiAnJ3JpJycuCgoKCicncmknJyBhbmQgaXTigJlz IGJyb3RoZXJzIGFyZSBwcmV0dHkgd2VsbCBzdWl0ZWQgZm9yIGRlYWxpbmcgd2l0aCB0aGUgb3Jp Z2luYWwgc2VudGVuY2UuIFRyeSBzYXlpbmcgaXQgdXNpbmcgdHdvIGluc3RhbmNlcyBvZiAnJ3N1 bWth4oCZaScnIQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbGXigJllIHByZW51IHBvaSBrZeKA mWEga2FrbmUgbG8gbnUgdGF2bGEgZm8gbGEgLmxvamJhbi4gY3UgdGF2bGEgcnUgbG8gYmFuZ3Ug cG9pIHJ1IGN1IHNlIGJhbmd1IGtl4oCZYScnLiAnJ3JpJycgaXMgbm90IGNvcnJlY3QsIGJlY2F1 c2UgaXQgcmVmZXJzIHRvICcnbGEgLmxvamJhbi4nJy4gJydyYScnIGNvdWxkIGJlIHVzZWQsIGJ1 dCBjb3VsZCBiZSBtaXN0YWtlbmx5IGJlIHRob3VnaHQgdG8gcmVmZXIgdG8gJydsbyBudSB0YXZs YSBmbyBsYSAubG9qYmFuLicnLCBidXQgJydydScnIGlzIGFzc3VtZWQgdG8gcmVmZXIgdG8gdGhl IG1vc3QgZGlzdGFudCBzdW10aSAtIHRoZSBtb3N0IG91dGVyIG9uZS5+fgoKCgpMYXN0bHksIHRo ZXJlIGEgc3VtdGNpdGEgd2hpY2ggcmVwcmVzZW50IHV0dGVyYW5jZXM6IFNvIGNhbGxlZCB1dHRl cmFuY2UgdmFyaWFibGVzLiBUaGV5IG5lZWQgbm90IGJlIHJlc3RyaWN0ZWQgdG8gb25lIHNlbnRl bmNlIChqdWZyYSksIGJ1dCBjYW4gYmUgc2V2ZXJhbCBzZW50ZW5jZXMsIGlmIHRoZSBjb250ZXh0 IGFsbG93cyBpdDoKCl9fJydkYeKAmXUnJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogUmVtb3RlIHBh c3Qgc2VudGVuY2UKCl9fJydkZeKAmXUnJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogUmVjZW50IHNl bnRlbmNlCgpfXycnZGnigJl1JydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IFByZXZpb3VzIHNlbnRl bmNlCgpfXycnZGVpJydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IFRoaXMgc2VudGVuY2UKCl9fJydk aeKAmWUnJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogTmV4dCBzZW50ZW5jZQoKX18nJ2Rl4oCZZScn X18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBOZWFyIGZ1dHVyZSBzZW50ZW5jZQoKX18nJ2Rh4oCZZScn X18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBSZW1vdGUgZnV0dXJlIHNlbnRlbmNlCgpfXycnZG/igJlp JydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IEVsbGlwdGljYWwgdXR0ZXJhbmNlIHZhcmlhYmxlOiDi gJxTb21lIHNlbnRlbmNl4oCdCgpUaGVzZSByZXByZXNlbnRzIHNlbnRlbmNlcyBhcyBzdW10aSwg YW5kIHJlZmVyIG9ubHkgdG8gdGhlIHNwb2tlbiB3b3JkcyBvciB0aGUgbGV0dGVycywgbm90IHRv IHRoZSBtZWFuaW5nIGJlaGluZCB0aGVtLgoKCgpUaGVyZSBhcmUgbW9yZSBMb2piYW4gJydzdW1r YeKAmWknJywgYnV0IGZvciBub3cgeW91IHByb2JhYmx5IG5lZWQgYSBicmVhayBmcm9tIHRoZW0u IFRoZSBuZXh0IGxlc3NvbiB3aWxsIGJlIG9uIGRlcml2ZWQgc3VtdGksIHN1bXRpIG1hZGUgZnJv bSBvdGhlciBzdW10aS4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHNpeHRlZW4gKHRo ZSBMb2piYW4gc3VtdGkgMzogZGVyaXZlZCBzdW10aSkKCllvdSBjYW4gcHJvYmFibHkgc2VlIHRo YXQgdGhlIHN1bXRpICcnbGUgYmFuZ3UgcG9pIG1pIHNlIGJhbmd1IGtl4oCZYScnIGlzIGEgbGVz cyB0aGFuIGVsZWdhbnQgZXhwcmVzc2lvbiBmb3Ig4oCcbXkgbGFuZ3VhZ2XigJ0uIFRoaXMgaXMg YmVjYXVzZSBpdOKAmXMgcmVhbGx5IGEgd29yayBhcm91bmQuIEEgbGFuZ3VhZ2Ugd2hpY2ggSSBz cGVhayBjYW4gYmUgc2FpZCB0byBmaWxsIGludG8gdGhlIHgxIG9mIHRoZSBicmlkaSAnJ2Jhbmd1 IG1pJycuIFdlIGNhbuKAmXQgY29udmVydCB0aGF0IHRvIGEgc3VtdGkgdXNpbmcgYSBnYWRyaTog JydsZSBiYW5ndSB7a3V9IG1pJycgaXMgdHdvIHN1bXRpLCBiZWNhdXNlICcnYmFuZ3UgbWknJyBp cyBhIGJyaWRpLCBub3QgYSBzZWxicmkuIE5laXRoZXIgY2FuIHdlIGNvbnZlcnQgaXQgdXNpbmcg JydsZSBzdeKAmXUnJywgYmVjYXVzZSB0aGUgc3XigJl1IGdpdmVzIHRoZSBicmlkaSBhIG5ldyB4 MSwgdGhlIGFic3RyYWN0aW9uLCBhbmQgdGhlICcnbGUnJyB0aGVuIGV4dHJhY3RzIHRoYXQuIFRo YXQgbWFrZXMgYW4gYWJzdHJhY3Rpb24gc3VtdGkgbWVhbmluZyBzb21ldGhpbmcgbGlrZSDigJx0 aGF0IHNvbWV0aGluZyBpcyBteSBsYW5ndWFnZeKAnS4KCkVudGVyICcnYmUnJy4gJydiZScnIGlz IGEgd29yZCB3aGljaCBiaW5kcyBjb25zdHJ1Y3RzIChzdW10aSwgc3VtdGNpdGEgYW5kIG90aGVy cykgdG8gYSBzZWxicmkuIFVzaW5nIGl0IGluIG9yZGluYXJ5IHNlbGJyaSBoYXMgbm8gZWZmZWN0 OiBpbiAnJ21pIG5lbGNpIGJlIGRvJycsIHRoZSAnJ2JlJycgZG9lcyBub3RoaW5nLiBIb3dldmVy LCB3aGVuIGEgc3VtdGkgaXMgYm91bmQgdG8gYSBzZWxicmkgdGhpcyB3YXksIHlvdSBjYW4gdXNl IGEgZ2Fkcmkgb24gdGhlIHNlbGJyaSB3aXRob3V0IHRoZSBzdW10aSBzcGxpdHRpbmcgb2ZmOiAn J2xlIGJhbmd1IGJlIG1pJycgaXMgYSBjb3JyZWN0IHNvbHV0aW9uIHRvIHRoZSBwcm9ibGVtIGFi b3ZlLiBMaWtld2lzZSwgeW91IGNhbiBhdHRhY2ggYSBzdW10Y2l0YTogJydsZSBudSBkYXJ4aSBr ZWkgYmUgZ2F1IGRvJyc6IOKAnFRoZSBldmVudCBvZiBoaXR0aW5nLCB3aGljaCBpcyBjYXVzZWQg YnkgeW914oCdLiBOb3RlIHRoYXQgdGhlIHByZXNlbmNlIG9yIGFic2VuY2Ugb2YgJydrZWknJyBt YWtlcyBpdCBwYXJzZSBkaWZmZXJlbnRseTogV2l0aCB0aGUgZmEnb3JtYSdvIHByZXNlbnQsICcn YmUnJyBhdHRhY2hlcyB0byAnJ251JycsIHdpdGhvdXQgdGhlIGZhJ29ybWEnbywgaXQgYXR0YWNo ZXMgdG8gJydkYXJ4aScnLiBTbyBpdCBkZWNpZGVzIHdoYXQgaXMgYmVpbmcgZW1waGFzaXNlZDog SXMgdGhlIGhpdHRpbmcsIG9yIHRoZSBldmVudCBvZiBoaXR0aW5nIGNhdXNlZCBieSB5b3U/IElu IHRoaXMgc3BlY2lmaWMgY2FzZSwgdGhvdWdoLCB0aGF04oCZcyBqdXN0IGFib3V0IHRoZSBzYW1l IHRoaW5nLgoKCgpXaGF0IGlmIEkgd2FudCB0byBhdHRhY2ggc2V2ZXJhbCBzdW10aSB0byBhIHNl bGJyaSBpbnNpZGUgYSBnYWRyaT8g4oCcVGhlIGdpdmVyIG9mIHRoZSBhcHBsZSB0byB5b3XigJ0g aXMgJydsZSBkdW5kYSBiZSBsbyBwbGlzZSBiZSBkbycnLCByaWdodD8gTm9wZS4gVGhlIHNlY29u ZCAnJ2JlJycgYXR0YWNoZXMgdG8gdGhlIGFwcGxlLCBtZWFuaW5nICcnbGUgcGxpc2UgYmUgZG8n JyAtIOKAnFRoZSBhcHBsZSBvZiB0aGUgc3RyYWluIG9mIHlvdeKAnSwgd2hpY2ggbWFrZXMgc28g c2Vuc2UuIEluIG9yZGVyIHRvIHN0cmluZyBzZXZlcmFsIHN1bXRpIHRvIGEgc2VsYnJpLCBhbGwg b2YgdGhlIG9uZXMgZm9sbG93aW5nIHRoZSBmaXJzdCBtdXN0IGJlIGJvdW5kIHdpdGggJydiZWkn Jy4gVGhlIOKAnGJpbmRpbmfigJ0gY2FuIGJlIHRlcm1pbmF0ZWQgd2l0aCAnJ2Jl4oCZbycnIC0g b25lIGluc3RhbmNlIG9mICcnYmXigJlvJycgZm9yIGVhY2ggc2VsYnJpIHdoaWNoIGhhcyBzdW10 aSBib3VuZCBieSAnJ2JlJycuCgpUbyBsaXN0IHRoZW06CgpfXycnYmUnJ19fIGJpbmRzIHN1bXRp IG9yIHN1bXRjaXRhIHRvIHNlbGJyaQoKX18nJ2JlaScnX18gYmluZHMgYSBzZWNvbmQsIHRoaXJk LCBmb3VydGggKGVjdCkgc3VtdGkgb3Igc3VtdGNpdGEgdG8gYSBzZWxicmkKCl9fJydiZeKAmW8n J19fIGVuZHMgYmluZGluZyB0byBzZWxicmkKCgoKVGhlcmUgaXMgYWxzbyB3YXlzIHRvIGxvb3Nl bHkgYXNzb2NpYXRlIGEgc3VtdGkgd2l0aCBhbm90aGVyLiAnJ3BlJycgYW5kICcnbmUnJyBmb3Ig cmVzdHJpY3RpdmUgYW5kIG5vbi1yZXN0cmljdGl2ZSBhc3NvY2lhdGlvbi4gQWN0dWFsbHksICcn bGUgYmFuZ3UgcGUgbWknJyBpcyBhIGJldHRlciB0cmFuc2xhdGlvbiBvZiDigJxteSBsYW5ndWFn ZeKAnSwgc2luY2UgdGhpcyBwaHJhc2UsIGxpa2UgdGhlIEVuZ2xpc2gsIGlzIHZhZ3VlIGFzIHRv IGhvdyB0aGUgdHdvIGFyZSBhc3NvY2lhdGVkIHdpdGggZWFjaCBvdGhlci4KCicncGUnJyBhbmQg JyduZScnIGFyZSB1c2VkIGFzIGxvb3NlIGFzc29jaWF0aW9uIG9ubHksIGxpa2Ugc2F5aW5nIOKA nG15IGNoYWly4oCdIGFib3V0IGEgY2hhaXIgd2hpY2ggeW91IHNpdCBvbi4gSXTigJlzIG5vdCBy ZWFsbHkgeW91cnMsIGJ1dCBoYXMgc29tZXRoaW5nIGRvIHRvIHdpdGggeW91LiBBIG1vcmUgaW50 aW1hdGUgY29ubmVjdGlvbiBjYW4gYmUgZXN0YWJsaXNoZWQgd2l0aCAnJ3BvJycsIHdoaWNoIG1h a2VzIHRoZSBhc3NvY2lhdGlvbiB1bmlxdWUgYW5kIGJpbmRpbmcgdG8gYSBwZXJzb24sIGFzIGlu IOKAnG15IGNhcuKAnSBmb3IgYSBjYXIgdGhhdCB5b3UgYWN0dWFsbHkgb3duLiBUaGUgbGFzdCBr aW5kIG9mIGFzc29jaWF0b3IgaXMgJydwbydlJycsIHdoaWNoIG1ha2VzIGEgc28tY2FsbGVkICJp bmFsaWVuYWJsZSIgYm9uZCBiZXR3ZWVuIHN1bXRpLCBtZWFuaW5nIHRoYXQgdGhlIGJvbmQgaXMg aW5uYXRlIGJldHdlZW4gdGhlIHR3byBzdW10aS4gU29tZSBleGFtcGxlcyBjb3VsZCBiZSAibXkg bW90aGVyIiwgIm15IGFybSIgb3IgIm15IGhvbWUgY291bnRyeSI7IG5vbmUgb2YgdGhlc2UgInBv c3Nlc2lvbnMiIGNhbiBiZSBsb3N0IChldmVuIGlmIHlvdSBzYXcgb2ZmIHlvdXIgYXJtLCBpdCdz IHN0aWxsIF9feW91cl9fIGFybSksIGFuZCBhcmUgdGhlcmVmb3JlIGluYWxpZW5hYmxlLiBBbG1v c3QgYWxsIG9mIHRoZSB0aW1lcyBhICcncG8nZScnIGlzIGFwcHJvcHJpYXRlLCB0aG91Z2gsIHRo ZSB4MiBvZiB0aGUgc2VsYnJpIGNvbnRhaW5zIHRoZSBvbmUgdG8gd2hpY2ggdGhlIHgxIGlzIGNv bm5lY3RlZCwgc28gJydiZScnIGlzIGJldHRlci4KCl9fJyduZScnX18gbm9uLXJlc3RyaWN0aXZl IHJlbGF0aXZlIHBocmFzZS4gIndoaWNoIGlzIGFzc29jaWF0ZWQgd2l0aC4uLiIKCl9fJydwZScn X18gcmVzdHJpY3RpdmUgcmVsYXRpdmUgcGhyYXNlLiAid2hpY2ggaXMgYXNzb2NpYXRlZCB3aXRo Li4uIgoKX18nJ3BvJydfXyBwb3NzZXNpdmUgcmVsYXRpdmUgcGhyYXNlLiAid2hpY2ggaXMgc3Bl Y2lmaWMgdG8uLi4iCgpfXycncG8nZScnX18gaW5hbGllbmFibGUgcmVsYXRpdmUgcGhyYXNlLiAi d2hpY2ggYmVsb25ncyB0by4uLiIKCgoKQSB2ZXJ5IHVzZWZ1bCBjb25zdHJ1Y3QgdG8ga25vdyBp cyAnJ3tnYWRyaX0ge3N1bXRpfSB7c2VsYnJpfScnLiB0aGlzIGlzIGVxdWl2YWxlbnQgdG8gJyd7 Z2Fkcml9IHtzZWxicml9IHBlICB7c3VtdGl9JycuIEZvciBpbnN0YW5jZSAnJ2xlIG1pIGdlcmt1 JycgaXMgZXF1aXZhbGVudCB0byAnJ2xlIGdlcmt1IHBlIG1pJycuIE9uZSBjb3VsZCBoYXZlIGRl c2NyaXB0aW9uIHN1bXRpIGluc2lkZSBkZXNjcmlwdGlvbiBzdW10aSwgc2F5aW5nICcnbGUgbGUg c2UgY2luamlrY2EgYmUgbWkga3UgZ2Vya3UnJywgPSAnJ2xlIGdlcmt1IHBlIGxlIHNlIGNpbmpp a2NhIGJlIG1pJycgPeKAnHRoZSBkb2cgb2YgdGhlIG1hbiBJ4oCZbSBmbGlydGluZyB3aXRo4oCd LCBidXQgdGhhdOKAmXMgbm90IHZlcnkgZWFzeSB0byByZWFkIChvciB0byB1bmRlcnN0YW5kIHdo ZW4gc3Bva2VuKSwgYW5kIGlzIG9mdGVuIGJlaW5nIGF2b2lkZWQuCgoKCk9uZSBuZWVkIGFsc28g dG8gbGVhcm4gJyd0deKAmWEnJywgc2luY2UgaXQgd2lsbCBtYWtlIGEgbG90IG9mIHNlbnRlbmNl cyBtdWNoIGVhc2llci4gSXQgdGFrZXMgYSBzdW10aSBhbmQgY29udmVydHMgaXQgdG8gYW5vdGhl ciBzdW10aSAtIGFuIGVsbGlwdGljYWwgYWJzdHJhY3Rpb24gd2hpY2ggaGFzIHNvbWV0aGluZyB0 byBkbyB3aXRoIHRoZSBmaXJzdCBzdW10aS4gRm9yIGV4YW1wbGUsIEkgY291bGQgc2F5ICcnbWkg ZGppY2EgbG8gbnUgbWkgY2l0a2EgbG8gcGxpc2UnJywgb3IgSSBjb3VsZCBsZXQgaXQgYmUgdXAg dG8gY29udGV4dCB3aGF0IGFic3RyYWN0aW9uIGFib3V0IHRoZSBhcHBsZSBJIGRlc2lyZSBhbmQg anVzdCBzYXkgJydtaSBkamljYSB0deKAmWEgbG8gcGxpc2UnJy4gT25lIGFsd2F5cyBoYXMgdG8g Z3Vlc3Mgd2hhdCBhYnN0cmFjdGlvbiB0aGUgc3BlYWtlciBtZWFucyBieSAnJ3R14oCZYSBTVU1U SScnLCBzbyBpdCBzaG91bGQgb25seSBiZSB1c2VkIHdoZW4gY29udGV4dCBtYWtlcyBpdCBlYXN5 IHRvIGd1ZXNzLiBBbm90aGVyIGV4YW1wbGU6CgpfXycnZ2FzbnUnJ19fIOKAnHgxIGRvZXMvYnJp bmdzIGFib3V0IHgyICh2b2xpdGlvbiBub3QgaW1wbGllZCnigJ0KCicnemHigJlhIGRvIGdhc251 IHR14oCZYSBsbyBza2FtaScnIC0g4oCcSSBzZWUgdGhhdCB5b3UgbWFrZSB0aGUgY29tcHV0ZXIg ZG8gc29tZXRoaW5n4oCdLiBPZmZpY2lhbGx5LCAnJ3R14oCZYSBTVU1USScnIGlzIGVxdWl2YWxl bnQgdG8gJydsZSBzdeKAmXUgU1VNVEkgY2/igJllJycuIFZhZ3VlLCBidXQgdXNlZnVsLiBUaGVy ZSBhcmUgc2l0dWF0aW9ucyB3aGVyZSB5b3UgY2Fubm90IHVzZSAnJ3R14oCZYScnLCBldmVuIHRo b3VnaCBpdCB3b3VsZCBzZWVtIHN1aXRhYmxlLiBUaGVzZSBzaXR1YXRpb25zIGFyZSB3aGVuIEkg ZG9u4oCZdCB3YW50IHRoZSByZXN1bHRpbmcgc3VtdGkgdG8gYmUgYW4gYWJzdHJhY3Rpb24sIGJ1 dCBhIGNvbmNyZXRlIHN1bXRpLiBJbiB0aGlzIGNhc2UsIG9uZSBjYW4gdXNlICcnem/igJllIHBl JycuCgpfXycndHUnYScnX18gY29udmVydCBzdW10aSB0byB2YWd1ZSBhYnN0cmFjdGlvbiBpbnZv bHZpbmcgdGhlIHN1bXRpLiBFcXVpdmFsZW50IHRvICcnbGUgc3UndSBTVU1USSBjbydlIGtlaSBr dScnCgoKCkZpbmFsbHksIG9uZSBraW5kIG9mIHN1bXRpIGNhbiBiZSB0dXJuZWQgaW50byBhbm90 aGVyIGJ5IHRoZSB3b3JkcyBvZiB0aGUgY2xhc3MgTEFoRS4KCl9f4oCZ4oCZbHXigJlh4oCZ4oCZ X18gLSBDb252ZXJ0IGluZGl2aWR1YWwocykvbWFzcy9zZXF1ZW5jZS9zZXQgdG8gaW5kaXZpZHVh bHMuCgpfX+KAmeKAmWx14oCZaeKAmeKAmV9fIC0gQ29udmVydCBpbmRpdmlkdWFsKHMpL21hc3Mv c2VxdWVuY2Uvc2V0IHRvIGEgc2V0LgoKX1/igJnigJlsdeKAmW/igJnigJlfXyAtIENvbnZlcnQg aW5kaXZpZHVhbChzKS9tYXNzL3NlcXVlbmNlL3NldCB0byBtYXNzLgoKX1/igJnigJl2deKAmWni gJnigJlfXyAtIENvbnZlcnQgaW5kaXZpZHVhbChzKS9tYXNzL3NlcXVlbmNlL3NldCB0byBzZXF1 ZW5jZTsgdGhlIG9yZGVyIGlzIG5vdCBzdGF0ZWQuCgpUaGUgdXNlIG9mIHRoZXNlIHdvcmRzIGlz IHN0cmFpZ2h0LWZvcndhcmRseTogUGxhY2luZyB0aGVtIGJlZm9yZSBhIHN1bXRpIG9mIGEgY2Vy dGFpbiB0eXBlIG1ha2VzIGEgbmV3IHN1bXRpIG9mIGEgbmV3IHR5cGUuIE5vdGljZSwgdGhvdWdo LCB0aGF0IGFzIGEgZm91cnRoIGtpbmQgb2Ygc3VtdGksIGEgc2VxdWVuY2UgaGFzIGJlZW4gaW50 cm9kdWNlZC4gVGhpcyBpcyBub3QgdXNlZCB2ZXJ5IG9mdGVuIChpdCBkb2VzbuKAmXQgaGF2ZSBp dHMgb3duIGdhZHJpLCBmb3IgaW5zdGFuY2UpLCBidXQganVzdCBpbmNsdWRlZCBoZXJlIGZvciBj b21wbGV0aW9uLgoKVGhlIGxhc3QgdHdvIG1lbWJlcnMgb2YgTEFoRSBkbyBub3QgY29udmVydCBi ZXR3ZWVuIHR5cGVzIG9mIHN1bXRpLCBidXQgYWxsb3dzIHlvdSB0byBzcGVhayBvZiBhIGEgc3Vt dGkgYnkgb25seSBtZW50aW9uaW5nIHNvbWV0aGluZyB3aGljaCByZWZlcmVuY2VzIHRvIGl0OgoK SWYgb25lIHN1bXRpIEEgcmVmZXJzIHRvIGEgc3VtdGkgQiwgZm9yIGluc3RhbmNlIGJlY2F1c2Ug c3VtdGkgQSBpcyBhIHRpdGxlIG9mIGEgYm9vaywgb3IgYSBuYW1lLCBvciBhIHNlbnRlbmNlICh3 aGljaCBhbHdheXMgcmVmZXIgdG8gc29tZXRoaW5nLCBhdCBsZWFzdCBhIGJyaWRpKSwg4oCY4oCZ bGHigJllIFNVTVRJIEHigJnigJkgcmVmZXJzIHRvIHN1bXRpIEIuIEZvciBpbnN0YW5jZSwg4oCY 4oCZbWkgbmVsY2kgbGHigJllIGRp4oCZdeKAmeKAmSBmb3Ig4oCcSSBsaWtlIHdoYXQgeW91IGp1 c3Qgc2FpZOKAnSAobm90ICcnbWkgbmVsY2kgZGkndScnIHdoaWNoIGp1c3QgbWVhbnMgIkkgbGlr ZSB5b3VyIHByZXZpb3VzIHNlbnRlbmNlIikgb3Ig4oCY4oCZbGHigJllIGxlIGNtYWx1IG5vbHRy deKAmeKAmSBmb3IgdGhlIGJvb2sg4oCcVGhlIExpdHRsZSBQcmluY2XigJ0sIGFuZCBub3Qgc29t ZSBsaXR0bGUgcHJpbmNlIGhpbXNlbGYuIFRoZSBjbWF2byDigJjigJlsdeKAmWXigJnigJkgZG9l cyB0aGUgZXhhY3QgcmV2ZXJzZSDigJMg4oCY4oCZbHXigJllIFNVTVRJ4oCZ4oCZIHJlZmVycyB0 byBhbiBvYmplY3Qgd2hpY2ggcmVmZXJzIHRvIHRoZSBzdW10aS4gCgpfX+KAmeKAmWxh4oCZZeKA meKAmV9fIC0g4oCcdGhlIHRoaW5nIHJlZmVycmVkIHRvIGJ54oCdIC0gZXh0cmFjdHMgYSBzdW10 aSBBIGZyb20gYSBzdW10aSBCIHdoaWNoIHJlZmVycyB0byBBLiAKCl9f4oCZ4oCZbHXigJll4oCZ 4oCZX18gLSDigJx0aGUgdGhpbmcgcmVmZXJyaW5nIHRv4oCdIC0gZXh0cmFjdHMgYSBzdW10aSBC IGZyb20gYSBzdW10aSBBLCB3aGVuIEIgcmVmZXJzIHRvIEEuCgoKCgoKISEhRW5kIG9mIHBhcnQg b25lCgpEdWUgdG8gdGhlIGltcHJhY3RpY2FsbHkgbGFyZ2Ugc2l6ZSBvZiB0aGVzZSBsZXNzb25z LCB0aGUgc2Vjb25kIGluc3RhbGxtZW50IGNhbiBiZSBmb3VuZCBvbiBhICgod2F2ZWxlc3NvbnNj b250aW51ZWRwMnxzZXBhcmF0ZSBwYWdlKSkuIE5vIHdvcnJpZXMsIHRob3VnaCwgY2xpY2tpbmcg b24gInNlcGFyYXRlIHBhZ2UiIHdpbGwgdGFrZSB5b3UgdGhlcmUgcGFpbmxlc3NseS4KCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpXaWtpY2hhbmdlcyBt YWlsaW5nIGxpc3QKV2lraWNoYW5nZXNAbG9qYmFuLm9yZwpodHRwOi8vbWFpbC5sb2piYW4ub3Jn L21haWxtYW4vbGlzdGluZm8vd2lraWNoYW5nZXMK