Received: from localhost ([::1]:58006 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1SPcaY-0008FB-B5; Wed, 02 May 2012 09:39:38 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:50702 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1SPcaO-0008F4-Eh for wikineurotic@lojban.org; Wed, 02 May 2012 09:39:35 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Wed, 2 May 2012 09:39:28 -0700 From: "Apache" Date: Wed, 2 May 2012 09:39:28 -0700 To: wikineurotic@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 4.5 (++++) X-Spam_score: 4.5 X-Spam_score_int: 45 X-Spam_bar: ++++ X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page wavelessonscontinuedp2 was changed by gleki at 16:39 UTC You can view the page by following this link: http://www.lojban.org/tiki/wavelessonscontinuedp2 [...] Content analysis details: (4.5 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS 2.5 DRUGS_MUSCLE Refers to a muscle relaxant Subject: [Wikineurotic] Wiki page wavelessonscontinuedp2 changed by gleki X-BeenThere: wikineurotic@lojban.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikineurotic-bounces@lojban.org VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWRwMiB3YXMgY2hhbmdlZCBieSBnbGVraSBhdCAx NjozOSBVVEMKCllvdSBjYW4gdmlldyB0aGUgcGFnZSBieSBmb2xsb3dpbmcgdGhpcyBsaW5rOgog Cmh0dHA6Ly93d3cubG9qYmFuLm9yZy90aWtpL3dhdmVsZXNzb25zY29udGludWVkcDIKCllvdSBj YW4gdmlldyBhIGRpZmYgYmFjayB0byB0aGUgcHJldmlvdXMgdmVyc2lvbiBieSBmb2xsb3dpbmcg dGhpcyBsaW5rOiAKaHR0cDovL3d3dy5sb2piYW4ub3JnL3Rpa2kvdGlraS1wYWdlaGlzdG9yeS5w aHA/cGFnZT13YXZlbGVzc29uc2NvbnRpbnVlZHAyJmNvbXBhcmU9MSZvbGR2ZXI9NSZuZXd2ZXI9 NgoKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqClRoZSBjaGFuZ2VzIGluIHRoaXMgdmVyc2lvbiBmb2xsb3cgYmVsb3csIGZvbGxvd2Vk IGFmdGVyIGJ5IHRoZSBjdXJyZW50IGZ1bGwgcGFnZSB0ZXh0LgoqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKCistKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCkBAIC1MaW5lczog MjU3LTI2MSBjaGFuZ2VkIHRvICtMaW5lczogMjU3LTI2MSBAQAorLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwoKV2hpbGUgd2XigJlyZSBh dCBtZXNzaW5nIHdpdGggdGhlIG9yZGluYXJ5IHRhbnJ1IHN0cnVjdHVyZSwgdGhlcmUgaXMgYW5v dGhlciB3b3JkIHdvcnRoIHBheWluZyBhdHRlbnRpb24gdG8uIElmIEkgd2FudCB0byBzYXkgdGhh dCBJ4oCZbSBhIHByb2Zlc3Npb25hbCB0cmFuc2xhdG9yLCBJIGNvdWxkIHNheSAnJ21pIGZhbnZh IHNlIGppYnJpJycuCi0gX18nJ2ppYnJpJydfXyB4MSBpcyBhIGpvYiBvZiB4MiB1bmRlciBhZ3Jl ZW1lbnQgeDMKKyBfXycnamlicmknJ19fIHgxIGlzIGEgam9iIG9mIHgyCl9fJydkb2NiYXUnJ19f IHgxIGlzIEdlcm1hbiB1c2VkIGJ5IHgyIHRvIHNheSB4MwpfXycnZ2xpYmF1JydfXyB4MSBpcyBF bmdsaXNoIHVzZWQgYnkgeDIgdG8gc2F5IHgzCgoKCgoqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpUaGUgbmV3IHBhZ2UgY29udGVudCBm b2xsb3dzIGJlbG93LgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKgoKIUxvamJhbiBXYXZlIExlc3NvbnMgQ29udGludWVkIChwYXJ0IHR3 byk6CgohISFieSBsYSBrbGFrdSB3aXRoIGhlbHAgZnJvbSBsYSAua3JpYmFjci4sIGxhIHhhbGJv IGFuZCBvdGhlcnMsIGF1dHVtbiAyMDExLgoKCgpUaGlzIGlzIHRoZSBzZWNvbmQgaW5zdGFsbG1l bnQgb2YgdGhlIFdhdmUgTGVzc29ucyBDb250aW51ZWQuIElmIHlvdSBkaWRuJ3QgY2F0Y2ggdGhl IGZpcnN0IHBhcnQsIG9yIHdhbnQgdG8gZ28gYmFjayBmb3Igc29tZSByZWFzb24sIGp1c3QgY2xp Y2sgKCh3YXZlbGVzc29uc2NvbnRpbnVlZHxoZXJlLikpCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBM ZXNzb24gc2V2ZW50ZWVuIChjdXRlIGFzc29ydGVkIHdvcmRzKQoKQW5kIHdpdGggdGhhdCwgdGhp cmQgY2hhcHRlciwgeW91IGtub3cgYSBsb3QgYWJvdXQgTG9qYmFuIHN1bXRpLiBBZnRlciBzdWNo IGEgbG9uZyB0aW1lIG9mIHJpZ29yb3VzIHN5c3RlbWF0aWMgbGVhcm5pbmcsIHdoYXQgY291bGQg YmUgbW9yZSBmaXR0aW5nIHRoYXQgdGhpcyBsZXNzb24gd2hlcmUgSSBzcGVhayBhYm91dCBzb21l IHdvcmRzIHdoaWNoIEkgY291bGQgbm90LCBvciB3YW50ZWQgbm90IHRvIGZpdCBpbnRvIGFueSBv dGhlciBsZXNzb25zPyBTbyBoZXJlIGFyZSBhIGZldyBzbWFsbCBhbmQgcmVhbGx5IHVzZWZ1bCB3 b3JkczoKCgoKVGhlIGZvbGxvd2luZyBmb3VyIGNtYXZvIGFyZSBhbGwgZWxsaXB0aWNhbCB3b3Jk cy4gWW91IHNob3VsZCBhbHJlYWR5IGJlIGZhbWlsaWFyIHdpdGggdGhlIGZpcnN0LgoKX18nJ3pv 4oCZZScnX18gLSBlbGxpcHRpY2FsIHN1bXRpCgpfXycnY2/igJllJydfXyAtIGVsbGlwdGljYWwg c2VsYnJpCgpfXycnZG/igJllJydfXyAtIGVsbGlwdGljYWwgc3VtdGNpdGEKCl9fJydqdeKAmWEn J19fIC0gZWxsaXB0aWNhbCBldmlkZW50aWFsCgpfXycnZG/igJlpJydfXyAtIGVsbGlwdGljYWwg dXR0ZXJhbmNlIHZhcmlhYmxlCgpfXycnZ2XigJllJydfXyAtIGVsbGlwdGljYWwgYXR0aXR1ZGlu YWwKCgoKQWxsIG9mIHRoZXNlIGFjdCBncmFtbWF0aWNhbGx5IGFzIGEgY21hdm8gb2YgdGhlIGtp bmQgdGhleSByZXByZXNlbnQsIGJ1dCB0aGV5IGNvbnRhaW4gbm8gaW5mb3JtYXRpb24sIGFuZCBj YW4gYmUgcXVpdGUgaGFuZHkgd2hlbiB5b3XigJlyZSBsYXp5IGFuZCBkb27igJl0IG5lZWQgdG8g YmUgc3BlY2lmaWMgYW55d2F5LiBUaGVyZSBhcmUsIGhvd2V2ZXIsIGEgZmV3IHRoaW5ncyB3aGlj aCBuZWVkIHRvIGJlIGNsZWFyZWQgdXA6CgoKCiAgICAnJ3pv4oCZZScnIGhhdmUgdG8gcmVmZXIg dG8gc29tZXRoaW5nIHdoaWNoIGlzIGNsYWltZWQgdG8gaGF2ZSBhIHZhbHVlLiDigJx6ZXJvIGNh cnPigJ0gb3Ig4oCcbm90aGluZ+KAnSwgZm9yIGluc3RhbmNlLCBoYXMgbm8gdmFsdWUsIGFuZCB0 aGVyZWZvcmUgY2Fubm90IGJlIHJlZmVycmVkIHRvIGJ5ICcnem/igJllJycuIFRoaXMgaXMgYmVj YXVzZSwgaWYgaXQgY291bGQgbWVhbiDigJxub3RoaW5n4oCdIGJ5ICcnem/igJllJycsIHRoZW4g YW55IHNlbGJyaSBjb3VsZCBiZSBpZGVudGljYWwgdG8gaXRzIG5lZ2F0aW9uLCBpZiBvbmUgb2Yg dGhlIGVsaWRlZCBzdW10aSB3ZXJlIGZpbGxlZCB3aXRoIGEgJyd6b+KAmWUnJyB3aXRoIG5vIHZh bHVlLgoKICAgICcnZ2XigJllJycgZG9lcyBub3QgbWVhbiB0aGF0IHlvdSBmZWVsIG5vIGVtb3Rp b24sIGp1c3QgdGhhdCB5b3UgZmVlbCBub3RoaW5nIHNwZWNpYWwgb3Igd29ydGggdG8gbWVudGlv biBhdCB0aGUgbW9tZW50LiBJdOKAmXMgc2ltaWxhciB0byDigJxJ4oCZbSBmaW5lLuKAnS4gJydn ZeKAmWUgcGVpJycgYXNrIGFib3V0IGFuIGVsbGlwdGljYWwgZW1vdGlvbiBhbmQgaXMgYSBnb29k IHRyYW5zbGF0aW9uIGZvcjog4oCcSG93IGFyZSB5b3UgZmVlbGluZz/igJ0uCgogICAgJydjb+KA mWUnJyBpcyBoYW5keSB3aGVuIG5lZWRpbmcgYSBzZWxicmkgaW4gYSBjb25zdHJ1Y3QgZm9yIGdy YW1tYXRpY2FsIHJlYXNvbnMsIGxpa2UgaW4gdGhlIGRlZmluaXRpb24gb2YgJyd0deKAmWEnJyBp biB0aGUgcHJldmlvdXMgbGVzc29uLgoKICAgICcnanXigJlhJycgZG9lcyBub3QgY2hhbmdlIHRo ZSB0cnV0aCB2YWx1ZSBvciBzdWJqZWN0aXZlIHVuZGVyc3RhbmRpbmcgb2YgdGhlIGJyaWRpIG9y IGFueXRoaW5nIGxpa2UgdGhhdC4gSW4gZmFjdCwgaXTigJlzIG1vc3RseSBkb2VzIG5vdGhpbmcu IEhvd2V2ZXIsICcnanXigJlhIHBlaScnLCDigJxXaGF0IGlzIHlvdXIgYmFzaXMgZm9yIHNheWlu ZyB0aGF0P+KAnSBpcyBoYW5keS4KCiAgICAnJ2Rv4oCZaScnIGlzIHJlYWxseSB1c2VmdWwuIEEg bG90IG9mIHRpbWVzIHdoZW4geW91IHJlZmVyIHRvIHV0dGVyYW5jZXMgb3IgY29udmVyc2F0aW9u cyBieSB3b3JkcyBsaWtlIOKAnHRoaXPigJ0gb3Ig4oCcdGhhdOKAnSwgeW91IHdhbnQgJydkb+KA mWknJy4KCiAgICBJZiB5b3UgZmlsbCBpbiBtb3JlIHN1bXRpIHRoYW4gYSBzZWxicmkgaGFzIHBs YWNlcyBmb3IsIHRoZSBsYXN0IHN1bXRpIGhhdmUgaW1wbGllZCAnJ2Rv4oCZZScnIHN1bXRjaXRh IGluIGZyb250IG9mIHRoZW0uCgoKCkZ1cnRoZXJtb3JlLCB0aGVyZSBpcyBhIHdvcmQsICcnemni gJlvJycsIHRoYXQgeW91IGNhbiBmaWxsIGEgc3VtdGkgcGxhY2Ugd2l0aCB0byBkZWxldGUgaXQg ZnJvbSBhbnkgc2VsYnJpLiAnJ2xvIG1lbGJpIGJlIHpp4oCZbycnLCBmb3IgaW5zdGFuY2UsIGlz IGp1c3Qg4oCcU29tZXRoaW5nIGJlYXV0aWZ1bOKAnSwgYW5kIGRvZXMgbm90IGluY2x1ZGUgdGhl IHVzdWFsIHgyIG9mICcnbWVsYmknJywgd2hpY2ggaXMgdGhlIG9ic2VydmVyIHdobyBqdWRnZXMg c29tZXRoaW5nIHRvIGJlIGJlYXV0aWZ1bC4gVGh1cywgaXQgY2FuIG1lYW4gc29tZXRoaW5nIGxp a2Ug4oCcT2JqZWN0aXZlbHkgYmVhdXRpZnVsLuKAnSBJdCBkb2VzIG5vdCBzdGF0ZSB0aGF0IG5v dGhpbmcgZmlsbHMgdGhlIHN1bXRpIHBsYWNlIHdoaWNoIGlzIGJlaW5nIGRlbGV0ZWQsIGp1c3Qg dGhhdCB0aGUgc3VtdGkgcGxhY2UgaXMgbm90IGJlaW5nIGNvbnNpZGVyZWQgaW4gdGhlIHNlbGJy aS4gVXNpbmcgJyd6aeKAmW8nJyB3aXRoIGEgc3VtdGNpdGEgZ2l2ZXMgd2VpcmQgcmVzdWx0cy4g Rm9ybWFsbHksIHRoZXkgc2hvdWxkIGNhbmNlbCBlYWNoIG90aGVyIG91dC4gUHJhY3RpY2FsbHks IGl0IHdvdWxkIHByb2JhYmx5IGJlIHVuZGVyc3Rvb2QgYXMgYW4gZXhwbGljaXQgd2F5IG9mIHNh eWluZyB0aGF0IHRoZSBzdW10Y2l0YSBkb2VzIG5vdCBhcHBseSwgYXMgaW46ICcnbWkgZGFyeGkg ZG8gbXXigJlpIHpp4oCZbycnIC0g4oCcSSBoaXQgeW91LCB3aXRoIG9yIHdpdGhvdXQgbW90aXZh dGlvbi7igJ0KCgoKVGhlbiB0aGVyZSBpcyB0aGUgd29yZCAnJ2phaScnLiBJdOKAmXMgb25lIG9m IHRob3NlIGNvb2wsIHNtYWxsIHdvcmRzIHdoaWNoIGFyZSBoYXJkIHRvIGdyYXNwLCBidXQgZWFz eSB0byB3b3JrIHdpdGggb25jZSB5b3Uga25vdyBpdC4gSXQgaGFzIHR3byBkaXN0aW5jdCwgYnV0 IHNpbWlsYXIgZnVuY3Rpb25zLiBCb3RoIGhhdmUgc29tZXRoaW5nIHRvIGRvIHdpdGggY29udmVy dGluZyB0aGUgc2VsYnJpLCBsaWtlICcnc2UnJyBkb2VzLgoKVGhlIGZpcnN0IGdyYW1tYXRpY2Fs IGNvbnN0cnVjdGlvbiBpdCBjYW4gbWFrZSBpcyAiJydqYWknJyB7c3VtdGNpdGF9IHtzZWxicml9 Ii4gSXQgY2hhbmdlcyB0aGUgc3VtdGkgcGxhY2VzIHN1Y2ggdGhhdCB0aGUgc3VtdGkgcGxhY2Ug b2YgdGhlIHN1bXRjaXRhIGJlY29tZXMgdGhlIHNlbGJyaeKAmXMgeDEsIGFuZCB0aGUgc2VsYnJp 4oCZcyBvbGQgeDEgaXMgcmVtb3ZlZCwgYW5kIG9ubHkgYWNjZXNzaWJsZSBieSB1c2luZyAnJ2Zh aScnLCB3aGljaCB3b3JrcyBsaWtlICcnZmEnJy4gWW91IGNhbiBzZWUgaXQgd2l0aCB0aGlzIGV4 YW1wbGU6CgpfXycnZ2F1JydfXyAtIHN1bXRjaXRhIChmcm9tICcnZ2FzbnUnJykg4oCcYnJpZGkg aGFzIGJlZW4gYnJvdWdodCBhYm91dCBieS93aXRoIGFjdGl2ZSBhZ2VudCB7c3VtdGl94oCdCgon J2RvIGphaSBnYXUganVuZGkgdGkgZmFpIG1pJycuIC0g4oCcWW91IGJyaW5nIGFib3V0IGF0dGVu dGlvbiB0byB0aGlzIGJ5IG1l4oCdLiBUaGUgbmV3IHNlbGJyaSwgJydqYWkgZ2F1IGp1bmRpJycs IGhhcyB0aGUgcGxhY2Ugc3RydWN0dXJlIG9mIOKAnHgxIGJyaW5ncyBhYm91dCBhdHRlbnRpb24g cGFpZCB0byB4MuKAnS4gVGhlc2UgYXJlIHRoZW4gZmlsbGVkIGJ5ICcnZG8nJyBhbmQgJyd0aScn LiBUaGUgJydmYWknJyB0aGVuIG1hcmtzIHRoZSBwbGFjZSBmb3IgdGhlIG9sZCB4MSwgdGhlIG9u ZSB3aG8gd2FzIHBheWluZyBhdHRlbnRpb24sIGFuZCBpdCBpcyBmaWxsZWQgd2l0aCAnJ21pJycu IFRoaXMgd29yZCBjYW4gYmUgdmVyeSBjb252ZW5pZW50IGFuZCBoYXMgdG9ucyBvZiB1c2VzLiBB IGdvb2QgZXhhbXBsZSBpcyBkZXNjcmlwdGl2ZS1saWtlIHN1bXRpLiBPbmUgY2FuLCBmb3IgaW5z dGFuY2UsIHJlZmVyIHRvIOKAnHRoZSBtZXRob2Qgb2Ygdm9saXRpb25hbCBhY3Rpb27igJ0gYnkg JydsbyBqYWkgdGHigJlpIHp1a3RlJycuCgpfXycndGHigJlpJydfXzogc3VtdGNpdGEgKGZyb20g Jyd0YWRqaScnKSDigJxCcmlkaSBpcyBkb25lIHdpdGggdGhlIG1ldGhvZCBvZiB7c3VtdGl94oCd CgpDYW4geW91IGRlZHVjZSB3aGF0IHRoZSBvcmRpbmFyeSBMb2piYW4gcGhyYXNlICcnZG8gamFp IGdhdSBtbycnIG1lYW5zPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFdoYXQgYXJlIHlvdSBk b2luZz/igJ1+fgoKcwoKVGhlIG90aGVyIGZ1bmN0aW9uIG9mICcnamFpJycgaXMgZWFzaWVyIHRv IGV4cGxhaW4uIEl0IHNpbXBseSBjb252ZXJ0cyB0aGUgc2VsYnJpIHN1Y2ggdGhhdCB0aGUgc3Vt dGkgaW4gdGhlIHgxIGdldHMgYSAnJ3R14oCZYScnIGluIGZyb250IG9mIGl0ICgnJ2tv4oCZYSBq YWkgYnJvZGEnJyBfXz1fXyAnJ3R14oCZYSBrb+KAmWEgYnJvZGEnJykuIEluIG90aGVyIHdvcmRz LCBpdCBjb252ZXJ0cyB0aGUgc2VsYnJpIGluIGEgd2F5IHN1Y2ggdGhhdCBpdCBidWlsZHMgYW4g ZWxsaXB0aWNhbCBhYnN0cmFjdGlvbiBmcm9tIHRoZSBzdW10aSBpbiB0aGUgeDEsIGFuZCB0aGVu IGZpbGxzIHgxIHdpdGggdGhlIGFic3RyYWN0aW9uIGluc3RlYWQgb2YgdGhlIGFjdHVhbCBzdW10 aS4gQWdhaW4sIHRoZSBvcmlnaW5hbCBzdW10aSBwbGFjZSBpcyBhY2Nlc3NpYmxlIGJ5ICcnZmFp JycuCgpBIHZlcnkgYWN0aXZlIExvamJhbiBJUkMtdXNlciBvZnRlbiBzYXlzICcnbGUgZ2Vya3Ug YmUgZG8gamFpIHNlIHN0aWRpIG1pJycsIHRvIHVzZSBhIHJhbmRvbSBleGFtcGxlIG9mIGEgc3Vt dGkgaW4geDEuIFdoYXTigJlzIGhlIHNheT8KCl9fJydzdGlkaScnX18geDEgaW5zcGlyZXMvc3Vn Z2VzdHMgeDIgaW4vdG8geDPigJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxJIHN1Z2dlc3Qg KHNvbWV0aGluZyBhYm91dCkgeW91ciBkb2cu4oCdfn4KCgoKU28gZmFyIHlvdeKAmXZlIGxlYXJu ZWQgaG93IHRvIGNvbnZlcnQgYnJpZGkgdG8gc2VsYnJpLCBzZWxicmkgdG8gc3VtdGksIGFuZCBz ZWxicmkgaW50byBicmlkaSwgc2luY2UgYWxsIHNlbGJyaSBieSB0aGVtc2VsdmVzIGFyZSBhbHNv IGJyaWRpLiBZb3Ugb25seSBuZWVkIG9uZSBsYXN0IGZ1bmN0aW9uOiBjb252ZXJ0IHN1bXRpIHRv IHNlbGJyaS4gVGhpcyBpcyBkb25lIHdpdGggdGhlIHdvcmQgJydtZScnLiBJdCBhY2NlcHRzIGEg c3VtdGkgYW5kIGNvbnZlcnRzIGl0IGludG8gYSBzZWxicmkgd2l0aCB0aGUgcGxhY2Ugc3RydWN0 dXJlIOKAnHgxIGlzIHNwZWNpZmljIHRvIHtzdW10aX0gaW4gcHJvcGVydHkgeDLigJ0uCgoKCldo ZW4gc2NyZXdpbmcgYSBzZW50ZW5jZSB1cCwga25vd2luZyBob3cgdG8gY29ycmVjdCB5b3Vyc2Vs ZiBpcyBhIGdvb2QgaWRlYS4gVGhlcmUgYXJlIHRocmVlIHdvcmRzIGluIExvamJhbiB3aGljaCB5 b3UgY2FuIHVzZSB0byBkZWxldGUgeW91ciBwcmV2aW91cyB3b3JkKHMpCgpfXycnc2knJ19fIC0g ZGVsZXRpb246IERlbGV0ZXMgbGFzdCB3b3JkIG9ubHkuCgpfXycnc2EnJ19fIC0gZGVsZXRpb246 IERlbGV0ZXMgYmFjayB1bnRpbCBuZXh0IGNtYXZvIHNwb2tlbi4KCl9fJydzdScnX18gLSBkZWxl dGlvbjogRGVsZXRlcyBlbnRpcmUgZGlzY291cnNlLgoKVGhlIGZ1bmN0aW9uIG9mIHRoZXNlIHdv cmRzIGFyZSB2ZXJ5IG9idmlvdXMuIFRoZXkgZGVsZXRlIHdvcmRzIGFzIGlmIHRoZXkgaGF2ZSBu ZXZlciBiZWVuIHNwb2tlbi4gVGhleSBkbyBub3Qgd29yayBpbnNpZGUgY2VydGFpbiBxdW90ZXMg KGFsbCBxdW90ZXMgZXhjZXB0ICcnbHUuLmxp4oCZdScnKSwgdGhvdWdoLCBhcyB0aGF0IHdvdWxk IGxlYXZlIGl0IGltcG9zc2libGUgdG8gcXVvdGUgdGhlc2Ugd29yZHMuIFNldmVyYWwgJydzaScn IGluIGEgcm93IGRlbGV0ZXMgc2V2ZXJhbCB3b3Jkcy4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0g TGVzc29uIGVpZ2h0ZWVuIChxdW90ZXMpCgpPbmUgb2YgdGhlIGtleSBkZXNpZ24gZmVhdHVyZXMg b2YgTG9qYmFuIGlzIHRoYXQgaXTigJlzIHN1cHBvc2VkIHRvIGJlIGF1ZGlvLXZpc3VhbCBpc29t b3JwaGljLCBtZWFuaW5nIHRoYXQgZXZlcnl0aGluZyBleHByZXNzZWQgaW4gdGV4dCBzaG91bGQg YWxzbyBiZSBleHByZXNzZWQgaW4gc3BlZWNoIGFuZCB2aWNlIHZlcnNhLiBUaGVyZWZvcmUsIHRo ZXJlIGNhbm5vdCBiZSBhbnkgcHVuY3R1YXRpb24gd2hpY2ggaXMgbm90IHByb25vdW5jZWQuIFRo aXMgbWVhbnMgdGhhdCBMb2piYW4gaGFzIGEgd2lkZSByYW5nZSBvZiB3b3JkcyB0byBxdW90ZSBv dGhlciB3b3Jkcy4gQWxsIExvamJhbiBxdW90ZXMgdGFrZSBzb21lIGlucHV0IG9mIHRleHQgYW5k IGNvbnZlcnRzIGl0IHRvIGEgc3VtdGkuIExldOKAmXMgYmVnaW4gd2l0aCB0aGUgbW9zdCBzaW1w bGU6CgoKCl9fJydsdScnX18gUXVvdGUgd29yZDogQmVnaW4gcXVvdGUgb2YgZ3JhbW1hdGljYWwg TG9qYmFuIGNvbnRlbnQKCl9fJydsaeKAmXUnJ19fIFF1b3RlIHdvcmQ6IEVuZCBxdW90ZSBvZiBn cmFtbWF0aWNhbCBMb2piYW4gY29udGVudAoKCgpUaGUgdGV4dCBpbnNpZGUgdGhpcyBjb25zdHJ1 Y3QgbXVzdCBieSBpdHNlbGYgYmUgZ3JhbW1hdGljYWwuIEl0IGNhbiBxdW90ZSBhbGwgTG9qYmFu IHdvcmRzIHdpdGggc29tZSBmZXcgZXhjZXB0aW9ucywgbW9zdCBub3RhYmx5LCBvYnZpb3VzbHks ICcnbGnigJl1JycuCgoKClRyeSB0byB0cmFuc2xhdGUgdGhlIGZvbGxvd2luZyBzZW50ZW5jZS4g VGFrZSB5b3VyIHRpbWUuCgonJ21pIHN0aWRpIGxvIGRyYXRhIGJlIHR14oCZYSBsdSBrbyBqYWkg Z2F1IG1vIGxp4oCZdScnCgpfXycnZHJhdGEnJ19fIHgxIGlzIGRpZmZlcmVudCBmcm9tIHgyIGJ5 IHN0YW5kYXJkCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcSSBzdWdnZXN0IHNvbWV0aGluZyBk aWZmZXJlbnQgdGhhbiBzb21ldGhpbmcgYWJvdXQg4oCca28gamFpIGdhdSBtb+KAnS7igJ1+fgoK CgpUaGVzZSBxdW90ZSB3b3JkcyBjYW5ub3QgcXVvdGUgdW5ncmFtbWF0aWNhbCB0ZXh0LiBUaGlz IGlzIHNvbWV0aW1lcyB1c2VmdWwsIHdoZW4geW91IHdhbnQgdG8gb25seSBwaWNrIG91dCBwYXJ0 IG9mIGEgc2VudGVuY2UsIGFzIGluOiDigJwgaXMg4oCcZ2nigJll4oCdIGEgTG9qYmFuIHN1bXRj aXRhP+KAnQoKCgpGb3IgdGhpcywgeW91IG5lZWQgdGhlc2UgdHdvIGNtYXZvCgpfXycnbG/igJl1 JydfXyBRdW90ZSB3b3JkOiBCZWdpbiBxdW90ZSBvZiB1bmdyYW1tYXRpY2FsIGJ1dCBMb2piYW4g Y29udGVudAoKX18nJ2xl4oCZdScnX18gUXVvdGUgd29yZDogRW5kIHF1b3RlIG9mIHVuZ3JhbW1h dGljYWwgYnV0IExvamJhbiBjb250ZW50CgoKClRoZSB0ZXh0IGluc2lkZSBtdXN0IGJlIExvamJh biB3b3JkcywgYnV0IG5lZWQgbm90IGJlIGdyYW1tYXRpY2FsLiBUcnkgdG8gdHJhbnNsYXRlIHRo ZSBhYm92ZSBleGFtcGxlICh0aGVuIG9uZSB3aXRoICcnZ2knZScnKSBpbnRvIExvamJhbgoKCgpB bnN3ZXI6IH5+Z3JleSxncmV5OicneHUgbG/igJl1IGdp4oCZZSBsZeKAmXUgbG9qYm8gc3VtdGNp dGEnJ35+CgoKClRoaXMgcXVvdGUgY2FuIGJlIHVzZWQgdG8gcXVvdGUgYWxsIExvamJhbiB3b3Jk cyBleGNlcHQgJydsZeKAmXUnJy4gSG93ZXZlciwgdGhpcyBpcyBub3QgZW5vdWdoLiBJZiB3ZSB3 YW50IHRvIHRyYW5zbGF0ZSDigJxpcyDigJ1kbyBtb+KAnSBhIGNvcnJlY3QgdHJhbnNsYXRpb24g b2Yg4oCcV2hhdOKAmXMgdXA/4oCd4oCdLCB3ZSBtaWdodCBiZSBzbGlnaHRseSB3cm9uZyBhYm91 dCB3aGF0IHdlIGhlcmUgc3RhdGUsIHNpbmNlICcnZG8gbW8nJyBhbHNvIGNhbiBtZWFuIOKAnFdo YXQgYXJlIHlvdT/igJ0sIGJ1dCBsZXTigJlzIHJvbGwgd2l0aCBpdCBmb3IgYSBzZWNvbmQuIFdo YXQgd2UgbmVlZCBoZXJlIGlzIHRoZSB3b3JkICcnem9pJycuCgoKCicnem9pJycgTmV4dCBjbWF2 byBpcyBiZWdpbiBhbGwtcHVycG9zZSBxdW90ZSBhbmQgY2xvc2UgYWxsLXB1cnBvc2UgcXVvdGUu CgoKCldoZW4gdXNpbmcgJyd6b2knJywgeW91IHBpY2sgYW55IG1vcnBob2xvZ2ljYWxseSBjb3Jy ZWN0IGxvamJhbiB3b3JkIGF0IHdpbGwgKGNhbGxlZCB0aGUgZGVsaW1pdGVyKSwgd2hpY2ggdGhl biBvcGVucyBhIHF1b3RlLiBUbyBjbG9zZSBpcywgdXNlIHRoYXQgd29yZCBhZ2Fpbi4gVGhpcyB3 YXksIHlvdSBjYW4gcXVvdGUgYW55dGhpbmcgZXhjZXB0IHRoZSBkZWxpbWl0ZXIsIHdoaWNoIHNo b3VsZG7igJl0IGJlIGEgcHJvYmxlbSBiZWNhdXNlIHlvdSBjYW4gcGljayBpdCB5b3Vyc2VsZi4g VXN1YWxseSwgdGhlIHdvcmQgcGlja2VkIGlzIGVpdGhlciAnJ3pvaScnIGl0c2VsZiwgb3IgYSBs ZXR0ZXIgd2hpY2ggc3RhbmRzIGZvciB0aGUgbGFuZ3VhZ2Ugd2hpY2ggdGhlIHF1b3RlIGlzIHdy aXR0ZW4gaW4uIEV4YW1wbGU6IOKAnEkgbGlrZWQgVGhlIFBoYW50b20gb2YgdGhlIE9wZXJh4oCd IGlzICcnbWkgcHUgbmVsY2kgbGHigJllIHpvaSB6b2kuIFRoZSBQaGFudG9tIG9mIHRoZSBPcGVy YSAuem9pJycgTm90aWNlIHR3byB0aGluZ3M6IEZpcnN0bHksIEkgbmVlZCBhICcnbGHigJllJycs IHNpbmNlIEkgZGlkbuKAmXQgbGlrZSB0aGUgcXVvdGUsIGJ1dCByYXRoZXIgd2hhdCBpdCByZWZl cnJlZCB0by4gU2Vjb25kbHksIGJldHdlZW4gdGhlIGNob3NlbiBkZWxpbWl0ZXIgYW5kIHRoZSBx dW90ZSwgdGhlcmUgYXJlIHBhdXNlcywgb3B0aW9uYWxseSByZXByZXNlbnRlZCBieSBhIGZ1bGwg c3RvcCBpbiB3cml0aW5nLiBUaGlzIHBhdXNlIGlzIG5lY2Vzc2FyeSB0byBjb3JyZWN0bHkgaWRl bnRpZnkgdGhlIGRlbGltaXRlci4KCgoKVHJ5IHRvIHRyYW5zbGF0ZSB0aGUgYWJvdmUgc2VudGVu Y2UgY29uY2VybmluZyDigJxXaGF04oCZcyB1cD/igJ0KCgoKX18nJ2RyYW5pJydfXyB4MSBpcyBj b3JyZWN0L3Byb3BlciBpbiBhc3BlY3QgeDIgaW4gc2l0dWF0aW9uIHgzIGJ5IHN0YW5kYXJkIHg0 CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd4dSBsdSBkbyBtbyBsaeKAmXUgZHJhbmkgeGUgZmFu dmEgem9pIGd5LiBXaGF04oCZcyB1cD8gLmd5Jyd+fgoKCgpDbG9zZWx5IGFuYWxvZ291c2x5LCB0 aGVyZSBpcyAnJ2xh4oCZbycnLiBJdCB3b3JrcyBleGFjdGx5IGxpa2UgJyd6b2knJywgYnV0IHR1 cm5zIHRoZSByZXN1bHRpbmcgcXVvdGUgaW50byBhIG5hbWUuIEl0IGlzIG5lZWRlZCBiZWNhdXNl IG5vcm1hbGx5LCBvbmx5IHNlbGJyaSBhbmQgY21ldmxhIGNhbiBiZSBuYW1lcywgbm90IHF1b3Rl cy4KCl9fJydsYeKAmW8nJ19fIE5leHQgY21hdm8gaXMgYmVnaW4gYWxsLXB1cnBvc2UgcXVvdGUg YW5kIGNsb3NlIGFsbC1wdXJwb3NlIHF1b3RlIOKAkyB1c2UgYXMgbmFtZS4KCgoKTGFzdCBvZiB0 aGUgb2ZmaWNpYWwgcXVvdGUgd29yZHMsIHRoZXJlIGlzICcnem8nJy4gJyd6bycnIGFsd2F5cyBx dW90ZXMgdGhlIG5leHQgTG9qYmFuIHdvcmQsIG5vIG1hdHRlciB3aGF0IGl0IGlzLiBJdOKAmXMg cHJldHR5IGhhbmR5LgoKJyd6bycnIFF1b3RlIG5leHQgTG9qYmFuIHdvcmQsIG5vIG1hdHRlciB3 aGF0LgoKRXhhbXBsZTogJyd6byB6byB6b+KAmW8gcGxpeGF1JycgPSDigJwg4oCcem/igJ0gaXMg dXNlZnVsLCBoZWhl4oCdCgpfXycnem/igJlvJydfXyBhdHRpdHVkaW5hbDogZGlzY3Vyc2l2ZTog SHVtb3JvdXNseSwg4oCca2lkZGluZyB5b3XigJ0KCl9fJydwbGl4YXUnJ19fIHgxIGlzIHVzZWZ1 bCBmb3IgeDIgdG8gZG8gcHVycG9zZSB4MwoKCgpMb2piYW4gdXNlcnMgaGF2ZSBmb3VuZCBpdCB1 c2VmdWwgdG8gc3VwcGxlbWVudCB3aXRoIGZvdXIgYWRkaXRpb25hbCBxdW90ZSB3b3Jkcy4gVGhl eSBhcmUgYWxsIGV4cGVyaW1lbnRhbCwgYW5kIHRoZSBmb3JtYWwgZ3JhbW1hciBkb2VzIG5vdCBz dXBwb3J0IGl0LiBOb25ldGhlbGVzcywgdGhleSBhcmUgdXNlZCBvZnRlbiwgYW5kIGl04oCZcyBn b29kIHRvIGJlIGFibGUgdG8gcmVjb2duaXplIHRoZW0uIFRoZSBtb3N0IHVzZWQgaXM6CgoKCl9f Jyd6b+KAmW9pJydfXyBRdW90ZSBuZXh0IHdvcmQgb25seS4gTmV4dCB3b3JkIGlzIGlkZW50aWZp ZWQgYnkgcGF1c2VzIGluIHNwZWVjaCBvciB3aGl0ZXNwYWNlIGluIHdyaXRpbmc6CgoKCkV4YW1w bGU6ICcncmkgcHUgY3Vza3Ugem/igJlvaSBEb2ghIC514oCZaScnIOKAnEhhIGhhLCBoZSBzYWlk IOKAnERvaCHigJ0g4oCcCgpfXycnLnXigJlpJydfXzogYXR0aXR1ZGluYWw6IHNpbXBsZSBwdXJl IGVtb3Rpb246IGFtdXNlbWVudCAtIHdlYXJpbmVzcwoKCgpJdOKAmXMgdmVyeSBlYXN5IHRvIHVz ZS4gQWdhaW4sIG5vdGUgdGhhdCBhbGwgZ3JhbW1hciBib3RzIHdpbGwgY29uc2lkZXIgdGhlIHNl bnRlbmNlIG5vdCBncmFtbWF0aWNhbCwgYmVjYXVzZSB0aGVzZSB3b3JkcyBkbyBub3QgZXhpc3Qg aW4gdGhlIGZvcm1hbCBncmFtbWFyLgoKCgpBbmFsb2dvdXMgdG8gJyd6bydvaScnIGFuZCAnJ2xh 4oCZbycnLCB0aGVyZSBpcyBhbHNvIHRoZSB3b3JkICcnbGHigJlvaScnLCB3aGljaCB3b3JrcyBq dXN0IGxpa2UgJyd6b+KAmW9pJycsIGJ1dCB0cmVhdHMgdGhlIHF1b3RlIGFzIGEgbmFtZToKCl9f JydsYeKAmW9pJydfXyBRdW90ZSBuZXh0IHdvcmQgb25seSwgdXNlIGFzIG5hbWUuIE5leHQgd29y ZCBpcyBpZGVudGlmaWVkIGJ5IHBhdXNlcyBpbiBzcGVlY2ggb3Igd2hpdGVzcGFjZSBpbiB3cml0 aW5nOgoKCgpIb3cgd291bGQgeW91IHNheTog4oCcTXkgRW5nbGlzaCBuYW1lIGlzIOKAnFNhZmni gJ3igJ0/CgpfXycnZ2xpY28nJ19fIHgxIGlzIEVuZ2xpc2gvcGVydGFpbnMgdG8gRW5nbGlzaCBj dWx0dXJlIGluIGFzcGVjdCB4MgoKX18nJ2NtZW5lJydfXyB4MSBpcyB0aGUgbmFtZSBvZiB4MiBh cyB1c2VkIGJ5IHgzCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBnbGljbyBzZSBjbWVuZSBs YeKAmW9pIFNhZmknJy4gTm90aWNlIHRoZSBuZWNlc3Nhcnkgc2UuIFdlIGRvbuKAmXQgd2hhdCB0 byBzYXkgdGhhdCB3ZeKAmXJlIGEgbmFtZSF+fgoKCgpUaGlyZGx5LCAnJ3Jh4oCZb2knJyBxdW90 ZXMgdGhlIG5leHQgcmFmc2kuIFNpbmNlIHJhZnNpIGFyZSBub3Qgd29yZHMsIHRoZXkgd291bGQg dXN1YWxseSBoYXZlIHRvIGJlIHF1b3RlZCBieSAnJ3pvaScnLiBGdXJ0aGVybW9yZSwgc2V2ZXJh bCByYWZzaSBhcmUgYWxzbyBjbWF2by4gVG8gYXZvaWQgY29uZnVzaW9uIG9mIHdoaWNoIGlzIG1l YW50LCAnJ3Jh4oCZb2knJyBhbHdheXMgcmVmZXIgdG8gYSByYWZzaSwgYW5kIGlzIHdyb25nIGlu IGZyb250IG9mIGFueSB0ZXh0IHN0cmluZyB3aGljaCBhcmUgbm90IHJhZnNpLgoKCgpXaGF0IGRv ZXMgJydyYeKAmW9pIHp14oCZZSByYWZzaSB6byB6dWt0ZSAuaWt14oCZaSB6b+KAmW9pIHp14oCZ ZSBzdW10Y2l0YScnIG1lYW4/CgpfXycna3XigJlpJydfXyBhdHRpdHVkaW5hbDogZGlzY3Vyc2l2 ZTogSG93ZXZlciAvIHRob3VnaCAoY29udHJhc3RzIHRvIHNvbWV0aGluZyBwcmV2aW91c2x5IHNh aWQpCgpfXycncmFmc2knJ19fIHgxIGFuIGFmZml4IGZvciB3b3JkL2NvbmNlcHQgeDIgd2l0aCBw cm9wZXJ0aWVzL29mIGZvcm0geDMgaW4gbGFuZ3VhZ2UgeDQKCgoKQW5zd2VyOiB+fmdyZXksZ3Jl eTrigJxUaGUgcmFmc2kg4oCcenXigJll4oCdIGlzIGEgcmFmc2kgZm9yIOKAnHp1a3Rl4oCdLiBC dXQg4oCcenXigJll4oCdIGlzIGEgc3VtdGNpdGHigJ1+fgoKCgpBbmQgZmluYWxseSB0aGUgdXNl ZnVsIHdvcmQgJydtYeKAmW9pJycuICcnbWHigJlvaScnIHF1b3RlcyBhbnkgY21hdm8sIGJ1dCB0 cmVhdHMgdGhlIHF1b3RlIGFzIGEgbmFtZSBmb3IgdGhlIHdvcmQgY2xhc3MgKHNlbG1h4oCZbykg dG8gd2hpY2ggdGhhdCB3b3JkIGJlbG9uZ3MuIFNvLCBmb3IgaW5zdGFuY2UsIGJh4oCZbyBiZWxv bmdzIHRvIHRoZSB3b3JkY2xhc3MgY2FsbGVkIFpBaE8sIHNvICcnbWHigJlvaSBiYeKAmW8nJyBp cyB1bm9mZmljaWFsIExvamJhbiBmb3Ig4oCcWmFoT+KAnQoKCgpUcnkgaXQgb3V0LiBTYXkgdGhh dCAnJ3B1JycgYW5kICcnYmEnJyBhcmUgaW4gdGhlIHNhbWUgc2VsbWHigJlvIQoKX18nJ2NtYXZv JydfXyB4MSBpcyBhIGdyYW1tYXRpY2FsIHdvcmQgb2YgY2xhc3MgeDIgaW4gbGFuZ3VhZ2UgeDMK CgoKKE9uZSBwb3NzaWJsZSkgQW5zd2VyOiAgfn5ncmV5LGdyZXk6Jyd6byBwdSBjbWF2byBtYeKA mW9pIGJhJyd+fgoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gbmluZXRlZW4gKG51bWJl cnMpCgpXaGVuIGxlYXJuaW5nIGEgbGFuZ3VhZ2UsIG9uZSBvZiB0aGUgdGhpbmdzIHdoaWNoIGFy ZSB1c3VhbGx5IHRhdWdodCB2ZXJ5IGVhcmx5IG9uIGlzIGhvdyB0byBjb3VudC4gVGhpcyByZWFs bHkgbWFrZXMgbGl0dGxlIHNlbnNlLCBiZWNhdXNlIGl04oCZcyBub3QgbmVjZXNzYXJ5IHRvIGtu b3cgbnVtYmVycyBpZiB5b3UgZG9u4oCZdCBrbm93IGhvdyB0byBzcGVhayBhYm91dCB0aG9zZSB0 aGluZ3MgdG8gd2hpY2ggdGhleSBhcHBseS4gVGhpcyBpcyBwYXJ0bHkgdGhlIHJlYXNvbiB3aHkg SSBoYXZlIGxlZnQgaXQgZm9yIGxlc3NvbiBudW1iZXIgbmluZXRlZW4uIFRoZSBvdGhlciByZWFz b24gaXMgdGhhdCB3aGlsZSB0aGUgbnVtYmVycyB0aGVtc2VsdmVzIGFyZSBlYXN5IHRvIGxlYXJu LCBob3cgdGhleSBhcHBseSB0byBzdW10aSBjYW4gZ2V0IHZlcnkgY29uZnVzaW5nIGluZGVlZC4g VGhhdCwgaG93ZXZlciwgd2Ugd2lsbCBzYXZlIGZvciBhIGxhdGVyIGxlc3Nvbi4KCkJlZm9yZSBs ZWFybmluZyB0aGUgd29yZHMgdGhlbXNlbHZlcywgeW91IHNob3VsZCBrbm93IHRoYXQgbnVtYmVy cyBkbyBub3QgaGF2ZSBhbnkgaW50ZXJuYWwgZ3JhbW1hci4gVGhpcyBtZWFucyB0aGF0IGFueSBy b3cgb2YgbnVtYmVyIHdvcmRzIChoZW5jZWZvcnRoIHJlZmVycmVkIHRvIGFzIGEgIm51bWJlciBz dHJpbmciKSBhcmUgdHJlYXRlZCBpZGVudGljYWxseSB0byBhbnkgb3RoZXIgbnVtYmVyIHN0cmlu ZyB0byB0aGUgTG9qYmFuIGdyYW1tYXIsIGV2ZW4gaWYgdGhlIHJvdyBtYWtlcyBubyBzZW5zZS4g VGhlcmVmb3JlLCBvbmUgY2FuIG5ldmVyIGFuc3dlciB1bmFtYmlndW91c2x5IHdoZXRoZXIgYSBu dW1iZXIgY29uc3RydWN0IG1ha2VzIHNlbnNlIG9yIG5vdC4gVGhlcmUgYXJlLCBob3dldmVyLCBp bnRlbmRlZCB3YXlzIG9mIHVzaW5nIHRoZSBudW1iZXIgd29yZHMsIGFuZCBjb25mdXNpb24gd2ls bCBwcm9iYWJseSByZXN1bHQgaWYgeW91IGRldmlhdGUgZnJvbSB0aGUgc3RhbmRhcmQuCgpMZWFy bmluZyBhbGwgdGhlIG51bWJlciB3b3JkcyBvZiBMb2piYW4gYXJlIHdheSBiZXlvbmQgdGhlIHNj b3BlIG9mIHRoaXMgbGVzc29uLCBzbyB5b3Ugd2lsbCBvbmx5IGJlIGludHJvZHVjZWQgdG8gd2hh dCBpcyBub3JtYWxseSB1c2VkIGluIHRleHQuIFRoZSB3aWRlIHJhbmdlIG9mIExvamJhbiBtYXRo ZW1hdGljYWwgY21hdm8gYXJlIGNhbGxlZCAnJ21la3NvJycgKExvamJhbiBmb3IgIm1hdGhlbWF0 aWNhbCBleHByZXNzaW9uIiksIGFuZCBpcyB3aWRlbHkgZGlzcmVnYXJkZWQgYmVjYXVzZSBvZiBp dHMgY29tcGxleGl0eSBhbmQgcXVlc3Rpb25hYmxlIGFkdmFudGFnZSBvdmVyIHNvLWNhbGxlZCBi cmlkaSBtYXRoLgoKTGV04oCZcyBiZWdpbiB3aXRoIHRoZSBvcmRpbmFyeSBMb2piYW4gbnVtYmVy cywgZnJvbSB6ZXJvIHRvIG5pbmU6Cgp8fHplcm98b25lfHR3b3x0aHJlZXxmb3VyfGZpdmV8c2l4 fHNldmVufGVpZ2h0fG5pbmUKCm5vfHBhfHJlfGNpfHZvfG11fHhhfHplfGJpfHNvfHwKCk5vdGlj ZSBob3cgdGhlIHZvd2VscyBhcmUgYWx0ZXJuYXRpbmcgKHdpdGggdGhlIGV4Y2VwdGlvbiBvZiAn J25vJycpLCBhbmQgaG93IG5vIGNvbnNvbmFudCBpcyB1c2VkIGZvciB0d28gZGlnaXRzLgoKSW4g b3JkZXIgdG8gZXhwcmVzcyBudW1iZXJzIGhpZ2hlciB0aGFuIG5pbmUsIHRoZSBudW1iZXJzIGFy ZSBqdXN0IHN0cnVuZyB0b2dldGhlcjoKCicndm8gbXUgY2knJyDigJMgZm91ciBodW5kcmVkIGFu ZCBmaWZ0eSB0aHJlZSAoNDUzKQoKJydwYSBubyBubyBubyBubycnIHRlbiB0aG91c2FuZCAoMTAg MDAwKQoKVGhlcmUgaXMgYWxzbyBhIOKAnHF1ZXN0aW9uLWRpZ2l04oCdLCB3aGljaCBpcyB1c2Vk IGxpa2Ugb3RoZXIgZmlsbC1pbi10aGUtYmxhbmsgcXVlc3Rpb24gd29yZHMuIEl04oCZcyAnJ3hv JycuIFRoZSBhbnN3ZXIgdG8gc3VjaCBhIHF1ZXN0aW9uIG1heSBiZSBqdXN0IHRoZSByZWxldmFu dCBkaWdpdChzKSBieSBpdHNlbGYsIG9yIHRoZXkgY2FuIGJlIG51bWVyaWNhbCBjb25zdHJ1Y3Rz LCBhcyBzaG93biBsYXRlci4KCicnY2kgeG8geG8geG8nJyDigJMgIlRocmVlIHRob3VzYW5kIGFu ZCBob3cgbWFueT8iICgzPz8/KQoKX18nJ3hvJydfXyBxdWVzdGlvbiBkaWdpdCDigJMgdXNlIGxp a2UgYW55IG90aGVyIGRpZ2l0IHRvIGFzayBmb3IgdGhlIGNvcnJlY3QgZGlnaXQuCgpUaGUgZXhw ZXJpbWVudGFsIHdvcmQgJyd4bydlJycgaXMgc29tZXRpbWVzIHVzZWQgdG8gbWVhbiBhbiB1bnNw ZWNpZmllZCwgZWxsaXB0aWNhbCBkaWdpdC4gSXRzIGRlZmluaXRpb24gaXMgbm90IG9mZmljaWFs LCB0aG91Z2guCgonJ2NpIHhv4oCZZSB4b+KAmWUgeG/igJllJycg4oCTIFRocmVlIHRob3VzYW5k IGFuZCBzb21ldGhpbmcKCl9fJyd4bydlJydfXyBlbGxpcHRpY2FsIGRpZ2l0LgoKU2luY2UgYWxs IG51bWJlciBzdHJpbmdzIGFyZSB0cmVhdGVkIGdyYW1tYXRpY2FsbHkgdGhlIHNhbWUsIG9uZSBt aWdodCBhbHNvIGFuc3dlciBzZXZlcmFsIGRpZ2l0cyB0byBvbmUgJyd4bydlJycKCgoKRnVydGhl cm1vcmUsIHRoZXJlIGlzIGFsc28gYSBzZXQgb2YgaGV4YWRlY2ltYWwgZGlnaXRzIEEgdGhyb3Vn aCBGLiBCeSBkZWZhdWx0LCBMb2piYW4gb3BlcmF0ZXMgaW4gYmFzZSAxMCwgYnV0IHdoZW4gdXNp bmcgaGV4YWRlY2ltYWwgZGlnaXRzLCBpdCBjYW4gYmUgc2FmZWx5IGFzc3VtZWQgdGhhdCB5b3Ug dXNlIGJhc2Ugc2l4dGVlbjoKCnx8ZGF1fGZlaXxnYWl8amF1fHJlaXx4ZWkgfHZhaXwKCjEwKEEp fDExKEIpfDEyKEMpfDEzKEQpfDE0KEUpfDE0KEUpfDE1KEYpfHwKClllcywgSSBrbm93IHRoZXJl IGFyZSB0d28gd29yZHMgZm9yIEUuIFRoZSBvZmZpY2lhbCBvbmUgaXMgJydyZWknJyAoYWxsIHRo cmVlLWxldHRlciBjbWF2byBiZWdpbm5pbmcgd2l0aCB4IGlzIGV4cGVyaW1lbnRhbCkuICcneGVp Jycgd2FzIGludmVudGVkIHRvIGF2b2lkIGNvbmZ1c2lvbiB3aXRoICcncmUnJy4KClRoZSBiYXNl IGNhbiBiZSBleHBsaWNpdGx5IHN0YXRlZCB1c2luZyAnJ2p1J3UnJzogQW55IG51bWJlciBiZWZv cmUgJydqdSd1JycgdGhlIG51bWJlciBiZWluZyBzcG9rZW4gb2YsIGFueSBudW1iZXIgYWZ0ZXIg aXMgdGhlIGJhc2Ugb2YgdGhlIG51bWJlcjoKCicnZGF1IHNvIGZlaSBubyBqdeKAmXUgcGEgcmUn JyDigJMgQTlCMCBpbiBiYXNlIDEyIChub3RpY2UgaGVyZSB0aGF0IGJhc2UgMTIgaXMgYWx3YXlz IGluIGRlY2ltYWwuIEl0IGlzIHBvc3NpYmxlIHRvIHBlcm1hbmVudGx5IGNoYW5nZSB0aGUgYmFz ZSB5b3Ugc3BlYWsgaW4sIGJ1dCBzaW5jZSBpdCBoYXMgbmV2ZXIgYmVlbiB1c2VkIGluIHByYWN0 aWNlLCBpdCBoYXMgbm90IGJlZW4gc3RhbmRhcmRpemVkIGhvdyBvbmUgc2hvdWxkIGRvIGl0KQoK RnJhY3Rpb25zIGFyZSBhbHNvIHVzZWZ1bCB0byBsZWFybiBob3cgdG8gZXhwcmVzcy4gVGhleSBh cmUgdXN1YWxseSBleHByZXNzZWQgdmlhIGEgZGVjaW1hbCBwb2ludCwgJydwaScnLgoKX18nJ3Bp JydfXyBEZWNpbWFsIHBvaW50IChvciBwb2ludCBpbiB3aGljaGV2ZXIgYmFzZSB5b3UgYXJlIHRh bGtpbmcgaW4pCgonJ3BhIHJlIHBpIHJlIG11Jycg4oCTIHR3ZWx2ZSBwb2ludCB0d28gZml2ZSAo MTIuMjUpLiAKCkxpa2UgaW4gbWF0aGVtYXRpY3MsIHdoZW4gbm8gbnVtYmVyIHN0cmluZyBpcyBw bGFjZWQgYmVmb3JlIG9yIGFmdGVyICcncGknJywgemVybyBpcyBhc3N1bWVkLiAKClJlbGF0ZWQg dG8gdGhpcywgdGhlIG51bWJlciBzZXBhcmF0b3IgJydwaSdlJycgaXMgdXNlZCB0byBzZXBhcmF0 ZSBudW1iZXJzLCBlaXRoZXIgdG8gc2VwYXJhdGUgZGlnaXRzIHdoZW4gc3BlYWtpbmcgaW4gYSBi YXNlIGxhcmdlciB0aGFuIHNpeHRlZW4sIG9yIHdoZW4gYSBkZWNpbWFsIHBvaW50IGlzIG5vdCBh cHBsaWNhYmxlLCBmb3IgaW5zdGFuY2UsIHdoZW4gdGFsa2luZyBhYm91dCB0aW1lIGluIGhvdXJz LCBtaW51dGVzLCBzZWNvbmRzOgoKJydwYSBzbyBwaSdlIHJlIG11IHBpJ2Ugbm8ganUndSByZSB6 ZScnIOKAkyBOaW5ldGVlbiwgdHdlbnR5LWZpdmUsIHplcm8gaW4gYmFzZSAyNyAoSlAwIGJhc2Ug MjcpCgonJ3JlIHJlIHBp4oCZZSB2byBiaScnIOKAkyB0d2VudHktdHdvLCBmb3VydHkgZWlnaHQg KDIyOjQ4KQoKCgpUaGVyZSBpcyBhbHNvIGEgcmFuZ2Ugb2YgbnVtYmVyIHdvcmRzIHdoaWNoIGFy ZSBub3QgbWF0aGVtYXRpY2FsbHkgZXhhY3QgYnV0IHJhdGhlciBzdWJqZWN0aXZlIG9yIHJlbGF0 aXZlLiBUaGUgYmVoYXZpb3JzIG9mIHRoZXNlIHdvcmRzIGFyZSBhbG1vc3QgZXhhY3RseSBsaWtl IHRoZSBiZWhhdmlvciBvZiBkaWdpdHMsIGV4Y2VwdCB0aGV5IGNhbm5vdCBiZSBjb21iaW5lZCB0 byBtYWtlIGJpZ2dlciBudW1iZXJzIHRoZSB3YXkgZGlnaXRzIGNhbjoKCnx8IHJvfHNvJ2F8c28n ZXxzbydpfHNvJ298c28ndXwKCmFsbHxhbG1vc3QgYWxsfG1vc3R8bWFueXxzb21lfGZld3x8CgpX aGVuIGNvbWJpbmVkIHdpdGggYW55IG9mIHRoZSBkaWdpdHMsIHRoZXNlIHdvcmRzIGFyZSBhc3N1 bWVkIHRvIGdpdmUgYSBzZWNvbmQgdmVyZGljdCBhYm91dCB0aGUgc2l6ZSBvZiB0aGUgbnVtYmVy OgoKJydtdSBiaSBzbydpIHNhaScnIOKAk0ZpZnR5IGVpZ2h0LCB3aGljaCBpcyByZWFsbHkgbWFu eS4KClRoZXkgc2hvdWxkIHRoZXJlZm9yZSBub3QgYmUgcGxhY2VkIGluIHRoZSBtaWRkbGUgb2Yg YSBudW1iZXIgc3RyaW5nLiBXaGVuIHBsYWNlZCBhZnRlciAnJ3BpJycsIHRoZXkgYXJlIGFzc3Vt ZWQgdG8gY29udmV5IHRoZSBzaXplIG9mIGEgZnJhY3Rpb246CgonJ3BpIHNvJ2knJyDigJMgYSBn b29kIHBhcnQgb2YgaXQgJydwaSBzbydvJycg4oCTIHNvbWUgb2YgaXQgJydwaSBzbydhJycg4oCT IGFsbW9zdCBhbGwgb2YgaXQKClRoZXNlIGFyZSBzb21lIGhpZ2h0bHkgc3ViamVjdGl2ZSBudW1i ZXJzIC0gdGhleSB3b3JrIGp1c3QgbGlrZSB0aGUgcHJldmlvdXMgb25lcy4KCnx8ZHXigJllfG1v J2F8cmF1Cgp0b28gbWFueXx0b28gZmV3fGVub3VnaHx8CgpUaGUgZm9sbG93aW5nIGZpdmUgYXJl IGNvbnRleHQtYmFzZWQgbnVtYmVycyDigJMgdGhlc2Ugd29yayBsaWtlIHRoZSBwcmV2aW91cyBv bmVzLCB3aXRoIHRoZSBleGNlcHRpb24gdGhhdCB0aGV5IHRha2UgdGhlIG51bWJlciBzdHJpbmcg aW4gb3JkZXIgdG8gYXNzaWduIHRoZW0gbWVhbmluZzoKCnx8ZGEnYXxzdSdlfHN1J298emEndXxt ZSdpCgphbGwgZXhjZXB0IG4gfEF0IG1vc3QgbnxBdCBsZWFzdCBufG1vcmUgdGhhbiBufGxlc3Mg dGhhbiBufHwKCgoKSWYgbm8gbnVtYmVyIHN0cmluZyBmb2xsb3cgdGhlbSwg4oCcb25l4oCdIGlz IGFzc3VtZWQuCgonJ3Nv4oCZaSBwYSByZSBkYSdhIG11Jycg4oCTIE1hbnksIHdoaWNoIGlzIHR3 ZWx2ZSwgd2hpY2ggaXMgYWxsIGJ1dCBmaXZlLgoKVGhlIHR3byBsYXN0IG51bWJlciB3b3JkcyB5 b3Ugc2hvdWxkIGtub3cgaGF2ZSBzbGlnaHRseSBtb3JlIGNvbXBsaWNhdGVkIGdyYW1tYXI6Cgpf XycnamknaScnX18gLSBudW1iZXIgcm91bmRpbmcgb3IgbnVtYmVyIGFwcHJveGltYXRpb24KCldo ZW4gJydqaSdpJycgaXMgcGxhY2VkIGJlZm9yZSBhIG51bWJlciwgdGhlIGVudGlyZSBudW1iZXIg aXMgYXBwcm94aW1hdGVkOgoKJydqaSdpIHplIHphJ3UgcmF1IGp1J28nJyDigJMgIkFib3V0IHNl dmVudHksIHdoaWNoIGlzIG1vcmUgdGhhbiBlbm91Z2gsIGNlcnRhaW5seeKAnQoKUGxhY2VkIGlu IHRoZSBtaWRkbGUgb2YgdGhlIG51bWJlciwgb25seSB0aGUgZm9sbG93aW5nIGRpZ2l0cyBhcmUg bm9uLWV4YWN0LiBBdCB0aGUgZW5kIG9mIGEgbnVtYmVyLCBpdCBzaWduaWZpZXMgdGhhdCB0aGUg bnVtYmVyIGhhcyBiZWVuIHJvdW5kZWQgb2ZmLiAKCl9fJydraSdvJydfXyBOdW1iZXIgY29tbWEg IC0gc2VwYXJhdGVzIGRpZ2l0cyB3aXRoaW4gb25lIHN0cmluZzsgVGhvdXNhbmRzLgoKSXQgaXMg bm90IGluY2lkZW50aWFsIHRoYXQgJydraSdvJycgc291bmRzIGxpa2Ug4oCca2lsb+KAnS4gQXQg aXRzIHNpbXBsZXN0LCAnJ2tpJ28nJyBpcyB1c2VkIHRvIHNlcGFyYXRlIHRocmVlIGRpZ2l0cyBh dCBhIHRpbWUgaW4gbGFyZ2UgbnVtYmVycywgbXVjaCBsaWtlIGNvbW1hcyBhcmUgdXNlZCBpbiBF bmdsaXNoOgoKJydwYSBraSdvIHNvIHNvIHNvIGtpJ28gYmkgeGEgemUnJyDigJMgMSw5OTksODY3 CgpJZiBsZXNzIHRoYW4gdGhyZWUgZGlnaXRzIGFyZSBwdXQgYmVmb3JlIGEgJydraSdvJycsIHRo ZSBkaWdpdHMgYXJlIGFzc3VtZWQgdG8gYmUgdGhlIGxlYXN0IHNpZ25pZmljYW50IG9uZXMsIGFu ZCB6ZXJvcyBhcmUgYXNzdW1lZCB0byBmaWxsIGluIHRoZSByZXN0OgoKJyd2byBraSdvIGNpIGJp IGtpJ28gcGEga2knbyBraSdvJycg4oCTIDQsMDM4LDAwMSwwMDAsMDAwCgonJ2tpJ28nJyBpcyB1 c2VkIHNpbWlsYXJseSBhZnRlciBhIGRlY2ltYWwgcG9pbnQuCgoKClRoYXQgY29uY2x1ZGVzIHRo ZSBjb21tb24gTG9qYmFuIG51bWJlcnMgdGhlbXNlbHZlcy4gSG93IHRoZXkgYXBwbHkgdG8gc3Vt dGkgaXMgYSBzY2llbmNlIGluIGl0c2VsZiwgYW5kIHdlIGxlYXZlIHRoYXQgZm9yIGxlc3NvbiB0 d2VudHktdHdvLiBOb3cgd2UgZm9jdXMgb24gaG93IHRoZXNlIG51bWJlcnMgY2FuIGJlIHVzZWQg aW4gYSBicmlkaS4KCkEgc3RyaW5nIG9mIG51bWJlciB3b3JkcyBieSB0aGVtc2VsdmVzIGFyZSBn cmFtbWF0aWNhbCwgc2luY2UgdGhleSBjYW4gYWN0IGFzIGFuIGFuc3dlciB0byBhICcneG8nJy10 eXBlIG9mIHF1ZXN0aW9uLiBJbiB0aGlzIGNhc2UsIGhvd2V2ZXIsIHRoZXkgY2Fubm90IGJlIGNv bnNpZGVyZWQgcGFydCBvZiBhbnkgYnJpZGkuIEluIGdlbmVyYWwsIGlmIG51bWJlcnMgZmlsbCBw YXJ0IG9mIGEgYnJpZGksIHRoZXkgZG8gc28gaW4gb25lIG9mIHR3byBmb3JtczogUHVyZSBudW1i ZXJzIGFuZCBxdWFudGlmaWVycy4KCkEgcHVyZSBudW1iZXIgaXMgYW55IHJvdyBvZiBudW1iZXIg d29yZHMgcHJlZml4ZWQgd2l0aCAnJ2xpJycuIFRoaXMgbWFrZXMgYSBzdW10aSBkaXJlY3RseSBm cm9tIHRoZSBudW1iZXIsIGFuZCByZWZlcnMgdG8gdGhlIG1hdGhlbWF0aWNhbCBjb25jZXB0IG9m LCBmb3IgaW5zdGFuY2UsIOKAnHRoZSBudW1iZXIgc2l44oCdLiBJdHMgZmEnb3JtYSdvIGlzICcn bG8nbycnCgpfXycnbGknJ19fIGNvbnZlcnQgbnVtYmVyL21la3NvLWV4cHJlc3Npb24gdG8gc3Vt dGkuCgpfXycnbG8nbycnX18gZmEnb3JtYSdvOiBlbmQgY29udmVydCBudW1iZXIvbWVrc28tZXhw cmVzc2lvbiB0byBzdW10aS4KClRoZXNlIHB1cmUgc3VtdGkgYXJlIHVzdWFsbHkgd2hhdCBmaWxs cyB0aGUgeDIgb2YgYnJpdmxhIHN1Y2ggYXMgJydtaXRyZScnIG9yICcnY2FjcmEnJwoKX18nJ21p dHJlJydfXyB4MSBpcyB4MiBtZXRyZXMgaW4gZGltZW5zaW9uIHgzIGJ5IHN0YW5kYXJkIHg0Cgpf XycnY2FjcmEnJ19fIHgxIGlzIHgyIGhvdXJzIGluIGR1cmF0aW9uIChkZWZhdWx0IDEpIGJ5IHN0 YW5kYXJkIHgzCgoKClRyeSB0byB0cmFuc2xhdGUgdGhlIGZvbGxvd2luZzoKCicnbGUgdGEgbnUg Y2luamlrY2EgY3UgY2FjcmEgbGkgY2kgamknaSB1J2kgbmFpJycKCkFuc3dlcjogfn5ncmV5LGdy ZXk6IOKAnSpzaWdoKiBUaGF0IGZsaXJ0aW5nIGhhcyBiZWVuIGdvaW5nIG9uIGZvciBhcm91bmQg dGhyZWUgaG91cnMu4oCdIH5+CgpIb3cgZG8geW91IGNvdW50IHRvIHRocmVlIGluIExvamJhbj8K CkFuc3dlcjogfn5ncmV5LGdyZXk6ICcnbGkgcGEgbGkgcmUgbGkgY2knJyB+fgoKCgpUaGUgbGFz dCB0aGluZyB3ZeKAmWxsIGdvIHRocm91Z2ggaW4gdGhpcyBsZXNzb24gaXMgdGhlIHdvcmRzIG9m IHRoZSBzZWxtYeKAmW8gTUFJIGFuZCB0aG9zZSBvZiBNT0kuCgpNQUkgb25seSBjb250YWlucyB0 d28gd29yZHMsICcnbWFpJycgYW5kICcnbW8nbycnLiBCb3RoIG9mIHRoZXNlIGNvbnZlcnQgYW55 IG51bWJlciBzdHJpbmcgdG8gYW4gb3JkaW5hbCwgd2hpY2ggaGFzIHRoZSBncmFtbWFyIG9mIGF0 dGl0dWRpbmFscy4gT3JkaW5hbHMgYXJlIHVzZWQgdG8gZGl2aWRlIGEgdGV4dCBpbnRvIG51bWJl cmVkIHNlZ21lbnRzLCBsaWtlIGNoYXB0ZXJzIG9yIHBhcnRzLiBUaGUgb25seSBkaWZmZXJlbmNl IGJldHdlZW4gJydtYWknJyBhbmQgJydtbydvJycgaXMgdGhhdCAnJ21vJ28nJyBxdWFudGlmaWVz IGxhcmdlciBzdWJkaXZpc2lvbnMgb2YgdGV4dCwgYWxsb3dpbmcgeW91IHRvIGRpdmlkZSBhIHRl eHQgb24gdHdvIGRpZmZlcmVudCBsZXZlbHMsIGZvciBleGFtcGxlIGVudW1lcmF0aW5nIGNoYXB0 ZXJzIHdpdGggJydtbydvJycgYW5kIHNlY3Rpb25zIHdpdGggJydtYWknJy4gTm90aWNlIHRoYXQg dGhlc2UgYXMgd2VsbCBhcyB0aGUgTU9JIHRha2UgYW55IG51bWJlciBzdHJpbmcgZGlyZWN0bHks IHdpdGhvdXQgYW55IG5lZWQgZm9yICcnbGknJy4KCl9fJydtYWknJ19fOiBMb3dlci1vcmRlciBv cmRpbmFsIG1hcmtlcjogQ29udmVydCBudW1iZXIgdG8gb3JkaW5hbAoKX18nJ21v4oCZbycnX186 IEhpZ2hlciBvcmRlciBvcmRpbmFsIG1hcmtlcjogQ29udmVydCBudW1iZXIgdG8gb3JkaW5hbC4K CgoKVGhlcmUgYXJlIGZpdmUgTU9JLCBhbmQgdGhleSBhbGwgY29udmVydCBhbnkgbnVtYmVyIHN0 cmluZyB0byBzZWxicmkuIFdl4oCZbGwgdGFrZSB0aGVtIG9uZSBhdCBhIHRpbWU6CgpfXycnbW9p JydfXyAtIENvbnZlcnQgbnVtYmVyIG4gdG8gc2VsYnJpOiB4MSBpcyB0aGUgbuKAmXRoIG1lbWJl ciBvZiBzZXQgeDIgYnkgb3JkZXIgeDMKCkV4YW1wbGU6ICcnbGEgbHV0Y2ltaW4gY2kgbW9pIGxv J2kgbmlubXUgcGVuZG8gYmUgbWkgbGUgc3UndSBsbyBjbGFuaSB6bWFkdSBjdSBsaWRuZSBsbyBj bGFuaSBtbGVjYScnIOKAkyDigJxMdWktQ2hpIE1pbiBpcyB0aGlyZCBhbW9uZyBteSBmZW1hbGUg ZnJpZW5kcyBieSB0aGUgb3JkZXI6IFRoZSBtb3JlIHRhbGwgb25lcyBwcmVjZWRlcyB0aGUgbGVz cyB0YWxsIG9uZXPigJ0uCgooV2hlbiBzcGVjaWZ5aW5nIGEgc2VxdWVuY2UsIGl0IGlzIHdpZGVs eSB1bmRlcnN0b29kIHRoYXQgaWYgYSAnJ2thJyctYWJzdHJhY3Rpb24gKGxlc3NvbiB0d2VudHkt ZWlnaHQpIGlzIHVzZWQgYXMgYSBzdW10aSwgdGhlIG1lbWJlcnMgb2YgdGhlIHNldCBhcmUgb3Jk ZXJlZCBmcm9tIHRoZSBvbmUgd2l0aCBtb3N0IG9mIHRoZSBwcm9wZXJ0eSB0byB0aGUgb25lIHdp dGggbGVzcyBvZiB0aGUgcHJvcGVydHksIHNvIHRoZSB4MyBvZiB0aGUgZm9sbG93aW5nIHNlbnRl bmNlIGNvdWxkIGhhdmUgYmVlbiBzaG9ydGVuZWQgdG8gJydsbyBrYSBjbGFuaScnKQoKX18nJ2xp ZG5lJydfXyB4MSBpcyBiZWZvcmUgeDIgaW4gc2VxdWVuY2UgeDMKCl9fJydjbGFuaScnX18geDEg aXMgc2hvcnQgaW4gZGltZW5zaW9uIHgyIGJ5IHN0YW5kYXJkIHgzCgpfXycnem1hZHUnJ19fIHgx IGV4Y2VlZHMgeDIgaW4gcHJvcGVydHkgeDMgYnkgYW1vdW50IHg0CgpfXycnbWxlY2EnJ19fIHgx IGlzIGxlc3MgdGhhbi9pcyBsZXNzIGNoYXJhY3Rlcml6ZWQgdGhhbiB4MiBieSBwcm9wZXJ0eSB4 MyBieSBhbW91bnQgeDQKCgoKX18nJ21laScnX18gLSBDb252ZXJ0IG51bWJlciBuIHRvIHNlbGJy aTogeDEgaXMgdGhlIG1hc3MgZm9ybWVkIGZyb20gdGhlIHNldCB4Miwgd2hpY2ggaGFzIHRoZSBu IG1lbWJlcnMgb2YgeDMKCk5vdGljZSBoZXJlIHRoYXQgeDMgYXJlIHN1cHBvc2VkIHRvIGJlIGlu ZGl2aWR1YWxzLCB4MiBhIHNldCBhbmQgeDEgYSBtYXNzLgoKV2hhdCB3b3VsZCAnJ21pIGNpIG1l aScnIG1lYW4/IAoKQW53ZXI6IH5+Z3JleSxncmV5OuKAnFdlIGFyZSBncm91cCBvZiB0aHJlZS7i gJ1+fgoKCgpfXycnc2knZScnX18gLSBDb252ZXJ0IG51bWJlciBuIHRvIHNlbGJyaTogeDEgaXMg b25lLW50aCBvZiBtYXNzIHgyCgpFeGFtcGxlOiAnJ2xlIHRpIHBsaXNlIGN1IG1lJ2kgcGkgcGEg c2knZSBsZWkgbWkgY2lkamEgYmUgemUnYSBsbyBkamVkaScnIOKAkyDigJxUaGlzIGFwcGxlIGhl cmUgaXMgbGVzcyB0aGFuIG9uZSB0ZW50aCBvZiBteSBmb29kIGZvciBvbmUgZGF54oCdCgpfXycn Y3UnbycnX18gLSBDb252ZXJ0IG51bWJlciBuIHRvIHNlbGJyaTogeDEgaGFzIG4gcHJvYmFiaWxp dHkgb2Ygb2NjdXJyaW5nIHVuZGVyIGNvbmRpdGlvbnMgeDIKCkV4YW1wbGU6ICcnbG8gbnUgbWkg bXJvYmknbyBjdSBwYSBjdSdvIGxvIG51IG1pIGRlbnBhIHJpJycg4oCTIOKAnUFuIGV2ZW50IG9m IG1lIGR5aW5nIGhhcyBwcm9iYWJpbGl0eSAxIHVuZGVyIHRoZSBjb25kaXRpb25zOiBJIHdhaXQg Zm9yIGl04oCdID0g4oCdTWUgZHlpbmcgaXMgY29tcGxldGVseSBjZXJ0YWluIGlmIEkgd2FpdCBs b25nIGVub3VnaC7igJ0KCl9fJydkZW5wYScnX18geDEgd2FpdHMgZm9yIHgyLCBiZWluZyBpbiBz dGF0ZSB4MyB1bnRpbCByZXN1bWluZy9kb2luZyB4NAoKX18nJ3ZhJ2UnJ19fIC0gQ29udmVydCBu dW1iZXIgbiB0byBzZWxicmk6IHgxIGlzIGF0IHRoZSBu4oCZdGggcG9zaXRpb24gb24gdGhlIHNj YWxlIHgyCgpFeGFtcGxlOiAnJ2xpIHBhIG5vIGN1IHJvIHZh4oCZZSBsYSB0b3Jpbm9uJycg4oCT IOKAnDEwIGlzIHRoZSBoaWdoZXN0IHZhbHVlIG9uIHRoZSBUb3Jpbm8tc2NhbGXigJ0KCgoKCgoh IUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHR3ZW50eSAoYm8sIGtlLCBjbyBhbmQgbW9yZSBjdXRl bmVzcykKClNheSB5b3XigJlyZSBhbiBpbXBvcnRhbnQgQW1lcmljYW4gYnV5ZXIgb2YgY29tcHV0 ZXJzLiBIb3cgZG8geW91IGV4cHJlc3MgdGhpcz8gRm9yIGNvbnN0cnVjdHMgbGlrZSB0aGVzZSwg dGFucnUgYXJlIGlkZWFsOiAnJ21pIHZham5pIG1lcmtvIHNrYW1pIHRlIHZlY251JycuIE5vIHdh aXQsIHRoYXTigJlzIG5vdCByaWdodC4gVGFucnUgYXJlIGdyb3VwZWQgZnJvbSBsZWZ0IHRvIHJp Z2h0LCBzbyB0aGlzIHRhbnJ1IGlzIHVuZGVyc3Rvb2Q6ICgoJyd2YWpuaSBtZXJrbycnKSAnJ3Nr YW1pJycpICcndGUgdmVjbnUnJywgYSBidXllciBvZiBjb21wdXRlcnMgZm9yIGltcG9ydGFudCBB bWVyaWNhbnMuIFlvdSBjYW7igJl0IGNoYW5nZSB0aGUgb3JkZXIgb2YgdGhlIHNlbGJyaSB0byBn ZXQgYSB1c2VmdWwgdGFucnUuIE5laXRoZXIgY2FuIHRoaXMgYmUgc29sdmVkIHdpdGggbG9naWNh bCBjb25uZWN0aXZlcywgd2hpY2ggeW91IHdpbGwgZmlyc3QgbGVhcm4gYWJvdXQgbGF0ZXIgYW55 d2F5LiBUaGUgb25seSB3YXkgdG8gbWFrZSBhIGZpdHRpbmcgdGFucnUgaXMgdG8gZm9yY2UgdGhl IHNlbGJyaSB0byBncm91cCBkaWZmZXJlbnRseS4KCgoKVG8gYmluZCB0d28gc2VsYnJpIGNsb3Nl IHRvZ2V0aGVyIGluIGEgdGFucnUsIHRoZSB3b3JkICcnYm8nJyBjYW4gYmUgcGxhY2VkIGJldHdl ZW4gdGhlbTogJydtaSB2YWpuaSBibyBtZXJrbyBza2FtaSBibyB0ZSB2ZWNudScnIGlzIHJlYWQg JydtaScnICgnJ3Zham5pIGJvIG1lcmtvJycpICgnJ3NrYW1pIGJvIHRlIHZlY251JycpLCB3aGlj aCBpcyB1c2VmdWwgaW4gdGhpcyBjb250ZXh0LiBJZiBibyBpcyBwbGFjZWQgYmV0d2VlbiBzZXZl cmFsIHNlbGJyaSBpbiBhIHJvdywgdGhleSBhcmUgZ3JvdXBlZCBmcm9tIHJpZ2h0IHRvIGxlZnQg aW5zdGVhZCBvZiB0aGUgdXN1YWwgbGVmdCB0byByaWdodDogJydtaSB2YWpuaSBtZXJrbyBibyBz a2FtaSBibyB0ZSB2ZWNudScnIGlzIHJlYWQgJyd2YWpuaScnICgnJ21lcmtvIGJvJycgKCcnc2th bWkgYm8gdGUgdmVjbnUnJykpIGFuIOKAnGltcG9ydGFudCAoQW1lcmljYW4gY29tcHV0ZXItYnV5 ZXIp4oCdLCB3aGljaCBpcyBldmVuIG1vcmUgYXBwcm9wcmlhdGUgaW4gdGhlIHNpdHVhdGlvbi4K Cl9fJydibycnX18gQmluZHMgdHdvIHNlbGJyaSB0b2dldGhlciBzdHJvbmdseS4KCgoKSG93IHdv dWxkIHlvdSBzYXkg4oCcVGhhdOKAmXMgYSB0YXN0eSB5ZWxsb3cgYXBwbGXigJ0/CgpfXycna3Vr dGUnJ19fIHgxIGlzIHRhc3R5IGZvciB4MgoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicndGkga3Vr dGUgcGVseHUgYm8gcGxpc2UnJ35+CgoKCldoYXQgYWJvdXQg4oCdVGhhdOKAmXMgYSBiaWcsIHRh c3R5IHllbGxvdyBhcHBsZeKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicndGkgYmFyZGEga3Vr dGUgYm8gcGVseHUgYm8gcGxpc2UnJ35+CgoKCkFub3RoZXIgYXBwcm9hY2ggdG8gdGhpcyBpcyB0 byB1c2UgdGhlIHdvcmRzICcna2XigKZrZeKAmWUnJy4gVGhlc2UgY2FuIGJlIGNvbnNpZGVyZWQg YXMgZXF1aXZhbGVudCB0byB0aGUgcGFyZW50aGVzaXNlcyB1c2VkIGluIHRoZSBwYXJhZ3JhcGgg YWJvdmUuICcna2UnJyBiZWdpbnMgc3Ryb25nIHNlbGJyaSBncm91cGluZywgJydrZeKAmWUnJyBl bmRzIGl0LgoKX18nJ2tlJydfXyDigJMgYmVnaW4gc3Ryb25nIHNlbGJyaSBncm91cGluZy4KCl9f JydrZeKAmWUnJ19fIOKAkyBlbmQgc3Ryb25nIHNlbGJyaSBncm91cGluZy4KClRoZSBzdHJlbmd0 aCBvZiB0aGUgYmluZGluZyBpcyB0aGUgc2FtZSBhcyB0aGF0IG9mICcnYm8nJy4gVGhlcmVmb3Jl LCAnJ21pIHZham5pIG1lcmtvIGJvIHNrYW1pIGJvIHRlIHZlY251JycgY2FuIGJlIHdyaXR0ZW4g JydtaSB2YWpuaSBrZSBtZXJrbyBrZSBza2FtaSB0ZSB2ZWNudSB7a2XigJllfSB7a2XigJllfScn LgoKSG93IGNvdWxkIHlvdSBzYXkg4oCcSeKAmW0gYSBHZXJtYW4gc2VsbGVyIG9mIHllbGxvdyBo b21lcz/igJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGRvdGNvIGtlIHBlbHh1IHpkYW5p IHZlY251Jyd+fgoKCgpXaGlsZSB3ZeKAmXJlIGF0IG1lc3Npbmcgd2l0aCB0aGUgb3JkaW5hcnkg dGFucnUgc3RydWN0dXJlLCB0aGVyZSBpcyBhbm90aGVyIHdvcmQgd29ydGggcGF5aW5nIGF0dGVu dGlvbiB0by4gSWYgSSB3YW50IHRvIHNheSB0aGF0IEnigJltIGEgcHJvZmVzc2lvbmFsIHRyYW5z bGF0b3IsIEkgY291bGQgc2F5ICcnbWkgZmFudmEgc2UgamlicmknJy4KCl9fJydqaWJyaScnX18g eDEgaXMgYSBqb2Igb2YgeDIKCl9fJydkb2NiYXUnJ19fIHgxIGlzIEdlcm1hbiB1c2VkIGJ5IHgy IHRvIHNheSB4MwoKX18nJ2dsaWJhdScnX18geDEgaXMgRW5nbGlzaCB1c2VkIGJ5IHgyIHRvIHNh eSB4MwoKSWYgSSB3YW50ZWQgdG8gc2F5IHRoYXQgSeKAmW0gYSBwcm9mZXNzaW9uYWwgdHJhbnNs YXRlciBmcm9tIEVuZ2xpc2ggdG8gR2VybWFuLCBJ4oCZZCBoYXZlIHRvIG1lc3MgYXJvdW5kIHdp dGggJydiZScnIGFuZCAnJ2JlaScnOiAnJ21pIGZhbnZhIGJlIGxlIGRvY2JhdSBiZWkgbGUgZ2xp YmF1IGJl4oCZbyBzZSBqaWJyaScnLCBhbmQgdGhlIGZhY3QgdGhhdCBpdCB3YXMgYSB0YW5ydSBj b3VsZCBxdWlja2x5IGJlIGxvc3QgaW4gc3BlZWNoIGR1ZSB0byB0aGUgY29tcGxpY2F0ZWQgc3Ry dWN0dXJlIG9mIHRoZSBzZW50ZW5jZS4gSGVyZSwgd2UgY2FuIHVzZSB0aGUgd29yZCAnJ2NvJycu IGl0IGludmVydHMgdGhlIHRhbnJ1LCBtYWtpbmcgdGhlIHJpZ2h0bW9zdCBzZWxicmkgbW9kaWZ5 IHRoZSBsZWZ0bW9zdCBpbnN0ZWFkIG9mIHRoZSBvdGhlciB3YXkgYXJvdW5kOgoKJydtaSBzZSBq aWJyaSBjbyBmYW52YSBsZSBkb2NiYXUgbGUgZ2xpYmF1JycgaXMgdGhlIHNhbWUgYnJpZGkgYXMg dGhlIHByZXZpb3VzIExvamJhbiBvbmUsIGJ1dCBtdWNoIG1vcmUgZWFzeSB0byB1bmRlcnN0YW5k LiBOb3RpY2UgdGhhdCBhbnkgc3VtdGkgYmVmb3JlIHRoZSB0YW5ydSBmaWxscyAnJ3NlIGppYnJp JycsIHdoaWxlIGFueSBmb2xsb3dpbmcgaXQgb25seSBmaWxscyB0aGUgbW9kaWZ5aW5nIHNlbGJy aTogJydmYW52YScnLgoKX18nJ2NvJydfXyBJbnZlcnQgdGFucnUuIEFueSBwcmV2aW91cyBzdW10 aSBmaWxsIHRoZSBtb2RpZmllZCwgYW55IGZvbGxvd2luZyBmaWxsIHRoZSBtb2RpZmllci4KCgoK VGhlIHN0cmVuZ3RoIGJ5IHdoaWNoIHR3byBzZWxicmkgYXJlIGJvdW5kIHRvZ2V0aGVyIHdpdGgg Y28gaXMgdmVyeSB3ZWFrIOKAkyBldmVuIHdlYWtlciB0aGFuIG5vcm1hbCB0YW5ydSBncm91cGlu ZyB3aXRob3V0IGFueSBncm91cGluZyB3b3Jkcy4gVGhpcyBtYWtlcyBzdXJlIHRoYXQsIGluIGEg Y28tY29uc3RydWN0LCB0aGUgbGVmdG1vc3Qgc2VsYnJpIGlzIGFsd2F5cyB0aGUgc2VsYnJpIGJl aW5nIG1vZGlmaWVkLCBhbmQgdGhlIHJpZ2h0bW9zdCBhbHdheXMgbW9kaWZpZXMsIGV2ZW4gaWYg YW55IG9mIHRob3NlIHBhcnRzIGFyZSB0YW5ydS4gVGhpcyBtYWtlcyBhIGNvLWNvbnN0cnVjdCBl YXN5IHRvIHBhcnNlOgoKJyd0aSBwZWx4dSBwbGlzZSBjbyBrdWt0ZScnIGlzIHJlYWQgJyd0aScn ICgnJ3BlbHh1IHBsaXNlJycpICcnY28ga3VrdGUnJywgd2hpY2ggaXMgdGhlIHNhbWUgYXMgJyd0 aSBrdWt0ZSBwZWx4dSBibyBwbGlzZScnLiBUaGlzIGFsc28gbWVhbnMgdGhhdCBhICcna2XigKZr ZeKAmWUnJyBjYW5ub3QgZW5jb21wYXNzIGEgJydjbycnLgoKVGhlIGNtYXZvIG9mIHRoZSBzZWxt YSdvIEdJaEEsIHRoZSBicmlkaS10YWlsIGFmdGVydGhvdWdodCBsb2dpY2FsIGNvbm5lY3RpdmVz LCBob3dldmVyLCBiaW5kcyBldmVuIGxvb3NlciB0aGFuICcnY28nJy4gVGhpcyBpcyBpbiBvcmRl ciB0byB0b3RhbGx5IGF2b2lkIGNvbmZ1c2lvbiBhYm91dCB3aGljaCBzZWxicmkgYmluZHMgdG8g d2hpY2ggaW4gYSBHSWhBLWNvbnN0cnVjdC4gVGhlIGFuc3dlciBpcyBzaW1wbGU6IFRoZSBHSWhB IG5ldmVyIGVtY29tcGFzc2VzIGFueSBzZWxicmktZ3JvdXBzLgoKCgpIb3cgY2FuIHlvdSBleHBy ZXNzIOKAnUkgYW0gYW4gaW1wb3J0YW50IEFtZXJpY2FuIGJ1eWVyIG9mIGNvbXB1dGVyc+KAnSB1 c2luZyBhICcnY28nJz8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIHNrYW1pIHRlIHZlY251 IGNvIHZham5pIG1lcmtvJyd+fgoKCgpJZiBpdOKAmXMgb2YgYW55IHVzZSwgdGhpcyBpcyB0aGUg bGlzdCBvZiBkaWZmZXJlbnQga2luZCBvZiBzZWxicmkgZ3JvdXBlcnMgcmFua2VkIGJ5IHN0cmVu Z3RoOgoKCgoxLiAgICAnJ2JvJycgYW5kICcna2UuLmtl4oCZZScnCgoKCjIuICAgIGxvZ2ljYWwg Y29ubmVjdGl2ZXMgKGV4cGxhaW5lZCBpbiBsZXNzb24gdHdlbnR5LWZpdmUpCgoKCjMuICAgIG5v IGdyb3VwaW5nIHdvcmRzCgoKCjQuICAgICcnY28nJwoKCgo1LiAgICBicmlkaS10YWlsIGFmdGVy dGhvdWdodCBsb2dpY2FsIGNvbm5lY3RpdmVzIChhbHNvIGluIGxlc3NvbiB0d2VudHktZml2ZSkK CgoKVGhlIHJlc3Qgb2YgdGhpcyBsZXNzb24gd2lsbCBub3QgYmUgb24gc2VsYnJpIGdyb3VwaW5n LCBidXQgbXVjaCBsaWtlIGxlc3NvbiBzZXZlbnRlZW4gbWVudGlvbiBhc3NvcnRlZCB3b3Jkcywg d2hpY2ggY2FuIGJlIG9mIHVzZS4KCgoKJydibycnIGhhcyBhbm90aGVyIHVzZSwgd2hpY2ggc2Vl bXMgc2VwYXJhdGUgZnJvbSBzZWxicmkgZ3JvdXBpbmc6IEl0IGNhbiBhbHNvIGJpbmQgYSBzdW10 Y2l0YSB0byBhbiBlbnRpcmUgYnJpZGksIHNvIHRoYXQgdGhlIGNvbnRlbnQgb2YgdGhlIHN1bXRj aXRhIGlzIG5vdCBhIHN1bXRpLCBidXQgdGhlIGZvbGxvd2luZyBicmlkaS4gVGhpcyBpcyBiZXN0 IGV4cGxhaW5lZCB3aXRoIGFuIGV4YW1wbGUuCgpfXycneGVibmknJ19fIHgxIGhhdGVzIHgyCgon J21pIGRhcnhpIGRvIC5pIG114oCZaSBibyBtaSBkbyB4ZWJuaScnIOKAkyDigJxJIGhpdCB5b3Us IHdpdGggbW90aXZhdGlvbiB0aGF0IEkgaGF0ZSB5b3Uu4oCdIEhlcmUgdGhlICcnYm8nJyBiaW5k cyAnJ2114oCZaScnIHRvIHRoZSBmb2xsb3dpbmcgYnJpZGkuCgpUaGlzIGlzIHdoZXJlIHRoZSB0 ZWNobmljYWwgZGlmZmVyZW5jZSBiZXR3ZWVuIHRlbnNlIHN1bXRjaXRhIGFuZCBvdGhlciBzdW10 Y2l0YSBpcyByZWxldmFudC4gWW91IHNlZSwgd2hlbiBiaW5kaW5nIGEgbm9ybWFsIHN1bXRjaXRh IHRvIGEgYnJpZGkgd2l0aCAnJ2JvJycsIGl0IG1lYW5zIHRoYXQgdGhlIGZvbGxvd2luZyBicmlk aSBzb21laG93IGZpdHMgaW50byB0aGUgc3VtdGkgcGxhY2Ugb2YgdGhlIHN1bXRjaXRhLiBGb3Ig dGhlIHJlYXNvbiBvZiBHb2QgS25vd3MgV2h5LCBiaW5kaW5nIG9uZSBvZiB0aGUgd29yZHMgJydi YScnIG9yICcncHUnJyB0byBhIGJyaWRpIGhhcyB0aGUgZXhhY3Qgb3Bwb3NpdGUgZWZmZWN0LiBG b3IgZXhhbXBsZSwgaW4gdGhlIGJyaWRpICcnbWkgZGFyeGkgZG8gLmkgYmEgYm8gZG8gY2luamlr Y2EnJywgb25lIHdvdWxkIGFzc3VtZSB0aGF0IHRoZSBzZWNvbmQgYnJpZGkgaXMgc29tZWhvdyBm aWxsZWQgaW50byB0aGUgc3VtdGkgcGxhY2Ugb2YgJydiYScnLCBtZWFuaW5nIHRoYXQgdGhlIGJy aWRpIGZpcnN0IHV0dGVyZWQgdG9vayBwbGFjZSBpbiB0aGUgZnV0dXJlIG9mIHRoZSBzZWNvbmQg YnJpZGkuIFRoYXQncyBub3QgdGhlIGNhc2UsIGhvd2V2ZXIsIGFuZCB0aGUgY29ycmVjdCB0cmFu c2xhdGlvbiBvZiB0aGF0IHV0dGVyYW5jZSB3b3VsZCBiZSAiSSBoaXQgeW91LiBBZnRlcndhcmRz LCB5b3UgZmxpcnQiLiBUaGlzIHdlaXJkIHJ1bGUgaXMgYWN0dWFsbHkgb25lIG9mIHRoZSBtYWlu IHRoaW5nIHdoaWNoIGhpbmRlcnMgYSB1bmlmaWNhdGlvbiBvZiBhbGwgc3VtdGNpdGEgaW50byBv bmUgc2luZ2xlIHdvcmQgY2xhc3MuCgoKClRoZSB1bm9mZmljaWFsIHdvcmQgJydtZeKAmW9pJycg aXMgZXF1aXZhbGVudCB0byBtZSBsYeKAmWUgJyd6b+KAmW9pJycsIHdoaWNoIG1lYW5zIHRoYXQg aXQgY29udmVydHMgdGhlIGNvbnRlbnQgb2YgdGhlIG5leHQgd29yZCBpbnRvIGEgc2VsYnJpLiBJ dCBpcyB1c2VkIHRvIGludmVudCBicml2bGEgb24gdGhlIGZseTogJydtaSBjYSB6Z2FuYSBsYSBt ZeKAmW9pIFgtZmlsZXMnJyBmb3Ig4oCcSSBub3cgd2F0Y2ggWC1maWxlc+KAnS4gTGlrZSBhbGwg cXVvdGUgbmV4dCB3b3JkLWNtYXZvLCBpdCBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBvZmZpY2lh bCBncmFtbWFyLCBidXQgdG8gdGhlIGxhenkgTG9qYmFuaXN0LCBpdOKAmXMgaW52YWx1YWJsZS4K CgoKVGhlIHdvcmQgJydnaScnIGlzIHN0cmFnZSBraW5kIG9mIGJyaWRpIHNlcGFyYXRvciwgYW5h bG9nb3VzIHRvICcnLmknJywgYnV0IHRvIG15IGtub3dsZWRnZSwgaXQgaXMgdXNlZCBpbiBvbmx5 IHR3byBkaWZmZXJlbnQga2luZHMgb2YgY29uc3RydWN0czogTW9zdCBvZnRlbiB3aXRoIGxvZ2lj YWwgY29ubmVjdGl2ZXMsIGV4cGxhaW5lZCBpbiBsZXNzb24gdHdlbnR5LWZpdmUsIGJ1dCBhbHNv IHdpdGggc3VtdGNpdGEuIFdpdGggc3VtdGNpdGEgaXQgY3JlYXRlcyBhIHVzZWZ1bCwgYnV0IGhh cmRseSBzZWVuLCBjb25zdHJ1Y3Q6CgonJ2114oCZaSBnaSBCUklESS0xIGdpIEJSSURJLTInJywg d2hpY2ggaXMgZXF1aXZhbGVudCB0byAnJ0JSSURJLTIgLmkgbXXigJlpIGJvIEJSSURJIDEnJy4g VGhlcmVmb3JlLCB0aGUgZXhhbXBsZSBhYm92ZSwgd2hpY2ggZXhwbGFpbmVkIHdoeSBJIGhpdCB5 b3UsIGNhbiBiZSB3cml0dGVuICcnbXXigJlpIGdpIG1pIHhlYm5pIGRvIGdpIG1pIGRhcnhpIGRv JycsIG9yIHRvIHByZXNlcnZlIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBvcmlnaW5hbCBzZW50ZW5j ZSwgd2UgY2FuIGNvbnZlcnQgJydtdeKAmWknJyB3aXRoICcnc2UnJzogJydzZSBtdeKAmWkgZ2kg bWkgZGFyeGkgZG8gZ2kgbWkgeGVibmkgZG8nJy4KCkl0IGlzIGluIGV4YW1wbGVzIGxpa2UgdGhp cyB0aGF0ICcnZ2knJyByZWFsbHkgY2FuIHNob3cgaXRzIHZlcnNhdGlsaXR5LiBJdCBkb2VzIG5v dCBqdXN0IHNlcGFyYXRlIHR3byBicmlkaSBsaWtlICcnLmknJyBkb2VzLCBidXQgY2FuIGFsc28g c2VwYXJhdGUgdHdvIGNvbnN0cnVjdHMgd2l0aGluIGEgYnJpZGksIG1ha2luZyBhbGwgY29uc3Ry dWN0cyBvdXRzaWRlIHRoZSBzY29wZSBvZiAnJ2dpJycgYXBwbHkgdG8gYm90aCBicmlkaSwgYXMg dGhpcyBleGFtcGxlIGRlbW9uc3RyYXRlczoKCl9fJydjaW5iYScnX18geDEga2lzc2VzIHgyIGF0 IGxvY3VzIHgzCgoKCicnbWkgZ2kgcHJhbWkgZG8gZ2kgY2luYmEgZG8nJyBsZWF2ZXMgbWkgb3V0 c2lkZSB0aGUgY29uc3RydWN0LCBtYWtpbmcgaXQgYXBwbHkgdG8gYm90aCBicmlkaS4gVGhpcyBj YW4gYWxzbyBiZSBkb25lIHdpdGggJydkbycnLCB3aGljaCBpcyBhbHNvIHByZXNlbnQgaW4gYnJv dGggYnJpZGk6ICcnbWkgZ2kgcHJhbWkgZ2kgY2luYmEgdmF1IGRvJycuIE5vdGUgdGhhdCAnJ3Zh dScnIGlzIG5lZWRlZCB0byBtYWtlIGRvIGFwcGVhciBvdXRzaWRlIHRoZSBzZWNvbmQgYnJpZGku CgoKClRodXMsIHdlIGNhbiB3cml0ZSB0aGUgb3JpZ2luYWwgc2VudGVuY2Ugc2hvcnRlcjogJydt aSBtdeKAmWkgZ2kgeGVibmkgZ2kgZGFyeGkgdmF1IGRvJycsIG9yLCB0byBvbWl0IGV2ZW4gdGhl ICcndmF1JycsIHdlIGNhbiB3cml0ZSBpdCBldmVuIHNob3J0ZXIgYW5kIG1vcmUgZWxlZ2FudGx5 OiAnJ21pIGRvIG114oCZaSBnaSB4ZWJuaSBnaSBkYXJ4aScnCgoKCgoKISFMb2piYW4gTGVzc29u cyAtIExlc3NvbiB0d2VudHktb25lIChDT0kpCgpJbiB0aGlzIGxlc3NvbiwgeW91IHdpbGwgZmFt aWxpYXJpemUgeW91cnNlbGYgd2l0aCB2b2NhdGl2ZXMsIG9yICcnbWHigJlvaSBjb2knJy4gVGhl eSBnZXQgdGhlaXIgb3duIGxlc3Nvbiwgbm90IGJlY2F1c2UgdW5kZXJzdGFuZGluZyB0aGVzZSBw cm92aWRlcyBhIGJhc2lzIGZvciB1bmRlcnN0YW5kaW5nIExvamJhbiBncmFtbWFyIGluIGdlbmVy YWwsIG9yIGJlY2F1c2UgdGhleSBhcmUgaGFyZCB0byB1bmRlcnN0YW5kLCBidXQgcmF0aGVyIGJl Y2F1c2UgdGhleSBhcmUgdmVyeSBvZnRlbiB1c2VkIGluIGNhc3VhbCBzcGVlY2gsIGFuZCB0aGVy ZSBhcmUgYSBsb3Qgb2YgdGhlbS4KCkEgdm9jYXRpdmUgaXMgdXNlZCBwYXJ0bHkgdG8gZGVmaW5l IHdobyAnJ2RvJycgcmVmZXJzIHRvLiBJZiB0aGUgdm9jYXRpdmUgaXMgZm9sbG93ZWQgYnkgYSBj bWV2bGEsIHRoZSBjbWV2bGEgZ2V0cyBhbiBpbXBsaWVkIGxhIGluIGZyb250IG9mIGl0LiBJZiBh IHNlbGJyaSBmb2xsb3dzLCBhIGxlIGlzIHVzZWQgYXMgYSBnYWRyaSBpbnN0ZWFkLgoKSW4gdGhl c2UgZXhhbXBsZXMsIEkgd2lsbCB1c2UgdGhlIHZvY2F0aXZlICcnY29pJycsIHdpdGggbWVhbnMg 4oCcSGnigJ0gb3Ig4oCcSGVsbG/igJ0uCgpJZiBhIHBlcnNvbiBpcyBjYWxsZWQgJydsYSArIFNF TEJSSScnLCB1c2luZyBhIHZvY2F0aXZlIHdpdGggb25seSB0aGUgc2VsYnJpIHRvIGFkZHJlc3Mg dGhhdCBwZXJzb24gd2lsbCBtZWFuIHlvdSByZWZlciB0byBoZXIgYXMgYWN0dWFsbHkgYmVpbmcg dGhlIHgxIG9mIHRoYXQgc2VsYnJpLCB3aGljaCBpcyBvZnRlbiB3cm9uZy4gSWYsIGZvciBpbnN0 YW5jZSwgYSBwZXJzb24gaXMgY2FsbGVkICcnbGEgdHNhbmknJywg4oCcU2t54oCdLCBzYXlpbmcg Jydjb2kgdHNhbmknJyByZWZlcnMgdG8gaGVyIGFzIGEgJydsZSB0c2FuaScnLCBtZWFuaW5nIOKA nEhpLCB5b3Ugc2t54oCdLCB3aGlsZSAnJ2NvaSBsYSB0c2FuaSBjb3JyZWN0bHknJyByZWZlcnMg dG8gaGVyIGFzIHNvbWVvbmUgY2FsbGVkICJTa3kiLCBtZWFuaW5nIOKAnEhpIFNreeKAnS4gVGhp cyBpcyBhIGZyZXF1ZW50IG1pc3Rha2UsIGVzcGVjaWFsbHkgYW1vbmcgbmV3IExvamJhbmlzdHMu CgpBbGwgdm9jYXRpdmVzIGhhdmUgYSBmYSdvcm1hJ28gd2hpY2ggaXMgc29tZXRpbWVzIHJlcXVp cmVkLiBUaGlzIGlzICcnZG/igJl1JycuIEl04oCZcyBtb3N0bHkgdXNlZCBpZiBib3RoIHRoZSBm aXJzdCB3b3JkIGFmdGVyIHRoZSB2b2NhdGl2ZSBwaHJhc2UgYW5kIHRoZSBsYXN0IHdvcmQgb2Yg dGhlIHBocmFzZSBpcyBhIHNlbGJyaSwgc28gdGhhdCBpdCBwcmV2ZW50cyBmb3JtaW5nIGEgdGFu cnU6CgoKCl9fJydkb+KAmXUnJ19fIEVuZCB2b2NhdGl2ZSBwaHJhc2UuIFVzdWFsbHkgZWxpZGFi bGUuCgpfXycna2xha3UnJ19fIHgxIGNyaWVzIHgyICh0ZWFycykgZm9yIHJlYXNvbiB4MwoKJydj b2kgbGEgZ2xla2kgZG/igJl1IGtsYWt1IGZpIG1hJycg4oCdSGVsbG8gSGFwcHkuIFdoeSBjcnk/ 4oCdCgoKClRoZSBnZW5lcmljIHZvY2F0aXZlLCAnJ2RvaScnLCBkb2VzIG5vdGhpbmcgZXhjZXB0 IGRlZmluaW5nIHdobyBpcyBiZWluZyByZWZlcnJlZCB0byBieSAnJ2RvJyc6CgonJ2RvaSAuZXJu c3QuIHh1IGRvIGRvdGNvIG1lcmtvJycg4oCcRXJuc3Q6IEFyZSB5b3UgYSBHZXJtYW4tQW1lcmlj YW4/4oCdCgoKCkFsbCB0aGUgb3RoZXIgdm9jYXRpdmVzIGhhdmUgc29tZSBjb250ZW50IGJlc2lk ZSBkZWZpbmluZyAnJ2RvJycuICcnY29pJycsIHdoaWNoIHlvdSBrbm93LCBhbHNvIG1lYW5zIOKA nEhlbGxv4oCdLCBmb3IgZXhhbXBsZS4gTWFueSBvZiB0aGUgdm9jYXRpdmVzIGhhdmUgdHdvIG9y IHRocmVlIGRlZmluaXRpb25zIGxpa2UgdGhlIGF0dGl0dWRpbmFscy4gTGlrZSBhdHRpdHVkaW5h bHMsIHRoaXMgaXMgYmVjYXVzZSB0aGV5IGNhbiBiZSBtb2RpZmllZCB3aXRoICcnY3XigJlpJycg YW5kICcnbmFpJycsIHRob3VnaCBvbmx5IG9uZSB2b2NhdGl2ZSBoYXMgdGhlICcnY3XigJlpJyct Zm9ybSBkZWZpbmVkLgoKU29tZSBpbXBvcnRhbnQgdm9jYXRpdmVzIGFyZSBsaXN0ZWQgaW4gdGhl IHRhYmxlIGJlbG93LiBUaGVyZSBhcmUgb3RoZXJzLCBidXQgdGhvc2UgYXJlIG5vdCB1c2VkIG11 Y2guCgp8fHZvY2F0aXZlfFdpdGhvdXQgc3VmZml4fC1jdeKAmWl8LW5haQoKY29pfEhlbGxvfC18 LQoKY2/igJlvfEdvb2RieWUJfC18LQoKamXigJllfFVuZGVyc3Rvb2QgLyBPS3wtfE5vdCB1bmRl cnN0b29kCgpmaeKAmWl8V2VsY29tZXwtfE5vdCB3ZWxjb21lIGhlcmUKCnBl4oCZdXxQbGVhc2V8 LXwtCgpraeKAmWV8VGhhbmtzfC18RGlzYXBwcmVjaWF0aW9uCgpyZeKAmWl8UmVhZHkgdG8gcmVj aWV2ZXwtfE5vdCByZWFkeQoKanXigJlpfEhleSF8QXQgZWFzZXxJZ25vcmUgbWUKCnRh4oCZYXxJ bnRlcnJ1cHRpb258LXwtCgp2aeKAmW98V2lsbCBkb3wtfFdpbGwgbm90IGRvCgprZeKAmW98UGxl YXNlIHJlcGVhdHwtfE5vIHJlcGVhdCBuZWVkZWR8fAoKCgoKCldoYXQgd291bGQgJydjb2kgY2/i gJlvJycgbWVhbj8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxHcmVldGluZ3MgaW4gcGFzc2lu Z+KAnSBvciDigJxIZWxsbyBhbmQgR29vZGJ5ZeKAnX5+CgoKCicnamXigJllJycgaXMgdXNlZCBh cyDigJxPS+KAnSwgYnV0IGFsc28gdGhlIGFwcHJvcHJpYXRlIHJlc3BvbnNlIHdoZW4gcmVjZWl2 aW5nIHByYWlzZSBvciB0aGFua3MsIGFzIGl0IGluZGljYXRlcyB0aGF0IHRoZSBwcmFpc2Ugb3Ig dGhhbmtzIHdhcyBzdWNjZXNzZnVsbHkgdW5kZXJzdG9vZC4KCgoKVHJhbnNsYXRlICcna2nigJll IHNpZGp1IGJlIG1pIGJlaSBsbyB2YWpuaSAuaSBqZeKAmWUgLmplbmlmeW4uJycKCl9fJydzaWRq dScnX18geDEgaGVscHMgeDIgZG8geDMKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxUaGFua3Ms IHlvdSBoZWxwZXIgb2YgbWUgdG8gZG8gc29tZXRoaW5nIGltcG9ydGFudC7igJ0g4oCcTm8gcHJv YmxlbSwgSmVubmlmZXLigJ1+fgoKCgpBbmQgJydmaeKAmWkgdGUgdmVjbnUgLmkgcGXigJl1IGtv IGNpdGthJycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJ1XZWxjb21lLCBidXllci4gUGxlYXNl IGVhdCHigJ1+fgoKCgonJ3Jl4oCZaScnIGlzIHVzZWQgdG8gc2lnbmFsIHRoYXQgeW91IGFyZSBy ZWFkeSB0byBiZSBzcG9rZW4gdG8uIEl0IGNhbiBiZSB1c2VkIGFzIHRoZSBMb2piYW4gZXF1aXZh bGVudCBvZiDigJxXaGF0IGNhbiBJIGRvIGZvciB5b3U/4oCdIG9yIHBlcmhhcHMgcmVwbGFjZSDi gJxIZWxsb+KAnSwgd2hlbiBzcGVha2luZyBvbiBhIHBob25lLiAnJ3Jl4oCZaSBuYWknJyBjYW4g bWVhbiDigJxBRkvigJ0gb3Ig4oCcQmUgdGhlcmUgaXMgYSBzZWNvbmQu4oCdCgoKClRyYW5zbGF0 ZTog4oCcSGVsbG8sIHdoYXQgY2FuIEkgZG8gZm9yIHlvdSwgSW50ZXJwcmV0ZXIvVHJhbnNsYXRl cj/igJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ2NvaSByZeKAmWkgbGEgZmFudmEnJ35+CgoK CicndGHigJlhJycgaXMgdXNlZCB3aGVuIGF0dGVtcHRpbmcgdG8gcG9saXRlbHkgaW50ZXJydXB0 IHNvbWVvbmUgZWxzZS4gV2hhdCB3b3VsZCBiZSBnb29kIHJlc3BvbnNlcyB0byB0aGlzPwoKCgpU cmFuc2xhdGU6ICcndGHigJlhIHJvIGRvIG1pIGNv4oCZYSBjbGl2YScnCgpfXycnY2xpdmEnJ19f IHgxIGxlYXZlcyB4MiB2aWEgcm91dGUgeDMKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxFeGN1 c2UgbWUgZm9yIGludGVycnVwdGluZywgZXZlcnlvbmUuIEkgYmVnaW4gdG8gbGVhdmUgbm934oCd IE5vdGljZSB0aGF0IG5vIGZhJ29ybWEnbyBvciAnJy5pJycgaXMgbmVlZGVkLn5+CgoKCicna2Xi gJlvJycgaXMgdXNlZCBhIGxvdCB3aGVuIGluZXhwZXJpZW5jZWQgTG9qYmFuaXN0cyBzcGVhayB0 b2dldGhlciB2b2NhbGx5LiBJdOKAmXMgcXVpdGUgYSBoYW5keSB3b3JkCgpfXycnc3V0cmEnJ19f IHgxIGlzIHF1aWNrIGF0IGRvaW5nIHgyCgoKClRyYW5zbGF0ZTogJycueSBrZeKAmW8gc3V0cmEg dGF2bGEnJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFVoLCBQbGVhc2UgcmVwZWF0LCB5b3Ug cXVpY2sgc3BlYWtlci7igJ1+fgoKCgpBbmQg4oCcT2theSBva2F5LCBJIGdvdCBpdCBhbHJlYWR5 ISBJ4oCZbGwgZG8gaXQh4oCdCgoKCkFuIGFuc3dlcjogfn5ncmV5LGdyZXk6JydrZeKAmW8gbmFp IC51aSBuYWkgdmnigJlvJyd+fgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHR3ZW50eS10 d28gKHF1YW50aWZ5aW5nIHN1bXRpKQoKTW9zdCBvdGhlciBsZWFybmluZyBtYXRlcmlhbHMgc3Vj aCBhcyBUaGUgQ29tcGxldGUgTG9qYmFuIExhbmd1YWdlIGFuZCBMb2piYW4gZm9yIEJlZ2lubmVy cyB3ZXJlIHdyaXR0ZW4gYmVmb3JlIHRoZSBvZmZpY2lhbCBhZG9wdGF0aW9uICJ4b3JsbyIsIGEg Y2hhbmdlIGluIHRoZSBydWxlcyBhYm91dCBnYWRyaSBkZWZpbml0aW9uIGFuZCBnYWRyaSBxdWFu dGlmaWNhdGlvbi4gVGhlIG9ic29sZXRlbmVzcyBvZiBzb21lIG9mIHRoZSB0ZXh0IGluIHRoZSBv bGRlciBsZWFybmluZyBtYXRlcmlhbHMgd2FzIGEgbWFqb3IgY2F1c2UgZm9yIHRoZSBtb3RpdmF0 aW9uIHRvIHdyaXRlIHRoZXNlIGxlc3NvbnMuIFVuZm9ydHVuYXRlbHkgZm9yIG1lLCBxdWFudGlm aWNhdGlvbiBvZiBzdW10aSBjYW4gYmVjb21lIGEgdmVyeSBjb21wbGV4IHRvcGljIHdoZW4gdGhl IGltcGxpY2F0aW9ucyBvZiBjZXJ0YWluIHJ1bGVzIGFyZSBkaXNjdXNzZWQgaW4gZGV0YWlsLiBJ biBvcmRlciB0byBmdWxmaWxsIHRoZSBnb2FsIG9mIHRoaXMgdGV4dCBiZWluZyBhY2N1cmF0ZSBl bm91Z2ggdG8gcmVwcmVzZW50IHRoZSBvZmZpY2lhbCAiZ29sZCBzdGFuZGFyZCIgQlBGSyBydWxl cywgdGhpcyBjaGFwdGVyIHdhcyBhbW9uZyB0aGUgbGFzdCBvbmVzIGZpbmlzaGVkIGFuZCB0aGUg b25lcyBtb3N0IGZyZXF1ZW50eSByZXdyaXR0ZW4uIEkgc3Ryb25nbHkgZW5jb3VyYWdlIGFueW9u ZSB3aG8gZmluZHMgbWlzdGFrZXMgaW4gdGhpcyB0ZXh0IHRvIGNvbnRhY3QgbWUgaW4gb3JkZXIg Zm9yIHRoZW0gdG8gYmUgY29ycmVjdGVkLgoKSGF2aW5nIHNhaWQgdGhhdCBkaXNjbGFpbWVyLCBs ZXQncyBnZXQgc3RhcnRlZDoKClRoZSBmaXJzdCBjb25jZXB0IHlvdSBzaG91bGQga25vdyBhYm91 dCBpcyAiZGlzdHJpYnV0aXZpdHkiLiBJbiBsZXNzb24gZm91cnRlZW4gaSB1c2VkIHRoZSB3b3Jk ICJpbmRpdmlkdWFscyIgYWJvdXQgYSBncm91cCBvZiBvYmplY3RzIGNvbnNpZGVyZWQgZGlzdHJp YnV0aXZlbHkuIEEgZGlzdHJpYnV0aXZlIGdyb3VwICcna28nYScnIGlzIGZvciBhbnkgc2VsYnJp ICcnYnJvZGEnJyBhIGdyb3VwIHN1Y2ggdGhhdCwgaWYgJydrbydhIGJyb2RhJycgaXMgdHJ1ZSwg aXQgbWVhbnMgdGhhdCBldmVyeSBtZW1iZXIgb2YgdGhlIGdyb3VwIGFsc28gaXMgY2hhcmFjdGVy aXplZCBieSAnJ2Jyb2RhJycuIFRoaXMgc3RhbmRzIGluIGNvbnRyYXN0IHRvIG5vbi1kaXN0cmli dXRpdml0eSAod2hpY2ggbWFzc2VzIGhhdmUpLCBpbiB3aGljaCB0aGUgZ3JvdXAgaGFzIG90aGVy IHByb3BlcnRpZXMgdGhhbiBlYWNoIG9mIHRoZSBpbmRpdmlkdWFscyBkby4gVGhlIGRpc3RpbmN0 aW9uIGJldHdlZW4gZGlzdHJpYnV0aXZpdHkgKGluZGl2aWR1YWwtbGlrZSkgYW5kIG5vbi1kaXN0 cmlidXRpdml0eSAobWFzcy1saWtlKSBpcyBvZiByZWxldmFuY2Ugd2hlbiBxdWFudGlmeWluZyBz dW10aS4KCkxldCB1cyBmaXJzdCBjb25zaWRlciBob3cgb25lIGNhbiBxdWFudGlmeSBkZWNyaXB0 aW9uIHN1bXRpLCB3aGljaCBhcmUgc3VtdGkgb2YgdGhlIGZvcm0gR0FEUkkgQlJJVkxBLiBUaGUg bnVtYmVyIHN0cmluZyB3aGljaCBkb2VzIHRoZSBxdWFudGlmaWNhdGlvbiBjYW4gYmUgcGxhY2Vk IGJlZm9yZSB0aGUgZ2FkcmksIGluIHdoaWNoIGNhc2UgaXQgaXMgcmVmZXJyZWQgdG8gYXMgYW4g X19vdXRlciBxdWFudGlmaWVyX18sIGFuZCBpdCBjYW4gYmUgcGxhY2VkIGJldHdlZW4gdGhlIGdh ZHJpIGFuZCB0aGUgYnJpdmxhLCBpbiB3aGljaCBjYXNlIGl0J3MgYW4gX19pbm5lciBxdWFudGlm aWVyX18uIEFueSBraW5kIG9mIG51bWJlciBzdHJpbmcgY2FuIGFjdCBhcyBhIHF1YW50aWZpZXIu CgpUaGUgcnVsZXMgZm9yIGhvdyBpbm5lciBhbmQgb3V0ZXIgcXVhbnRpZmllcnMgYWZmZWN0cyBz dW10aSBkZXBlbmQgb24gdGhlIGtpbmQgb2YgZ2Fkcmkgd2hpY2ggaXMgdXNlZDoKCgoKLSAtJyds bycnIGFuZCAnJ2xlJyctIC0gQW4gaW5uZXIgcXVhbnRpZmllciB0ZWxscyB1cyBob3cgbWFueSBv YmplY3RzIGFyZSBiZWluZyBzcG9rZW4gb2YgLSBob3cgbWFueSBvYmplY3RzIGFyZSBpbiB0aGUg ZGlzY291cnNlIHRvdGFsLiBJZiBhbiBvdXRlciBxdWFudGlmaWVyIGlzIHByZXNlbnQsIHRoZSBz dW10aSBpcyBkaXN0cmlidXRlZCBvdmVyIHRoYXQgYW1vdW50IG9mIG9iamVjdHMuIEV4YW1wbGVz IGFyZSBhbHdheXMgYSBnb29kIGlkZWEsIHNvIGhlcmUgdGhleSBhcmU6CgonJ211IGxvIG11IGJh a25pIGN1IHNlIGppcm5hJycgLSBUaGUgaW5uZXIgcXVhbnRpZmllciBvZiBmaXZlIFRlbGxzIHVz IHRoYXQgd2Ugc3BlYWsgYWJvdXQgZml2ZSBwaWVjZXMgb2YgY2F0dGxlLCBhbmQgdGhlIG91dGVy IHF1YW50aWZpZXIgb2YgZml2ZSB0ZWxscyB1cyB0aGF0IHRoZSBzZWxicmkgaXMgdHJ1ZSBmb3Ig ZWFjaCBvZiB0aGUgZml2ZS4gVGhlcmVmb3JlLCBpdCBtZWFucyAiQWxsIHRoZSBmaXZlIGNvd3Mg aGFkIGhvcm5zIi4gCgpfXycnYmFrbmknJ19fIHgxIGlzIGEgY293L294L2NhdHRsZS9jYWxmIGV0 YyBvZiBicmVlZCB4MgoKX18nJ2ppcm5hJydfXyB4MSBpcyB0aGUgaG9ybiBvZiB4MiAobWV0YXBo b3I6IGFueSBwb2ludGVkIGV4dHJlbWl0eSkKCgoKV2hhdCBkb2VzIHRoZSBmb2xsb3dpbmcgYnJp ZGkgbWVhbj8KCicnbG8gcnUndXJndWJ1cHUgYmUgbGkgcmUgcGkgemUgbXUgY3UgamRpbWEgbG8g cGEgcmUgc292ZGEnJwoKX18nJ3J1J3VyZ3VidXB1JydfXyB4MSBpcyBtZWFzdXJlcyB0byBiZSB4 MiBCcml0aXNoIHBvdW5kcyAoR0JQKQoKX18nJ2pkaW1hJydfXyB4MSBpcyB0aGUgcHJpY2Ugb2Yg eDIgdG8gYnV5ZXIgeDMgc2V0IGJ5IHZlbmRvciB4NAoKX18nJ3NvdmRhJydfXyB4MSBpcyBhIGdh bWV0ZSAoZWdnL3NwZXJtKSBvZiB4MgoKQW5zd2VyOiB+fmdyZXksZ3JleTogIlR3ZWx2ZSBlZ2dz IGNvc3QgMi43NSBCcml0aXNoIHBvdW5kcyIgd2hpY2gsIGFzIHRoZSBFbmdsaXNoIHRyYW5zbGF0 aW9uLCBjb3VsZCBtZWFuIGJvdGggdGhhdCB0aGV5IGNvc3QgMi43NSBlYWNoIChkaXN0cmlidXRp dmVseSkgb3IgdGhhdCBhbGwgdHdlbHZlIHRvZ2V0aGVyIGNvc3QgMi43NSAobm9uLWRpc3RyaWJ1 dGl2ZWx5KX5+CgoKCicnc28gbGUgdGEgcGEgcGEgY2knZXJrZWkgY3UgY2xhbWF1IG1pJycgKG5v dGljZSB0aGF0IHRoZSAnJ3RhJycgZ29lcyBiZWZvcmUgdGhlIGlubmVyIHF1YW50aWZpZXIpCgpf XycnY2knZXJrZWknJ19fIHgxIHBsYXlzIGdhbWUgeDIgZ292ZW5lcmQgYnkgcnVsZXMgeDMgaW50 ZXJyZWxhdGluZyBnYW1lIHBhcnRzIHg0IHt0aGlzIGlzIHVzZWQgdG8gdHJhbnNsYXRlICJwbGF5 IiBpbiB0aGUgc2Vuc2UgInBsYXkgYSBnYW1lIiByYXRoZXIgdGhhbiwgZm9yIGluc3RhbmNlICJw bGF5aW5nIHByZXRlbmQiIG9yICJwbGF5aW5nIEhvdXNlIn0KCl9fJydjbGFtYXUnJ19fIHgxIGlz IHRhbGxlci9sb25nZXIgdGhhbiB4MiBpbiBkaXJlY3Rpb24geDMgbXkgbWFyaWdpbiB4NAoKQW5z d2VyOiB+fmdyZXksZ3JleTpUaGUgaW5uZXIgc3RhdGVzIHRoZXJlIGFyZSAxMSBwbGF5ZXJzIGlu IHRoZSBkaXNjb3Vyc2UsIGFuZCB0aGUgb3V0ZXIgc3RhdGVzIHRoYXQgdGhlIHNlbGJyaSBhcHBs aWVzIHRvIG5pbmUgb2YgdGhlbSBkaXN0cmlidXRpdmVseS4gVGh1cyBpdCBtZWFucyAiTmluZSBv ZiB0aGUgZWxldmVuIHBsYXllcnMgYXJlIHRhbGxlciB0aGFuIG1lIn5+CgoKClRoZXJlIGFyZSBh IGZldyBwb2ludHMgdGhhdCBuZWVkcyB0byBiZSByYWlzZWQgcmVnYXJkaW5nIHF1YW50aWZpY2F0 aW9uIG9mICcnbG8nJy8nJ2xlJyc6CgpGaXJzdGx5LCAnJ2xvJycgaXMgdW5pcXVlIGluIHRoYXQg IntudW1iZXJ9IHtzZWxicml9IiBpcyBkZWZpbmVkIGFzICJ7bnVtYmVyfSAnJ2xvJycge3NlbGJy aX0iLiBUaGVyZWZvcmUsICcnY2kgZ2Vya3UgY3UgYmF0Y2kgcmUgbmFubXUnJyBpcyBkZWZpbmVk IHRvIGJlICcnY2kgbG8gZ2Vya3UgY3UgYmF0Y2kgcmUgbG8gbmFubXUnJywgd2hpY2ggY29uc2lk ZXJzIGJvdGggdGhlIGdyb3VwIG9mIGRvZ3MgYW5kIHRoZSBncm91cCBvZiBtZW4gZGlzdHJpYnV0 aXZlbHkuIFRoZXJlZm9yZSwgZWFjaCBvZiB0aGUgdGhyZWUgZG9ncyBiaXQgZWFjaCBvZiB0aGUg dGhyZWUgbWVuLCB3aXRoIHNpeCBiaXRpbmcgZXZlbnRzIGluIHRvdGFsLgoKX18nJ2JhdGNpJydf XyB4MSBiaXRlcy9waW5jaGVzIHgyIGF0IGxvY3VzIHgzIHVzaW5nIHg0IGFzIHBpbmNoaW5nIHRv b2wuCgpTZWNvbmRseTogV2hhdCBpZiB0aGVyZSBpcyBubyBvdXRlciBxdWFudGlmaWVyPyBEb2Vz IHRoaXMgbWVhbiB0aGF0IGl0IF9faXNfXyB0aGVyZSwgYnV0IGl0J3MgZWxpZGVkPyBOb3BlLiBJ ZiB0aGVyZSBpcyBhbnkga2luZCBvZiBvdXRlciBxdWFudGlmaWVyLCBlbGlkZWQgb3Igbm90LCBp dCB3b3VsZCBmb3JjZSB0aGUgc3VtdGkgdG8gYmUgZGlzdHJpYnV0aXZlLCB3aGljaCB3b3VsZCBt ZWFuIHRoYXQgbmVpdGhlciAnJ2xvJycgbm9yICcnbGUnJyBjb3VsZCBiZSB1c2VkIHRvIGRlc2Ny aWJlIG1hc3Nlcy4gVGhlcmVmb3JlLCBpZiBubyBvdXRlciBxdWFudGlmaWVyIGlzIHByZXNlbnQs IGl0J3Mgbm90IG9ubHkgZWxpZGVkIC0gaXQncyBzaW1wbHkgbm90IHRoZXJlLiBTdW10aSB3aXRo b3V0IGFuIG91dGVyIHF1YW50aWZpZXIgY2FuIGJlIHJlZmVycmVkIHRvIGFzICJjb25zdGFudHMi LCBldmVuIHRob3VnaCBJIHdvbid0LgoKVGhpcmRseSwgaXQgbWFrZXMgbm8gc2Vuc2UgdG8gaGF2 ZSBhbiBvdXRlciBxdWFudGlmaWVyIHdoaWNoIGlzIGxhcmdlciB0aGFuIHRoZSBpbm5lciBvbmUu IEl0J3MgZ3JhbW1hdGljYWwsIHRob3VnaC4KCkxhc3RseSwgcGxhY2luZyBhICcnbG8nJyBvciBh ICcnbGUnJyBpbiBmcm9udCBvZiBhIHN1bXRpIGlzIGdyYW1tYXRpY2FsLCBpZiB0aGVyZSBpcyBh biBpbm5lciBxdWFudGlmaWVyIHByZXNlbnQuICInJ2xvJycvJydsZScnIHtudW1iZXJ9IHtzdW10 aX0iIGlzIGRlZmluZWQgYXMgIicnbG8nJy8nJ2xlJycge251bWJlcn0gJydtZScnIHtzdW10aX0i LgoKU28gd2hhdCB3b3VsZCB0aGlzIG1lYW4/ICcnbWkgbmVsY2kgbG9pIG1pIGJyaWp1IGthbnNh IC5pIGt1J2kgY2kgbG8gcGEgbXUgamknaSByaSBjdSBsYXpuaScnCgpfXycnYnJpanUnJydfXyB4 MSBpcyBhbiBvZmZpY2UgZm9yIHdvcmtlciB4MiBhdCBsb2NhdGlvbiB4MwoKX18nJ2thbnNhJydf XyB4MSBhY2NvbXBhbmllcyB4MiBpbiBhY3Rpb24vc3RhdGUvZW50ZXJwcmlzZSB4MwoKX18nJ2xh em5pJydfXyB4MSBpcyBsYXp5LCBhdm9pZGluZyB3b3JrIGNvbmNlcm5pbmcgeDIKCkFuc3dlcjog fn5ncmV5LGdyZXk6IkkgbGlrZSBteSBjby13b3JrZXJzLCBidXQgdGhyZWUgb3V0IG9mIGFib3V0 IHR3ZW50eSBmaXZlIG9mIHRoZW0gYXJlIGxhenkifn4KCgoKLSAtJydsYScnLSAtIEFuIGlubmVy IHF1YW50aWZpZXIgaXMgZ3JhbW1hdGljYWwgaWYgdGhlIG5hbWUgaXMgYSBzZWxicmkgLSBpbiB0 aGlzIGNhc2UsIGl0J3MgY29uc2lkZXJlZCBwYXJ0IG9mIHRoZSBuYW1lLiBBbiBvdXRlciBxdWFu dGlmaWVyIGlzIHVzZWQgdG8gcXVhbnRpZnkgZGlzdHJpYnV0aXZlbHkgb3ZlciBzdWNoIGluZGl2 aWR1YWxzIChtdWNoIGxpa2UgJydsbycnLycnbGUnJykgSXQncyBncmFtbWF0aWNhbCB3aGVuIHBs YWNlZCBpbiBmcm9udCBvZiB7bnVtYmVyfSB7c3VtdGl9LCBpbiB3aGljaCBjYXNlLCB0aGUgYm90 aCB0aGUgbnVtYmVyIGFuZCB0aGUgc3VtdGkgaXMgY29uc2lkZXJlZCB0aGUgbmFtZS4KCgoKVHJh bnNsYXRlIHRoaXM6ICcncmUgbGEgY2kgYmFyZ3UgY3UgamlibmkgbGUgbWkgemRhbmknJwoKQW5z d2VyOiB+fmdyZXksZ3JleTogVHdvICJUaGUgVGhyZWUgQXJjaGVzIiBhcmUgbG9jYXRlZCBjbG9z ZSB0byBteSBob3VzZSIgKFBlcmhhcHMgVGhlIFRocmVlIEFyY2hlcyBhcmUgYSBraW5kIG9mIHJl c3RhdXJlbnQ/KX5+CgoKCi0gLScnbG9pJycgYW5kICcnbGVpJyctIC0gQW4gaW5uZXIgcXVhbnRp ZmllciB0ZWxscyB1cyBob3cgbWFueSBtZW1iZXJzIHRoZXJlIGFyZSBpbiB0aGUgbWFzcy9tYXNz ZXMgaW4gcXVlc3Rpb24uIEFuIG91dGVyIHF1YW50aWZpZXIgcXVhbnRpZmllcyBkaXN0cmlidXRp dmVseSB7IX0gb3ZlciB0aGVzZSBtYXNzZXMKCk5vdGljZSBoZXJlIHRoYXQgd2hpbGUgbWFzc2Vz IGNvbnNpc3Qgb2YgYSBudW1iZXIgb2Ygb2JqZWN0cyBjb25zaWRlcmVkIG5vbi1kaXN0cmlidXRp dmVseSwgYW4gb3V0ZXIgcXVhbnRpZmllciBhbHdheXMgdHJlYXRzIGVhY2ggb2YgdGhlc2UgbWFz c2VzIGFzIGFuIGluZGl2aWR1YWwuCgpXaGVuIHBsYWNlZCBiZWZvcmUgYSBudW1iZXIgc3RyaW5n LCB0aGVuIGEgc3VtdGksICcnbG9pJycvJydsZWknJyBpcyBkZWZpbmVkIGFzICInJ2xvIGd1bm1h IGJlIGxvJycvJydsZScnIHtudW1iZXJ9IHtzdW10aX0iIC0gIlRoZSBtYXNzIGNvbnNpc3Rpbmcg b2YgdGhlIHtudW1iZXJ9IG9mIHtzdW10aX0iLgoKCgpBdHRlbXB0IHRvIHRyYW5zbGF0ZSB0aGlz OiAnJ3JlIGRlaSBndW5tYSByZSBsb2kgemUgdmFsc2kgLmkgY2EnZSBwYSBkZWkgamFpIGdhdSBq ZXRudScnCgpfXycnZ3VubWEnJ19fIHgxIGlzIGEgbWFzcyBvZiB0aGUgaW5kaXZpZHVhbHMgeDIK Cl9fJyd2YWxzaScnX18geDEgaXMgYSB3b3JkLCBtZWFuaW5nIHgyIGluIGxhbmd1YWdlIHgzCgpf XycnY2EnZScnX18gQXR0aXR1ZGluYWw6IEV2aWRlbnRpYWw6IEkgZGVmaW5lCgpfXycnamV0bnUn J19fIHgxIGlzIHRydWUgYWNjb3JkaW5nIHRvIG1ldGFwaHlzaWNzL2VwaXN0ZW1vbG9neSB4MgoK QW5zd2VyOiB+fmdyZXksZ3JleTogIlRoZXNlIHR3byB1dHRlcmFuY2VzIGFyZSBhIG1hc3MsIGNv bnNpc3Rpbmcgb2YgdHdvIGluZGl2aWR1YWwgbWFzc2VzIGVhY2ggb2Ygc2V2ZW4gd29yZHMuIEkg ZGVmaW5lOiBUaGlzIG9uZSB1dHRlcmFuY2UgY2F1c2VzIHtpdH0gdG8gYmUgdHJ1ZS4ifn4KCgoK LSAtJydsYWknJy0gLSBNdWNoIGxpa2UgJydsYScnLCBhbiBpbm5lciBxdWFudGlmaWVyICh3aGVu IG5hbWUgaXMgYSBzZWxicmkpIGlzIHBhcnQgb2YgdGhlIG5hbWUuIEFuIG91dGVyIG9uZSBxdWFu dGlmaWVzIGRpc3RyaWJ1dGl2ZWx5LiBCZWZvcmUgYSBudW1iZXIrc3VtdGksIGJvdGggdGhlIHN1 bXRpIGFuZCB0aGUgbnVtYmVyIG1ha2UgdXAgdGhlIG5hbWUuCgpXaGVuIGEgZnJhY3Rpb24gaXMg dXNlZCBhcyBhbiBvdXRlciBxdWFudGlmaWVyIHRvIHF1YW50aWZ5ICcnbG9pJycsICcnbGVpJycg b3IgJydsYWknJywgb25lIHNwZWFrcyBhYm91dCBvbmx5IHBhcnQgb2YgdGhlIG1hc3MgKGZvciBp bnN0YW5jZSwgImhhbGYgb2YgdGhlIEpvaG5zb25zIiAtICcncGkgbXUgbGFpIC5kamFuc3luLicn KS4KCgoKLSAtJydsbydpJycgYW5kICcnbGUnaScnLSAtIEFuIGlubmVyIHF1YW50aWZpZXIgZGVz Y3JpYmVzIHRoZSBhbW91bnQgb2YgbWVtYmVycyBvZiB0aGUgc2V0LiBBbiBvdXRlciBxdWFudGlm aWVzIGRpc3RyaWJ1dGl2ZWx5IG92ZXIgc2V2ZXJhbCBvZiBzdWNoIHNldHMuIFdoZW4gcGxhY2Vk IGJlZm9yZSBhIG51bWJlciBhbmQgYSBzdW10aSwgaXQncyBkZWZpbmVkIGFzICInJ2xvIHNlbGNt aSBiZSAnJ2xvJycvJydsZScnIHtudW1iZXJ9IHtzdW10aX0iIC0gIlRoZSBzZXQgb2Yge251bWJl cn0ge3N1bXRpfSIuCgoKClRyYW5zbGF0ZSAnJ2xvJ2kgcm8gc2UgY2lua2kgY3UgYnJhbWF1IGxh J2EgcGEgbm8gbm8gbG8naSBybyBzZSBib2d5a2FtanUganV0c2knJwoKX18nJ2NpbmtpJydfXyB4 MSBpcyBhbiBpbnNlY3Qgb2Ygc3BlY2llcyB4MgoKX18nJ2xhJ2EnJ19fIEF0dGl0dWRpbmFsOiBE aXNjdXJzaXZlOiBQcm9iYWJseQoKX18nJ2JyYW1hdScnX18geDEgaXMgYmlnZ2VyIHRoYW4geDIg aW4gZGltZW5zaW9uIHgzIGJ5IG1hcmlnaW4geDQKCl9fJydib2d5a2FtanUnJ19fIHgxIGlzIHRo ZSBzcGluZSBvZiB4MgoKX18nJ2p1dHNpJydfXyB4MSBpcyB0aGUgc3BlY2llcyBvZiBnZW51cyB4 MiwgZmFtaWx5IHgzIC4uLiAob3BlbiBlbmRlZCBjbGFzc2lmaWNhdGlvbikKCkFuc3dlcjogfn5n cmV5LGdyZXk6ICJUaGUgc2V0IG9mIGFsbCB0aGUgc3BlY2llcyBvZiBpbnNlY3RzIGlzIHByb2Jh Ymx5IGJpZ2dlciB0aGFuIG9uZSBodW5kcmVkIHNldHMgb2YgYWxsIHNwZWNpZXMgb2YgdmVydGVi cmF0ZXMifn4KCgoKLSAtJydsYSdpJyctIC0gQXMgd2l0aCAnJ2xhaScnCgpMaWtlIHdpdGggdGhl IG1hc3MgZ2FkcmksIGFuIG91dGVyIHF1YW50aWZpZXIgYmVmb3JlIGEgc2V0IGdhZHJpIGVuYWJs ZXMgb25lIHRvIHNwZWFrIGFib3V0IGEgZnJhY3Rpb24gb2YgYSBzZXQuIEluIGZyb250IG9mIGEg bnVtYmVyIGFuZCBhIHN1bXRpLCBpdCdzIGRlZmluZWQgYXMgIicnbG8gc2VsY21pIGJlIGxhJycg e251bWJlcn0ge3N1bXRpfSIgLSAiVGhlIHNldCBjb25zaXN0aW5nIG9mIFRoZSB7TnVtYmVyfSB7 U3VtdGl9IiAoY29uc2lkZXJlZCBhIG5hbWUpCgoKCi0gLScnbG8nZScnIGFuZCAnJ2xlJ2UnJy0g LSBBcmUgZm9yIHNvbWUgcmVhc29uIG5vdCBpbmNsdWRlZCBpbiB0aGUgY3VycmVudGx5IGFjY2Vw dGVkIGdhZHJpIHByb3Bvc2FsLiBJZiBvbmUgd2VyZSB0byBleHRlbmQgdGhlIHJ1bGVzIG9mIGFu b3RoZXIgZ2FkcmksICcnbG8nJy8nJ2xlJycgd291bGQgcHJvYmFibHkgYmUgdGhlIGJlc3QgY2hv aWNlIChzaW5jZSBib3RoIG9wZXJhdGVzIHdpdGggaW5kaXZpZHVhbHMgcmF0aGVyIHRoYW4gZ3Jv dXBzKSwgYW5kIHNvIG9uZSB3b3VsZCBleHBlY3QgdGhlIG91dGVyIHF1YW50aWZpZXIgdG8gZm9y Y2UgZGlzdHJpYnV0aXZpdHkgb3ZlciB0aGUgYW1vdW50IG9mIHR5cGljYWwvc3RlcmVvdHlwaWNh bCB0aGluZ3MgZ2l2ZW4gYnkgdGhlIGlubmVyIHF1YW50aWZpZXIuCgoKCldoZW4gcXVhbnRpZnlp bmcgc3Vta2EnaSByZXByZXNlbnRpbmcgc2V2ZXJhbCBvYmplY3RzLCBpdCBpcyB1c2VmdWwgdG8g cmVtZW1iZXIgdGhhdCB0aGV5IGFyZSB1c3VhbGx5IG1hc3Nlcy4gQnkgZGVmaW5pdGlvbiwgIntu dW1iZXJ9IHtzdW10aX0iIGlzIGRlZmluZWQgYXMgIntudW1iZXJ9ICcnZGEgcG9pIGtlJ2EgbWUn JyB7c3VtdGl9Ii4gWW91IHdpbGwgbm90IGJlIGZhbWlsaWFyIHdpdGggJydkYScnIHVudGlsIGEg ZmV3IGxlc3NvbnMgbGF0ZXIsIHNvIHRha2UgaXQgb24gZmFpdGggdGhhdCBpcyBtZWFucyAic29t ZXRoaW5nIiBpbiB0aGlzIGNvbnRleHQuIFRoZXJlZm9yZSwgJydjaSBtaScnIG1lYW5zICJUd28g b2YgdGhvc2Ugd2hvIGJlbG9uZyB0byAidXMiIi4gV2hlbiBxdWFudGlmeWluZyBzdWNoIG1hc3Nl cywgaXQgY2FuIHNhZmVseSBiZSBhc3N1bWVkIHRoYXQgdGhlIHJlbGF0aW9uIGltcGxpZWQgYnkg JydtZScnIGlzIG1lbWJlcnNoaXAgb2YgdGhlIG1hc3MsIGFuZCB0aGVyZWZvcmUgJydjaSBtaScn IGlzICJUaHJlZSBvZiB1cyIuCgoKClNvbWUgaW1wb3J0YW50IHVzZXMgb2YgcXVhbnRpZmljYXRp b24gcmVxdWlyZXMgeW91IHRvIGJlIHF1YW50aWZ5IHNlbGJyaSBvciBvYmplY3RzIHdob3NlIGlk ZW50aXR5IGlzIHVua25vd24uIFRoaXMgaXMgZG9uZSBieSAibG9naWNhbGx5IHF1YW50aWZpZWQg dmFyaWFibGVzIi4gVGhlc2UsIGFzIHdlbGwgYXMgaG93IHRvIHF1YW50aWZ5IHRoZW0gd2lsbCBi ZSBjb3ZlcmVkIGluIGxlc3NvbnMgdHdlbnR5LXNldmVuLgoKCgpMYXN0bHksIGhvdyBjYW4geW91 IHF1YW50aWZ5IHVuY291bnRhYmxlIHN1YnN0YW5jZXMgbGlrZSBzdWdhciBvciB3YXRlcj8gT25l IHNvbHV0aW9uIGlzIHRvIHF1YW50aWZ5IGl0IHVzaW5nIGluZXhhY3QgbnVtYmVycy4gVGhpcyB1 c2UgaXMgdmFndWUsIG5vdCBvbmx5IGJlY2F1c2UgdGhlIHZhbHVlIG9mIHRoZSBudW1iZXIgaXMg dmFndWUsIGJ1dCBhbHNvIGJlY2F1c2UgaXQncyBub3Qgc3BlY2lmaWVkIG9uIHdoYXQgc2NhbGUg eW91J3JlIGNvdW50aW5nOiBUaGUgc3VnYXIgY291bGQgYmUgY29uc2lkZXJlZCBhIGdyb3VwIG9m IG1hbnkgY3J5c3RhbHMsIGNvdW50ZWQgb25lIGF0IGEgdGltZSwgYW5kIHRoZSB3YXRlciBjb3Vs ZCBiZSBxdWFudGlmaWVkIGJ5IHRoZSBhbW91bnRzIG9mIHJhaW5kcm9wcyBpdCB0b29rIHRvIG1h a2UgdGhlIGJvZHkgb2Ygd2F0ZXIgaW4gcXVlc3Rpb24uIFdoaWxlIHRoaXMgd2F5IG9mIGNvdW50 aW5nIGlzIGxlZ2l0aW1hdGUsIGl0J3Mgbm90IHZlcnkgZXhhY3QgYW5kIGNhbiBlYXNpbHkgY29u ZnVzZSBvciBtaXNsZWFkLgoKQSB3YXkgdG8gYmUgZXhwbGljaXQgYWJvdXQgbm9uLWNvdW50YWJp bGl0eSBpcyB0byB1c2UgdGhlIG51bGwgb3BlcmFuZCAnJ3R1J28nJyBhcyBhbiBpbm5lciBxdWFu dGlmaWVyLgoKX18nJ3R1J28nJ19fIE51bGwgb3BlcmFuZCAoIMOYICkuIFVzZWQgaW4gdW5hcnkg bWVrc28uCgpUaGlzIHNvbHV0aW9uIGlzIGVsZWdhbnQgYW5kIGludHVpdGl2ZSwgYW5kIGFsc28g Z2l2ZXMgbWUgYW4gZXhjdXNlIHRvIHF1b3RlIHRoaXMgaG9ycmlmeWluZywgeWV0IGNvbWljYWwg ZXhhbXBsZSBmcm9tIHRoZSBvcmlnaW5hbCAnJ3hvcmxvJyctcHJvcG9zYWw6CgonJ2xlIG5hbm11 IGN1IHNlIHNudXRpIC5pIGphJ2UgYm8gbG8gdHUnbyBnZXJrdSBjdSBrdXNwZSBsZSBrbGFqaScn CgpfXycnc251dGknJ19fIHgxIGlzIGFuIGFjY2lkZW50IG9uIHRoZSBwYXJ0IG9mIHgyCgpfXycn amEnZScnX18gc3VtdGNpdGE6IEJBSTogKGZyb20gJydqYWxnZScnKTogQnJpZGkgcmVzdWx0cyBp biB7c3VtdGl9IAoKX18nJ2t1c3BlJydfXyB4MSBzcGFucy9leHRlbmRzIG92ZXIgeDIKCl9fJydr bGFqaScnX18geDEgaXMgYSByb2FkL2F2ZW51ZS9zdHJlZXQgYXQgeDIgYWNjZXNzaW5nIHgzCgoK CldoYXQgZG9lcyBpdCBtZWFuPwoKQW5zd2VyOiB+fmdyZXksZ3JleTogIlRoZSBtYW4gaGFkIGFu IGFjY2lkZW50IGFuZCBzbyB0aGVyZSB3YXMgZG9nIGFsbCBvdmVyIHRoZSByb2FkIn5+CgoKCkEg c2Vjb25kIG1ldGhvZCBvZiBxdWFudGlmeWluZyBzdWJzdGFuY2VzIGlzIHRvIHVzZSB0aGUgdGVu c2VzICcndmUnaScnLCAnJ3ZlJ2EnJyBhbmQgJyd2ZSd1JycgYXMgbWVudGlvbmVkIGluIGxlc3Nv biB0ZW46CgonJ3RpIHZlJ2kgZGphY3UnJyAtIFRoaXMgaXMgYSBzbWFsbCBhbW91bnQgb2Ygd2F0 ZXIKCl9fJydkamFjdScnX18geDEgaXMgYW4gZXhwYW5zZSBvZiB3YXRlci9pcyBtYWRlIG9mIHdh dGVyL2NvbnRhaW5zIHdhdGVyCgoKClRoaXJkbHksIG9mIGNvdXJzZSwgeW91IGNvdWxkIHVzZSBh IGJyaXZsYSB0byBnaXZlIGFuIGV4YWN0IG1lYXN1cmVtZW50OgoKJydsZSB0YSBkamFjdSBjdSBr aSdvZ3JhIGJlIGxpIHJlIHBpIGtpJ28ga2knbycnIC0gIlRoYXQgd2F0ZXIgaGFzIGEgbWFzcyBv ZiAyLjAwMCAwMDAga2lsb2dyYW1zIgoKX18nJ2tpJ29ncmEnJ19fIHgxIG1lYXN1cmVzIGluIG1h c3MgeDIga2lsb2dyYW1zIGJ5IHN0YW5kYXJkIHgzCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNz b24gdHdlbnR5LXRocmVlIChuZWdhdGlvbikKClNvbWV0aW1lcywganVzdCBzYXlpbmcgd2hhdOKA mXMgdGhlIHRydXRoIGlzIG5vdCBlbm91Z2guIE9mdGVuLCB3ZSB3YW50IHRvIHNwZWNpZnkgd2hh dOKAmXMgbm90IHRoZSB0cnV0aCwgYW5kIHdlIGRvIHRoaXMgYnkgdXNpbmcgbmVnYXRpb24uCgpO ZWdhdGlvbiBpbiBFbmdsaXNoIG1vc3RseSBpbnZvbHZlcyDigJxub3TigJ0sIGFuZCBpcyBjb21w bGV0ZWx5IGFyYml0cmFyeSBhbmQgYW1iaWd1b3VzLiBXZSwgYXMgTG9qYmFuaXN0cywgY2Fu4oCZ dCBoYXZlIHRoYXQsIG9mIGNvdXJzZSwgc28gTG9qYmFuIGNvbnRhaW5zIGFuIGVsZWdhbnQgYW5k IHVuYW1iaWdpb3VzIHN5c3RlbSBmb3IgbmVnYXRpbmcuCgoKClRoZSBmaXJzdCB5b3UgbmVlZCB0 byBrbm93IGFib3V0IGlzIGJyaWRpIG5lZ2F0aW9uLCBzbyBjYWxsZWQgYmVjYXVzZSBpdCBuZWdh dGVzIHRoZSBicmlkaSBpdOKAmXMgaW4sIHNheWluZyBpdOKAmXMgbm90IHRydWUuIFRoZSB3YXkg dG8gbmVnYXRlIGEgYnJpZGkgaXMgdG8gcGxhY2UgJyduYScnIGVpdGhlciBqdXN0IGJlZm9yZSB0 aGUgc2VsYnJpIChhZnRlciBhbnkgJydjdScnKSwgb3IgZmlyc3QgaW4gdGhlIHNlbnRlbmNlIHdp dGggYSAnJ2t1JycgYWZ0ZXIgaXQuCgpfXycnc3BlbmknJ19fIHgxIGlzIG1hcnJpZWQgdG8geDIg dW5kZXIgY29udmVudGlvbiB4MwoKVGh1czogJydsZSBtaSBzcGVuaSBjdSBuYSBuaW5tdScnIHN0 YXRlcyB0aGF0IOKAnE15IHNwb3VzZSBpcyBub3QgYSB3b21hbuKAnS4gSXQgc3RhdGVzIG5vdGhp bmcgYWJvdXQgd2hhdCBteSB3aWZlIGlzLCBvciBpZiBJIGV2ZW4gaGF2ZSBhIHdpZmUuIEl0IG9u bHkgc3RhdGVzIHRoYXQgSSBkbyBub3QgaGF2ZSBhIHdpZmUgd2hvIGlzIGFsc28gYSB3b21hbi4g VGhpcyBoYXMgYW4gaW1wb3J0YW50IGltcGxpY2F0aW9uOiBJZiB0aGUgbmVnYXRpb24gb2YgYSBi cmlkaSBpcyBmYWxzZSwgdGhlIGJyaWRpIG11c3QgYmUgdHJ1ZTogJyduYSBrdSBsZSBtaSBzcGVu aSBjdSBuYSBuaW5tdScnIG11c3QgbWVhbiB0aGF0IEkgaGF2ZSBib3RoIGEgc3BvdXNlLCBhbmQg dGhhdCBzaGUgaXMgYSBzaGUuCgpJdCBpcyBwb3NzaWJsZSB0byB1c2UgYnJpZGkgbmVnYXRpb25z IGluIGFsbCBicmlkaSwgZXZlbiB0aGUgaW1wbGljaXQgYnJpZGkgb2YgZGVzY3JpcHRpdmUgc3Vt dGkuICcnbG8gbmEgcHJlbnUnJyBjYW4gcmVmZXIgdG8gYW55dGhpbmcgbm9uLWh1bWFuLCB3aGV0 aGVyIGl0IGJlIGEgc3BoaW54LCBhIGJhc2ViYWxsIG9yIHRoZSBwcm9wZXJ0eSBvZiBhcHByb3By aWF0ZW5lc3MuCgoKCl9fJydiYXUnJ19fIHN1bXRjaXRhLCBmcm9tIGJhbmd1OiB1c2luZyB0aGUg bGFuZ3VhZ2Ugb2Yge3N1bXRpfQoKX18nJ3NlIGph4oCZZScnX18gc3VtdGNpdGEsIGZyb20gc2Ug amFsZ2U6IGJlY2F1c2Ugb2Yge3N1bXRpfQoKCgpPZnRlbiB3aGVuIHVzaW5nICcnbmEnJywgaXTi gJlzIGEgcHJvYmxlbSB0aGF0IG5lZ2F0ZXMgdGhlIGVudGlyZSBicmlkaS4gSWYgSSBzYXkgJydt aSBuYSBzdXRyYSB0YXZsYSBiYXUgbGUgZ2xpYmF1IHNlIGph4oCZZSBsZSBudSBtaSBkb3Rjbycn LCBJIGVuZCB1cCBuZWdhdGluZyB0b28gbXVjaCwgYW5kIGl0IGlzIG5vdCBjbGVhciB0aGF0IEkg d2FudGVkIHRvIG9ubHkgbmVnYXRlIHRoYXQgSSBzcGVhayBmYXN0LiBUaGUgc2VudGVuY2UgY291 bGQgc3VnZ2VzdCB0aGF0IEkgaW4gZmFjdCBzcGVhayBmYXN0IGJlY2F1c2Ugb2Ygc29tZSBvdGhl ciByZWFzb24sIG9yIHRoYXQgSSBzcGVhayBmYXN0IGluIEZyZW5jaCBiZWNhdXNlIEnigJltIEdl cm1hbi4gVG8gZXhwcmVzcyB0aGUgc2VudGVuY2UgY29ycmVjdGx5LCBJIG5lZWQgdG8gb25seSBu ZWdhdGUgdGhhdCBJIHNwZWFrIGZhc3QsIGFuZCBub3QgdGhlIG90aGVyIHRoaW5ncy4KClRvIG9u bHkgbmVnYXRlIHBhcnQgb2YgYSBicmlkaSwgJyduYSBrdScnIGNhbiBiZSBtb3ZlZCBhcm91bmQg dGhlIGJyaWRpIGFuZCBwbGFjZWQgYW55d2hlcmUgYSBzdW10aSBjYW4gZ28uIEl0IHRoZW4gbmVn YXRlcyBhbnkgc3VtdGksIHNlbGJyaSBhbmQgc3VtdGNpdGEgcGxhY2VkIGFmdGVyIGl0LgoKCgpN b3ZpbmcgJyduYSBrdScnIGZyb20gdGhlIGxlZnQgZW5kIG9mIHRoZSBicmlkaSBhbmQgcmlnaHR3 YXJkcyBlZmZlY3RzIGFueSBxdWFudGlmaWVycyBpbiBhIGNlcnRhaW4gd2F5LCBhcyBjYW4gYmUg c2VlbiBieSB0aGlzIGV4YW1wbGU6CgoKCicnbmEga3Ugcm8gcmVtbmEgY3UgdmVyYmEnJyDigJxJ dOKAmXMgbm90IHRydWUgdGhhdDogQWxsIGh1bWFucyBhcmUgY2hpbGRyZW7igJ0KCicnc3XigJlv IHJlbW5hIG5hIGt1IGN1IHZlcmJhJycg4oCcRm9yIGF0IGxlYXN0IG9uZSBodW1hbiBpdOKAmXMg bm90IHRydWUgdGhhdDogSXTigJlzIGEgY2hpbGTigJ0uIFNlZSB0aGF0IHRoZSAnJ25hIGt1Jycg aXMgcGxhY2VkIGJlZm9yZSAnJ2N1JycsIHNpbmNlIGEgc3VtdGkgY2FuIGdvIG9ubHkgdGhlcmUu IEhhZCBJIG9ubHkgdXNlZCAnJ25hJycsIGl0IHdvdWxkIGhhdmUgdG8gZ28gYWZ0ZXIgJydjdScn LgoKCgpUaGUgcXVhbnRpZmllciBpcyBpbnZlcnRlZCwgJydybycnIGlzIHR1cm5lZCBpbnRvICcn c3XigJlvJycuIFRoaXMgaXMsIG9mIGNvdXJzZSwgb25seSBpZiB0aGUgbWVhbmluZyBvZiB0aGUg YnJpZGkgaGFzIHRvIGJlIHByZXNlcnZlZC4gVGhpcyBtZWFucyB0aGF0IHdoZW4gdGhlICcnbmEg a3UnJyBpcyBwbGFjZWQgYXQgdGhlIGVuZCBvZiB0aGUgYnJpZGksIG9ubHkgdGhlIHNlbGJyaSBp cyBuZWdhdGVkIGJ1dCBhbGwgdGhlIHN1bXRpIGFuZCBzdW10Y2l0YSBhcmUgcHJlc2VydmVkLCBh cyBjYW4gYmUgc2VlbiBieSB0aGVzZSB0aHJlZSBpZGVudGljYWwgYnJpZGk6CgpfXycnY2t1bGUn J19fIHgxIGlzIGEgc2Nob29sIGF0IGxvY2F0aW9uIHgyIHRlYWNoaW5nIHgzIHRvIHN0dWRlbnRz IHg0IGFuZCBvcGVyYXRlZCBieSB4NQoKCgonJ25hIGt1IHJvIHZlcmJhIGN1IHZlIGNrdWxlIGZv IHN14oCZbyBja3VsZScnIOKAkyDigJxJdOKAmXMgbm90IHRydWUgdGhhdCBhbGwgY2hpbGRyZW4g YXJlIHN0dWRlbnRzIGluIGEgc2Nob29sLuKAnQoKJydzdeKAmW8gdmVyYmEgY3UgdmUgY2t1bGUg bmEga3UgZm8gc3XigJlvIGNrdWxlJycg4oCTIOKAnFNvbWUgY2hpbGRyZW4gYXJlIHN0dWRlbnRz IGluIG5vdCBhIHNpbmdsZSBzY2hvb2wu4oCdCgonJ3N14oCZbyB2ZXJiYSBjdSB2ZSBja3VsZSBm byBybyBja3VsZSBuYSBrdScnIOKAkyDigJxTb21lIGNoaWxkcmVuIGFyZSBmb3IgYWxsIHNjaG9v bHMgbm90IHN0dWRlbnRzIGluIHRoZW0u4oCdCgoKCldoaWxlIHRoZSBtZWNoYW5pc20gb2YgJydu YSBrdScnIHJlc2VtYmxlcyBuYXR1cmFsIGxhbmd1YWdlIG5lZ2F0aW9uLCBpdCBjYW4gYmUgZGlm ZmljdWx0IHRvIGtlZXAgdHJhY2sgb2YgZXhhY3RseSB3aGF0IGlzIG5lZ2F0ZWQgYW5kIGhvdyB0 aGF0IGFmZmVjdHMgdGhlIGJyaWRpLiBGb3IgdGhhdCByZWFzb24sIHRoZSBjb25zdHJ1Y3QgJydu YSBrdScnIGlzIHJhcmVseSBzZWVuIGFueXdoZXJlIG90aGVyIHRoYW4gdGhlIGJlZ2lubmluZyBv ZiBhIGJyaWRpLiBJbiBtb3N0IGNhc2VzIHdoZXJlIG1vcmUgc3BlY2lmaWMgbmVnYXRpb24gaXMg bmVlZGVkIHBlb3BsZSByZXNvcnQgdG8gYSBkaWZmZXJlbnQgbWV0aG9kLiBUaGlzIG1ldGhvZCwg Y2FsbGVkIHNjYWxhciBuZWdhdGlvbiwgaXMgYW4gZWxlZ2FudCBhbmQgaW50dWl0aXZlIHRvb2wu IFVzaW5nIGl0LCB5b3UgZWZmZWN0IG9ubHkgdGhlIHNlbGJyaSwgc2luY2UgdGhlIHdvcmRzIHVz ZWQgaW4gc2NhbGFyIG5lZ2F0aW9uIGJpbmRzIHRvIHRoZSBzZWxicmkgbXVjaCBsaWtlIHRoZSB3 b3JkICcnc2UnJy4KClRoZSBuYW1lIOKAnHNjYWxhciBuZWdhdGlvbuKAnSBpcyBkZXJpdmVkIGZy b20gdGhlIGZhY3QgdGhhdCB0aGUgd29yZHMgd2hpY2ggYmluZCB0byB0aGUgc2VsYnJpIGNhbiBi ZSBwbGFjZWQgYWxvbmcgYSBzY2FsZSBmcm9tIGFmZmlybWF0aW9uIG92ZXIgbmVnYXRpb24gYW5k IHRvIHN0YXRpbmcgdGhhdCB0aGUgb3Bwb3NpdGUgY2FzZSBpcyB0cnVlOgoKfHxXb3JkfE1lYW5p bmcKCmpl4oCZYXzigJxJbmRlZWTigJ07IHNjYWxhciBhZmZpcm1lcgoKbm/igJllfOKAnE5vdCBy ZWFsbHnigJ0sIHNjYWxhciBtaWRwb2ludAoKbmHigJllfOKAnE5vbi3igJwsIHNjYWxhciBuZWdh dG9yCgp0b+KAmWV84oCcSWzigJ0sIOKAnERpcy3igJwsIOKAnE1pc+KAnSBlY3Q7IHNjYWxhciBv cHBvc2VyfHwKCgoKCgpUaGVzZSB3b3JkcyBhcmUgbm90IG5lZ2F0b3JzIGluIHRoZSBzYW1lIHNl bnNlIGFzICcnbmEnJy4gVGhleSBkbyBub3Qgc3RhdGUgdGhhdCBhIGJyaWRpIGlzIGZhbHNlLCBi dXQgbWFrZXMgYSBwb3NpdGl2ZSBzdGF0ZW1lbnQgdGhhdCBhIGJyaWRpIGlzIHRydWUg4oCTIHRo ZSBzYW1lIGJyaWRpLCBidXQgd2l0aCBhIGRpZmZlcmVudCBzZWxicmkuCgpUaGUgd29yZHMgJydu b+KAmWUnJyBhbmQgJyd0b+KAmWUnJyBzaG91bGQgb25seSBiZSB1c2VkIHdoZW4gdGhlIHNlbGJy aSBoYXMgYW4gaW1wbGljaXQgc2NhbGU6CgonJ2xlIG1pIHNwZW5pIGN1IHRv4oCZZSBtZWxiaScn IOKAkyDigJ1NeSBzcG91c2UgaXMgdWdseeKAnSBtYWtlcyBzZW5zZSwgc2luY2Ugd2UgaW1tZWRp YXRlbHkga25vdyB3aGF0IHRoZSBvcHBvc2l0ZSBvZiBiZWF1dGlmdWwgaXMsIHdoaWxlCgonJ21p IGtsYW1hIGxlIG1pIHRv4oCZZSB6ZGFuaScnIOKAkyDigJ1JIGdvIHRvIG15IG9wcG9zaXRlIHRo aW5nIG9mIGhvbWXigJ0sIHdoaWxlIGdyYW1tYXRpY2FsLCBsZWF2ZXMgdGhlIGxpc3RlbmVyIGd1 ZXNzaW5nIHdoYXQgdGhlIHNwZWFrZXJzIOKAnG9wcG9zaXRlLWhvbWXigJ0gaXMgYW5kIHNob3Vs ZCBiZSBhdm9pZGVkLgoKCgpTbyBob3cgY2FuIHlvdSBuZWdhdGUgb25seSB0aGUgc2VsYnJpIHdp dGhvdXQgYWxzbyBpbXBseWluZyB0aGF0IHRoZSBzZWxicmkgaXMgY29ycmVjdCBhdCBzb21lIG90 aGVyIHBvc2l0aW9uIG9uIGEgdHJ1dGgtc2NhbGU/IFNpbXBsZTogTW92aW5nIHRoZSAnJ25hIGt1 JycgdG8gdGhlIHJpZ2h0bW9zdCBlbmQgb2YgdGhlIGJyaWRpLCBhcyBkZW1vbnN0cmF0ZWQgYSBm ZXcgbGluZXMgYWJvdmUuIFRoaXMgZmVhdHVyZSBpcyB2ZXJ5IHVzZWZ1bC4gU29tZSBsb2piYW5p c3RzIHByZWZlciB0byBwcmVmaXggdGhlIHJhZnNpICcnbmFyLScnICh0aGUgcmFmc2kgb2YgJydu YScnKSBpbiBmcm9udCBvZiB0aGUgc2VsYnJpIC0gdGhpcyBoYXMgdGhlIHNhbWUgZWZmZWN0LCBi dXQgSSBhZHZpc2UgYWdhaW5zdCBpdCwgYmVjYXVzZSBpdCBtYWtlcyBmYW1pbGlhciBicml2bGEg c2VlbSBhbGllbiwgYW5kIGl0J3MgaGFyZGVyIHRvIHVuZGVyc3RhbmQgd2hlbiBzcG9rZW4gY2Fz dWFsbHkuCgoKClRyeSB0byB0cmFuc2xhdGUgdGhlc2Ugc2VudGVuY2VzOgoK4oCcTXkgc3BvdXNl IGlzIG5vdCBhIHdvbWFu4oCdIChtZWFuaW5nIHRoYXQgaGUgaXMgYSBtYWxlKQoKCgpBbnN3ZXI6 IH5+Z3JleSxncmV5OicnbGUgbWkgc3BlbmkgY3UgbmHigJllIC8gdG/igJllIG5pbm11JycuIFVz aW5nIHNjYWxhciBuZWdhdGlvbiBoZXJlIGltcGxpZXMgdGhhdCBoZSBleGlzdHMsIHdoaWNoIG5h IGRpZCBub3Qufn4KCgoK4oCcTXkgc3BvdXNlIGlzIG5vdCByZWFsbHkgYSB3b21hbuKAnQoKCgpB bnN3ZXI6IH5+Z3JleSxncmV5OicnbGUgbWkgc3BlbmkgY3Ugbm/igJllIG5pbm11JycuIFRoZSBz Y2FsZSBoZXJlIGlzIHByZXN1bWVkIHRvIGJlIGZyb20gd29tYW4gdG8gbWFuLn5+CgoKCuKAnEkg ZG9u4oCZdCBzcGVhayBmYXN0IGluIEVuZ2xpc2ggYmVjYXVzZSBJ4oCZbSBHZXJtYW7igJ0KCgoK QW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIG5h4oCZZSBzdXRyYSB0YXZsYSBiYXUgbGUgZ2xpYmF1 IHNlIGph4oCZZSBsZSBudSBtaSBkb3Rjbycnfn4KCgoKQWxzbywgbm90ZSB0aGF0IHdoZW5ldmVy IHRoZXNlIHdvcmRzIGFyZSB1c2VkIHRvZ2V0aGVyIHdpdGggYSB0YW5ydSwgdGhleSBvbmx5IGFm ZmVjdCB0aGUgbGVmdG1vc3Qgc2VsYnJpLiBJbiBvcmRlciB0byBtYWtlIGl0IGJpbmQgdG8gdGhl IHdob2xlIHRhbnJ1IG9yIHBhcnRzIG9mIHRoZSB0YW5ydSwgdGhlIHVzdWFsIHRhbnJ1LWdyb3Vw aW5nIHdvcmRzIGNhbiBiZSB1c2VkLgoKCgpUcnkgdG8gc2F5IOKAnEkgc2VsbCBzb21ldGhpbmcg d2hpY2ggaXMgbm90IHllbGxvdyBob21lc+KAnSB1c2luZyB0aGUgdGFucnUgJydwZWx4dSB6ZGFu aSB2ZWNudScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBuYeKAmWUga2UgcGVseHUgemRh bmkga2XigJllIHZlY251IG9yIG1pIG5h4oCZZSBwZWx4dSBibyB6ZGFuaSB2ZWNudScnfn4KCgoK V2hlbiBhdHRlbXB0aW5nIHRvIGFuc3dlcjog4oCcSXMgdGhlIGtpbmcgb2YgdGhlIFVTQSBmYXQ/ 4oCdLCBhbGwgb2YgdGhlc2UgbmVnYXRpb25zIGZhaWwuIFdoaWxlIGl04oCZcyB0ZWNobmljYWxs eSBjb3JyZWN0IHRvIG5lZ2F0ZSBpdCB3aXRoICcnbmEnJywgc2luY2UgaXQgbWFrZXMgbm8gYXNz dW1wdGlvbnMgb2YgdGhhdCBpcyB0cnVlLCBpdOKAmXMgbWlsZGx5IG1pc2xlYWRpbmcgc2luY2Ug aXQgY291bGQgbGVhZCB0aGUgbGlzdGVuZXIgdG8gYmVsaWV2ZSB0aGVyZSBpcyBhIGtpbmcgb2Yg dGhlIFVTQS4gRm9yIHRoZXNlIHNjZW5hcmlvcywgdGhlcmUgaXMgYSBtZXRhbGluZ3Vpc3RpYyBu ZWdhdG9yLCAnJ25h4oCZaScnLgoKJyduYeKAmWknJyBNZXRhbGluZ3Vpc3RpYyBuZWdhdG9yLiBT b21ldGhpbmcgaXMgd3Jvbmcgd2l0aCBhc3NpZ25pbmcgYSB0cnV0aCB2YWx1ZSB0byB0aGUgYnJp ZGkuCgpCZWNhdXNlICcnbmHigJlpJycgY2FuIGJlIG5lZWRlZCBhbnl3aGVyZSBpdCBoYXMgYmVl biBnaXZlbiB0aGUgZ3JhbW1hciBvZiB0aGUgYXR0aXR1ZGluYWxzLCB3aGljaCBtZWFucyBpdCBj YW4gYXBwZWFyIGFueXdoZXJlLCBhbmQgaXQgYXR0YWNoZXMgdG8gdGhlIHByZXZpb3VzIHdvcmQg b3IgY29uc3RydWN0LgoKCgpfXycncGFsY2knJ19fIHgxIGlzIGV2aWwgYnkgc3RhbmRhcmQgeDIK CicnbGUgbmHigJlpIHB1IHRlIHp1a3RlIGJlIGxlIHNrYW1pIGN1IHBhbGNpJycg4oCTIOKAnVRo ZSBzb3VnaHQgZ29hbCB7bWlzdGFrZSF9IG9mIHRoZSBjb21wdXRlciB3YXMgZXZpbOKAnSwgcHJv YmFibHkgcHJvdGVzdHMgdGhhdCBjb21wdXRlcnMgY2FuIHNlZWsgYSBnb2FsIHZvbGl0aW9uYWxs eS4KCgoKU2luY2UgdGhpcyBpcyBhIGxlc3NvbiBvbiBuZWdhdGlvbiwgSSBiZWxpZXZlIHRoZSB3 b3JkICcnbmFpJycgZGVzZXJ2ZXMgYSBzaG9ydCBtZW50aW9uLiBJdCBpcyB1c2VkIHRvIG5lZ2F0 ZSBtaW5vciBncmFtbWF0aWNhbCBjb25zdHJ1Y3RzLCBhbmQgY2FuIGJlIHVzZWQgaW4gY29tYmlu YXRpb24gd2l0aCBhdHRpdHVkaW5hbHMsIGFsbCBzdW10Y2l0YSBpbmNsdWRpbmcgdGVuc2VzLCB2 b2NhdGl2ZXMgYW5kIGxvZ2ljYWwgY29ubmVjdGl2ZXMuIFRoZSBydWxlcyBmb3IgbmVnYXRpbmcg dXNpbmcgJyduYWknJyBkZXBlbmQgb24gdGhlIGNvbnN0cnVjdCwgYW5kIHNvIHRoZSBlZmZlY3Qg b2YgJyduYWknJyBoYXMgYmVlbiBkaXNjdXNzZWQgd2hlbiBtZW50aW9uaW5nIHRoZSBjb25zdHJ1 Y3QgdGhlbXNlbHZlcy4gVGhlIGV4Y2VwdGlvbiBpcyBzdW10Y2l0YSwgd2hlcmUgdGhlIHJ1bGVz IGZvciBuZWdhdGlvbiBhcmUgbW9yZSBjb21wbGV4LCBhbmQgd2lsbCBub3QgYmUgZGlzY3Vzc2Vk IGhlcmUuCgpfX05vdGU6X18gQXQgdGhlIHRpbWUgb2Ygd3JpdGluZywgaXQgaGFzIGJlZW4gcHJv cG9zZWQgdG8gbW92ZSAnJ25haScnIHRvIHRoZSBzZWxtYSdvIENBSSwgd2hpY2ggbWVhbnMgdGhl IHNlbWFudGljcyBvZiAnJ25haScnIGRlcGVuZCBvbiB3aGljaCBzZWxtYSdvIGl0IGZvbGxvd3Mu IAoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdHdlbnR5LWZvdXIgKGJyaWth4oCZaS9w cm8tYnJpZGkgYW5kIGtv4oCZYSkKCklmIEkgc2F5IHRoYXQgSeKAmW0gY2FsbGVkIE1pa2hhaWws ICcnbGEgLm1pa2FpbC4gY21lbmUgbWknJywgYW5kIHlvdSBoYXZlIHRvIHNheSB0aGUgZXhhY3Qg c2FtZSBicmlkaSwgd2hhdCB3b3VsZCB0aGF0IGJlPyBPbmUgb2YgdGhlIG1hbnkgYW5zd2VycyBp cyAnJ2RvIHNlIGNtZW5lIGxhIC5taWthaWwuJycuIEZvciB0aGUgYnJpZGkgdG8gYmUgdGhlIHNh bWUsIHlvdSBoYXZlIHRvIHJlcGxhY2UgJydtaScnIHdpdGggJydkbycnLCBhbmQgaXQgZG9lc27i gJl0IG1hdHRlciB3aGljaCBpZiB5b3Ugc2F5IHRoZSBicmlkaSB3aXRoIHRoZSAnJ3NlJyctY29u dmVydGVkIHNlbGJyaSBvciBub3QuIFRoaXMgaXMgYmVjYXVzZSBhIGJyaWRpIGlzIG5vdCB0aGUg d29yZHMgd2hpY2ggZXhwcmVzcyBpdCDigJMgYSBicmlkaSBpcyBhbiBpZGVhLCBhbiBhYnN0cmFj dCBwcm9wb3NpdGlvbi4gVGhlIHdvcmQgJydtaScnIHdoZW4gSSBzYXkgaXQgYW5kIHRoZSB3b3Jk ICcnZG8nJyB3aGVuIHlvdSBkbyByZWZlcnMgdG8gdGhlIHNhbWUgc3VtdGksIHNvIHRoZSB0d28g YnJpZGkgYXJlIGlkZW50aWNhbC4KClRoaXMgbGVzc29uIGlzIG9uICcnYnJpa2HigJlpJycsIHRo ZSBicmlkaSBlcXVpdmFsZW50IG9mIHN1bWth4oCZaS4gVGhleSBhcmUgd29yZCB3aGljaCByZXBy ZXNlbnQgZW50aXJlIGJyaWRpLiBIZXJlIGl0IGlzIGltcG9ydGFudCB0byByZW1lbWJlciB0aGF0 IGEgYnJpZGkgY29uc2lzdHMgb25seSBvZiBzdW10aSBhbmQgdGhlIHRoaW5ncyB3aGljaCBjb250 YWluIHRoZSBzdW10aSwgc2VsYnJpIGFuZCBzdW10Y2l0YS4gTmVpdGhlciBhdHRpdHVkaW5hbHMs IG5vciB0aGUgc2VtYW50aWMgbGF5ZXIgb2YgJydrbycnIG9yICcnbWEnJyBhcmUgcGFydCBvZiB0 aGUgYnJpZGkgcHJvcGVyLCBhbmQgc28gdGhlc2UgYXJlIG5vdCByZXByZXNlbnRlZCBieSBhICcn YnJpa2HigJlpJycuCgoKClRoZXJlIGFyZSBtdWNoIGZld2VyICcnYnJpa2HigJlpJycgdGhhbiB0 aGVyZSBhcmUgc3Vta2HigJlpLiBXZSB3aWxsIGJlZ2luIGJ5IGdvaW5nIHRocm91Z2ggc29tZSBv ZiB0aGUgd29yZHMgaW4gdGhlIG1vc3QgdXNlZCBzZXJpZXMsIGNhbGxlZCBHT2hBOgoKV29yZDoJ RGVmaW5pdGlvbjoKCl9fJydnb+KAmXUnJ19fCVJlcGVhdHMgcmVtb3RlIHBhc3QgYnJpZGkKCl9f Jydnb+KAmWEnJ19fCVJlcGVhdHMgcGFzdCBicmlkaQoKX18nJ2dv4oCZZScnX18JUmVwZWF0cyBu ZXh0LXRvLWxhc3QgYnJpZGkKCl9fJydnb+KAmWknJ19fCVJlcGVhdHMgbGFzdCBtZW50aW9uZWQg YnJpZGkKCl9fJydnb+KAmW8nJ19fCVJlcGVhdHMgZnV0dXJlIGJyaWRpCgpfXycnbmVpJydfXwlS ZXBlYXRzIGN1cnJlbnQgYnJpZGkKCl9fJydub+KAmWEnJ19fCVJlcGVhdHMgb3V0ZXIgYnJpZGkK CgoKU29tZSBvZiB0aGUgR09oQS0nJ2JyaWth4oCZaScnLiBOb3RpY2UgdGhlIGZhbWlsaWFyIGks IGEsIHUtcGF0dGVybiBmb3IgY2xvc2UgaW4gcGFzdCwgbWVkaXVtIGluIHBhc3QgYW5kIGRpc3Rh bnQgaW4gcGFzdC4KCgoKCgpUaGVzZSBhcmUgdmVyeSBtdWNoIGxpa2UgdGhlIHN1bWth4oCZaSAn J3JpJycsICcncmEnJyBhbmQgJydydScnLiBUaGV5IGNhbiBvbmx5IHJlZmVyIHRvIG1haW4gYnJp ZGkgb2YganVmcmEsIGFuZCBub3QgdGhvc2UgY29udGFpbmVkIGluIHJlbGF0aXZlIHBocmFzZXMg b3IgZGVzY3JpcHRpb24gc3VtdGkuIFRoZSBtYWluIGJyaWRpIGNhbiBjb250YWluIGEgcmVsYXRp dmUgcGhyYXNlLCBvZiBjb3Vyc2UsIGJ1dCBhICcnYnJpa2HigJlpJycgY2FuIG5ldmVyIGJlIHVz ZWQgdG8gcmVmZXIgdG8gb25seSB0aGUgcmVsYXRpdmUgcGhyYXNlLgoKQSBHT2hBIGFjdHMgZ3Jh bW1hdGljYWxseSBtdWNoIGxpa2UgYSBzZWxicmksIGFueSBjb25zdHJ1Y3Qgd2hpY2ggY2FuIGFw cGx5IHRvIHNlbGJyaSBjYW4gYWxzbyBhcHBseSB0byB0aGVzZS4gVGhlIHBsYWNlIHN0cnVjdHVy ZSBvZiBhIEdPaEEgaXMgdGhlIHNhbWUgYXMgdGhhdCBvZiB0aGUgYnJpZGkgaXQgcmVwcmVzZW50 cywgYW5kIHRoZSBzdW10aSBhcmUgYnkgZGVmYXVsdCB0aGUgc2FtZSBhcyBpbiB0aGUgYnJpZGkg aXQgcmVwcmVzZW50cy4gRmlsbGluZyB0aGUgc3VtdGkgcGxhY2VzIG9mIGEgR09oQSBleHBsaWNp dGx5IG92ZXJ3cml0ZXMgdGhlIHN1bXRpIG9mIHRoZSBicmlkaSBpdCByZXByZXNlbnRzLiBDb250 cmFzdDoKCkE6ICcnbWkgY2l0a2EgbG8gcGxpc2UnJyBCOiAnJ2dv4oCZaScnIOKAkyDigJxJIGVh dCBhbiBhcHBsZS7igJ0g4oCcWW91IGRvLuKAnSB3aXRoCgpBOiAnJ21pIGNpdGthIGxvIHBsaXNl JycgQjogJydtaSBnb+KAmWknJyDigJMg4oCcSSBlYXQgYW4gYXBwbGUu4oCdIOKAnEkgZG8sIHRv by7igJ0KCgoKVGhlc2UgJydicmlrYeKAmWknJyBhcmUgdmVyeSB1c2VmdWwgd2hlbiBhbnN3ZXJp bmcgYSBxdWVzdGlvbiB3aXRoICcneHUnJzoKCkE6ICcneHUgZG8gbmVsY2kgbGUgbWkgc3Blbmkn JyBCOiAnJ2dv4oCZaSAvIG5hIGdv4oCZaScnIOKAkyDigJxEbyB5b3UgbGlrZSBteSB3aWZlP+KA nSDigJxZZXMuL05vLuKAnS4gVGhlICcneHUnJywgYmVpbmcgYW4gYXR0aXR1ZGluYWwsIGlzIG5v dCBjb3BpZWQuCgoKCicnbmVpJycgYW5kICcnbm/igJlhJycgYXJlIG5vdCB1c2VkIG11Y2gsIGV4 Y2VwdCBmb3Ig4oCcbWluZC1icmVha2luZyBwdXJwb3Nlc+KAnSwgd2hpY2ggaXMgbWFraW5nIHVw IGJyaWRpIHdoaWNoIGFyZSBoYXJkIHRvIHBhcnNlLCBsaWtlICcnZGVpIG5hIHNlIGR14oCZdSBs ZSBub+KAmWEgbGHigJllIGxlIG5laScnLiBTaW5jZSAnJ25laScnIHJlcGVhdHMgdGhlIGN1cnJl bnQgb3V0ZXIgYnJpZGksIGhvd2V2ZXIsICcnbGUgbmVpJycgY2FuIGJlIHVzZWQgdG8gcmVmZXIg dG8gdGhlIHgxIG9mIHRoZSBjdXJyZW50IG91dGVyIGJyaWRpLCAnJ2xlIHNlIG5laScnIHRoZSB4 MiBhbmQgc28gb24uCgoKCldoZW4gdXNpbmcgJydicmlrYeKAmWknJywgb25lIG11c3QgYWx3YXlz IGJlIHdhcnkgb2YgY29weWluZyBzZW50ZW5jZXMgd2l0aCB0aGUgcGVyc29uYWwgc3Vta2HigJlp IGxpa2UgJydtaScnLCAnJ2RvJycsICcnbWHigJlhJycgZWN0LCBhbmQgYmUgY2FyZWZ1bCBub3Qg dG8gcmVwZWF0IHRoZW0gd2hlbiB0aGV5IGFyZSBpbiB0aGUgd3JvbmcgY29udGVjdCwgYXMgc2hv d24gaW4gdGhlIHR3byBleGFtcGxlcyB3aXRoIGFwcGxlIGVhdGluZyBhYm92ZS4gSW5zdGVhZCBv ZiByZXBsYWNpbmcgdGhlbSBvbmUgYnkgb25lLCB0aG91Z2gsIHRoZSB3b3JkICcncmHigJlvJycg YW55d2hlcmUgaW4gdGhlIGJyaWRpIHVwZGF0ZXMgdGhlIHBlcnNvbmFsIHN1bWth4oCZaSBzbyB0 aGF0IHRoZXkgYXBwbHkgZm9yIHRoZSBzcGVha2Vy4oCZcyBwZXJzcGVjdGl2ZToKCkE6ICcnbWkg ZG8gcHJhbWknJyBCOiAnJ21pIGRvIGdv4oCZaScnIGlzIGVxdWl2YWxlbnQgdG8gQTogJydtaSBk byBwcmFtaScnIEI6ICcnZ2/igJlpIHJh4oCZbycnCgpfXycncmHigJlvJydfXyBVcGRhdGUgYWxs IHBlcnNvbmFsIHN1bWth4oCZaSBzbyB0aGF0IHRoZXkgbm93IGZpdCB0aGUgc3BlYWtlcuKAmXMg cG9pbnQgb2Ygdmlldy4KCgoKVGhlIG9ubHkgb3RoZXIgc2VyaWVzIG9mIGJyaWth4oCZaSBhcmUg dmVyeSBlYXN5IHRvIHJlbWVtYmVyOgoKX18nJ2Jyb2RhJydfXwlCcmlkaSB2YXJpYWJsZSAxCgpf XycnYnJvZGUnJ19fCUJyaWRpIHZhcmlhYmxlIDIKCl9fJydicm9kaScnX18JQnJpZGkgdmFyaWFi bGUgMwoKX18nJ2Jyb2RvJydfXwlCcmlkaSB2YXJpYWJsZSA0CgpfXycnYnJvZHUnJ19fCUJyaWRp IHZhcmlhYmxlIDUKCl9fJydjZWknJ19fCURlZmluZSBicmlkaSB2YXJpYWJsZSAobm90IGEgYnJp a2EnaSBhbmQgbm90IGluIEJST0RBKQoKCgoKClRoZSBmaXJzdCBmaXZlIGFyZSBqdXN0IGZpdmUg aW5zdGFuY2VzIG9mIHRoZSBzYW1lIHdvcmQuIFRoZXkgY2FuIGJlIHVzZWQgYXMgc2hvcnRjdXRz IHRvIGJyaWRpLiBBZnRlciBzYXlpbmcgYSBicmlkaSwgc2F5aW5nICcnY2VpIGJyb2RhJycgZGVm aW5lcyB0aGF0IGJyaWRpIGFzICcnYnJvZGEnJywgYW5kICcnYnJvZGEnJyBjYW4gdGhlbiBiZSB1 c2VkIGFzICcnYnJpa2HigJlpJycgZm9yIHRoYXQgYnJpZGkgaW4gdGhlIGZvbGxvd2luZyBjb252 ZXJzYXRpb24uCgpXaGlsZSB3ZeKAmXJlIGF0IGl0LCB0aGVyZSBpcyBhbiBhbmFsb2dvdXMgc2Vy aWVzIG9mIHN1bWth4oCZaSwgd2hpY2ggcHJvYmFibHkgZG9lcyBub3QgYmVsb25nIGluIHRoaXMg bGVzc29uLCBidXQgaGVyZSB0aGV5IGFyZSBhbnl3YXk6CgpfXycna2/igJlhJydfXwlTdW10aSB2 YXJpYWJsZSAxCV9fJydmb+KAmWEnJ19fCVN1bXRpIHZhcmlhYmxlIDYKCl9fJydrb+KAmWUnJ19f CVN1bXRpIHZhcmlhYmxlIDIJX18nJ2Zv4oCZZScnX18JU3VtdGkgdmFyaWFibGUgNwoKX18nJ2tv 4oCZaScnX18JU3VtdGkgdmFyaWFibGUgMwlfXycnZm/igJlpJydfXwlTdW10aSB2YXJpYWJsZSA4 CgpfXycna2/igJlvJydfXwlTdW10aSB2YXJpYWJsZSA0CV9fJydmb+KAmW8nJ19fCVN1bXRpIHZh cmlhYmxlIDkKCl9fJydrb+KAmXUnJ19fCVN1bXRpIHZhcmlhYmxlIDUJX18nJ2Zv4oCZdScnX18J U3VtdGkgdmFyaWFibGUgMTAKCgoKYXMgd2VsbCBhcyB0aGUgJydjZWknJy1lcXVpdmFsZW50IGZv ciB0aGlzIHNlcmllczoKCl9fJydnb2knJ19fIERlZmluZSBzdW10aSB2YXJpYWJsZQoKCgoKClRo ZXNlIGFyZSB1c2VkIGxpa2UgdGhlICcnYnJpa2HigJlpJyctc2VyaWVzLiBKdXN0IHBsYWNlLCBm b3IgaW5zdGFuY2UsICcnZ29pIGtv4oCZdScnIGFmdGVyIGEgc3VtdGksIGFuZCB0aGF0IHN1bXRp IGNhbiBiZSByZWZlcnJlZCB0byBieSAnJ2tv4oCZdScnLgoKCgpTdHJhbmdlbHksIHRoZXNlIHNl cmllcyBhcmUgcmFyZWx5IHVzZWQgZm9yIHRoZWlyIGludGVuZGVkIHB1cnBvc2UuIFRoZXkgYXJl LCBob3dldmVyLCB1c2VkIGFzIGFyYml0cmFyeSBzZWxicmkgYW5kIHN1bXRpIGluIGV4YW1wbGUg dGV4dHM6CgrigJxTbywgaXMgaXQgdHJ1ZSB0aGF0IHRoZSB0cnV0aCBjb25kaXRpb24gb2YgJydr b+KAmWEga2/igJllIGJyb2RhIG5hIGt1JycgaXMgYWx3YXlzIHRoZSBzYW1lIGFzICcnbmEga3Ug a2/igJlhIGtv4oCZZSBicm9kYScnP+KAnSDigJxOb3BlLCBpdCBpc27igJl0LuKAnQoKCgoKCiEh TG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdHdlbnR5LWZpdmUgKGxvZ2ljYWwgY29ubmVjdGl2ZXMp CgrigJxJZiB5b3UgYXNrIGEgTG9qYmFuaXN0OiDigJxEbyB5b3Ugd2FudCBtaWxrIG9yIHN1Z2Fy IGluIHlvdXIgY29mZmVlP+KAnSBzaGXigJlsbCBhbnN3ZXI6IOKAnENvcnJlY3Qu4oCd4oCdCgoK CldpdHR5IGFzIHRoaXMgam9rZSBtaWdodCBiZSwgaXQgaWxsdXN0cmF0ZXMgYSB3ZWlyZCBwcm9w ZXJ0eSBvZiB0aGUgRW5nbGlzaCB3YXkgb2YgYXNraW5nIHRoaXMgcXVlc3Rpb24uIEl0IGlzIHBo cmFzZWQgYXMgYSB0cnVlL2ZhbHNlIHF1ZXN0aW9uLCBidXQgaXQgcmVhbGx5IGlzbuKAmXQuIElu IExvamJhbiwgd2UgY2Fu4oCZdCBoYXZlIHRoaXMga2luZCBvZiBpbmNvbnNpc3RlbmN5LCBhbmQg c28gd2UgbXVzdCBmaW5kIGFub3RoZXIgd2F5IG9mIGFza2luZyB0aGlzIGtpbmQgb2YgcXVlc3Rp b24uIElmIHlvdSB0aGluayBhYm91dCBpdCwgaXTigJlzIHByZXR0eSBoYXJkIHRvIGZpbmQgYSBn b29kIGFuZCBlYXN5IHdheSwgYW5kIGl0IHNlZW1zIExvamJhbiBoYXZlIHBpY2tlZCBhIGdvb2Qg d2F5IGluc3RlYWQgb2YgYW4gZWFzeSB3YXkuCgoKClRvIGV4cGxhaW4gaXQsIGxldCB1cyB0YWtl IHR3byBzZXBhcmF0ZSBicmlkaTogQnJpZGkgMTog4oCcSSBsaWtlIG1pbGsgaW4gbXkgY29mZmVl 4oCdIGFuZCBicmlkaSAyOiDigJxJIGxpa2Ugc3VnYXIgaW4gbXkgY29mZmVl4oCdLiBCb3RoIG9m IHRoZXNlIGJyaWRpIGNhbiBoYXZlIHRoZSBzdGF0ZSB0cnVlIG9yIGZhbHNlLiBUaGlzIHlpZWxk cyBmb3VyIGNvbWJpbmF0aW9ucyBvZiB3aGljaCBicmlkaSBpcy9hcmUgdHJ1ZToKCkEgKSAxIGFu ZCAyCUIgKSAxIGJ1dCBub3QgMgoKQyApIDIgYnV0IG5vdCAxCUQgKW5laXRoZXIgMSBub3IgMgoK CgpJLCBpbiBhY3R1YWxpdHksIGxpa2UgbWlsayBpbiBteSBjb2ZmZWUsIGFuZCBJ4oCZbSBpbmRp ZmZlcmVudCBhcyB0byB3aGV0aGVyIHRoZXJlIGlzIHN1Z2FyIGluIGl0IG9yIG5vdC4gVGhlcmVm b3JlLCBteSBwcmVmZXJlbmNlIGNhbiBiZSB3cml0dGVuIEEgKSB0cnVlIEIgKSB0cnVlIEMgKSBm YWxzZSBEICkgZmFsc2UsIHNpbmNlIGJvdGggQSBhbmQgQiB5aWVsZHMgdHJ1ZSBmb3IgbWUsIGJ1 dCBuZWl0aGVyIEMgbm9yIEQgZG9lcy4gQSBtb3JlIGNvbXBhY3Qgd2F5IG9mIHdyaXRpbmcgbXkg Y29mZmVlIHByZWZlcmVuY2VzIHdvdWxkIGJlIFRURkYgZm9yIHRydWUsIHRydWUsIGZhbHNlLCBm YWxzZS4gU2ltaWxhcmx5LCBhIHBlcnNvbiBsaWtpbmcgaGlzIGNvZmZlZSBibGFjayBhbmQgdW5z d2VldGVuZWQgd291bGQgaGF2ZSBhIGNvZmZlZSBwcmVmZXJlbmNlIG9mIEZGRlQuIFRoaXMgY29t Yml0YXRpb24gb2YgInRydWUiIGFuZCAiZmFsc2UiIGlzIGNhbGxlZCBhIOKAnHRydXRoIGZ1bmN0 aW9u4oCdLCBpbiB0aGlzIGNhc2UgZm9yIHRoZSB0d28gc3RhdGVtZW50cyDigJxJIGxpa2UgbWls ayBpbiBteSBjb2ZmZWXigJ0gYW5kIOKAnEkgbGlrZSBzdWdhciBpbiBteSBjb2ZmZWXigJ0uIE5v dGUgdGhhdCB0aGUgb3JkZXIgb2YgdGhlIHN0YXRlbWVudHMgbWF0dGVycy4KCkluIExvamJhbiwg d2Ugb3BlcmF0ZSB3aXRoIDQgdHJ1dGggZnVuY3Rpb25zLCB3aGljaCB3ZSBjb25zaWRlciBmdW5k YW1lbnRhbDoKCkE6IFRUVEYgKGFuZC9vcikKCk86IFRGRlQgKGlmIGFuZCBvbmx5IGlmZikKClU6 IFRURkYgKHdoZXRoZXIgb3Igbm90KQoKRTogVEZGRiAoYW5kKQoKCgpJbiB0aGlzIGV4YW1wbGUs IHRoZXkgd291bGQgdHJhbnNsYXRlIHRvIHNvbWV0aGluZyBsaWtlOiBBOuKAnUp1c3Qgbm90IGJs YWNrIGNvZmZlZeKAnSwgTzog4oCcRWl0aGVyIGJvdGggbWlsayBvciBzdWdhciwgb3Igbm90aGlu ZyBmb3IgbWUsIHBsZWFzZeKAnSwgVTog4oCcTWlsaywgYW5kIEkgZG9u4oCZdCBjYXJlIGFib3V0 IGlmIHRoZXJl4oCZcyBzdWdhciBvciBub3TigJ0gYW5kIEU6IOKAnE1pbGsgYW5kIHN1Z2FyLCBw bGVhc2Uu4oCdLgoKCgpJbiBMb2piYW4sIHlvdSBwbGFjZSB0aGUgd29yZCBmb3IgdGhlIHRydXRo IGZ1bmN0aW9uIGJldHdlZW4gdGhlIHR3byBicmlkaSwgc2VsYnJpIG9yIHN1bXRpIGluIHF1ZXN0 aW9uLiBUaGF0IHdvcmQgaXMgY2FsbGVkIGEgbG9naWNhbCBjb25uZWN0aXZlLiBUaGUgd29yZHMg Zm9yIHRydXRoIGZ1bmN0aW9ucyBiZXR3ZWVuIHN1bXRpIChhbmQganVzdCBmb3Igc3VtdGkhKSBh cmUgICcnLmEnJyAnJy5vJycgJycudScnIGFuZCAnJy5lJycuIEhvdyBuaWNlLiBGb3IgaW5zdGFu Y2U6IOKAnEkgYW0gZnJpZW5kcyB3aXRoIGFuIEFtZXJpY2FuIGFuZCBhIEdlcm1hbuKAnSB3b3Vs ZCBiZSAnJ2xvIG1lcmtvIC5lIGxvIGRvdGNvIGN1IHBlbmRvIG1pJycuCgpIb3cgd291bGQgeW91 IHNheTog4oCcRWl0aGVyIEkgZmxpcnQgd2l0aCB5b3Ugb3Igd2l0aCBwZXJzb24gYXQgYWxsP+KA nQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgY2luamlrY2EgZG8gbmEgLm8gbm8gcHJlbnUn J35+CgoKCk9uZSBtb3JlOiDigJxJIGxpa2UgY2hlZXNlIHdoZXRoZXIgb3Igbm90IEkgbGlrZSBj b2ZmZWXigJ0KCl9fJydja2FmaScnX18geDEgaXMgYSBxdWFudGl0eS9jb250YWlucyBjb2ZmZWUg ZnJvbSBzb3VyY2Uvb2YgZ3JhaW4geDIKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIG5lbGNp IGxv4oCZZSBjaXJsYSAudSBsb+KAmWUgY2thZmknJ35+CgoKCllvdSBjYW4gcGVyaGFwcyBkZWR1 Y2UgdGhhdCB0aGVyZSBhcmUgc2l4dGVlbiBwb3NzaWJsZSB0cnV0aCBmdW5jdGlvbnMsIHNvIHdl IG5lZWQgdG8gbGVhcm4gMTIgbW9yZSBpbiBvcmRlciB0byBrbm93IHRoZW0gYWxsLiA4IG1vcmUg Y2FuIGJlIG9idGFpbmVkIGJ5IG5lZ2F0aW5nIGVpdGhlciB0aGUgZmlyc3Qgc2VudGVuY2Ugb3Ig dGhlIHNlY29uZC4gVGhlIGZpcnN0IGlzIG5lZ2F0ZWQgYnkgcHJlZml4aW5nIHRoZSB0cnV0aCBm dW5jdGlvbiB3b3JkIHdpdGggJyduYScnLCB0aGUgc2Vjb25kIGlzIG5lZ2F0ZWQgYnkgcGxhY2lu ZyAnJ25haScnIGFmdGVyIHRoZSB3b3JkLiBGb3IgZXhhbXBsZSwgc2luY2UgJycuZScnIHJlcHJl c2VudHMgVEZGRiwgJycuZSBuYWknJyBtdXN0IGJlIOKAnGJvdGggMSBpcyB0cnVlIGFuZCAyIGlz IGZhbHNl4oCdLCB3aGljaCBpcyBGVEZGLiBTaW1pbGFybHksICcnbmEgLmEnJyBpcyDigJxKdXN0 IG5vdDogMSBpcyB0cnVlIGFuZCAyIGlzIGZhbHNl4oCdLCB3aGljaCBpcyBUVEZULiBEb2luZyB0 aGlzIHR5cGUgb2YgY29udmVyc2lvbiBpbiB0aGUgaGVhZCByZWFsLXRpbWUgaXMgdmVyeSwgdmVy eSBoYXJkLCBzbyBwZXJoYXBzIG9uZSBzaG91bGQgZm9jdXMgb24gbGVhcm5pbmcgaG93IGxvZ2lj YWwgY29ubmVjdGl2ZXMgd29yayBpbiBnZW5lcmFsLCBhbmQgdGhlbiBsZWFybiB0aGUgbG9naWNh bCBjb25uZWN0aXZlcyB0aGVtc2VsdmVzIGJ5IGhlYXJ0LgoKCgpGb3VyIGZ1bmN0aW9ucyBjYW5u b3QgYmUgbWFkZSB0aGlzIHdheTogVFRUVCwgVEZURiwgRlRGVCBhbmQgRkZGRi4gVGhlIGZpcnN0 IGFuZCB0aGUgbGFzdCBjYW5ub3QgYmUgbWFkZSB1c2luZyBsb2dpY2FsIGNvbm5lY3RpdmVzIGF0 IGFsbCwgYnV0IHRoZXkgYXJlIGtpbmQgb2YgdXNlbGVzcyBhbnl3YXkuIFVzaW5nIGEgaHlwb3Ro ZXRpY2FsIGxvZ2ljYWwgY29ubmVjdGl2ZSBpbiB0aGUgc2VudGVuY2Ug4oCcSSBsaWtlIG1pbGsg RkZGRiBzdWdhciBpbiBteSBjb2ZmZWXigJ0gaXMgZXF1aXZhbGVudCB0byBzYXlpbmcg4oCcSSBk b27igJl0IGxpa2UgY29mZmVl4oCdLCBqdXN0IG1vcmUgY29tcGxpY2F0ZWQuIFRoZSBsYXN0IHR3 bywgVEZURiBhbmQgRlRGVCwgY2FuIGJlIG1hZGUgYnkgcHJlZml4aW5nICcnLnUnJyB3aXRoIGdv b2Qgb2zigJkgJydzZScnLCB3aGljaCBqdXN0IHJldmVydHMgdGhlIHR3byBzdGF0ZW1lbnRzLiAn J3NlIC51JycgLCBmb3IgaW5zdGFuY2UgaXMg4oCcQiB3aGV0aGVyIG9yIG5vdCBB4oCdLCB3aGlj aCBpcyBURlRGLiBUaGUgZmluYWwgbGlzdCBvZiBhbGwgbG9naWNhbCBjb25uZWN0aXZlcyBjYW4g YmUgc2VlbiBiZWxvdy4KCgoKVFRUVDogQ2Fubm90IGJlIG1hZGUKClRUVEY6ICcnLmEnJwoKVFRG VDogJycuYSBuYWknJwoKVFRGRjogJycudScnIE9SICcnLnUgbmFpJycKClRGVFQ6ICcnbmEgLmEn JwoKVEZURjogJydzZSAudScnCgpURkZUOiAnJy5vJycgT1IgJyduYSAubyBuYWknJwoKVEZGRjog JycuZScnCgpGVFRUOiAnJ25hIC5hIG5haScnCgpGVFRGOiAnJ25hIC5vJycgT1IgJycubyBuYWkn JwoKRlRGVDogJydzZSAudSBuYWknJwoKRlRGRjogJycuZSBuYWknJwoKRkZUVDogJyduYSAudScn IE9SICcnbmEgLnUgbmFpJycKCkZGVEY6ICcnbmEgLmUnJwoKRkZGVDogJyduYSAuZSBuYWknJwoK RkZGRjogQ2Fubm90IGJlIG1hZGUKCgoKTG9naWNhbGx5LCBzYXlpbmcgYSBzZW50ZW5jZSB3aXRo IGEgbG9naWNhbCBjb25uZWN0aXZlLCBsaWtlIGZvciBpbnN0YW5jZSAnJ21pIG5lbGNpIGxv4oCZ ZSBjaXJsYSAuZSBuYWkgbG/igJllIGNrYWZpJycgaXMgZXF1aXZhbGVudCB0byBzYXlpbmcgdHdv IGJyaWRpLCB3aGljaCBhcmUgY29ubmVjdGVkIHdpdGggdGhlIHNhbWUgbG9naWNhbCBjb25uZWN0 aXZlOiAnJ21pIG5lbGNpIGxv4oCZZSBjaXJsYSAuaSB7RSBOQUl9IG1pIG5lbGNpIGxv4oCZZSBj a2FmaScnLiBUaGlzIGlzIGhvdyB0aGUgZnVuY3Rpb24gb2YgbG9naWNhbCBjb25uZWN0aXZlcyBp cyBkZWZpbmVkLiBXZSB3aWxsIGdldCB0byBob3cgdG8gYXBwbHkgbG9naWNhbCBjb25uZWN0aXZl cyB0byBicmlkaSBpbiBhIG1vbWVudC4KCgoKQnkgcHV0dGluZyBhIOKAnGrigJ0gaW4gZnJvbnQg b2YgdGhlIGNvcmUgd29yZCBvZiBhIGxvZ2ljYWwgY29ubmVjdGl2ZSwgaXQgY29ubmVjdHMgdHdv IHNlbGJyaS4gQW4gZXhhbXBsZSBpcyAnJ21pIG5pbm11IG5hIGpvIG5hbm11Jycg4oCcSSBhbSBh IG1hbiBvciBhIHdvbWFuLCBidXQgbm90IGJvdGjigJ0KCl9fJyduaW5tdScnX18geDEgaXMgYSB3 b21hbgoKX18nJ25hbm11JydfXyB4MSBpcyBhIG1hbgoKCgpUaGlzIGlzIOKAnHRhbnJ1LWludGVy bmFs4oCdLCBtZWFuaW5nIHRoYXQgaXQgbG9vc2VseSBiaW5kcyBzZWxicmkgdG9nZXRoZXIsIGV2 ZW4gd2hlbiB0aGV5IGZvcm0gYSB0YW5ydTogJydsbyBkb3RjbyBqYSBtZXJrbyBwcmVudScnIG1l YW5zIOKAnGEgR2VybWFuIG9yIEFtZXJpY2FuIG1hbuKAnSwgYW5kIGlzIHBhcnNlZCAnJ2xvJycg KCcnZG90Y28gamEgbWVya28nJykgJydwcmVudScnLiBUaGlzIGJpbmRpbmcgaXMgc2xpZ2h0bHkg c3Ryb25nZXIgdGhhdCBub3JtYWwgdGFucnUtZ3JvdXBpbmcgKHN0aWxsIHdlYWtlciB0aGFuIHNw ZWNpZmljIGdyb3VwaW5nLXdvcmRzKSwgYW5kIGFzIHN1Y2gsICcnbG8gZG90Y28gamEgbWVya28g bmlubXUgamEgbmFubXUnJyBpcyBwYXJzZWQgJydsbycnICgnJ2RvdGNvIGphIG1lcmtvJycpICgn J25pbm11IGphIG5hbm11JycpLiBUaGUgc2VsYnJpIGxvZ2ljYWwgY29ubmVjdGl2ZXMgY2FuIGFs c28gYmUgYXR0YWNoZWQgdG8gJycuaScnIGluIG9yZGVyIHRvIGNvbm5lY3QgdHdvIHNlbnRlbmNl cyB0b2dldGhlcjogJydsYSAua2ltLiBjbWVuZSBtaSAuaSBqdSBtaSBuYW5tdScnIOKAnEnigJlt IGNhbGxlZCBLaW0sIHdoZXRoZXIgb3Igbm90IEnigJltIGEgbWFu4oCdLiBUaGUgY29tYmluYXRp b24gJycuaSBqZScnIHN0YXRlcyB0aGF0IGJvdGggc2VudGVuY2VzIGFyZSB0cnVlLCBtdWNoIGxp a2Ugd2Ugd291bGQgYXNzdW1lIGhhZCBubyBsb2dpY2FsIGNvbm5lY3RpdmUgYmVlbiBwcmVzZW50 LgoKCgpVbmZhaXJseSBoYXJkIHF1ZXN0aW9uOiBVc2luZyBsb2dpY2FsIGNvbm5lY3RpdmVzLCBo b3cgd291bGQgeW91IHRyYW5zbGF0ZSDigJxJZiB5b3XigJlyZSBjYWxsZWQgQm9iLCB5b3XigJly ZSBhIG1hbi7igJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydsYSAuYmFiLiBjbWVuZSBkbyAu aSBuYSBqYSBkbyBuYW5tdScnIG9yIOKAnEVpdGhlciB5b3XigJlyZSBub3QgbmFtZWQgQm9iIGFu ZCBhIG1hbiwgb3IgeW914oCZcmUgbm90IG5hbWVkIEJvYiBhbmQgbm90IGEgbWFuLCBvciB5b3Xi gJlyZSBuYW1lZCBCb2IgYW5kIGEgbWFuLiBCdXQgeW91IGNhbuKAmXQgYmUgbmFtZWQgQm9iIGFu ZCBub3QgYmUgYSBtYW4u4oCdIFRoZSBvbmx5IGNvbWJpbmF0aW9uIG5vdCBwZXJtaXR0ZWQgaXM6 IOKAnFlvdeKAmXJlIGNhbGxlZCBCb2IsIGJ1dCBub3QgYSBtYW4u4oCdIFRoaXMgbXVzdCBtZWFu IHRoYXQsIGlmIGl04oCZcyB0cnVlIHRoYXQgeW914oCZcmUgY2FsbGVkIEJvYiwgeW91IG11c3Qg YmUgYSBtYW4hfn4KCgoKSWYgd2UgdHJ5IHRvIHRyYW5zbGF0ZSB0aGUgc2FkLCBzYWQgZXZlbnQg b2Yg4oCcSSBjcmllZCBhbmQgZ2F2ZSBhd2F5IG15IGRvZ+KAnSwgd2UgcnVuIGludG8gYSBwcm9i bGVtLgoKQXR0ZW1wdGluZyB0byBzYXkgdGhlIHNlbnRlbmNlIHdpdGggYSAnJ2plJycgYmV0d2Vl biB0aGUgc2VsYnJpIOKAnGdhdmXigJ0gYW5kIOKAnGNyaWVk4oCdLCB3b3VsZCBtZWFuIHRoZSBz YW1lIHdvcmQgZm9yIHdvcmQsIGJ1dCB1bmZvcnR1bmF0ZWx5IG1lYW4gdGhhdCDigJxJIGNyaWVk IHRoZSBkb2cgYW5kIGdhdmUgYXdheSB0aGUgZG9n4oCdLCBjZi4gdGhlIGRlZmluaXRpb24gb2Yg bG9naWNhbCBjb25uZWN0aXZlcy4gT25lIGNhbiBjcnkgdGVhcnMgb3IgZXZlbiBibG9vZCwgYnV0 IGNyeWluZyBkb2dzIGlzIGp1c3Qgc2lsbHkuCgpIb3dldmVyLCB3ZSBjYW4gZ2V0IGFyb3VuZCBi eSB1c2luZyBicmlkaS10YWlsIGxvZ2ljYWwgY29ubmVjdGl2ZXMuIFdoYXQgdGhleSBkbyBpcyB0 aGF0IGFueSBwcmV2aW91cyBzdW10Y2l0YSBhbmQgc3VtdGkgYXR0YWNoZXMgdG8gYm90aCBzZWxi cmkgYm91bmQgYnkgdGhlIGJyaWRpLXRhaWwgbG9naWNhbCBjb25uZWN0aXZlLCBidXQgYW55IGZv bGxvd2luZyBzdW10aSBvciBzdW10Y2l0YSBvbmx5IGFwcGxpZXMgdG8gdGhlIGxhc3QgbWVudGlv bmVkOiBUaGUgYnJpZGkgc3BsaXRzIHVwIGZyb20gb25lIGhlYWQgdG8gdHdvIHRhaWxzLCB0byBz cGVhayBtZXRhcGhvcmljYWxseS4KClRoZSBmb3JtIG9mIGEgYnJpZGktdGFpbCBsb2dpY2FsIGNv bm5lY3RpdmUgaXMgZ2nigJlWLCB3aXRoIHRoZSBWIGZvciB0aGUgdm93ZWwgb2YgdGhlIHRydXRo IGZ1bmN0aW9uLgoKSG93IGNvdWxkIHlvdSBjb3JyZWN0bHkgdHJhbnNsYXRlIHRoZSBFbmdsaXNo IHNlbnRlbmNlIHRvIExvamJhbj8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIHB1IGtsYWt1 IGdp4oCZZSBkdW5kYSBsZSBtaSBnZXJrdScnfn4KCgoKV2hhdCBkb2VzICcncm8gcmVtbmEgY3Ug cGFsY2kgZ2nigJlvIHp1a3RlIGxvIHBhbGNpJycgbWVhbj8KCl9fJydwYWxjaScnX18geDEgaXMg ZXZpbCBieSBzdGFuZGFyZCB4MgoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFBlb3BsZSBhcmUg ZXZpbCBpZiBhbmQgb25seSBpZiB0aGV5IGRvIGV2aWwgdGhpbmdzLuKAnX5+CgoKCkZ1cnRoZXJt b3JlLCB0aGVyZSBpcyBhIGZvcmV0aG91Z2h0IGFsbC1idXQgdGFucnUgaW50ZXJuYWwgZ3JvdXAg b2YgY29ubmVjdGVycyBtYWRlIGJ5IHByZWZpeGluZyDigJxn4oCdIGluIGZyb250IG9mIHRoZSB0 cnV0aCBmdW5jdGlvbiB2b3dlbC4g4oCcRm9yZXRob3VnaHTigJ0gaW4gdGhpcyBjb250ZXh0IG1l YW5zIHRoYXQgdGhleSBuZWVkIHRvIGdvIGluIGZyb250IG9mIHRoZSB0aGluZ3MgdGhleSBjb25u ZWN0LCBhbmQgdGh1cyB5b3UgbmVlZCB0byB0aGluayBhYm91dCB0aGUgZ3JhbW1hdGljYWwgc3Ry dWN0dXJlIG9mIHRoZSBzZW50ZW5jZSBiZWZvcmUgc2F5aW5nIGl0LiBBbGwtYnV0IHRhbnJ1IGlu dGVybmFsIG1lYW5zIHRoYXQgaXQgc2VydmVzIGJvdGggYXMgYSBjb25uZWN0aXZlIGJldHdlZW4g c3VtdGksIGJyaWRpLCBzZWxicmkgYW5kIGJyaWRpLXRhaWxzLCBidXQgbm90IGJldHdlZW4gdHdv IHNlbGJyaSBvZiBvbmUgdGFucnUuIExldCBtZSBzaG93IHlvdSBob3cgaXQgd29ya3MsIHJld3Jp dGluZyB0aGUgTG9qYmFuIHNlbnRlbmNlIGFib3ZlOgoKJydnbyBsbyByZW1uYSBjdSBwYWxjaSBn aSBsbyByZW1uYSBjdSB6dWt0ZSBsbyBwYWxjaScnCgpUaGUgZmlyc3QgbG9naWNhbCBjb25uZWN0 aXZlIGluIHRoZXNlIGtpbmRzIG9mIGNvbnN0cnVjdHMgYXJlIHdoYXQgY2FycmllcyB0aGUgdm93 ZWwgd2hpY2ggc2lnbmFsIHdoYXQgdHJ1dGggZnVuY3Rpb24gaXMgYmVpbmcgdXNlZC4gVGhlIHNl Y29uZCBsb2dpY2FsIGNvbm5lY3RpdmUgaXMgYWx3YXlzICcnZ2knJywgYW5kIGxpa2UgJycuaScn LCBpdCBoYXMgbm8gdHJ1dGggZnVuY3Rpb24uIEl0IHNpbXBseSBzZXJ2ZXMgdG8gc2VwYXJhdGUg dGhlIHR3byB0ZXJtcyBiZWluZyBjb25uZWN0ZWQuIElmIHlvdSB3YW50IHRvIG5lZ2F0ZSB0aGUg Zmlyc3Qgb3Igc2Vjb25kIHNlbnRlbmNlLCBhICcnbmFpJycgaXMgc3VmZml4ZWQgdG8gZWl0aGVy IHRoZSBmaXJzdCAoZm9yIHRoZSBmaXJzdCBzZW50ZW5jZSkgb3Igc2Vjb25kIChmb3IgdGhlIHNl Y29uZCBzZW50ZW5jZSkgbG9naWNhbCBjb25uZWN0aXZlLgoKUHJvdmlkZWQgdGhhdCB0aGUgY29u c3RydWN0cyBhcmUgdGVybWluYXRlZCBwcm9wZXJseSwgaXQgaGFzIHJlbWFya2FibGUgZmxleGli aWxpdHksIGFzIHRoZSBmb2xsb3dpbmcgZmV3IGV4YW1wbGVzIGRlbW9uc3RyYXRlOgoKJydtaSBn byBrbGFtYSBnaSBjYWR6dSB2YXUgbGUgbWkgemRhbmknJyDigJxJIGdvLCBpZiBhbmQgb25seSBp ZiB3YWxrLCB0byBteSBob21l4oCdIG9yIOKAnEkgY2FuIG9ubHkgZ28gdG8gbXkgaG9tZSBieSB3 YWxraW5nLuKAnSBOb3RpY2UgdGhhdCB0aGUgJyd2YXUnJyBpcyBuZWVkZWQgdG8gbWFrZSBsZSBt aSB6ZGFuaSBhcHBseSB0byBib3RoICcnY2FkenUnJyBhbmQgJydrbGFtYScnLgoKJydzZSBndSBk byBnaSBuYWkgbWkgYmFqcmEgbGUgZG8gY2t1bGUnJyDigJxXaGV0aGVyIG9yIG5vdCB5b3UsIHRo ZW4gbm90IEksIHJ1biB0byB5b3VyIHNjaG9vbOKAnSBvciDigJxJIHdvbuKAmXQgcnVuIHRvIHlv dXIgc2Nob29sIG5vIG1hdHRlciBpZiB5b3UgZG8gb3Igbm904oCdCgoKClRoZSB0YW5ydS1pbnRl cm5hbCBlcXVpdmFsZW50IG9mIGdWIGlzIGd14oCZVi4gVGhlc2UgYXJlIGV4YWN0bHkgdGhlIHNh bWUsIGV4Y2VwdCB0aGF0IHRoZXkgYXJlIGV4Y2x1c2l2ZWx5IHRhbnJ1LWludGVybmFsLCBhbmQg dGhhdCB0aGV5IGJpbmQgYSBzZWxicmkgdG8gdGhlICcnZ2knJyB0aWdodGVyIHRoYW4gbm9ybWFs IHRhbnJ1LWdyb3VwaW5nLCBidXQgd2Vha2VyIHRoYW4gZXhwbGljaXQgYmluZGluZy1zdW10aToK CicnbGEgeGFuei5rcnQuIGd14oCZZSBtZXJrbyBnaSBkb3RjbyBuYW5tdScnIGlzIGVxdWl2YWxl bnQgdG8KCicnbGEgeGFuei5rcnQuIG1lcmtvIGplIGRvdGNvIG5hbm11JycKCgoKQW5kIHNvIHlv deKAmXZlIHJlYWQgcGFnZSB1cCBhbmQgcGFnZSBkb3duIGp1c3QgdG8gZ2V0IHRoZSBuZWNlc3Nh cnkga25vd2xlZGdlIGluIG9yZGVyIHRvIGJlIGFibGUgdG8gbGVhcm4gaG93IHRvIGFzayDigJxX b3VsZCB5b3UgbGlrZSBtaWxrIG9yIHN1Z2FyIGluIHlvdXIgY29mZmVlP+KAnSBpbiBMb2piYW4u IFNpbXBseSBwbGFjZSBhIHF1ZXN0aW9uIGxvZ2ljYWwgY29ubmVjdGl2ZSBpbnN0ZWFkIG9mIGFu b3RoZXIgbG9naWNhbCBjb25uZWN0aXZlLCBhbmQgbGlrZSAnJ21hJycsIGl0IGFza3MgdGhlIGxp c3RlbmVyIHRvIGZpbGwgaW4gYSBjb3JyZWN0IHJlc3BvbnNlLiBVbmZvcnR1bmF0ZWx5LCB0aGVz ZSBxdWVzdGlvbi1sb2dpY2FsIGNvbm5lY3RpdmVzIGRvbuKAmXQgYWx3YXlzIG1hdGNoIHRoZSBt b3JwaG9sb2dpY2FsIHBhdHRlcm4gb2YgdGhlIGxvZ2ljYWwgY29ubmVjdGl2ZXMgdGhleSBhc2sg Zm9yOgoKX18nJ2ppJydfXyBMb2dpY2FsIGNvbm5lY3RpdmUgcXVlc3Rpb246IEFza3MgZm9yIGEg c3VtdGkgbG9naWNhbCBjb25uZWN0aXZlIChBKQoKX18nJ2pl4oCZaScnX18gTG9naWNhbCBjb25u ZWN0aXZlIHF1ZXN0aW9uOiBBc2tzIGZvciBhIHRhbnJ1LWludGVybmFsIHNlbGJyaSBsb2dpY2Fs IGNvbm5lY3RpdmUgKEpBKQoKX18nJ2dp4oCZaScnX18gTG9naWNhbCBjb25uZWN0aXZlIHF1ZXN0 aW9uOiBBc2tzIGZvciBhIGJyaWRpLXRhaWwgbG9naWNhbCBjb25uZWN0aXZlIChHSWhBKQoKX18n J2dl4oCZaScnX18gTG9naWNhbCBjb25uZWN0aXZlIHF1ZXN0aW9uOiBBc2tzIGZvciBhIGZvcmV0 aG91Z2h0IGFsbC1idXQgdGFucnUgaW50ZXJuYWwgbG9naWNhbCBjb25uZWN0aXZlIChHQSkKCl9f JydndeKAmWknJ19fIExvZ2ljYWwgY29ubmVjdGl2ZSBxdWVzdGlvbjogQXNrcyBmb3IgYSBmb3Jl dGhvdWdodCBvbmx5IHRhbnJ1IGludGVybmFsIGxvZ2ljYWwgY29ubmVjdGl2ZSAoR1VoQSkKCgoK U28uLi4gaG93IHdvdWxkIHlvdSBhc2sgaWYgdGhlIHBlcnNvbnMgd2FudHMgbWlsayBvciBzdWdh ciBpbiBoZXIgY29mZmVlPwoKX18nJ2xhZHJ1JydfXyB4MSBpcy9jb250YWlucyBtaWxrIGZyb20g c291cmNlIHgyCgpfXycnc2FrdGEnJ19fIHgxIGlzL2NvbnRhaW5zIHN1Z2FyIGZyb20gc291cmNl IHgyIG9mIGNvbXBvc2l0aW9uIHgzCgoKClBvc3NpYmxlIGFuc3dlcjogfn5ncmV5LGdyZXk6Jydz YWt0YSBqZeKAmWkgbGFkcnUgbGUgZG8gY2thZmknJyB0aG91Z2ggSSBndWVzcyBzb21ldGhpbmcg bW9yZSBFbmdsaXNoIGFuZCBsZXNzIGVsZWdhbnQgY291bGQgYWxzbyBzdWZmaWNlIGxpa2UgJydk byBkamljYSBsZW51IGxvIHNha3RhIGppIGxvIGxhZHJ1IGN1IG5lbnJpIGxlIGRvIGNrYWZpJyd+ fgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHR3ZW50eS1zaXggKG5vbi1sb2dpY2FsIGNv bm5lY3RpdmVzKQoKVGhlIHdvcmQgImxvZ2ljYWwiIGluICJsb2dpY2FsIGNvbm5lY3RpdmUiIHJl ZmVycyB0byB0aGUgYXNzb2NpYXRpb24gYSBsb2dpY2FsIGNvbm5lY3RpdmUgaGFzIHdpdGggYSB0 cnV0aCBmdW5jdGlvbi4gTm90IGFsbCB1c2VmdWwgY29ubmVjdGl2ZXMgY2FuIGJlIGRlZmluZWQg dGhyb3VnaCBhIHRydXRoIGZ1bmN0aW9uLCBob3dldmVyLCBhbmQgc28gdGhlcmUgYXJlIG90aGVy IGNvbm5lY3RpdmVzIGJlc2lkZSB0aGUgbG9naWNhbCBvbmVzLgoKVGhlIG1lYW5pbmcgb2YgYSBs b2dpY2FsIGNvbm5lY3RpdmUgaXMgZGVmaW5lZCB0aGUgc2FtZSBhcyB0d28gZGlmZmVyZW50IGJy aWRpIGNvbm5lY3RlZCB3aXRoIHRoYXQgbG9naWNhbCBjb25uZWN0aXZlLiBGb3IgaW5zdGFuY2Us ICcnbWkgbml0Y3UgZG8gLmEgbGEgZGphbicnIGlzIGRlZmluZWQgdG8gYmUgZXF1aXZhbGVudCB0 byAnJ21pIG5pdGN1IGRvIC5pIGphIG1pIG5pdGN1IGxhIGRqYW4nJy4gVGhpcyBkZWZpbml0aW9u IGlzIHVzZWZ1bCB0byBiZWFyIGluIG1pbmQsIGJlY2F1c2UgaXQgaW1wbGllcyB0aGF0IHNvbWV0 aW1lcywgc3VtdGkgY2Fubm90IGJlIGNvbm5lY3RlZCB3aXRoIGxvZ2ljYWwgY29ubmVjdGl2ZXMg d2l0aG91dCBjaGFuaW5nIHRoZSBtZWFuaW5nLiBDb25zaWRlciB0aGUgc2VudGVuY2U6ICJKYWNr IGFuZCBKb2Ugd3JvdGUgdGhpcyBwbGF5LiIgT25lIGF0dGVtcHQgYXQgYSB0cmFuc2xhdGlvbiB3 b3VsZCBiZTogJyd0aSBkcmFjaSBmaSBsYSBkamFrIGUgbGEgZGpvdXMnJwoKX18nJ2RyYWNpJydf XyB4MSBpcyBhIGRyYW1hL3BsYXkgYWJvdXQgeDIgYnkgd3JpdGVyL2RyYW1hdGlzdCB4MyBmb3Ig YXVkaWVuY2UgeDQgd2l0aCBhY3RvcnMgeDUKCgoKVGhlIHByb2JsZW0gd2l0aCB0aGlzIHRyYW5z bGF0aW9uIGlzIHRoYXQgaXQgbWVhbiAnJ3RpIGRyYWNpIGxhIGRqYWsgLmlqZSB0aSBkcmFjaSBs YSBkam91cycnLCB3aGljaCBpcyBub3QgcmVhbGx5IHRydWUuIE5laXRoZXIgSmFjayBub3IgSm9l IHdyb3RlIGl0LCB0aGV5IGRpZCBzbyB0b2dldGhlci4gV2hhdCB3ZSB3YW50IGhlcmUgaXMgb2Yg Y291cnNlIGEgbWFzcywgYW5kIHNvbWUgd2F5IHRvIGpvaW4gSmFjayBhbmQgSm9lIGluIG9uZSBt YXNzLiBUaGlzIGhhcyBsaXR0bGUgdG8gZG8gd2l0aCBhIHRydXRoIGZ1bmN0aW9uIHNvIHdlIG11 c3QgdXNlIGEgbm9uLWxvZ2ljYWwgY29ubmVjdGl2ZSwgd2hpY2ggYXJlIG9mIHNlbG1hJ28gSk9J LiBXZSdsbCByZXR1cm4gdG8gdGhpcyBKYWNrIGFuZCBKb2UtcHJvYmxlbSBpbiBhIGxpdHRsZSAt IGZpcnN0OiBGb3VyIG9mIHRoZSBrbm93biBKT0k6CgoKCnx8VGhlIExvamJhbiBjb25uZWN0aXZl OnwnJ2NlJyd8JydjZSdvJyd8Jydqb2knJ3wnJ2pvJ3UnJwoKSm9pbnMgc3VtdGkgYW5kIGZvcm1z IGE6fHNldHxzZXF1ZW5jZXxtYXNzfGdyb3VwIG9mIGluZGl2aWR1YWxzfHwKClRoZSBmdW5jdGlv biBvZiB0aGVzZSB3b3JkcyBpcyBzaW1wbGU6ICcnbG8naSByZW1uYSBqbyd1IGxvJ2kgZ2Vya3Un JyBjb25zaWRlcnMgYm90aCB0aGUgc2V0IG9mIGh1bWFucyBhbmQgdGhlIHNldCBvZiBkb2dzIGRp c3RyaWJ1dGl2ZWx5IChhcyBpbmRpdmlkdWFscykuIFJlbWVtYmVyIGZyb20gbGVzc29uIHR3ZW50 eS10d28gKHF1YW50aWZpZXJzKSB0aGF0ICJkaXN0cmlidXRpdml0eSIgbWVhbnMgdGhhdCB3aGF0 IGlzIHRydWUgZm9yIHRoZSBncm91cCBpcyBhbHNvIHRydWUgZm9yIGVhY2ggb2YgdGhlIGluZGl2 aWR1YWxzIGFsb25lLiBTaW1pbGFybHkgJydsb2kgcm8gZ2lzbXUgY2UnbyBsb2kgcm8gbHVqdm8g Y2UnbyBsb2kgcm8gZnUnaXZsYScnIGlzIGEgc2VxdWVuY2UgY29uc2lzdGluZyBvZiB0aGUgbWFz cyBvZiBhbGwgZ2lzbXUsIGZvbGxvd2VkIGJ5IHRoZSBtYXNzIG9mIGFsbCBsdWp2bywgZm9sbG93 ZWQgYnkgdGhlIG1hc3Mgb2YgYWxsIGZ1J2l2bGEuCgpBcyB3aXRoIGFsbCBKT0kgd2hpY2ggaGFz IGFuIGluaGVyZW50IG9yZGVyLCAnJ3NlJycgbWF5IGJlIHB1dCBiZWZvcmUgJydjZSdvJycgdG8g aW52ZXJzZSB0aGUgb3JkZXI6ICJBIGNlJ28gQiIgaXMgdGhlIHNhbWUgYXMgIkIgc2UgY2UnbyBB Ii4KCgoKSG93IGNhbiB5b3UgY29ycmVjdGx5IHRyYW5zbGF0ZSAiSmFjayBhbmQgSm9lIHdyb3Rl IHRoaXMgcGxheSI/CgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAnJ3RpIGRyYWNpIGZpIGxhIGRqYWsg am9pIGxhIGRqb3VzJyd+fiAKCgoKVGhlIGNtYXZvIG9mIEpPSSBhcmUgdmVyeSBmbGV4aWJsZTog VGhleSBjYW4gYWN0IGJvdGggYXMgc3VtdGkgY29ubmVjdGl2ZXMgYW5kIHRhbnJ1LWludGVybmFs IGNvbm5lY3RpdmVzLCBzbyB0aGV5IGNhbiBiZSB1c2VkIHRvIGNvbm5lY3Qgc3VtdGksIHNlbGJy aSBhbmQgYnJpZGkuIFRoaXMgZmxleGliaWxpdHkgbWVhbnMgdGhhdCBvbmUgbXVzdCBiZSBjYXJl ZnVsIHRvIHVzZSBmYSdvcm1hJ28gY29ycmVjdGx5IHdoZW4gdXNpbmcgYSBKT0kuIAoKV2hhdCBp cyB3cm9uZyB3aXRoIHRoZSBicmlkaSAnJ2xvIGRvdGNvIGpvJ3UgbWkgY3Uga2xhbWEgbGEgZG90 Y28gZ3VnZGUnJz8KCkFuc3dlcjogfn5ncmV5LGdyZXk6ICcnam8ndScnIGlzIHB1dCBhZnRlciBh IHNlbGJyaSwgc28gaXQgZXhwZWN0cyBhIHNlbGJyaSBhZnRlciBpdCB0byBjb25uZWN0IHRvLCBi dXQgbm9uZSBpcyBmb3VuZC4gSGFkICBhICcna3UnJyBiZWVuIHByZXNlbnQgYmVmb3JlIHRoZSBj b25uZWN0aXZlLCBpdCB3b3VsZCBoYXZlIGJlZW4gZ3JhbW1hdGljYWx+fgoKCgpJZiBzZXZlcmFs IEpPSSBpcyB1c2VkLCAnJ2JvJycgYW5kL29yICcna2UnJyBtYXkgYmUgdXNlZCB0byBvdmVycmlk ZSB0aGUgdXN1YWwgbGVmdC1ncm91cGluZzogJydtaSBqb2kgZG8gY2UnbyBsYSBkamFrIGpvaSBi byBsYSBkam91cyBjdSBwdSdvIGNpJ2Vya2VpIGRhbWJhIGxlaSB4dW5yZScnICJNZSBhbmQgeW91 LCBhbmQgdGhlbiBKYWNrIGFuZCBKb2UgYXJlIGFib3V0IHRoZSBwbGF5IGFnYWluc3QgdGhlIHJl ZCB0ZWFtIi4gQ29udHJhc3Qgd2l0aCAnJ21pIGpvaSBkbyBjZSdvIGxhIGRqYWsgam9pIGxhIGRq b3VzIGN1IHB1J28gY2knZXJrZWkgZGFtYmEgbGVpIHh1bnJlJycgLSAiRmlyc3QgbWUgYW5kIHlv dSwgdGhlbiBKYWNrIHdpbGwgdG9nZXRoZXIgd2l0aCBKb2UgcGxheSBhZ2FpbnN0IHRoZSByZWQg dGVhbSIuIAoKQ29ubmVjdGluZyBicmlkaSB3aXRoIEpPSSBjYW4gbWFrZSBzb21lIGludGVyZXN0 aW5nIGltcGxpY2F0aW9ucyBvZiB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gdGhlIGJyaWRpOiAn J2xhIGRqYWsgbW9yc2kgcmknYSBsbyBudSByaSBkenVzb2kgLmkgam9pIGxlIGplbWphJ2EgcG8g cmkgY3UgYmVibmEnJyAtICJKYWNrIGlzIGRlYWQgYmVjYXVzZSBoZSB3YXMgYSBpbmZhbnRyeSBz b2xkaWVyIGFuZCBoaXMgZ2VuZXJhbCB3YXMgYW4gaWRpb3QiLCBpbXBseWluZyB0aGF0IHRoZXNl IHR3byBicmlkaSBtYXNzZWQgdG9nZXRoZXIgd2FzIHRoZSBwaHlzaWNhbCBjYXVzZSBvZiBoaXMg ZGVhdGg6IEhhZCBoZSBvbmx5IGJlZW4gaW4gYW4gYXJtb3JlZCB2ZWhpY2xlIG9yIHdpdGggYSBj b21wZXRlbnQgY29tbWFuZGVyLCBoZSBtaWdodCBoYWQgc3Vydml2ZWQuCgpfXycnZHp1c29pJydf XyB4MSBpcyBhbiBpbmZhbnRyeSBzb2xkaWVyIG9mIGFybXkgeDIKCl9fJydqZW1qYSdhJydfXyB4 MSBpcyBhIGdlbmVyYWwgb2YgYXJteSB4MiBpbiBmdW5jdGlvbiB4MwoKX18nJ2JlYm5hJydfXyB4 MSBpcyBmb29saXNoL2lkaW90aWMgaW4gcHJvcGVydHkgeDIKCgoKTm9uLWxvZ2ljYWwgY29ubmVj dGl2ZXMgbWF5IGFsc28gYmUgbmVnYXRlZCB3aXRoICcnbmFpJycsIGluZGljYXRpbmcgdGhhdCBz b21lIG90aGVyIGNvbm5lY3RpdmUgaXMgYXBwcm9wcmlhdGU6ICcnbG8gZGphY3UgY2UnbyBuYWkg LmUnbyBsbyBsYWRydSBjdSBjYXZ5ZmxlIGZpIGxlIG1pIHRjYXRpJycgLSAiUGxlYXNlIGRvbid0 IHBvdXIgZmlyc3Qgd2F0ZXIgdGhlbiBtaWxrIGluIG15IHRlYSIuIFRoaXMsIG9mIGNvdXJzZSwg c2F5cyBub3RoaW5nIGFib3V0IHdoaWNoIGNvbm5lY3RpdmUgaXMgYXBwcm9wcmlhdGUgLSBvbmUg bWlnaHQgZ3Vlc3MgJydzZSBjZSdvJycgKGZpcnN0IG1pbGssIHRoZW4gd2F0ZXIpLCBvbmx5IHRv IGZpbmQgb3V0IHRoYXQgJycuZSBuYWknJyAob25seSB3YXRlciwgbm8gbWlsayBhdCBhbGwpIHdh cyB0aGUgY29ycmVjdCBvbmUuCgpfXycnY2F2eWZsZScnX18geDEsIGNvbnNpc3Rpbmcgb2YgeDIs IGZsb3dzIGludG8geDMgZnJvbSB4NAoKSnVzdCBsaWtlIGEgbG9naWNhbCBjb25uZWN0aXZlIGlz IGEgcGxhdXNpYmxlIG5lZ2F0aW9uIG9mIGEgbm9uLWxvZ2ljYWwgY29ubmVjdGl2ZSwgYW5zd2Vy cyB0byBxdWVzdGlvbnMgb2YgdGhlIHR5cGUgJydqaScnIG9yICcnamUnaScnIGNhbiBiZSBib3Ro IGxvZ2ljYWwgYW5kIG5vbi1sb2dpY2FsOiBBOiAnJ2xhZHJ1IGplJ2kgc2FrdGEgbGUgZG8gY2th ZmknJyBCOiAnJ3NlIGNlJ28nJyAoIk1pbGsgb3Igc3VnYXIgaW4geW91IGNvZmZlZT8iICJGaXJz dCB0aGUgbGF0dGVyLCB0aGVuIHRoZSBmb3JtZXIiKS4gSW4gdGhpcyBjYXNlICcnY2UnJyB3b3Vs ZCBtYWtlIG5vIHNlbnNlIGF0IGFsbCwgc2luY2Ugc2V0cyBjYW4ndCBiZSBjb250YWluZWQgaW4g Y29mZmVlLCBhbmQgJydqb2knJyAoYm90aCBtaXhlZCB0b2dldGhlcikgd291bGQgbWVhbiB0aGUg c2FtZSBhcyAnJ2pvJ3UnJyAoYm90aCBvZiB0aGVtKSwgdW5sZXNzIHRoZSByZXNwb25kYW50IHBy ZWZlcnJlZCB1bm1peGVkIHN1Z2FyIGluIGhpcyBjb2ZmZWUuCgoKClRoZSBmaWZ0aCBKT0kgSSBw cmVzZW50IGhlcmUgaXMgYSBiaXQgb2YgYW4gb2RkYmFsbDoKCl9fJydmYSd1JydfXyBOb24tbG9n aWNhbCBjb25uZWN0aXZlOiBVbm1peGVkIG9yZGVyZWQgZGlzdHJpYnV0aW9uIChBIGFuZCBCLCBy ZXNwZWN0aXZlbHkpCgpXaGVuIG9ubHkgb25lICcnZmEndScnIGlzIHBsYWNlZCB3aXRoaW4gYSBi cmlkaSAob3Igc2V2ZXJhbCBicmlkaSBjb25uZWN0ZWQgdG9nZXRoZXIgd2l0aCBjb25uZWN0b3Jz KSwgJydmYSd1JycgbWF5IGJlIGFzc3VtZWQgdG8gYmUgaWRlbnRpY2FsIHRvICcnam8ndScnLiBX aGVuIHNldmVyYWwgJydmYSd1JycgaXMgdXNlZCB3aXRoaW4gb25lIGJyaWRpLCBob3dldmVyLCB0 aGUgY29uc3RydWN0cyBiZWZvcmUgJydmYSd1JycgZWFjaCBhcHBseSB0byBlYWNoIG90aGVyLCBh bmQgdGhlIGNvbnN0cnVjdHMgYWZ0ZXIgJydmYSd1JycgZWFjaCBhcHBseSB0byBlYWNoIG90aGVy LiBMZXQncyBoYXZlIGFuIGV4YW1wbGU6CgonJ21pIGZhJ3UgZG8gcnVza28gZmEndSBrYWRubycn IC0gIllvdSBhbmQgSSBhcmUgUnVzc2lhbiBhbmQgQ2FuYWRpYW4iLCBpbXBseWluZyB0aGF0ICcn bWknJyBnb2VzIHdpdGggJydydXNrbycnIGFuZCAnJ2RvJycgZ29lcyB3aXRoICcna2Fkbm8nJywg YW5kIGltcGx5aW5nIG5vdGhpbmcgYWJvdXQgYW55IG90aGVyIGNvbWJpbmF0aW9uLiBPZiBjb3Vy c2UsIGluIHRoaXMgZXhhbXBsZSwgaXQgd291bGQgYmUgbXVjaCBlYXNpZXIgdG8gc2F5ICcnbWkg cnVza28gLmkgZG8ga2Fkbm8nJy4KCgoKVGhlc2UgbGFzdCB0aHJlZSBKT0kgY29ubmVjdHMgdHdv IHNldHMgdG8gbWFrZSBuZXcgc2V0czoKCl9fJydqbydlJydfXwlBIHVuaW9uIEIKCl9fJydrdSdh JydfXwlBIGludGVyc2VjdGlvbiBCCgpfXycncGkndSAnJ19fCUNyb3NzIHByb2R1Y3Qgb2YgQSBh bmQgQgoKCgpUaGVzZSBhcmUgcHJvYmFibHkgbm90IHZlcnkgdXNlZnVsIGZvciB0aGUgYXZlcmFn ZSBMb2piYW5pc3QsIGJ1dCBJIG1pZ2h0IGFzIHdlbGwgaW5jbHVkZSB0aGVtIGhlcmUuCgpUaGUg Zmlyc3Qgb25lLCAnJ2pvJ2UnJywgbWFrZXMgYSBuZXcgc2V0IGZyb20gdHdvIHNldHMuIFRoaXMg bmV3IHNldCBjb250YWlucyBvbmx5IHRob3NlIG1lbWJlcnMgd2hpY2ggYXJlIGluIGJvdGggc2V0 cy4KCkEgc2V0IG1hZGUgd2l0aCAnJ2t1J2EnJyBjb250YWlucyBhbGwgdGhlIG1lbWJlcnMgb2Yg c2V0IEEgYW5kIHRob3NlIG9mIHNldCBCLiBJZiBhbnl0aGluZyBpcyBhIG1lbWJlciBvZiBib3Ro IHNldHMsIHRoZXkgYXJlIG5vdCBjb3VudGVkIHR3aWNlLgoKJydwaSd1JycgaXMgYSBsaXR0bGUg bW9yZSBjb21wbGljYXRlZC4gQSBzZXQgIkEgJydwaSd1JycgQiIgY29udGFpbnMgYWxsIHRoZSBw b3NzaWJsZSBjb21iaW5hdGlvbnMgb2YgImEgJydjZSdvJycgYiIsIHdoZXJlIGEgaXMgYSBtZW1i ZXIgb2YgQSBhbmQgYiBpcyBhIG1lbWJlciBvZiBCLiBJdCBpcyB0aHVzIGEgc2V0IG9mIHNlcXVl bmNlcyBvZiBtZW1iZXJzLiBJZiwgZm9yIGluc3RhbmNlLCBzZXQgQSBjb250YWluZWQgdGhlIG1l bWJlcnMgcCBhbmQgcSwgYW5kIHNldCBCIGNvbnRhaW5lZCBtZW1iZXJzIGYgYW5kIGcsIHRoZW4g QSAnJ3BpJ3UnJyBCIHdvdWxkIGJlIGEgc2V0IGNvbnNpc3Rpbmcgb2YgdGhlIGZvdXIgbWVtYmVy cyBwIGNlJ28gZiwgcCBjZSdvIGcsIHEgY2UnbyBmIGFuZCBxIGNlJ28gZy4KCgoKISFMb2piYW4g TGVzc29ucyAtIExlc3NvbiB0d2VudHktc2V2ZW4gKGxvamJhbiBsb2dpYzogZGEsIGJ14oCZYSwg em/igJl1IGFuZCB0ZXJtcykKClRoZSBzdGF0ZWQgdG9waWMgb2YgdGhpcyBsZXNzb24gbmVlZHMg c29tZSBqdXN0aWZpY2F0aW9uOiBUaGlzIGxlc3NvbiBpcyBub3QgcmVhbGx5IGFib3V0IGhvdyBk byB0byBsb2dpYyBpbiBMb2piYW4sIHNpbmNlIGZpcnN0bHksIGxvZ2ljIGlzIHByZXN1bWFibHkg dGhlIHNhbWUgaW4gYWxsIGxhbmd1YWdlcywgYW5kIHNlY29uZGx5LCBhY3R1YWxseSB0ZWFjaGlu ZyBsb2dpYyB3b3VsZCBiZSB0b3RhbGx5IGltcHJhY3RpY2FsIGluIG9uZSBzaW5nbGUgbGVzc29u LiBSYXRoZXIsIHRoaXMgbGVzc29uIGlzIGV4cGxhaW5zIHNvbWUgY29uc3RydWN0cyB3aGljaCBy ZXNlbWJsZXMgdGhvc2Ugd2hpY2ggbG9naWNpYW5zIHVzZS4gSXQgdHVybnMgb3V0IHRoZXkgaGF2 ZSBhIHJlbWFya2FibGUgd2lkZSByYW5nZSBvZiB1c2VzIGluIExvamJhbi4KCgoKR2V0dGluZyBp bnZvbHZlZCBpbiB0aGUgbW9yZSBvYnNjdXJlIGRldGFpbHMgb2YgdGhlc2UgbG9naWNhbCBjb25z dHJ1Y3RzIGNhbiBiZSBtaW5kLXdhcnBpbmdseSBkaWZmaWN1bHQsIGFuZCB0aGVyZSB3aWxsIGFs d2F5cyBiZSBzb21lIGRpc2FncmVlbWVudCBpbiB0aGUgY29ybmVycyBvZiB0aGlzIHBhcnQgb2Yg dGhlIGxhbmd1YWdlLgoKCgpMZWFybmluZyB0aGVzZSBsb2dpY2FsIGNvbnN0cnVjdHMgcmVxdWly ZXMgb25lIHRvIGxlYXJuIGEgYml0IGFib3V0IGNvbnN0cnVjdHMgd2hpY2ggYXJlIG5vdCBsb2dp Y2FsIGluIG5hdHVyZS4gTGV0J3MgYmVnaW4gd2l0aCAnJ3pvJ3UnJwoKCgpfXycnem8ndScnX18g U2VwYXJhdGVzIHByZW5leCBmcm9tIGJyaWRpCgoKCkJlZm9yZSBhbnkgJyd6byd1JycgaXMgdGhl IHByZW5leCwgYWZ0ZXIgJyd6byd1JycgaXMgdGhlIGJyaWRpLiBJbmZvcm1hbGx5LCBhIHByZW5l eCBpcyBhIHBsYWNlIGluIGZyb250IG9mIHRoZSBicmlkaSwgd2hlcmUgeW91IHB1dCBhIGJ1bmNo IG9mIHRlcm1zLiBBIHRlcm0gaXMgYW4gRW5nbGlzaCB3b3JkIGdpdmVuIHRvIHNvbWUga2luZHMg b2YgTG9qYmFuIGNvbnN0cnVjdHM6IFN1bXRpLCBzdW10Y2l0YSB3aXRoIG9yIHdpdGhvdXQgc3Vt dGkgYXR0YWNoZWQsICcnbmEga3UnJyBhbmQgYW4gYWJvbWluYXRpb24gY2FsbGVkIF9fdGVybXNl dHNfXywgd2hpY2ggSSByZWZ1c2UgdG8gaW5jbHVkZSBpbiB0aGVzZSBsZXNzb25zLiBUaGUgcHJl bmV4IGlzIG5vdCBwYXJ0IG9mIHRoZSBicmlkaSwgYnV0IGFueSB0ZXJtcyBwdXQgaW5zaWRlIGl0 IGdpdmVzIHVzIGluZm9ybWF0aW9uIGFib3V0IHRoZSBicmlkaS4gT25lIGNhbiwgZm9yIGV4YW1w bGUsIHVzZSBpdCB0byBzdGF0ZSBhIHRvcGljIGFzIHNob3cgdGh1czoKCgoKJydsbyBwYW1wZSdv IGplIG5haSBzcGVuaSB6byd1IG1pIG5hIHp1bnJlJycgLSAiQ29uY2VybmluZyBsb3ZlcnMgd2hv IGFyZSBub3Qgc3BvdXNlczogSSBkbyBub3QgYXBwcm92ZSIuIFRoZSBiZW5lZml0cyBvZiBraW5k IG9mIHNlbnRlbmNlIHN0cnVjdHVyaW5nIGlzIHF1ZXN0aW9uYWJsZSwgYnV0IGl0J3MgYWx3YXlz IGdvb2QgdG8gaGF2ZSBzb21lIHZhcmlhdGlvbiB0byBwbGF5IHdpdGguIEZ1cnRoZXJtb3JlLCBj b25zdHJ1Y3Rpbmcgc2VudGVuY2VzIHRoaXMgd2F5IHJlc2VtYmxlcyBNYW5kYXJpbiAoYW5kIG90 aGVyIGxhbmd1YWdlcykgY2xvc2VseSwgbWVhbmluZyBpdCBtaWdodCBzZWVtIG1vcmUgaW50dWl0 aXZlIGZvciBzcGVha2VycyBvZiB0aGF0IGxhbmd1YWdlLgoKX18nJ3BhbXBlJ28nJ19fIHgxIGlz IGEgbG92ZXIgb2YgeDIKCl9fJyd6dW5yZScnX18geDEgYXBwcm92ZXMgb2YgeDIgKHBsYW4sIGV2 ZW50IG9yIGFjdGlvbikKCgoKT2YgY291cnNlLCB0aGUgcmVsYXRpb24gYmV0d2VlbiB0aGUgdGVy bXMgaW4gdGhlIHByZW5leCBhbmQgdGhlIGJyaWRpIGlzIHZhZ3VlLiBPbmUgY2FuIGltYWdpbmUg YW55IHN1bXRpIGluIHRoZSBwcmVuZXggYmVhcmluZyB0aGUgc2FtZSByZWxldmFuY2UgdG8gdGhl IGJyaWRpIGFzIGlmIHRoZXkgd2VyZSBwdXQgaW4gdGhlIGJyaWRpIGFmdGVyIGEgJydkbydlJycg c3VtdGNpdGEsIGFuZCBhbnkgc3VtdGNpdGEgaW4gdGhlIHByZW5leCBkb2luZyBwcmV0dHkgbXVj aCB0aGUgc2FtZSBhcyBpZiB0aGV5IHdlcmUgaW4gdGhlIGJyaWRpLiBJdCBpcyBxdWl0ZSBwb3Nz aWJsZSB0byBwdXQgdGhpbmdzIGluIHByZW5leGVzIHdoaWNoIG1lYW5pbmdzIGFyZSBub3QgY2xl YXI6CgonJ2xlIHRpIGdlcmt1IHpvJ3UgbWkgdG8nZSBuZWxjaSBsbyBjaWRqcnBpdHNhJycgLSAi Q29uY2VybmluZyB0aGlzIGRvZyBoZXJlOiBJIGRpc2xpa2UgcGl6emEuIiBJdCBsZWF2ZXMgeW91 IGd1ZXNzaW5nIGZvciB0aGUgcmVhc29uIHRvIG1lbnRpb24gdGhlIGRvZy4KCl9fJydjaWRqcnBp dHNhJydfXyB4MSBpcyBwaXp6YSB3aXRoIHRvcHBpbmcvaW5ncmVkaWVudHMgeDIKCgoKSWYgdGhl IHByZW5leCBjb250YWlucyAnJ25hIGt1JycsIGl0J3MgcHJldHR5IHN0cmFpZ2h0IGZvcndhcmQ6 IFRoZSBlbnRpcmUgYnJpZGkgaXMgbmVnYXRlZCwganVzdCBhcyBpZiB0aGUgYnJpZGkgaXRzZWxm IGJlZ2FuIHdpdGggJyduYSBrdScnLgoKCgpTbyBob3cgbG9uZyBkb2VzIGEgcHJlbmV4IGxhc3Q/ IEl0IGxhc3RzIHVudGlsIHRoZSBmb2xsb3dpbmcgYnJpZGkgaXMgdGVybWluYXRlZC4gSWYgdGhh dCBpcyBub3QgZGVzaXJlZCwgdGhlcmUgYXJlIHR3byB3YXlzIHRvIG1ha2UgaXQgYXBwbHkgdG8g c2V2ZXJhbCBicmlkaTogT25lIGlzIHRvIHB1dCBzb21lIGtpbmQgb2YgY29ubmVjdGl2ZSBhZnRl ciB0aGUgJycuaScnIHNlcGFyYXRpbmcgdGhlIGJyaWRpLCBhbmQgYW5vdGhlciBtZXRob2QgaXMg dG8gc2ltcGx5IGluY2x1ZGUgYWxsIG9mIHRoZSB0ZXh0IGluICcndHUnZScnIC4uLiAnJ3R1J3Un Jy1icmFja2V0cy4gVGhlc2UgYnJhY2tldHMgd29yayBwcmV0dHkgbXVjaCBieSBnbHVpbmcgYWxs IHRoZSBicmlkaSB0b2dldGhlciBhbmQgbWFrZXMgYWxsIHNvcnRzIG9mIGNvbnN0cnVjdCBhcHBs eSB0byBzZXZlcmFsIGJyaWRpLgoKCgpOb3cgdGhhdCB3ZSBjb3ZlcmVkICcnem8ndScnLCB0aGUg Zmlyc3QgImxvZ2ljYWwiIHdvcmRzIHdlIGNhbiB1c2UgaXQgd2l0aCBhcmUgdGhlc2U6CgpfXycn ZGEnJ19fIGxvZ2ljYWxseSBxdWFudGlmaWVkIGV4aXN0ZW50aWFsIHByby1zdW10aSAxCgpfXycn ZGUnJ19fIGxvZ2ljYWxseSBxdWFudGlmaWVkIGV4aXN0ZW50aWFsIHByby1zdW10aSAyCgpfXycn ZGknJ19fIGxvZ2ljYWxseSBxdWFudGlmaWVkIGV4aXN0ZW50aWFsIHByby1zdW10aSAzCgoKClRo ZXNlIHdvcmRzIGFyZSBhbGwgdGhlIHNhbWUsIGxpa2UgdGhlIG1hdGhlbWF0aWNhbCB2YXJpYWJs ZXMgeCwgeSBhbmQgei4gT25jZSB5b3UgaGF2ZSBkZWZpbmVkIHRoZW0sIGhvd2V2ZXIsIHRoZXkg a2VlcCByZWZlcmluZyB0byB0aGUgc2FtZSB0aGluZy4gVGhlc2Ugd29yZHMgYXJlIGRlZmluZWQg aW4gdGhlIHByZW5leCBvZiBicmlkaSwgbWVhbmluZyB0aGF0IHdoZW4gdGhlIHByZW5leCBzdG9w IGFwcGx5aW5nLCB0aGUgZGVmaW5pdGlvbiBvZiB0aGVzZSB0aHJlZSB3b3JkcyBhcmUgY2FuY2Vs bGVkLgoKCgpUaGUgd29yZHMnJ2RhJycsICcnZGUnJyBhbmQgJydkaScnIHJlZmVyIHRvIGxpdGVy YWxseSBhbnkgc3VtdGksIHdoaWNoIG1ha2VzIHRoZW0ga2luZCBvZiB1c2VsZXNzIHVubGVzcyBy ZXN0cmljdGVkIGluIHNvbWUgd2F5LiBUaGUgZmlyc3QgYW5kIGZvcmVtb3N0IHdheSB0byByZXN0 cmljdCB0aGVtIGlzIHRvIHF1YW50aWZ5IHRoZW06IFRoZXkgYXJlIG5vdCBjYWxsZWQgImxvZ2lj YWxseSBxdWFudGlmaWVkIGV4aXN0ZW50aWFsIHByby1zdW10aSIgZm9yIG5vdGhpbmcuIFRoZXkg YXJlIHByby1zdW10aSwgdGhleSBhcmUgbW9zdCB1c2VmdWwgd2hlbiBxdWFudGlmaWVkLCBhbmQg dGhleSBhcmUgZXhpc3RlbnRpYWwuIFdoYXQgZG9lcyBpdCBtZWFuLCBiZWluZyAiZXhpc3RlbnRp YWwiPyBJdCBtZWFucyB0aGF0IGlmIHRoZXkgYXJlIHVzZWQsIHRoYXQgaW1wbGllcyB0aGF0IHRo ZXkgYWN0dWFsbHkgcmVmZXIgdG8gc29tZXRoaW5nIHdoaWNoIGV4aXN0cy4gQW4gZXhhbXBsZToK CgoKVGhlIHN0YXRlbWVudCAnJ3BhIGRhIHpvJ3UgZGEgZ2Vya3UnJyBoYXMgJydwYSBkYScnIGlu IHRoZSBwcmVuZXgsIHdoaWNoIG1lYW5zICJDb25jZXJuaW5nIG9uZSBleGlzdGluZyB0aGluZzoi LCBhbmQgdGhlbiAnJ2RhJycsIG5vdyBkZWZpbmVkLCBpcyB1c2VkIGluIHRoZSBicmlkaSAnJ2Rh IGdlcmt1JycuIFRyYW5zbGF0ZWQgdG8gRW5nbGlzaCwgdGhpcyBtZWFuczogIlRoZXJlIGV4aXN0 cyBvbmUgdGhpbmcgd2hpY2ggaXMgYSBkb2ciLiBUaGlzIGlzIG9idmlvdXNseSBmYWxzZSwgdGhl cmUgYXJlIGFyb3VuZCA0MDAsMDAwLDAwMCBvZiB0aGVtIGluIHRoZSB3b3JsZC4gSWYgJydkYScn IGFuZCBpdHMgc2lzdGVycyBhcmUgbm90IHF1YW50aWZpZWQsIHRoZSBudW1iZXIgJydzdSdvJycg aXMgdGhlIGRlZmF1bHQuIFRodXMgJydkYSB6byd1IGRhIGdlcmt1JycgbWVhbnMgIlRoZXJlIGV4 aXN0IGF0IGxlYXN0IG9uZSB0aGluZyB3aGljaCBpcyBhIGRvZyIsIHdoaWNoIGlzIHRydWUuIE5v dGljZSBoZXJlLCB0aGF0IGFueSBxdWFudGlmaWNhdGlvbiBtdXN0IGJlIG1vcmUgb3IgbGVzcyBl eGFjdCBpbiBvcmRlciB0byBiZSB0cnVlOiBPZiBjb3Vyc2Ugb25lIGRvZyBleGlzdHMsIGJ1dCBp biBMb2piYW4sICcncGEgZGEgem8ndSBkYSBnZXJrdScnIG1lYW5zIG5vdCBvbmx5IHRoYXQgZG9l cyBvbmUgZG9nIGV4aXN0cywgYnV0IGFsc28gdGhhdCBubyBtb3JlIHRoYW4gb25lIGRvZXMuIElm IHRoZSBxdWFudGlmaWVyICcncm8nJyBpcyB1c2VkIGJlZm9yZSAnJ2RhJycsIGl0IGluc3RlYWQg cmVmZXJzIHRvICJhbGwgd2hpY2ggZXhpc3RzIi4gIElmIHRoZSBzYW1lIHZhcmlhYmxlIGlzIHF1 YW50aWZpZWQgc2V2ZXJhbCB0aW1lcywgdGhlIGZpcnN0IHF1YW50aWZpY2F0aW9uIGlzIHRoZSBv bmUgd2hpY2ggc3RpY2tzOiBBbnkgbGF0ZXIgcXVhbnRpZmllZCBpbnN0YW5jZSBvZiB0aGF0IHZh cmlhYmxlIGNhbiByZWZlciBvbmx5IHRvIHRoaW5ncyB3aGljaCBpcyBhbHNvIGJlaW5nIHJlZmVy cmVkIHRvIGJ5IHRoZSBmaXJzdCB2YXJpYWJsZSwgYW5kIGFueSBsYXRlciBub24tcXVhbnRpZmll ZCBpbnN0YW5jZSBvZiB0aGF0IHZhcmlhYmxlIHdpbGwgZ2FpbiB0aGUgZmlyc3QgcXVhbnRpZmll ci4gVG8gdXNlIGFuIGV4YW1wbGU6ICcnY2kgZGEgem8ndSByZSBkYSBiYXJkYSAuaWplIGRhIHBl bHh1JycgbWVhbnMgIlRoZXJlIGV4aXN0cyB0aHJlZSB0aGluZ3Mgc3VjaCB0aGF0IHR3byBvZiB0 aGVtIGFyZSBiaWcgYW5kIGFsbCB0aHJlZSBhcmUgeWVsbG93Ii4gJydyZSBkYScnLCBiZWluZyBh ZnRlciAnJ2NpIGRhJycsIGNhbiBvbmx5IHJlZmVyIHRvIHR3byBvZiB0aGUgYWxyZWFkeSBzdGF0 ZWQgdGhyZWUgdGhpbmdzLiBXaGVuICcnZGEnJyBhcHBlYXJzIHdpdGhvdXQgYSBxdWFudGlmaWVy LCAnJ2NpJycgaXMgYXNzdW1lZC4KCgoKSWYgdGhlcmUgYXJlIHNldmVyYWwgdGVybXMgaW4gdGhl IHByZW5leCwgdGhlIHRlcm1zIGFyZSBhbHdheXMgcmVhZCBsZWZ0IHRvIHJpZ2h0LiBTb21ldGlt ZXMsIHRoaXMgbWF0dGVycy4gJydybyBkYSBkZSB6byd1IGRhIHByYW1pIGRlJycgbWVhbnMgIkNv bmNlcm5pbmcgYWxsIHRoZSB0aGluZ3MgWCB0aGF0IGV4aXN0cywgY29uY2VybmluZyBhdCBsZWFz dCBvbmUgdGhpbmcgWTogWCBsb3ZlcyBZIi4gVGhpcyBpcyB0aGUgc2FtZSBhcyAiQWxsIHRoaW5n cyBsb3ZlIGF0IGxlYXN0IG9uZSB0aGluZy4iLCB3aGVyZSB0aGUgInRoaW5nKHMpIiBjYW4gYmUg YW55dGhpbmcsIGluY2x1ZGluZyB0aGUgdGhpbmcgaXRzZWxmLiBUaGUgdGhpbmcgd2hpY2ggaXMg cmVmZXJyZWQgdG8gYnkgJydkZScnIGlzIGRlcGVuZGVudCBvbiB0aGUgJydkYScnLCBzaW5jZSBp dCBjYW1lIGJlZm9yZSBpdCBpbiB0aGUgcHJlbmV4OiBUaGVyZWZvcmUgZWFjaCB0aGluZyBtaWdo dCBsb3ZlIHNvbWV0aGluZyBkaWZmZXJlbnQuIElmIHdlIHN3aXRjaGVkIHRoZSBwbGFjZXMgb2Yg JydkYScnIGFuZCAnJ2RlJycgaW4gdGhlIHByZW5leCwgYSBkaWZmZXJlbnQgcmVzdWx0IHdvdWxk IGFyaXNlOiAnJ2RlIHJvIGRhIHpvJ3UgZGEgcHJhbWkgZGUnJyA9ICJDb25jZXJuaW5nIGF0IGxl YXN0IG9uZSB0aGluZyBZLCBjb25jZXJuaW5nIGFsbCBYIHdoaWNoIGV4aXN0czogWCBsb3ZlcyBZ IiwgbWVhbmluZyAiVGhlcmUgZXhpc3RzIGF0IGxlYXN0IG9uZSB0aGluZyB3aGljaCBldmVyeWJv ZHkgbG92ZXMiLgoKCgpPZiBjb3Vyc2UsIGJvdGggY2xhaW1zIGFyZSBjb21wbGV0ZWx5IGZhbHNl LiBUaGVyZSBhcmUgbWFueSB0aGluZ3Mgd2hpY2ggbG92ZXMgbm90aGluZyAtIHJvY2tzLCBvciBh YnN0cmFjdCBjb25jZXB0cywgZm9yIGV4YW1wbGUuIExpa2V3aXNlLCBpdCdzIGltcG9zc2libGUg dG8gY29uY2lldmUgb2Ygc29tZXRoaW5nIHdoaWNoIGV2ZXJ5dGhpbmcgbG92ZXMsIHNpbmNlICJl dmVyeXRoaW5nIiBhbHNvIGVuY29tcGFzc2VzIG5vbi1zZW50aWVudCB0aGluZ3MuIFdlIG5lZWQg YmV0dGVyIHdheXMgdG8gcmVzdHJpY3Qgd2hhdCB0aGVzZSB2YXJpYWJsZXMgY2FuIHBvaW50IHRv LiBPbmUgZ29vZCB3YXkgb2YgZG9pbmcgaXQgaXMgdG8gbWFrZSB0aGVtIHRoZSBzdWJqZWN0IG9m IGEgcmVsYXRpdmUgY2xhdXNlOgoKJydybyBkaSBwb2kgcmVtbmEgem8ndSBiaXJrYSBkaScnID0g IkNvbmNlcm5pbmcgYWxsIFggdGhhdCBleGlzdHMsIHdoaWNoIGlzIGh1bWFuOiBYIGhhcyBvbmUg b3IgbW9yZSBhcm1zLiIgb3IgIkFsbCBodW1hbnMgaGF2ZSBhcm1zIiwgd2hpY2ggaXMgdHJ1ZSwg YXQgbGVhc3Qgd2hlbiBzcGVha2luZyBpbiBhIHBvdGVudGlhbCwgdGltZWxlc3Mgc2Vuc2UuCgpf XycnYmlya2EnJ19fIHgxIGlzIGFuIGFybSBvZiB4MgoKV2hlbiByZXN0cmljdGluZyBjbGFpbXMg dXNpbmcgdGhpcyBraW5kIG9mIGxvZ2ljYWwgImV4aXN0ZW5zaWFsIiB2YXJpYWJsZSwgaXQncyB2 ZXJ5IGltcG9ydGFudCB0byByZW1lbWJlciB0aGF0IHVubGVzcyB0aGVyZSBpcyBhbiBleHBsaWNp dCAnJ25vJycgYXMgYSBxdWFudGlmaWVyLCB0aGVzZSBraW5kIG9mIHN0YXRlbWVudHMgYWx3YXlz IGltcGx5IHRoYXQgdGhlcmUgX19hY3R1YWxseSBleGlzdHNfXyBzb21ldGhpbmcgd2hpY2ggY2Fu IGJlIHJlZmVycmVkIHRvIGJ5ICcnZGEnJy4gVGhlcmVmb3JlLCBhbnkga2luZCBvZiBub24tbmVn YXRlZCBzdGF0ZW1lbnQgd2hlcmUgbmEgcG9pbnRzIHRvIHNvbWV0aGluZyB3aGljaCBkb2VzIG5v dCBleGlzdCBpcyBmYWxzZSwgYXMgaW4gdGhpcyBleGFtcGxlOiAnJ3JvIGRhIHBvaSBwYXZ5c2Vs amlybmEgem8ndSBkYSBzZSBqaXJuYScnIC0gIkFsbCB1bmljb3JucyBoYXZlIGhvcm5zIi4gVGhp cyBpcyB3cm9uZyBiZWNhdXNlLCBzaW5jZSAnJ2RhJycgaXMgZXhpc3RlbnNpYWwsIGl0IGFsc28g bWVhbnMgdGhhdCB0aGVyZSBtdXN0IGV4aXN0IGF0IGxlYXN0IG9uZSB1bmljb3JuLgoKSW50ZXJl c3RpbmdseSwgd2hlbiB1c2luZyBhIHJlbGF0aXZlIGNsYXVzZSwgdGhlIHZhcmlhYmxlIGlzIGJl aW5nIHJlc3RyaWN0ZWQgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHlvdSB1c2UgJydwb2knJyBvciAn J25vaScnLiBUaGlzIGlzIGJlY2F1c2UgJydyZSBkYSBub2kgZ2Vya3UnJyBzdGlsbCBvbmx5IGNh biByZWZlciB0byB0d28gdGhpbmdzIHdoaWNoIGFyZSBodW1hbnMuIFRoZXJlZm9yZSwgJydub2kn JyBtYWtlcyBsaXR0bGUgc2Vuc2Ugd2l0aCAnJ2RhJycvJydkZScnLycnZGknJy4gQW55IGNsYXVz ZSBpcyBhbHdheXMgcmVzdHJpY3RpdmUsIHVubGVzcyBpdCdzIHJlYWxseSBzdHVwaWQgYW5kIG9i dmlvdXMgbGlrZSAnJ2RlIG5vaSBnZXJrdSBjdSBnZXJrdScnLgoKCgpJbiBmYWN0LCB5b3UgZG9u J3QgcmVhbGx5IG5lZWQgdGhlIHByZW5leCB0byBkZWZpbmUgdGhlIHZhcmlhYmxlcy4gWW91IGNh biB1c2UgdGhlbSBkaXJlY3RseSBhcyBzdW10aSBpbiB0aGUgYnJpZGksIGFuZCBxdWFudGlmeSB0 aGVtIHRoZXJlLiBZb3Ugb25seSBuZWVkIHRvIHF1YW50aWZ5IHRoZW0gdGhlIGZpcnN0IHRpbWUg dGhleSBhcHBlYXIsIHRob3VnaC4gVGh1cywgdGhlIHNlbnRlbmNlIGFib3V0IGh1bWFucyBoYXZp bmcgYXJtcyBjb3VsZCBiZSB0dXJuZWQgaW50byAnJ2JpcmthIHJvIGRpIHBvaSByZW1uYScnLiBU aGUgb3JkZXIgb2YgdGhlIHZhcmlhYmxlcyBzdGlsbCBtYXR0ZXJzIHRob3VnaCwgYW5kIHNvIHRo ZSBwcmVuZXggY2FuIGJlIHVzZWQgdG8gYXZvaWQgaGF2aW5nIHRvIG1lc3MgdXAgeW91ciBicmlk aSB0byBwbGFjZSB0aGUgdmFyaWFibGVzIGluIHRoZSBjb3JyZWN0IG9yZGVyLiBXaGVuIGhhdmlu ZyBtb3JlIHZhcmlhYmxlcywgYSBwcmVuZXggaXMgdXN1YWxseSBhIGdvb2QgaWRlYS4KCgoKVGhl IHNlY29uZCBraW5kIG9mIGxvZ2ljYWwgd29yZHMgYXJlIGJhc2ljYWxseSB0aGUgc2FtZSBhcyB0 aGUgdGhyZWUgd2UgaGF2ZSBhbHJlYWR5IGJlZW4gdGhvdWdoLCBidXQgdGhlc2UgYXJlIHByby1i cmlkaSBpbnN0ZWFkIG9mIHByby1zdW10aToKCgoKX18nJ2J1J2EnJ19fIGxvZ2ljYWxseSBxdWFu dGlmaWVkIGV4aXN0ZW50aWFsIHByby1icmlkaSAxCgpfXycnYnUnZScnX18gbG9naWNhbGx5IHF1 YW50aWZpZWQgZXhpc3RlbnRpYWwgcHJvLWJyaWRpIDIKCl9fJydidSdpJydfXyBsb2dpY2FsbHkg cXVhbnRpZmllZCBleGlzdGVudGlhbCBwcm8tYnJpZGkgMwoKCgpUaGVzZSB3b3JrIHByZXR0eSBt dWNoIHRoZSBzYW1lIHdheSBhcyB0aGUgb3RoZXIgdGhyZWUsIGJ1dCB0aGVyZSBhcmUgYSBmZXcg cG9pbnRzIHdoaWNoIGFyZSBpbXBvcnRhbnQgdG8gbWVudGlvbjoKClNpbmNlIG9ubHkgdGVybXMg Y2FuIGdvIGluIHRoZSBwcmVuZXgsIHRoZXNlIHByby1icmlkaSBuZWVkIHRvIGhhdmUgYSBxdWFu dGlmaWVyIGluIG9yZGVyIHRvIG1ha2UgdGhlbSBpbnRvIHN1bXRpLiBXaGVuIHF1YW50aWZpZWQg aW4gdGhlIHByZW5leCwgaG93ZXZlciwgdGhlIHF1YW50aWZpZXIgd29ya3MgdmVyeSBkaWZmZXJl bnQgZnJvbSBxdWFudGlmaWVycyB3aXRoIG5vcm1hbCBzZWxicmk6IEluc3RlYWQgb2YgcXVhbnRp ZnlpbmcgdGhlIGFtb3VudCBvZiB0aGluZ3Mgd2hpY2ggZml0cyB0aGUgeDEgb2YgdGhlIHNlbGJy aSB2YXJpYWJsZSwgaXQgZGlyZWN0bHkgcXVhbnRpZmllcyB0aGUgYW1vdW50IG9mIHNlbGJyaSB3 aGljaCBhcHBsaWVzLiBBZ2FpbiwgdGhlIGRlZmF1bHQgcXVhbnRpZmllciBpcyAnJ3NvJ3UnJy4g VGh1cywgaW5zdGVhZCBvZiAnJ3JlIGJ1J2Egem8ndScnIG1lYW5pbmcgIkNvbmNlcm5pbmcgdHdv IHRoaW5ncyB3aGljaCBidSdhJ3M6IiwgaXQgbWVhbnMgIkNvbmNlcm5pbmcgdHdvIHJlbGF0aW9u c2hpcHMgWDoiCgoKCkl0J3MgcHJvYmFibHkgZ29vZCB0byBzZWUgYW4gZXhhbXBsZSBwZiAnJ2J1 J2EnJyBwdXQgdG8gcHJhY3RpY2U6CgonJ3JvIGRhIGJ1J2EgbGEgLmJhYi4nJyA9ICcnQ29uc2lk ZXJpbmcgYWxsIFggd2hpY2ggZXhpc3RzOiBYIGlzIGluIGF0IGxlYXN0IG9uZSByZWxhdGlvbnNo aXAgd2l0aCBCb2IiID0gIkV2ZXJ5dGhpbmcgaXMgcmVsYXRlZCB0byBCb2IgaW4gYXQgbGVhc3Qg b25lIHdheS4iLiBOb3RpY2UgYWdhaW4gdGhlIG9yZGVyIG1hdHRlcnM6ICcnYnUnYSBybyBkYSB6 byd1IGRhIGJ1J2EgQm9iJycgbWVhbnM6ICJUaGVyZSBpcyBhdCBsZWFzdCBvbmUgcmVsYXRpb25z aGlwIHN1Y2ggdGhhdCBldmVyeXRoaW5nIHRoYXQgZXhpc3RzIGlzIGluIHRoYXQgcmVsYXRpb25z aGlwIHdpdGggQm9iIi4gVGhlIGZpcnN0IHN0YXRlbWVudCBpcyB0cnVlIC0gZm9yIGFueSBvbmUg dGhpbmcsIG9uZSBjYW4gaW5kZWVkIG1ha2UgdXAgc29tZSBzZWxicmkgd2hpY2ggcmVsYXRlcyBh bnkgZ3V5IGNhbGxlZCBCb2IgYW5kIGl0LiBCdXQgSSdtIG5vdCBzdXJlIHRoZSBsYXR0ZXIgaXMg dHJ1ZSAtIHRoYXQgb25lIGNhbiBtYWtlIGEgc2VsYnJpIHdoaWNoIGNhbiByZWxhdGUgYW55dGhp bmcsIG5vIG1hdHRlciB3aGF0IGl0IGlzLCBhbmQgQm9iLgoKCgpMZXQncyBoYXZlIGFuIGV4YW1w bGUgd2hpY2ggcXVhbnRpZmllcyBzZWxicmk6CgonJ2NpJ2kgYnUnZSB6byd1IG1pIGJ1J2UgZG8n JyAtICJDb25jZXJuaW5nIGFuIGluZmluaXRlIGFtb3VudCBvZiByZWxhdGlvbnNoaXBzOiBJIGFt IGluIGFsbCB0aG9zZSByZWxhdGlvbnNoaXAgd2l0aCB5b3UuIiBvciAiVGhlcmUgZXhpc3RzIGFu IGluZmluaXRlIGFtb3VudCBvZiByZWxhdGlvbnNoaXBzIGJldHdlZW4gdXMiCgpZb3UgY2FuJ3Qg cXVhbnRpZnkgdGhlIHNlbGJyaSB2YXJpYWJsZXMgaW4gdGhlIGJyaWRpIGl0c2VsZiwgdGhvdWdo LiBUaGVuIGl0IHdpbGwgYWN0IGFzIGEgc3VtdGk6ICcnbWkgY2knaSBidSdhIGRvJycgaXMgbm90 IGEgYnJpZGkuCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdHdlbnR5LWVpZ2h0IChub3Rl cyBvbiBhYnN0cmFjdG9ycykKClRoZSBub3Rpb24gb2YgYWJzdHJhY3Rpb25zIGFuZCBhYnN0cmFj dG9ycyBpcyBxdWl0ZSBmdW5kYW1lbnRhbCB0byBMb2piYW4sIGFuZCB5b3UgaGF2ZSBhbHJlYWR5 IGxlYXJuZWQgdGhlIG1lY2hhbmlzbSB0d2VudHktdHdvIGxlc3NvbnMgYWdvLiBUaGVyZSBhcmUs IGhvd2V2ZXIsIG1hbnkgYWJzdHJhY3RvcnMgd2l0aCBzbGlnaHRseSBkaWZmZXJlbnQgc2VtYW50 aWMgbWVhbmluZyB0byBleHBsb3JlLCBhcyB3ZWxsIGFzIGEgc2luZ2xlIGltcG9ydGFudCBtZWNo YW5pc20gd2hpY2ggaGFzIG5vdCBiZWVuIGNvdmVyZWQgeWV0LiBJbiB0aGlzIGxlc3NvbiwgYWxs IHR3ZWx2ZSBhYnN0cmFjdG9ycyB3aWxsIGJlIGVsYWJvcmF0ZWQgb24uIFRoZSBmYSdvcm1hJ28g Zm9yIGFsbCBvZiB0aGVzZSBpcyAnJ2tlaScnLgoKCgpUaGUgZmlyc3QgYW5kIG1vc3QgYmFzaWMg YWJzdHJhY3RvciBpcyAnJ3N14oCZdScnLCB3aGljaCB5b3UgYWxyZWFkeSBrbm93LgoKWW91IG1p Z2h0IHJlbWVtYmVyIGZyb20gbGVzc29uIHNpeCB0aGF0ICcnc3UndScnIGhhZCBhIHBsYWNlIHN0 cnVjdHVyZSB3aXRoIHR3byBzdW10aSBwbGFjZXMuIFRoZSBzZWNvbmQgc3VtdGkgcGxhY2Ugb2Yg JydzdSd1JycgbWFrZXMgdGhlIHdvcmQgdmVyc2F0aWxlLCBhcyB0aGUgeDIgY2FuIGJlIHVzZWQg dG8gc3BlY2lmeSBob3cgdGhlIGFic3RyYWN0aW9uIHNob3VsZCBiZSBjb25zaWRlcmVkLgoKVGhl IEVuZ2xpc2ggcGhyYXNlIOKAnHRoYXQgSSBsb3ZlIHlvdeKAnSBpcyBkZWZpbml0ZWx5IGEgc3Vt dGksIHNpbmNlIGl04oCZcyBtZWFudCB0byBmdW5jdGlvbiBhcyBhIHN1YmplY3Qgb3Igb2JqZWN0 IGluIGEgc2VudGVuY2UuIEl04oCZcyBhbHNvIGNsZWFybHkgbWFkZSBmcm9tIGFuIGFic3RyYWN0 aW9uLiBJdCBjYW4gdGhlcmVmb3JlIGJlIHRyYW5zbGF0ZWQgKCcnbG8nJy8nJ2xlJycpICcnc3Xi gJl1IG1pIGRvIHByYW1pJycuIFdpdGhvdXQgdGhlIGNvbnRleHQgb2YgdGhlIEVuZ2xpc2ggc2Vu dGVuY2UsIHRob3VnaCwgaXTigJlzIGhhcmQgdG8gZ3Vlc3Mgd2hhdCBraW5kIG9mIGFic3RyYWN0 aW9uIHdhcyBtZWFudC4g4oCcSSB3aWxsIGRpZSBoYXBweSBieSB0aGUgdGltZSB0aGF0IEkgbG92 ZSB5b3Uu4oCdIHRyZWF0cyB0aGUgYWJzdHJhY3Rpb24gbGlrZSBhbiBldmVudCBoYXBwZW5pbmcg aW4gdGltZS4g4oCcVGhlIHRydXRoIGlzIHRoYXQgSSBsb3ZlIHlvdS7igJ0gdHJlYXRzIHRoZSBh YnN0cmFjdGlvbiBsaWtlIGEgYnJpZGksIHdoaWNoIGNhbiBiZSBjb25zaWRlcmVkIHRydWUgb3Ig ZmFsc2UuIEluIHRoZSBzZW50ZW5jZSDigJxUaGUgbW9zdCBiZWF1dGlmdWwgdGhpbmcgaW4gdGhl IHdvcmxkIGlzIHRoZSBpZGVhIHRoYXQgSSBsb3ZlIHlvdeKAnSwgdGhlIGFic3RyYWN0aW9uIGlz IGNvbnNpZGVyZWQgYW4gYWJzdHJhY3QgY29uY2VwdC4gVXNpbmcgdGhlIHNlY29uZCBzdW10aSBw bGFjZSBvZiAnJ3N14oCZdScnLCB0aGVzZSBjYW4gYmUgZXhwbGljaXRseSBkaXN0aW5ndWlzaGVk IGJldHdlZW46CgonJ2xlIHN14oCZdSBtaSBkbyBwcmFtaSBrZWkgYmUgbG8gZmFzbnUnJyBpcyBh biBldmVudC4KCicnbGUgc3XigJl1IG1pIGRvIHByYW1pIGtlaSBiZSBsbyBicmlkaScnIGlzIGEg YnJpZGkuCgonJ2xlIHN14oCZdSBtaSBkbyBwcmFtaSBrZWkgYmUgbG8gc2lkYm8nJyBpcyBhIGNv bmNlcHQuCgoKClVzaW5nICcnc3XigJl1JycgdGhpcyB3YXksIHRoZSBzZW1hbnRpYywgdGhvdWdo IHBlcmhhcHMgbm90IGdyYW1tYXRpY2FsLCByYW5nZSBvZiBhbGwgYWJzdHJhY3RvcnMgY2FuIGJl IGNvdmVyZWQuIE1vcmUgdXN1YWxseSwgdGhvdWdoLCBvdGhlciBhYnN0cmFjdG9ycyBhcmUgdXNl ZC4gJydudScnLCB3aGljaCB5b3UgYWxzbyBrbm93LCB0cmVhdHMgdGhlIGFic3RyYWN0aW9uIGFz IGFuIGV2ZW50LgoKX18nJ251JydfXyB4MSBpcyBhbiBldmVudCBvZiBCUklESQoKCgpUaGVyZSBh cmUgbWFueSB3YXlzIHRvIHZpZXcgYW4gZXZlbnQsIGFuZCBzbyB0aGVyZSBhcmUgZm91ciBvdGhl ciBhYnN0cmFjdG9ycyB3aG9zZSBzZW1hbnRpYyBhcmUgYWxsIGNvdmVyZWQgYnkgbnUsIGJ1dCBt b3JlIHNwZWNpZmljLgoKX18nJ2114oCZZScnX18geDEgaXMgYSBwb2ludC1saWtlIGV2ZW50IG9m IEJSSURJIGhhcHBlbmluZwoKX18nJ3ph4oCZaScnX18geDEgaXMgYSBzdGF0ZSBvZiBCUklESSBi ZWluZyB0cnVlCgpfXycncHXigJl1JydfXyB4MSBpcyBhIHByb2Nlc3Mgb2YgQlJJREkgdW5mb2xk aW5nIHRocm91Z2ggc3RhZ2VzIHgyCgpfXycnenXigJlvJydfXyB4MSBpcyBhbiBhY3Rpdml0eSBv ZiBCUklESSBjb25zaXN0aW5nIG9mIHRoZSByZXBlYXRlZCBldmVudCBvZiB4MgoKCgpUaGUgdW5k ZXJzdGFuZGluZyBvZiB0aGVzZSBhYnN0cmFjdG9ycyBpcyB0aWVkIHRvIHRoZSB1bmRlcnN0YW5k aW5nIG9mIGV2ZW50IGNvbnRvdXJzLiAnJ2114oCZZScnIGlzIGFraW4gdG8gdGhlIGV2ZW50IGNv bnRvdXIgJydjb+KAmWknJyBpbiB0aGUgc2Vuc2UgdGhhdCBib3RoIHRyZWF0IHRoZSBicmlkaSBh cyBwb2ludC1saWtlIGluIHRpbWUgYW5kIHNwYWNlOgoKJydsZSBtdeKAmWUgbWkga2Fucm8gYmlu eG8gY3Ugc2UgZGppY2EgbWknJyDigJMg4oCdTWUgYmVjb21pbmcgaGVhbHRoeSBpcyBkZXNpcmVk IGJ5IG1l4oCdIGhhcyB0aGUgc2VtYW50aWMgbWVhbmluZyB0aGF0IHRoZSBwcm9jZXNzIG9mIGJl Y29taW5nIGhlYWx0aHkgaXMgbm90IGJlaW5nIGNvbnNpZGVyZWQuIElmIGl0IGNvbnNpc3RzIG9m IGNoZW1vdGhlcmFweSwgaXQgaXMgcGxhdXNpYmxlIHRoYXQgdGhpcyBwcm9jZXNzIGlzIG5vdCBk ZXNpcmVkIGF0IGFsbC4g4oCcQmVjb21pbmcgaGVhbHRoeeKAnSwgaW4gYSBwb2ludC1saWtlIHNl bnNlIGlzIGRlc2lyZWQsIGhvd2V2ZXIuCgoKCicnemHigJlpJycgaXMgbGlrZSB0aGUgZXZlbnQg Y29udG91ciAnJ2Nh4oCZbycnIGluIHRoZSBzZW5zZSB0aGF0ICcnbGUgemHigJlpIEJSSURJJycg YmVnaW5zIHRvIGFwcGx5IHdoZW4gdGhlIGJyaWRpIGJlZ2lucyBhbmQgc2hhcnBseSBlbmRzIHdo ZW4gdGhlIGJyaWRpIGNlYXNlcyB0byBiZSB0cnVlLCBtdWNoIGxpa2UgJydjYeKAmW8nJy4KCicn emHigJlvIHph4oCZaSBtaSBrYW5ybyBiaW54bycnIG1lYW5zIHRoYXQgdGhlIHN0YXRlIG9mIG1l IGJlY29taW5nIGhlYWx0aHkgdG9vayB0b28gbG9uZyB0aW1lOyB0aGF0IHRoZSB0aW1lIGJldHdl ZW4gbXkgaGVhbHRoIGJlZ2lubmluZyB0byBpbXByb3ZlIGFuZCBiZSBhY3R1YWxseSBiZWluZyBo ZWFsdGh5IHdhcyBsb25nLXdpbmRlZC4KCgoKVGhlIGFjdHVhbCB0cmVhdG1lbnQgaXMgcGVyaGFw cyBiZXR0ZXIgY2F1Z2h0IGJ5ICcncHXigJl1JycsIHdoaWNoLCBsaWtlIGV2ZW50IGNvbnRvdXJz IGluIGdlbmVyYWwsIHB1dHMgZW1waGFzaXMgb24gdGhlIGVudGlyZSBldmVudCBhcyB1bmZvbGRp bmcgdGhyb3VnaCB0aW1lLiAnJy5paSBiYSB6aSBjb+KAmWEgcHXigJl1IG1pIGthbnJvIGJpbnhv IHZhdSAub2knJyBleHByZXNzZXMgZmVhciB0aGF0IHRoZSBwYWluZnVsIHByb2Nlc3Mgb2YgYmVj b21pbmcgaGVhbHRoeSBpcyBhYm91dCB0byBiZWdpbi5UaGUgeDIgaXMgZmlsbGVkIGJ5IGEgc2Vx dWVuY2Ugb2Ygc3RhZ2VzLCB3aGljaCBjYW4gYmUgbWFkZSBieSBpbnRlcnNwYWNpbmcgdGhlIHN0 YWdlcyB3aXRoIHRoZSBub24tbG9naWNhbCBjb25uZWN0aXZlICcnY2XigJlvJyc6ICcnemXigJl1 IHB14oCZdSBtaSBrYW5ybyBiaW54byBrZWkgbGUgbnUgbWkgZmFja2kgY2XigJlvIGxlIG51IG1p IGphaSB0b2xzdGkgY2XigJlvIG1pIHJlbnZpJycgbWVhbnMg4oCcc29tZXRoaW5nIGlzIGEgbG9u ZyBwcm9jZXNzIG9mIG1lIGJlY29taW5nIGhlYWx0aHkgY29uc2lzdGluZyBvZiB0aGUgc3RhZ2Vz IEEgKSBJIGZpbmQgb3V0IEIgKSBzb21ldGhpbmcgYWJvdXQgbWUgYmVnaW5zIEMgKSBJIGVuZHVy ZS7igJ0KCgoKRmluYWxseSwgdGhlIHNlbWFudGljcyBvZiAnJ3p14oCZbycnIHRyZWF0cyB0aGUg YWJzdHJhY3Rpb24gYXMgY29uc2lzdGluZyBvZiByZWFwZWF0ZWQgYWN0aW9uczogJydqaWJyaSBt aSBmYSBsbyB6deKAmW8gbWkgemJhc3UgbG8ga2FyY2UnJyDigJMg4oCcVGhlIGFjdGl2aXR5IG9m IG1lIG1ha2luZyBjYXJzIGlzIG15IGpvYuKAnSBpcyBhY2N1cmF0ZSBpZiwgZm9yIGluc3RhbmNl LCB0aGUgc3BlYWtlciB3b3JrcyBhdCBhIGNhci1wcm9kdWNpbmcgZmFjdG9yeS4gSGVyZSwgaGVy IGFjdGl2aXR5IG9mIHByb2R1Y2luZyBjYXJzIGNvbnNpc3RzIG9mIHRoZSByZXBlYXRlZCBhY3Rp b25zIEEgKSBzaGUgbG93ZXJzIGZyYW1lIDEgb250byBjYXIgMSBCICkgc2hlIHdlbGRzIGZyYW1l IDEgdG8gY2FyIDEsIEMgKSByZXBlYXQgd2l0aCBjYXIgMi4gVGhlIHgyIGhlcmUgaXMgYWxzbyBh IHNlcXVlbmNlLgoKCgpOb3RlIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gJydtdeKAmWUgYmFqcmEn JywgJyd6YeKAmWkgYmFqcmEnJywgJydwdeKAmXUgYmFqcmEnJywgJyd6deKAmW8gYmFqcmEnJyBh bmQgJydudSBiYWpyYScnLiBUaGUgcG9pbnQtbGlrZSBldmVudCBvZiBydW5uaW5nIHB1dHMgZW1w aGFzaXMgb24gdGhlIGV2ZW50IGhhcHBlbmluZywgYnV0IG5vdGhpbmcgZWxzZS4gVGhlIHN0YXRl IG9mIHJ1bm5pbmcgYmVnaW5zIHdoZW4gdGhlIHJ1bm5lciBiZWdpbnMgYW5kIHN0b3BzIHdoZW4g dGhlIHJ1bm5lciBzdG9wcy4gVGhlIHByb2Nlc3Mgb2YgcnVubmluZyBjb25zaXN0cyBvZiBhIHdh cm0tdXAsIGtlZXBpbmcgYSBzdGVhZHkgc3BlZWQsIGFuZCB0aGUgZmluYWwgc3ByaW50LiBUaGUg YWN0aXZpdHkgb2YgcnVubmluZyBjb25zaXN0cyB0aGUgY3ljbGVzIG9mIGxpZnRpbmcgb25lIGZv b3QsIG1vdmluZyBpdCBmb3J3YXJkLCBkcm9wcGluZyBpdCBkb3duLCByZXBlYXQgd2l0aCB0aGUg b3RoZXIgZm9vdC4gQWxsIG9mIHRoZXNlIGFyZSBjb3ZlcmVkIGJ5IHRoZSBldmVudCBvZiBydW5u aW5nLgoKCgpUaGUgYWJzdHJhY3RvciAnJ2R14oCZdScnIGhhcyBub3RoaW5nIHRvIGRvIHdpdGgg ZXZlbnRzIGFuZCBvbmx5IGNvbnNpZGVycyB0aGUgYnJpZGkgaW5zaWRlIHRoZSBhYnN0cmFjdGlv biBhcyBhIGJyaWRpOgoKJycudWkgc2FpIHppIGZhY2tpIGxlIGR14oCZdSB6aSBjaXRrYSBsbyBj aWRqcnBpdHNhJycg4oCTIOKAnFllcyEgSSBqdXN0IGZvdW5kIG91dCB0aGF0IHBpenphIHdpbGwg YmUgZWF0ZW4gc29vbiHigJ0uIFdoYXQgaXMgYmVpbmcgZGlzY292ZXJlZCBpcyB0aGUgdHJ1dGgg b2YgYW4gYWJzdHJhY3QgYnJpZGksIG5vdCBhbiBldmVudC4gSW4gZ2VuZXJhbCwgYWJzdHJhY3Rp b25zIGxpa2UgdHJ1dGhzLCBsaWVzLCB0aGluZ3MgYmVpbmcgZGlzY292ZXJlZCBvciBiZWxpZXZl ZCBhcmUgYWxsIHB1cmUgYnJpZGksIHNvICcnZHXigJl1JycgaXMgYXBwcm9wcmlhdGUuIAoKX18n J2R14oCZdScnX18geDEgaXMgdGhlIGJyaWRpIG9mIEJSSURJIGV4cHJlc3NlZCBpbiBzZW50ZW5j ZSB4MgoKRm9yIGJyaWRpIHRvIGV4aXN0IChvciBhdCBsZWFzdCB0byBoYXZlIGFueSByZWxldmFu Y2UpLCB0aGV5IG11c3QgYmUgZXhwcmVzc2VkIGluIHNvbWUgbWVkaXVtLCB3aGV0aGVyIHRoaXMg aXMgc3BlZWNoLCB0aG91Z2h0IG9yIHdyaXRpbmcuIFRoZSB0ZXJtIOKAnGV4cHJlc3NlZOKAnSBp cyBtaXNsZWFkaW5nIGlmIGl0IGlzIGV4cHJlc3NlZCBvbmx5IGluIHRoZSBtaW5kIG9mIHNvbWVv bmUgYnV0IHRoZSB0ZXJtIG5vbmV0aGVsZXNzIGFwcGxpZXMuIFNwZWNpZnlpbmcgd2hpY2ggbWVk aXVtIHRoZSBicmlkaSBpcyBleHByZXNzZWQgaW4gaXMgd2hhdCB0aGUgeDIgb2YgJydkdeKAmXUn JyBpcyB1c2VkIGZvcjogICcnLnVpIGZhY2tpIGxlIGR14oCZdSBqYWkgY2lkanJwaXRzYSBrZWkg em/igJllIHBlIGxlIG1pIG1hbXRhJycg4oCTIOKAnFlheSwgZGlzY292ZXJlZCB0aGF0IHNvbWV0 aGluZyBhYm91dCBwaXp6YSwgZXhwcmVzc2VkIGluIHNvbWV0aGluZyB0aGF0IGhhZCB0byBkbyB3 aXRoIG15IG1vdGhlciHigJ0uIFRoZSB0cmFuc2xhdGlvbiBpcyBjbHVtc3ksIGJ1dCBwcm9iYWJs eSBtZWFucyB0aGF0IHRoZSBzcGVha2Vy4oCZcyBtb3RoZXIgdG9sZCBoaW0gdGhhdCBwaXp6YSB3 YXMgY29taW5nLgoKCgpUaGUgbmV4dCBhYnN0cmFjdG9yLCAnJ3Np4oCZbycnLCBpcyBkZXJpdmVk IGZyb20gdGhlIGdpc211ICcnc2lkYm8nJyBtZWFuaW5nIOKAnGlkZWHigJ0uIEl04oCZcyByZWxh dGl2ZWx5IGVhc3kgdG8gdW5kZXJzdGFuZDogJydsZSBzaeKAmW8gbWkgbWFtdGEnJyBpcyB0aGUg dmVyeSBpZGVhIHRoYXQgSSBhbSBhIG1vdGhlci4gU2ltaWxhcmx5LCAnJ2xlIHNp4oCZbyBwcmFt aScnIGlzIOKAnFRoZSBjb25jZXB0IHRoYXQgc29tZW9uZSBsb3ZlcyBzb21lb25l4oCdLCB3aGlj aCBjYW4gYmUgdHJhbnNsYXRlZCBhcyBtZXJlbHkg4oCcTG92ZSBpdHNlbGYu4oCdIEFsbCBpZGVh cyBuZWVkIHNvbWVvbmUgdG8gcmVmbGVjdCBvbiB0aGVtLCBhbmQgdGhlIHNlY29uZCBzdW10aSBw bGFjZSBvZiAnJ3Np4oCZbycnIG1pcnJvcnMgdGhpczoKCl9fJydzaeKAmW8nJ19fIHgxIGlzIGFu IGlkZWEgb2YgQlJJREkgYXMgaW1hZ2luZWQgYnkgeDIKCicnbGUgc2nigJlvIG5hbm11IGtlaSBi ZSBkbyBjdSB4bGFsaSB2YXUgcGXigJlpJycg4oCTIOKAnFlvdXIgaWRlYSBvZiBtYW5saW5lc3Mg aXMgaGFybWZ1bCwgSSB0aGluayzigJ0KCgoKVGhlIGFic3RyYWN0b3IgJydqZWknJyBpcyB2ZXJ5 IGRpZmZlcmVudCBmcm9tIHRob3NlIGNvdmVyZWQgc28gZmFyLCBiZWNhdXNlIG9mIGl0cyBwbGFj ZSBzdHJ1Y3R1cmU6CgpfXycnamVpJydfXyB4MSBpcyB0aGUgdHJ1dGggdmFsdWUgb2YgQlJJREkg dW5kZXIgZXBpc3RlbW9sb2d5IHgyCgpUaGUgZmlyc3Qgc3VtdGkgcGxhY2UgaXMgbm90IGFuIGFi c3RyYWN0ZWQgYnJpZGksIGJ1dCBhIHZlcmRpY3Qgb2YgdHJ1dGgsIHdoaWNoIGxpZXMgYmV0d2Vl biAwIChmYWxzZSkgYW5kIDEgKHRydXRoKSBpbmNsdXNpdmUuIFRoZXNlIHR3byBudW1iZXJzIGFy ZSB1c2VkIHRvIHJlcHJlc2VudCBmYWxzZWhvb2Qgb3IgdHJ1dGgsIGFuZCB3aGlsZSB0aGUgeDEg b2YgdGhlIGFic3RyYWN0aW9uIGlzIHRlY2huaWNhbGx5IGEgbnVtYmVyICgnJ2xpJycpLCBpdCdz IG5vdCB2ZXJ5IHVzZWZ1bCB0byBkbyBtYXRoZW1hdGljcyBvbiBzdGF0ZW1lbnRzIHN1Y2ggYXMg InRydWUiIG9yICJmYWxzZSIsIHNvIHRoZXkgc2hvdWxkIHByb2JhYmx5IG5vdCBiZSBjb25zaWRl cmVkIG1hdGhlbWF0aWNhbCBxdWFudGl0aWVzLgoKVGhlIHgyIGlzIG9mdGVuIGxlZnQgdmFndWUu CgonJy55IGxpIHBpIHNv4oCZdSBqZWkgZ2/igJlpIGtlaSB0deKAmWEgbWknJyDigJMg4oCcVXVo LCB0aGF04oCZcyBub3QgdmVyeSB0cnVlLCBhY2NvcmRpbmcgdG8gbWUu4oCdCgoKCicna2EnJyBp cyBnbG9zc2VkICJwcm9wZXJ0eSIsIHdoaWNoIGlzIG5vdCBjbGVhciBhdCBhbGwuIEl0IHJlZmVy cyB0byB0aGUgZXNzZW5jZSBvZiBmaXR0aW5nIHRvIGEgY2VydGFpbiBzZWxicmksIHRodXMgJyds byBrYSBjbGFuaScnIGlzICJ0YWxsbmVzcyIsIGFuZCAnJ2xvIGthIGRqaWNhJycgaXMgImRlc2ly ZSIuIEluIGZhY3QsIGZvciBhbnkgc2VsYnJpLCAiWCBzYXRpc2ZpZXMgdGhlIHNlbGJyaSIgaXMg dGhlIHNhbWUgYXMgIlggaXMgY2hhcmFjdGVyaXplZCBieSB0aGUgcHJvcGVydHkgb2YgdGhlIHNl bGJyaSIuCgpUaGlzIHNlbGJyaSBtYXkgaGF2ZSBzb21lIHN1bXRpIHBsYWNlcyBmaWxsZWQgb3V0 LCBhbGxvd2luZyB2ZXJ5IHNwZWNpZmljIHByb3BlcnRpZXMgdG8gYmUgZXhwcmVzc2VkOiAnJ2xl IGthIHBlbmRvIGxhIHhhbnoua3J0IGdpJ2UgYmFkcmknJywgIlRoZSBwcm9wZXJ0eSBvZiBiZWlu ZyBhIGZyaWVuZCBvZiBIYW5zIEt1cnQgYW5kIGJlaW5nIGRlcHJlc3NlZCIuIFRoaXMgZ2l2ZXMg cmlzZSB0byBzdHJvbmcgYW1iaWd1aXR5OiBTaW5jZSAnJ2thJycgaXMgYWJvdXQgZml0dGluZyB0 byBhIHNlbGJyaSAob3IgZXZlbiBhbiBlbnRpcmUgYnJpZGkpLCBvbmUgbXVzdCBiZSBhYmxlIHRv IHNwZWNpZnkgd2hpY2ggc3VtdGkgcGxhY2Ugd2UgYXJlIHRhbGtpbmcgYWJvdXQ6ICJUaGUgcHJv cGVydHkgb2Ygc3dpbW1pbmcgaW4gc29tZXRoaW5nIiBpcyB2ZXJ5IGRpZmZlcmVudCBmcm9tICJU aGUgcHJvcGVydHkgb2Ygc29tZXRoaW5nIHN3aW1taW5nIGluIHlvdSIuIAoKT2YgY291cnNlLCB0 aGlzIGNhbm5vdCBhbHdheXMgYmUgdXAgdG8gY29udGV4dCwgYW5kIHNvIHdlIGhhdmUgYSB3b3Jk LCAnJ2NlJ3UnJywgd2hpY2ggaWRlbnRpZmllcyB3aGljaCBzdW10aSBwbGFjZSBpcyBiZWluZyBm b2N1c2VkIG9uOgoKX18nJ2NlJ3UnJ19fIFNldHMgZm9jdXMgb24gc3VtdGkgcGxhY2UgaW4gYWJz dHJhY3Rpb24uCgoKCicna2EnJy1jb25zdHJ1Y3RzIGFyZSB1c2VkIGluIGFsbCBraW5kcyBvZiBz ZWxicmksICcnem1hZHUnJyBhbmQgJydtbGVjYScnIGludHJvZHVjZWQgaW4gbGVzc29uIG5pbmV0 ZWVuIGlzIGV4YW1wbGVzIG9mIHN1Y2ggc2VsYnJpLiBTbzogd2hhdCBpcyB0aGUgZGlmZmVyZW5j ZSBiZXR3ZWVuICcnbWkgZG8gem1hZHUgbG8ga2EgbGEgbGl6IHByYW1pIGNlJ3UnJyBhbmQgJydt aSBkbyB6bWFkdSBsbyBrYSBjZSd1IHByYW1pIGxhIGxpeicnPwoKQW5zd2VyOiB+fmdyZXksZ3Jl eTogVGhlIGZpcnN0IG9uZSBtZWFucyAiTGl6IGxvdmVzIG1lIG1vcmUgdGhhbiB5b3UiLCB0aGUg c2Vjb25kICJJIGxvdmUgTGl6IG1vcmUgdGhhbiB5b3UgZG8ifn4KClRoZSAnJ2NlJ2EnJyBjYW4g YmUgZWxpZGVkLCBpbiB3aGljaCBjYXNlIGl0IGlzIHVuZGVyc3Rvb2QgdG8gZmlsbCB0aGUgZmly c3QgdW5maWxsZWQgc3VtdGkgcGxhY2Ugb2YgdGhlIGFic3RyYWN0aW9uLgoKCgpMYXN0bHksIHdl IGhhdmUgdGhlIHdvcmQgJyduaScnLCB0aGUgZGVmaW5pdGlvbiBvZiB3aGljaCBpcyBtdWNoIGNv bnRlc3RlZCBhbmQgZGlzY3Vzc2VkIGFtb25nIExvamJhbmlzdHMuIEF0IGxlYXN0IHR3byBzbGln aHRseSBkaWZmZXJlbnQgbWVhbmluZ3MgY2FuIGJlIGNvbnZleWVkIHdpdGggJyduaScnLCBwb3Nz aWJseSBtb3JlLCBhbmQgaXQgaGFzIG5vdCBiZWVuIHNldHRsZWQgd2hpY2ggb25lIGlzIHRoZSBj b3JyZWN0IHVzZSBvZiAnJ25pJycuIExldCdzIGZpcnN0IHNlZSBob3cgdGhlIHdvcmQgaXMgZ2xv c3NlZDoKCl9fJyduaScnX18geDEgaXMgdGhlIHF1YW50aXR5IG9mIEJSSURJIGFzIG1lYXN1cmVk IGF0IHNjYWxlIHgyCgpVbmxpa2UgdGhlIHgxIG9mICcnamVpJycsIHRoZSB4MSBvZiAnJ25pJycg X19pc19fIHVzZWZ1bCB0byB0cmVhdCBhcyBhIG51bWJlci4gVGhlIGRpc2N1c3Npb24gYXJpc2Vz IGJlY2F1c2UgaXQncyBwb3NzaWJsZSB0byBxdWFudGlmeSBicmlkaSBpbiBzZXZlcmFsIHdheXMu IFRoZSBmb2xsb3dpbmcgZm91ciBleGFtcGxlcyBzaG93IHR3byBkaWZmZXJlbnQgd2F5czoKCl9f Jyd4YW1zaScnX18geDEgaXMgdGhlL2Egc2VhL29jZWFuIG9mIHBsYW5ldCB4MiBtYWRlIG9mIGZs dWlkIHgzCgpfXycnY2VuYmEnJ19fIHgxIHZhcmllcyBpbiBwcm9wZXJ0eS9hbW91bnQgeDIgYnkg YW1vdW50L2RlZ3JlZSB4MyB1bmRlciBjb25kaXRpb25zIHg0CgonJ2xlIHhhbXNpIGN1IGNlbmJh IGxlIG5pIGNlJ3UgYmxhbnUnJyAtICJUaGUgb2NlYW4gdmFyaWVzIGluIGJsdWVuZXNzIiAobWVh bmluZyB0aGF0IGl0IG1pZ2h0IGJlIGxlc3Mgb3IgbW9yZSBibHVlLCBjb250cmFzdCB3aXRoICcn bGUgeGFtc2kgY3UgY2VuYmEgbGUga2EgY2UndSBibGFudScnLCB3aGljaCBtZWFucyB0aGF0IGl0 IHZhcmllcyBpbiB3aGV0aGVyIGl0J3MgYmx1ZSBvciBub3QpCgonJ21pIHptYWR1IGRvIGxvIG5p IHBlbmRvIGNlJ3UnJy0gIkkgaGF2ZSBtb3JlIGZyaWVuZHMgdGhhbiB5b3UiCgpXaGVyZSB0aGUg Zmlyc3QgZXhhbXBsZSB1c2VzIG5pIHRvIHF1YW50aWZ5IGhvdyBtdWNoIGFuIG9iamVjdCBpcyBj aGFyYWN0ZXJpemVkIGJ5IGEgc2VsYnJpLCBhbmQgdGhlIHNlY29uZCBleGFtcGxlIHF1YW50aWZp ZXMgaG93IG1hbnkgeCBpcyBjaGFyYWN0ZXJpemVkIGJ5IGEgc2VsYnJpLgoKVGhpcyBpcywgb2Yg Y291cnNlLCBhIHByb2JsZW0gdG8gYSBsYW5ndWFnZSBsaWtlIExvamJhbiwgd2hpY2ggcHJpZGVz IGl0c2VsZiB3aXRoIHVuYW1iaWdpdXR5LiBUaGlzIHByb2JsZW0gaGF2ZSBub3QgYmVlbiBzb2x2 ZWQgeWV0LCBhbmQgc28gYXMgb2Ygbm93LCB3ZSBhcmUgc3R1Y2sgd2l0aCAnJ25pJycgaGF2aW5n IGR1YWwgbWVhbmluZ3MuICAKClRoZXJlIGlzIGFsc28gc2xpZ2h0IGRpc2FncmVlbWVudCBhYm91 dCB3aGF0IGl0IG1ha2VzIHNlbnNlIHRvIHF1YW50aWZ5LCB0aG91Z2ggdGhpcyBpcyBhIHBoaWxv c29waGljYWwgcmF0aGVyIHRoYW4gbGluZ3Vpc3RpYyBkZWJhdGUuIFNvbWUgdGV4dHMgc3RyZXNz IHRoYXQgdGhvc2UgdGhpbmdzIHdoaWNoIGFyZSBub3QgZWFzaWx5IHF1YW50aWZpYWJsZSBsaWtl ICcnbGUgbmkgbWkgdHVuYmEgZG8nJywgdGhlIGFtb3VudCBvZiBtZSBiZWluZyB5b3VyIHNpYmxp bmcsIG1ha2VzIG5vIHNlbnNlIGkgYSAnJ25pJyctY29uc3RydWN0LiBGb3Igb3RoZXJzIHRoaXMg aXMgYSBwZXJmZWN0bHkgcmVhc29uYWJsZSB0aGluZyB0byBzYXksIGV2ZW4gdGhvdWdoIGFjdHVh bGx5IG1lYXN1cmluZyBpdCBpcyBub3QgcHJhY3RpY2FsLCBzaW1pbGFybHkgdG8gdGhlIEVuZ2xp c2ggcXVhbnRpZmljYXRpb24gb2YgbG92ZSBpbiB0aGUgc2VudGVuY2UgIkkgZGlkbid0IGtub3cg aG93IG11Y2ggSSBsb3ZlZCB5b3UgdW50aWwgbm93Ii4KCkJvdGggJydrYScnIGFuZCAnJ25pJycg YWx3YXlzIGhhcyBhbiBleHBsaWNpdCBvciBpbXBsaWNpdCAnJ2NlJ3UnJy4KCgoKISEhRW5kIG9m IGxlc3NvbnMKClNvcnJ5LCBidXQgYXMgb2Ygbm93LCB0aGVyZSBhcmUgbm8gbW9yZSBsZXNzb25z IGluIHRoaXMgc2VyaWVzLiBQZXJoYXBzIG1vcmUgd2lsbCBiZSBhZGRlZCBsYXRlci4gVGhlc2Ug bGVzc29ucyBhcmUgc3RpbGwgdW5kZXIgY29uc3RydWN0aW9uLCBhbmQgYW55IGNvbW1lbnRzIG9y IHN1Z2dlc3Rpb25zIHdpbGwgYmUgdmVyeSBtdWNoIHdlbGNvbWUuCgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KV2lraW5ldXJvdGljIG1haWxpbmcgbGlz dApXaWtpbmV1cm90aWNAbG9qYmFuLm9yZwpodHRwOi8vbWFpbC5sb2piYW4ub3JnL21haWxtYW4v bGlzdGluZm8vd2lraW5ldXJvdGljCg==