Received: from localhost ([::1]:36394 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.80.1) (envelope-from ) id 1XBTGz-0005GX-5r; Sun, 27 Jul 2014 11:34:17 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:42504 helo=jukni.digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.80.1) (envelope-from ) id 1XBTGt-0005GQ-4i for wikichanges@lojban.org; Sun, 27 Jul 2014 11:34:15 -0700 Received: by jukni.digitalkingdom.org (sSMTP sendmail emulation); Sun, 27 Jul 2014 11:34:11 -0700 From: "Apache" Date: Sun, 27 Jul 2014 11:34:11 -0700 To: wikichanges@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: -0.8 (/) X-Spam_score: -0.8 X-Spam_score_int: -7 X-Spam_bar: / Subject: [Wikichanges] Wiki page wavelessonscontinuedp2 changed by Ilmen X-BeenThere: wikichanges@lojban.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: webmaster@lojban.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikichanges-bounces@lojban.org Content-Length: 117256 VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWRwMiB3YXMgY2hhbmdlZCBieSBJbG1lbiBhdCAy MDozNCBDRVNUCkNvbW1lbnQ6IEZpeGluZyB0aGUgc2Vjb25kIGxpbmsuCgpZb3UgY2FuIHZpZXcg dGhlIHBhZ2UgYnkgZm9sbG93aW5nIHRoaXMgbGluazoKIApodHRwOi8vd3d3LmxvamJhbi5vcmcv dGlraS93YXZlbGVzc29uc2NvbnRpbnVlZHAyCgpZb3UgY2FuIHZpZXcgYSBkaWZmIGJhY2sgdG8g dGhlIHByZXZpb3VzIHZlcnNpb24gYnkgZm9sbG93aW5nIHRoaXMgbGluazogCmh0dHA6Ly93d3cu bG9qYmFuLm9yZy90aWtpL3Rpa2ktcGFnZWhpc3RvcnkucGhwP3BhZ2U9d2F2ZWxlc3NvbnNjb250 aW51ZWRwMiZjb21wYXJlPTEmb2xkdmVyPTM3Jm5ld3Zlcj0zOAoKCioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqClRoZSBjaGFuZ2VzIGlu IHRoaXMgdmVyc2lvbiBmb2xsb3cgYmVsb3csIGZvbGxvd2VkIGFmdGVyIGJ5IHRoZSBjdXJyZW50 IGZ1bGwgcGFnZSB0ZXh0LgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKgoKCistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rCkBAIC1MaW5lczogMi02IGNoYW5nZWQgdG8gK0xpbmVz OiAyLTYgQEAKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSsKISEhTWFkZSBieSBsYSBrbGFrdSB3aXRoIGhlbHAgZnJvbSB2YXJpb3VzIGxv amJhbmlzdHMuIEJhc2VkIG9uIHRoZSB3b3JrIG9mIGxhIC5rcmliYWNyLiBTcHJpbmcgMjAxMy4K Ci0gVGhpcyBpcyB0aGUgc2Vjb25kIGluc3RhbGxtZW50IG9mIHRoZSBXYXZlIExlc3NvbnMgQ29u dGludWVkLiBJZiB5b3UgZGlkbid0IGNhdGNoIHRoZSBmaXJzdCBwYXJ0LCBvciB3YW50IHRvIGdv IGJhY2sgZm9yIHNvbWUgcmVhc29uLCBqdXN0IGNsaWNrICgod2F2ZWxlc3NvbnNjb250aW51ZWR8 b24gdGhlc2UgZm91ciB3b3Jkcy4pKSBZb3UgY2FuIGFsc28gZ28gdG8gdGhlIHRoaXJkIHBhcnQg YnkgY2xpY2tpbmcgKCh3YXZlbGVzc29uc2NvbnRpbnVlZHAyfHRoaXMgbGluaykpLCBpZiB5b3Ug ZmVlbCBsaWtlIGRvaW5nIHRoYXQuCisgVGhpcyBpcyB0aGUgc2Vjb25kIGluc3RhbGxtZW50IG9m IHRoZSBXYXZlIExlc3NvbnMgQ29udGludWVkLiBJZiB5b3UgZGlkbid0IGNhdGNoIHRoZSBmaXJz dCBwYXJ0LCBvciB3YW50IHRvIGdvIGJhY2sgZm9yIHNvbWUgcmVhc29uLCBqdXN0IGNsaWNrICgo d2F2ZWxlc3NvbnNjb250aW51ZWR8b24gdGhlc2UgZm91ciB3b3Jkcy4pKSBZb3UgY2FuIGFsc28g Z28gdG8gdGhlIHRoaXJkIHBhcnQgYnkgY2xpY2tpbmcgKCh3YXZlbGVzc29uc2NvbnRpbnVlZHAz fHRoaXMgbGluaykpLCBpZiB5b3UgZmVlbCBsaWtlIGRvaW5nIHRoYXQuCgohIUxvamJhbiBMZXNz b25zIC0gTGVzc29uIHNldmVudGVlbiAoY3V0ZSBhc3NvcnRlZCB3b3JkcykKCgoKCioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqClRoZSBu ZXcgcGFnZSBjb250ZW50IGZvbGxvd3MgYmVsb3cuCioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgohTG9qYmFuIFdhdmUgTGVzc29ucyBD b250aW51ZWQgKHBhcnQgdHdvKToKCiEhIU1hZGUgYnkgbGEga2xha3Ugd2l0aCBoZWxwIGZyb20g dmFyaW91cyBsb2piYW5pc3RzLiBCYXNlZCBvbiB0aGUgd29yayBvZiBsYSAua3JpYmFjci4gU3By aW5nIDIwMTMuCgoKClRoaXMgaXMgdGhlIHNlY29uZCBpbnN0YWxsbWVudCBvZiB0aGUgV2F2ZSBM ZXNzb25zIENvbnRpbnVlZC4gSWYgeW91IGRpZG4ndCBjYXRjaCB0aGUgZmlyc3QgcGFydCwgb3Ig d2FudCB0byBnbyBiYWNrIGZvciBzb21lIHJlYXNvbiwganVzdCBjbGljayAoKHdhdmVsZXNzb25z Y29udGludWVkfG9uIHRoZXNlIGZvdXIgd29yZHMuKSkgWW91IGNhbiBhbHNvIGdvIHRvIHRoZSB0 aGlyZCBwYXJ0IGJ5IGNsaWNraW5nICgod2F2ZWxlc3NvbnNjb250aW51ZWRwM3x0aGlzIGxpbmsp KSwgaWYgeW91IGZlZWwgbGlrZSBkb2luZyB0aGF0LgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVz c29uIHNldmVudGVlbiAoY3V0ZSBhc3NvcnRlZCB3b3JkcykKCkFuZCB3aXRoIHRoYXQsIHRoaXJk IGNoYXB0ZXIsIHlvdSBrbm93IGEgbG90IGFib3V0IExvamJhbiBzdW10aS4gQWZ0ZXIgc3VjaCBh IGxvbmcgdGltZSBvZiByaWdvcm91cyBzeXN0ZW1hdGljIGxlYXJuaW5nLCB3aGF0IGNvdWxkIGJl IG1vcmUgZml0dGluZyB0aGF0IHRoaXMgbGVzc29uIHdoZXJlIEkgc3BlYWsgYWJvdXQgc29tZSB3 b3JkcyB3aGljaCBJIGNvdWxkIG5vdCwgb3Igd2FudGVkIG5vdCB0byBmaXQgaW50byBhbnkgb3Ro ZXIgbGVzc29ucz8gU28gaGVyZSBhcmUgYSBmZXcgc21hbGwgYW5kIHJlYWxseSB1c2VmdWwgd29y ZHM6CgoKClRoZSBmb2xsb3dpbmcgY21hdm8gYXJlIGFsbCBlbGxpcHRpY2FsIHdvcmRzLiBZb3Ug c2hvdWxkIGFscmVhZHkgYmUgZmFtaWxpYXIgd2l0aCB0aGUgZmlyc3QuCgpfXycnem8nZScnX18g LSBlbGxpcHRpY2FsIHN1bXRpCgpfXycnY28nZScnX18gLSBlbGxpcHRpY2FsIHNlbGJyaQoKX18n J2RvJ2UnJ19fIC0gZWxsaXB0aWNhbCBzdW10Y2l0YQoKX18nJ2p1J2EnJ19fIC0gZWxsaXB0aWNh bCBldmlkZW50aWFsCgpfXycnZG8naScnX18gLSBlbGxpcHRpY2FsIHV0dGVyYW5jZSB2YXJpYWJs ZQoKX18nJ2dlJ2UnJ19fIC0gZWxsaXB0aWNhbCBhdHRpdHVkaW5hbAoKCgpBbGwgb2YgdGhlc2Ug YWN0IGdyYW1tYXRpY2FsbHkgYXMgYSBjbWF2byBvZiB0aGUga2luZCB0aGV5IHJlcHJlc2VudCwg YnV0IHRoZXkgY29udGFpbiBubyBpbmZvcm1hdGlvbiwgYW5kIGNhbiBiZSBxdWl0ZSBoYW5keSB3 aGVuIHlvdSdyZSBsYXp5IGFuZCBkb24ndCBuZWVkIHRvIGJlIHNwZWNpZmljIGFueXdheS4gVGhl cmUgYXJlLCBob3dldmVyLCBhIGZldyB0aGluZ3Mgd2hpY2ggbmVlZCB0byBiZSBjbGVhcmVkIHVw OgoKCgogICAgJyd6bydlJycgaGF2ZSB0byByZWZlciB0byBzb21ldGhpbmcgd2hpY2ggaXMgY2xh aW1lZCB0byBoYXZlIGEgdmFsdWUuIOKAnHplcm8gY2Fyc+KAnSBvciDigJxub3RoaW5n4oCdLCBm b3IgaW5zdGFuY2UsIGhhcyBubyB2YWx1ZSwgYW5kIHRoZXJlZm9yZSBjYW5ub3QgYmUgcmVmZXJy ZWQgdG8gYnkgJyd6bydlJycuIFRoaXMgaXMgYmVjYXVzZSwgaWYgaXQgY291bGQgbWVhbiDigJxu b3RoaW5n4oCdIGJ5ICcnem8nZScnLCB0aGVuIGFueSBzZWxicmkgY291bGQgYmUgaWRlbnRpY2Fs IHRvIGl0cyBuZWdhdGlvbiwgaWYgb25lIG9mIHRoZSBlbGlkZWQgc3VtdGkgd2VyZSBmaWxsZWQg d2l0aCBhICcnem8nZScnIHdpdGggbm8gdmFsdWUuCgogICAgJydnZSdlJycgZG9lcyBub3QgbWVh biB0aGF0IHlvdSBmZWVsIG5vIGVtb3Rpb24sIGp1c3QgdGhhdCB5b3UgZmVlbCBub3RoaW5nIHNw ZWNpYWwgb3Igd29ydGggdG8gbWVudGlvbiBhdCB0aGUgbW9tZW50LiBJdCdzIHNpbWlsYXIgdG8g 4oCcSSdtIGZpbmUu4oCdLiAnJ2dlJ2UgcGVpJycgYXNrIGFib3V0IGFuIGVsbGlwdGljYWwgZW1v dGlvbiBhbmQgaXMgYSBnb29kIHRyYW5zbGF0aW9uIGZvcjog4oCcSG93IGFyZSB5b3UgZmVlbGlu Zz/igJ0uCgogICAgJydjbydlJycgaXMgaGFuZHkgd2hlbiBuZWVkaW5nIGEgc2VsYnJpIGluIGEg Y29uc3RydWN0IGZvciBncmFtbWF0aWNhbCByZWFzb25zLCBsaWtlIGluIHRoZSBkZWZpbml0aW9u IG9mICcndHUnYScnIGluIHRoZSBwcmV2aW91cyBsZXNzb24uCgogICAgJydqdSdhJycgZG9lcyBu b3QgY2hhbmdlIHRoZSB0cnV0aCB2YWx1ZSBvciBzdWJqZWN0aXZlIHVuZGVyc3RhbmRpbmcgb2Yg dGhlIGJyaWRpIG9yIGFueXRoaW5nIGxpa2UgdGhhdC4gSW4gZmFjdCwgaXQncyBtb3N0bHkgZG9l cyBub3RoaW5nLiBIb3dldmVyLCAnJ2p1J2EgcGVpJycsIOKAnFdoYXQgaXMgeW91ciBiYXNpcyBm b3Igc2F5aW5nIHRoYXQ/4oCdIGlzIGhhbmR5LgoKICAgICcnZG8naScnIGlzIHJlYWxseSB1c2Vm dWwuIEEgbG90IG9mIHRpbWVzIHdoZW4geW91IHJlZmVyIHRvIHV0dGVyYW5jZXMgb3IgY29udmVy c2F0aW9ucyBieSB3b3JkcyBsaWtlIOKAnHRoaXPigJ0gb3Ig4oCcdGhhdOKAnSwgeW91IHdhbnQg JydkbydpJycuCgogICAgSWYgeW91IGZpbGwgaW4gbW9yZSBzdW10aSB0aGFuIGEgc2VsYnJpIGhh cyBwbGFjZXMgZm9yLCB0aGUgbGFzdCBzdW10aSBoYXZlIGltcGxpZWQgJydkbydlJycgc3VtdGNp dGEgaW4gZnJvbnQgb2YgdGhlbS4KCgoKRnVydGhlcm1vcmUsIHRoZXJlIGlzIGEgd29yZCwgJyd6 aSdvJycsIHRoYXQgeW91IGNhbiBmaWxsIGEgc3VtdGkgcGxhY2Ugd2l0aCB0byBkZWxldGUgaXQg ZnJvbSBhbnkgc2VsYnJpLiAnJ2xvIG1lbGJpIGJlIHppJ28nJywgZm9yIGluc3RhbmNlLCBpcyBq dXN0IOKAnFNvbWV0aGluZyBiZWF1dGlmdWzigJ0sIGFuZCBkb2VzIG5vdCBpbmNsdWRlIHRoZSB1 c3VhbCB4MiBvZiAnJ21lbGJpJycsIHdoaWNoIGlzIHRoZSBvYnNlcnZlciB3aG8ganVkZ2VzIHNv bWV0aGluZyB0byBiZSBiZWF1dGlmdWwuIFRodXMsIGl0IGNhbiBtZWFuIHNvbWV0aGluZyBsaWtl IOKAnE9iamVjdGl2ZWx5IGJlYXV0aWZ1bC7igJ0gSXQgZG9lcyBub3Qgc3RhdGUgdGhhdCBub3Ro aW5nIGZpbGxzIHRoZSBzdW10aSBwbGFjZSB3aGljaCBpcyBiZWluZyBkZWxldGVkLCBqdXN0IHRo YXQgdGhlIHN1bXRpIHBsYWNlIGlzIG5vdCBiZWluZyBjb25zaWRlcmVkIGluIHRoZSBzZWxicmku IFVzaW5nICcnemknbycnIHdpdGggYSBzdW10Y2l0YSBnaXZlcyB3ZWlyZCByZXN1bHRzLiBGb3Jt YWxseSwgdGhleSBzaG91bGQgY2FuY2VsIGVhY2ggb3RoZXIgb3V0LiBQcmFjdGljYWxseSwgaXQg d291bGQgcHJvYmFibHkgYmUgdW5kZXJzdG9vZCBhcyBhbiBleHBsaWNpdCB3YXkgb2Ygc2F5aW5n IHRoYXQgdGhlIHN1bXRjaXRhIGRvZXMgbm90IGFwcGx5LCBhcyBpbjogJydtaSBkYXJ4aSBkbyBt dSdpIHppJ28nJyAtIOKAnEkgaGl0IHlvdSwgd2l0aCBvciB3aXRob3V0IG1vdGl2YXRpb24u4oCd CgoKClRoZW4gdGhlcmUgaXMgdGhlIHdvcmQgJydqYWknJy4gSXQncyBvbmUgb2YgdGhvc2UgY29v bCwgc21hbGwgd29yZHMgd2hpY2ggYXJlIGhhcmQgdG8gZ3Jhc3AsIGJ1dCBlYXN5IHRvIHdvcmsg d2l0aCBvbmNlIHlvdSBrbm93IGl0LiBJdCBoYXMgdHdvIGRpc3RpbmN0LCBidXQgc2ltaWxhciBm dW5jdGlvbnMuIEJvdGggaGF2ZSBzb21ldGhpbmcgdG8gZG8gd2l0aCBjb252ZXJ0aW5nIHRoZSBz ZWxicmksIGxpa2UgJydzZScnIGRvZXMuCgpfXycnamFpJydfXyBTZWxicmkgY29udmVyc2lvbjog Q29udmVydHMgc3VtdGNpdGEgb3IgdW5zcGVjaWZpZWQgYWJzdHJhY3Rpb24gdG8geDEuIFVzZSB3 aXRoICcnZmFpJycKCl9fJydmYWknJ19fIE1hcmtzIHN1bXRpIHBsYWNlLiBXb3JrcyBsaWtlICcn ZmEnJy4gVG8gYmUgdXNlZCB3aXRoICcnamFpJycuCgpUaGUgZmlyc3QgZ3JhbW1hdGljYWwgY29u c3RydWN0aW9uIGl0IGNhbiBtYWtlIGlzICInJ2phaScnIHtzdW10Y2l0YX0ge3NlbGJyaX0iLiBJ dCBjaGFuZ2VzIHRoZSBzdW10aSBwbGFjZXMgc3VjaCB0aGF0IHRoZSBzdW10aSBwbGFjZSBvZiB0 aGUgc3VtdGNpdGEgYmVjb21lcyB0aGUgc2VsYnJpJ3MgeDEsIGFuZCB0aGUgc2VsYnJpJ3Mgb2xk IHgxIGlzIHJlbW92ZWQsIGFuZCBvbmx5IGFjY2Vzc2libGUgYnkgdXNpbmcgJydmYWknJywgd2hp Y2ggd29ya3MgbGlrZSAnJ2ZhJycuIFlvdSBjYW4gc2VlIGl0IHdpdGggdGhpcyBleGFtcGxlOgoK X18nJ2dhdScnX18gLSBzdW10Y2l0YSAoZnJvbSAnJ2dhc251JycpIOKAnGJyaWRpIGhhcyBiZWVu IGJyb3VnaHQgYWJvdXQgYnkvd2l0aCBhY3RpdmUgYWdlbnQge3N1bXRpfeKAnQoKJydkbyBqYWkg Z2F1IGp1bmRpIHRpIGZhaSBtaScnLiAtIOKAnFlvdSBicmluZyBhYm91dCBhdHRlbnRpb24gdG8g dGhpcyBieSBtZeKAnS4gVGhlIG5ldyBzZWxicmksICcnamFpIGdhdSBqdW5kaScnLCBoYXMgdGhl IHBsYWNlIHN0cnVjdHVyZSBvZiDigJx4MSBicmluZ3MgYWJvdXQgYXR0ZW50aW9uIHBhaWQgdG8g eDLigJ0uIFRoZXNlIGFyZSB0aGVuIGZpbGxlZCBieSAnJ2RvJycgYW5kICcndGknJy4gVGhlICcn ZmFpJycgdGhlbiBtYXJrcyB0aGUgcGxhY2UgZm9yIHRoZSBvbGQgeDEsIHRoZSBvbmUgd2hvIHdh cyBwYXlpbmcgYXR0ZW50aW9uLCBhbmQgaXQgaXMgZmlsbGVkIHdpdGggJydtaScnLiBUaGlzIHdv cmQgY2FuIGJlIHZlcnkgY29udmVuaWVudCBhbmQgaGFzIHRvbnMgb2YgdXNlcy4gQSBnb29kIGV4 YW1wbGUgaXMgZGVzY3JpcHRpdmUtbGlrZSBzdW10aS4gT25lIGNhbiwgZm9yIGluc3RhbmNlLCBy ZWZlciB0byDigJx0aGUgbWV0aG9kIG9mIHZvbGl0aW9uYWwgYWN0aW9u4oCdIGJ5ICcnbG8gamFp IHRhJ2kgenVrdGUnJy4KCl9fJyd0YSdpJydfXzogc3VtdGNpdGEgKGZyb20gJyd0YWRqaScnKSDi gJxCcmlkaSBpcyBkb25lIHdpdGggdGhlIG1ldGhvZCBvZiB7c3VtdGl94oCdCgpDYW4geW91IGRl ZHVjZSB3aGF0IHRoZSBvcmRpbmFyeSBMb2piYW4gcGhyYXNlICcnZG8gamFpIGdhdSBtbycnIG1l YW5zPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFdoYXQgYXJlIHlvdSBkb2luZz/igJ1+fgoK CgpUaGUgb3RoZXIgZnVuY3Rpb24gb2YgJydqYWknJyBpcyBlYXNpZXIgdG8gZXhwbGFpbi4gSXQg c2ltcGx5IGNvbnZlcnRzIHRoZSBzZWxicmkgc3VjaCB0aGF0IHRoZSBzdW10aSBpbiB0aGUgeDEg Z2V0cyBhICcndHUnYScnIGluIGZyb250IG9mIGl0ICgnJ2tvJ2EgamFpIGJyb2RhJycgX189X18g Jyd0dSdhIGtvJ2EgYnJvZGEnJykuIEluIG90aGVyIHdvcmRzLCBpdCBjb252ZXJ0cyB0aGUgc2Vs YnJpIGluIGEgd2F5IHN1Y2ggdGhhdCBpdCBidWlsZHMgYW4gZWxsaXB0aWNhbCBhYnN0cmFjdGlv biBmcm9tIHRoZSBzdW10aSBpbiB0aGUgeDEsIGFuZCB0aGVuIGZpbGxzIHgxIHdpdGggdGhlIGFi c3RyYWN0aW9uIGluc3RlYWQgb2YgdGhlIGFjdHVhbCBzdW10aS4gQWdhaW4sIHRoZSBvcmlnaW5h bCBzdW10aSBwbGFjZSBpcyBhY2Nlc3NpYmxlIGJ5ICcnZmFpJycuCgpBIHZlcnkgYWN0aXZlIExv amJhbiBJUkMtdXNlciBvZnRlbiBzYXlzICcnbGUgZ2Vya3UgcGUgZG8gamFpIHNlIHN0aWRpIG1p JycsIHRvIHVzZSBhIHJhbmRvbSBleGFtcGxlIG9mIGEgc3VtdGkgaW4geDEuIFdoYXQncyBoZSBz YXk/CgpfXycnc3RpZGknJ19fIHgxIGluc3BpcmVzL3N1Z2dlc3RzIHgyIGluL3RvIHgz4oCdCgoK CkFuc3dlcjogfn5ncmV5LGdyZXk64oCcSSBzdWdnZXN0IChzb21ldGhpbmcgYWJvdXQpIHlvdXIg ZG9nLuKAnX5+CgoKClNvIGZhciB5b3UndmUgbGVhcm5lZCBob3cgdG8gY29udmVydCBicmlkaSB0 byBzZWxicmksIHNlbGJyaSB0byBzdW10aSwgYW5kIHNlbGJyaSBpbnRvIGJyaWRpLCBzaW5jZSBh bGwgc2VsYnJpIGJ5IHRoZW1zZWx2ZXMgYXJlIGFsc28gYnJpZGkuIFlvdSBvbmx5IG5lZWQgb25l IGxhc3QgZnVuY3Rpb246IGNvbnZlcnQgc3VtdGkgdG8gc2VsYnJpLiBUaGlzIGlzIGRvbmUgd2l0 aCB0aGUgd29yZCAnJ21lJycuIEl0IGFjY2VwdHMgYSBzdW10aSBhbmQgY29udmVydHMgaXQgaW50 byBhIHNlbGJyaS4KCl9fJydtZScnX186IEdlbmVyaWMgY29udmVydCBzdW10aSB0byBzZWxicmku IHgxIGlzL2FyZSBhbW9uZyB0aGUgcmVmZXJlbnRzIG9mIFNVTVRJCgoKCldoZW4gc2NyZXdpbmcg YSBzZW50ZW5jZSB1cCwga25vd2luZyBob3cgdG8gY29ycmVjdCB5b3Vyc2VsZiBpcyBhIGdvb2Qg aWRlYS4gVGhlcmUgYXJlIHRocmVlIHdvcmRzIGluIExvamJhbiB3aGljaCB5b3UgY2FuIHVzZSB0 byBkZWxldGUgeW91ciBwcmV2aW91cyB3b3JkKHMpCgpfXycnc2knJ19fIC0gZGVsZXRpb246IERl bGV0ZXMgbGFzdCB3b3JkIG9ubHkuCgpfXycnc2EnJ19fIC0gZGVsZXRpb246IERlbGV0ZXMgYmFj ayB1bnRpbCBuZXh0IGNtYXZvIHNwb2tlbi4KCl9fJydzdScnX18gLSBkZWxldGlvbjogRGVsZXRl cyBlbnRpcmUgZGlzY291cnNlLgoKVGhlIGZ1bmN0aW9uIG9mIHRoZXNlIHdvcmRzIGFyZSBvYnZp b3VzOiBUaGV5IGRlbGV0ZSB3b3JkcyBhcyBpZiB0aGV5IGhhdmUgbmV2ZXIgYmVlbiBzcG9rZW4u IFRoZXkgZG8gbm90IHdvcmsgaW5zaWRlIGNlcnRhaW4gcXVvdGVzIChhbGwgcXVvdGVzIGV4Y2Vw dCAnJ2x1Li5saSd1JycpLCB0aG91Z2gsIGFzIHRoYXQgd291bGQgbGVhdmUgaXQgaW1wb3NzaWJs ZSB0byBxdW90ZSB0aGVzZSB3b3Jkcy4gU2V2ZXJhbCAnJ3NpJycgaW4gYSByb3cgZGVsZXRlcyBz ZXZlcmFsIHdvcmRzLgoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gZWlnaHRlZW4gKHF1 b3RlcykKCk9uZSBvZiB0aGUga2V5IGRlc2lnbiBmZWF0dXJlcyBvZiBMb2piYW4gaXMgdGhhdCBp dCdzIHN1cHBvc2VkIHRvIGJlIGF1ZGlvLXZpc3VhbCBpc29tb3JwaGljLCBtZWFuaW5nIHRoYXQg ZXZlcnl0aGluZyBleHByZXNzZWQgaW4gdGV4dCBzaG91bGQgYWxzbyBiZSBleHByZXNzZWQgaW4g c3BlZWNoIGFuZCB2aWNlIHZlcnNhLiBUaGVyZWZvcmUsIHRoZXJlIGNhbm5vdCBiZSBhbnkgcHVu Y3R1YXRpb24gd2hpY2ggaXMgbm90IHByb25vdW5jZWQuIFRoaXMgbWVhbnMgdGhhdCBMb2piYW4g aGFzIGEgd2lkZSByYW5nZSBvZiB3b3JkcyB0byBxdW90ZSBvdGhlciB3b3Jkcy4gQWxsIExvamJh biBxdW90ZXMgdGFrZSBzb21lIGlucHV0IG9mIHRleHQgYW5kIGNvbnZlcnRzIGl0IHRvIGEgc3Vt dGkuIExldCdzIGJlZ2luIHdpdGggdGhlIG1vc3Qgc2ltcGxlOgoKCgpfXycnbHUnJ19fIFF1b3Rl IHdvcmQ6IEJlZ2luIHF1b3RlIG9mIGdyYW1tYXRpY2FsIExvamJhbiBjb250ZW50CgpfXycnbGkn dScnX18gUXVvdGUgd29yZDogRW5kIHF1b3RlIG9mIGdyYW1tYXRpY2FsIExvamJhbiBjb250ZW50 CgoKClRoZSB0ZXh0IGluc2lkZSB0aGlzIGNvbnN0cnVjdCBtdXN0IGJ5IGl0c2VsZiBiZSBncmFt bWF0aWNhbC4gSXQgY2FuIHF1b3RlIGFsbCBMb2piYW4gd29yZHMgd2l0aCBzb21lIGZldyBleGNl cHRpb25zLCBtb3N0IG5vdGFibHksIG9idmlvdXNseSwgJydsaSd1JycuCgoKClRyeSB0byB0cmFu c2xhdGUgdGhlIGZvbGxvd2luZyBzZW50ZW5jZS4gVGFrZSB5b3VyIHRpbWUuCgonJ21pIHN0aWRp IGxvIGRyYXRhIGJlIHR1J2EgbHUga28gamFpIGdhdSBtbyBsaSd1JycKCl9fJydkcmF0YScnX18g eDEgaXMgZGlmZmVyZW50IGZyb20geDIgYnkgc3RhbmRhcmQKCgoKQW5zd2VyOiB+fmdyZXksZ3Jl eTrigJxJIHN1Z2dlc3Qgc29tZXRoaW5nIGRpZmZlcmVudCB0aGFuIHNvbWV0aGluZyBhYm91dCDi gJxrbyBqYWkgZ2F1IG1v4oCdLuKAnX5+CgoKClRoZXNlIHF1b3RlIHdvcmRzIGNhbm5vdCBxdW90 ZSB1bmdyYW1tYXRpY2FsIHRleHQuIFRoaXMgaXMgc29tZXRpbWVzIHVzZWZ1bCwgd2hlbiB5b3Ug d2FudCB0byBvbmx5IHBpY2sgb3V0IHBhcnQgb2YgYSBzZW50ZW5jZSwgYXMgaW46IOKAnCBpcyDi gJxnaSdl4oCdIGEgTG9qYmFuIHN1bXRjaXRhP+KAnQoKCgpGb3IgdGhpcywgeW91IG5lZWQgdGhl c2UgdHdvIGNtYXZvCgpfXycnbG8ndScnX18gUXVvdGUgd29yZDogQmVnaW4gcXVvdGUgb2YgdW5n cmFtbWF0aWNhbCBidXQgTG9qYmFuIGNvbnRlbnQKCl9fJydsZSd1JydfXyBRdW90ZSB3b3JkOiBF bmQgcXVvdGUgb2YgdW5ncmFtbWF0aWNhbCBidXQgTG9qYmFuIGNvbnRlbnQKCgoKVGhlIHRleHQg aW5zaWRlIG11c3QgYmUgTG9qYmFuIHdvcmRzLCBidXQgbmVlZCBub3QgYmUgZ3JhbW1hdGljYWwu IFRyeSB0byB0cmFuc2xhdGUgdGhlIGFib3ZlIGV4YW1wbGUgKHRoZSBvbmUgd2l0aCAnJ2dpJ2Un JykgaW50byBMb2piYW4KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ3h1IGxvJ3UgZ2knZSBsZSd1 IGxvamJvIHN1bXRjaXRhJyd+fgoKCgpUaGlzIHF1b3RlIGNhbiBiZSB1c2VkIHRvIHF1b3RlIGFs bCBMb2piYW4gd29yZHMgZXhjZXB0ICcnbGUndScnLiBIb3dldmVyLCB0aGlzIGlzIG5vdCBlbm91 Z2guIElmIHdlIHdhbnQgdG8gdHJhbnNsYXRlIOKAnGlzIOKAnWRvIG1v4oCdIGEgY29ycmVjdCB0 cmFuc2xhdGlvbiBvZiDigJxXaGF0J3MgdXA/4oCd4oCdLCB3ZSBtaWdodCBiZSBzbGlnaHRseSB3 cm9uZyBhYm91dCB3aGF0IHdlIGhlcmUgc3RhdGUsIHNpbmNlICcnZG8gbW8nJyBhbHNvIGNhbiBt ZWFuIOKAnFdoYXQgYXJlIHlvdT/igJ0sIGJ1dCBsZXQncyByb2xsIHdpdGggaXQgZm9yIGEgc2Vj b25kLiBXaGF0IHdlIG5lZWQgaGVyZSBpcyB0aGUgd29yZCAnJ3pvaScnLgoKCgonJ3pvaScnIE5l eHQgY21hdm8gaXMgYmVnaW4gYWxsLXB1cnBvc2UgcXVvdGUgYW5kIGNsb3NlIGFsbC1wdXJwb3Nl IHF1b3RlLgoKCgpXaGVuIHVzaW5nICcnem9pJycsIHlvdSBwaWNrIGFueSBtb3JwaG9sb2dpY2Fs bHkgY29ycmVjdCBsb2piYW4gd29yZCBhdCB3aWxsIChjYWxsZWQgdGhlIGRlbGltaXRlciksIHdo aWNoIHRoZW4gb3BlbnMgYSBxdW90ZS4gVG8gY2xvc2UgaXQsIHVzZSB0aGF0IHdvcmQgYWdhaW4u IFRoaXMgd2F5LCB5b3UgY2FuIHF1b3RlIGFueXRoaW5nIGV4Y2VwdCB0aGUgZGVsaW1pdGVyLCB3 aGljaCBzaG91bGRuJ3QgYmUgYSBwcm9ibGVtIGJlY2F1c2UgeW91IGNhbiBwaWNrIGl0IHlvdXJz ZWxmLiBVc3VhbGx5LCB0aGUgd29yZCBwaWNrZWQgaXMgZWl0aGVyICcnem9pJycgaXRzZWxmLCBv ciBhIGxldHRlciB3aGljaCBzdGFuZHMgZm9yIHRoZSBsYW5ndWFnZSB3aGljaCB0aGUgcXVvdGUg aXMgd3JpdHRlbiBpbi4gRXhhbXBsZTog4oCcSSBsaWtlZCBUaGUgUGhhbnRvbSBvZiB0aGUgT3Bl cmHigJ0gaXMgJydtaSBwdSBuZWxjaSBsYSdlIHpvaSB6b2kuIFRoZSBQaGFudG9tIG9mIHRoZSBP cGVyYSAuem9pJycgTm90aWNlIHR3byB0aGluZ3M6IEZpcnN0bHksIEkgbmVlZCBhICcnbGEnZScn LCBzaW5jZSBJIGRpZG4ndCBsaWtlIHRoZSBxdW90ZSwgYnV0IHJhdGhlciB3aGF0IGl0IHJlZmVy cmVkIHRvLiBTZWNvbmRseSwgYmV0d2VlbiB0aGUgY2hvc2VuIGRlbGltaXRlciBhbmQgdGhlIHF1 b3RlLCB0aGVyZSBhcmUgcGF1c2VzLCBvcHRpb25hbGx5IHJlcHJlc2VudGVkIGJ5IGEgZnVsbCBz dG9wIGluIHdyaXRpbmcuIFRoaXMgcGF1c2UgaXMgbmVjZXNzYXJ5IHRvIGNvcnJlY3RseSBpZGVu dGlmeSB0aGUgZGVsaW1pdGVyLgoKCgpUcnkgdG8gdHJhbnNsYXRlIHRoZSBhYm92ZSBzZW50ZW5j ZSBjb25jZXJuaW5nIOKAnFdoYXQncyB1cD/igJ0KCgoKX18nJ2RyYW5pJydfXyB4MSBpcyBjb3Jy ZWN0L3Byb3BlciBpbiBhc3BlY3QgeDIgaW4gc2l0dWF0aW9uIHgzIGJ5IHN0YW5kYXJkIHg0CgoK CkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd4dSBsdSBkbyBtbyBsaSd1IGRyYW5pIHhlIGZhbnZhIHpv aSBneS4gV2hhdCdzIHVwPyAuZ3knJy4gSGVyZSB0aGUgZGVsaW1pdGVyICcnZ3knJyBpcyBjaG9z ZW4gYmVjYXVzZSBpdCdzIHNob3J0IGZvciAnJ2dsaWNvJycsIG1lYW5pbmcgIkVuZ2xpc2gifn4K CgoKQ2xvc2VseSBhbmFsb2dvdXNseSwgdGhlcmUgaXMgJydsYSdvJycuIEl0IHdvcmtzIGV4YWN0 bHkgbGlrZSAnJ3pvaScnLCBidXQgdHVybnMgdGhlIHJlc3VsdGluZyBxdW90ZSBpbnRvIGEgbmFt ZS4gSXQgaXMgbmVlZGVkIGJlY2F1c2Ugbm9ybWFsbHksIG9ubHkgc2VsYnJpIGFuZCBjbWV2bGEg Y2FuIGJlIG5hbWVzLCBub3QgcXVvdGVzLgoKX18nJ2xhJ28nJ19fIE5leHQgY21hdm8gaXMgYmVn aW4gYWxsLXB1cnBvc2UgcXVvdGUgYW5kIGNsb3NlIGFsbC1wdXJwb3NlIHF1b3RlIOKAkyB1c2Ug YXMgbmFtZS4KCgoKTGFzdCBvZiB0aGUgb2ZmaWNpYWwgcXVvdGUgd29yZHMsIHRoZXJlIGlzICcn em8nJy4gJyd6bycnIGFsd2F5cyBxdW90ZXMgdGhlIG5leHQgTG9qYmFuIHdvcmQsIG5vIG1hdHRl ciB3aGF0IGl0IGlzLiBJdCdzIHByZXR0eSBoYW5keS4KCicnem8nJyBRdW90ZSBuZXh0IExvamJh biB3b3JkLCBubyBtYXR0ZXIgd2hhdC4KCkV4YW1wbGU6ICcnem8gem8gem8nbyBwbGl4YXUnJyA9 IOKAnCDigJx6b+KAnSBpcyB1c2VmdWwsIGhlaGXigJ0KCl9fJyd6bydvJydfXyBhdHRpdHVkaW5h bDogZGlzY3Vyc2l2ZTogSHVtb3JvdXNseSwg4oCca2lkZGluZyB5b3XigJ0KCl9fJydwbGl4YXUn J19fIHgxIGlzIHVzZWZ1bCBmb3IgeDIgdG8gZG8gcHVycG9zZSB4MwoKCgpTb21lIExvamJhbiB1 c2VycyBoYXZlIGZvdW5kIGl0IHVzZWZ1bCB0byBzdXBwbGVtZW50IHdpdGggZm91ciBhZGRpdGlv bmFsIHF1b3RlIHdvcmRzLiBUaGV5IGFyZSBhbGwgZXhwZXJpbWVudGFsLCBub3Qgc3VwcG9ydGVk IGJ5IHRoZSBmb3JtYWwgZ3JhbW1hciwgYW5kIHdoYXQgaXMgd29yc2UsIFtodHRwczovL2dyb3Vw cy5nb29nbGUuY29tL2QvdG9waWMvbG9qYmFuL0ZZMm00a3FKX3RnL2Rpc2N1c3Npb258bXVjaCBw cm9ibGVtYXRpYyBpbiBwYXJzaW5nIHdpdGggYW4gZXhwZXJpbWVudGFsIGdyYW1tYXJdLiBOb25l dGhlbGVzcywgdGhleSBhcmUgdXNlZCBvZnRlbiwgYW5kIGl0J3MgZ29vZCB0byBiZSBhYmxlIHRv IHJlY29nbml6ZSB0aGVtLiBUaGUgbW9zdCB1c2VkIGlzOgoKCgpfXycnem8nb2knJ19fIFF1b3Rl IG5leHQgd29yZCBvbmx5LiBOZXh0IHdvcmQgaXMgaWRlbnRpZmllZCBieSBwYXVzZXMgaW4gc3Bl ZWNoIG9yIHdoaXRlc3BhY2UvZG90IGluIHdyaXRpbmc6CgoKCkV4YW1wbGU6ICcncmkgcHUgY3Vz a3Ugem8nb2kgRG9oISAudSdpJycg4oCcSGEgaGEsIGhlIHNhaWQg4oCcRG9oIeKAnSDigJwKCgoK SXQgaXMgYXBwYXJlbnRseSB2ZXJ5IGVhc3kgdG8gdXNlLCBidXQgYXMgYSBtYXR0ZXIgb2YgZmFj dCwgZ2VuZXJhbCB1c2Ugb2YgdGhlbSBpcyB2ZXJ5IHByb2JsZW1hdGljLiBVc2VycyBzaG91bGQg YmUgYXdhcmUgdGhhdCB0aGUgd29yZCBmb2xsb3dpbmcgJyd6bydvaScnIHNob3VsZCBub3QgaW5j bHVkZSBhIHBlcmlvZCwgYSBnbG90dGFsIHN0b3Agb3IgYSBwYXVzZS4gRm9yIGV4YW1wbGUsIHRo ZSBmb2xsb3dpbmcgc2VudGVuY2VzIGFyZSBub3QgcGFyc2VkIGV2ZW4gd2l0aCBhbiBleHBlcmlt ZW50YWwgZ3JhbW1hciEKCgoKRXhhbXBsZSBvZiB3cml0dGVuIHRleHQ6ICcna28gaWtsa2kgc2Vk aSdvIHpvJ29pIGh0dHA6Ly93d3cubG9qYmFuLm9yZy8nJyAtLS0gX19FcnJvcl9fLCBiZWNhdXNl ICcnem8nb2knJyBzY29wZXMgb3ZlciB0aGUgcGFydCAiaHR0cDovL3d3dyIgb25seS4KCgoKRXhh bXBsZSBvZiBzcG9rZW4gdGV4dDogJydsbyBzYWxwbyAoa3UpIGZhJ3UgbG8gZmludGkgY3Ugc211 bmkgem8nb2kgc2FrYSBmYSd1IHpvJ29pIHNhLmthIGxvIHBvbmpvJycgLS0tIF9fRXJyb3JfXywg YmVjYXVzZSB0aGUgc2Vjb25kICcnem8nb2knJyBzY29wZXMgb3ZlciB0aGUgcGFydCAic2EiIG9u bHkuCgooVGhpcyAia3UiIGlzIGVsaWRhYmxlIG9uIGEgcGVnIHBhcnNlci4pCgoKCkFuYWxvZ291 cyB0byAnJ3pvJ29pJycgYW5kICcnbGEnbycnLCB0aGVyZSBpcyBhbHNvIHRoZSB3b3JkICcnbGEn b2knJywgd2hpY2ggd29ya3MganVzdCBsaWtlICcnem8nb2knJywgYnV0IGZvcm1zIGEgc211dGkg dGhhdCByZWZlcnMgdG8gc29tZXRoaW5nIGNhbGxlZCAnJ3dvcmQnJzoKCl9fJydsYSdvaScnX18g U2NvcGUgb3ZlciB0aGUgbmV4dCB3b3JkIG9ubHk7ICJzb21ldGhpbmcgY2FsbGVkIGJ5IHRoZSBu YW1lLi4uIi4gTmV4dCB3b3JkIGlzIGlkZW50aWZpZWQgYnkgcGF1c2VzIGluIHNwZWVjaCBvciB3 aGl0ZXNwYWNlL2RvdCBpbiB3cml0aW5nOgoKCgpIb3cgd291bGQgeW91IHNheTog4oCc4oCcU2Fm aeKAnSBpcyBhbiBFbmdsaXNoIGd1eS4gSXQncyBoaXMgbmFtZeKAnT8KCl9fJydnbGljbycnX18g eDEgaXMgRW5nbGlzaC9wZXJ0YWlucyB0byBFbmdsaXNoIGN1bHR1cmUgaW4gYXNwZWN0IHgyCgpf XycnY21lbmUnJ19fIHgxIGlzIHRoZSBuYW1lIG9mIHgyIGFzIHVzZWQgYnkgeDMKCgoKQW5zd2Vy OiB+fmdyZXksZ3JleTonJ2xhJ29pIFNhZmkgZ2xpY28gLmkgbHUnZSByaSBjbWVuZSByaScnfn4K CgoKJydsYSdvaScnIGhhcyB0aGUgc2FtZSBwcm9ibGVtIGFzICcnem8nb2knJzogdGhlIHdvcmQg Zm9sbG93aW5nICcnbGEnb2knJyBzaG91bGQgbm90IGluY2x1ZGUgYSBwZXJpb2QsIGEgZ2xvdHRh bCBzdG9wIG9yIGEgcGF1c2UuIEZvciBleGFtcGxlLCB0aGUgZm9sbG93aW5nIHNlbnRlbmNlcyBh cmUgbm90IHBhcnNlZCBldmVuIHdpdGggYW4gZXhwZXJpbWVudGFsIGdyYW1tYXIhCgoKCkV4YW1w bGUgb2Ygd3JpdHRlbiB0ZXh0OiAnJy51J2EgbWkgdGUgdmVjbnUgbG8gemdpa2UgZGF0bmkgcGUg bGEnb2kgdC5BLlQudScnIC0tLSBfX0Vycm9yX18sIGJlY2F1c2UgJydsYSdvaScnIHNjb3BlcyBv dmVyIHRoZSBwYXJ0ICJ0IiBvbmx5LgoKKCJ0LkEuVC51IiB3YXMgYSBtdXNpY2FsIGdyb3VwLikK CgoKRXhhbXBsZSBvZiBzcG9rZW4gdGV4dDogJydsYSdvaSAudWxpLnVsaSB6Z2lrZSB0dXRjaScn IC0tLSBfX0Vycm9yX18sIGJlY2F1c2UgJydsYSdvaScnIHNjb3BlcyBvdmVyIHRoZSBmaXJzdCAi dWxpIiBvbmx5LgoKKCJgdWxpYHVsaSIgaXMgYSBIYXdhaWlhbiBtdXNpY2FsIGluc3RydW1lbnQu KQoKCgpFeGFtcGxlIG9mIHNwb2tlbiB0ZXh0OiAnJ2p1J2kgbGEnb2kganVnZW11anVnZW11Z29r b3Vub3N1cmlraXJla2FpamFyaXN1aWdpb25vLSBzdWlnaW91bWF0c3UsdW5yYWltYXRzdWZ1dXJh aW1hdHN1a3UsdW5lcnV0b2tvcm9uaXN1bXV0b2tvcm8saWFidXJha291amlub2J1cmFrb3VqaS0g cGFpcG9wYWlwb3BhaXBvbm9zaXUsdXJpbmdhbnNpdSx1cmluZ2FuLG5vZ3UsdXJpbmRhaWd1LHVy aW5kYWlub3BvbnBva29waSxpbm9wb25wb2tvbmEsYW5vdGNvdWtpdSx1bWVpbm90Y291c3VrZSBt aSdvIGtvJ29pIGtsYW1hIGxvIGNrdWxlJycgLS0tIERvbid0IHRha2UgYSBicmVhdGhpbmcgaW4g dGhlIG5hbWUsIG9yIGl0IHdpbGwgcmVzdWx0IGluIGFuIF9fRXJyb3JfXy4KCigi44GY44KF44GS 44KA44GY44KF44GS44KA44GU44GT44GG44Gu44GZ44KK44GN44KM44GL44GE44GY44KD44KK44GZ 44GE44GO44KH44Gu44GZ44GE44GO44KH44GG44G+44Gk44GG44KT44KJ44GE44G+44Gk44G144GG 44KJ44GE44G+44Gk44GP44GG44Gt44KL44Go44GT44KN44Gr44GZ44KA44Go44GT44KN44KE44G2 44KJ44GT44GG44GY44Gu44G244KJ44GT44GG44GY44Gx44GE44G944Gx44GE44G944Gx44GE44G9 44Gu44GX44KF44O844KK44KT44GM44KT44GX44KF44O844KK44KT44GM44KT44Gu44GQ44O844KK 44KT44Gg44GE44GQ44O844KK44KT44Gg44GE44Gu44G944KT44G944GT44G044O844Gu44G944KT 44G944GT44Gq44O844Gu44Gh44KH44GG44GN44KF44GG44KB44GE44Gu44Gh44KH44GG44GZ44GR IiBpcyBhIGZhbW91cyBKYXBhbmVzZSBuYW1lIG9mIGEgYm95LikKCgoKVGhpcmRseSwgJydyYSdv aScnIHF1b3RlcyB0aGUgbmV4dCByYWZzaS4gU2luY2UgcmFmc2kgYXJlIG5vdCB3b3JkcywgdGhl eSB3b3VsZCB1c3VhbGx5IGhhdmUgdG8gYmUgcXVvdGVkIGJ5ICcnem9pJycuIEZ1cnRoZXJtb3Jl LCBzZXZlcmFsIHJhZnNpIGFyZSBhbHNvIGNtYXZvLiBUbyBhdm9pZCBjb25mdXNpb24gb2Ygd2hp Y2ggaXMgbWVhbnQsICcncmEnb2knJyBhbHdheXMgcmVmZXIgdG8gYSByYWZzaSwgYW5kIGlzIHdy b25nIGluIGZyb250IG9mIGFueSB0ZXh0IHN0cmluZyB3aGljaCBhcmUgbm90IHJhZnNpLgoKCgpX aGF0IGRvZXMgJydyYSdvaSB6dSdlIHJhZnNpIHpvIHp1a3RlIC5pa3UnaSB6bydvaSB6dSdlIHN1 bXRjaXRhJycgbWVhbj8KCl9fJydrdSdpJydfXyBhdHRpdHVkaW5hbDogZGlzY3Vyc2l2ZTogSG93 ZXZlciAvIHRob3VnaCAoY29udHJhc3RzIHRvIHNvbWV0aGluZyBwcmV2aW91c2x5IHNhaWQpCgpf XycncmFmc2knJ19fIHgxIGFuIGFmZml4IGZvciB3b3JkL2NvbmNlcHQgeDIgd2l0aCBwcm9wZXJ0 aWVzL29mIGZvcm0geDMgaW4gbGFuZ3VhZ2UgeDQKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxU aGUgcmFmc2kg4oCcenUnZeKAnSBpcyBhIHJhZnNpIGZvciDigJx6dWt0ZeKAnS4gQnV0IOKAnHp1 J2XigJ0gaXMgYSBzdW10Y2l0YeKAnX5+CgoKCkFuZCBmaW5hbGx5IHRoZSB1c2VmdWwgd29yZCAn J21hJ29pJycuICcnbWEnb2knJyBxdW90ZXMgYW55IGNtYXZvLCBidXQgdHJlYXRzIHRoZSBxdW90 ZSBhcyBhIG5hbWUgZm9yIHRoZSB3b3JkIGNsYXNzIChzZWxtYSdvKSB0byB3aGljaCB0aGF0IHdv cmQgYmVsb25ncy4gU28sIGZvciBpbnN0YW5jZSwgYmEnbyBiZWxvbmdzIHRvIHRoZSB3b3JkY2xh c3MgY2FsbGVkIFpBaE8sIHNvICcnbWEnb2kgYmEnbycnIGlzIHVub2ZmaWNpYWwgTG9qYmFuIGZv ciDigJxaYWhP4oCdCgoKClRyeSBpdCBvdXQuIFNheSB0aGF0ICcncHUnJyBhbmQgJydiYScnIGFy ZSBpbiB0aGUgc2FtZSBzZWxtYSdvIQoKX18nJ2NtYXZvJydfXyB4MSBpcyBhIGdyYW1tYXRpY2Fs IHdvcmQgb2YgY2xhc3MgeDIgaW4gbGFuZ3VhZ2UgeDMKCgoKKE9uZSBwb3NzaWJsZSkgQW5zd2Vy OiAgfn5ncmV5LGdyZXk6Jyd6byBwdSBjbWF2byBtYSdvaSBiYScnfn4KCgoKISFMb2piYW4gTGVz c29ucyAtIExlc3NvbiBuaW5ldGVlbiAobnVtYmVycykKCldoZW4gbGVhcm5pbmcgYSBsYW5ndWFn ZSwgb25lIG9mIHRoZSB0aGluZ3Mgd2hpY2ggYXJlIHVzdWFsbHkgdGF1Z2h0IHZlcnkgZWFybHkg b24gaXMgaG93IHRvIGNvdW50LiBUaGlzIHJlYWxseSBtYWtlcyBsaXR0bGUgc2Vuc2UsIGJlY2F1 c2UgaXQncyBub3QgbmVjZXNzYXJ5IHRvIGtub3cgbnVtYmVycyBpZiB5b3UgZG9uJ3Qga25vdyBo b3cgdG8gc3BlYWsgYWJvdXQgdGhvc2UgdGhpbmdzIHRvIHdoaWNoIHRoZXkgYXBwbHkuIFRoaXMg aXMgcGFydGx5IHRoZSByZWFzb24gd2h5IEkgaGF2ZSBsZWZ0IGl0IGZvciBsZXNzb24gbnVtYmVy IG5pbmV0ZWVuLiBUaGUgb3RoZXIgcmVhc29uIGlzIHRoYXQgd2hpbGUgdGhlIG51bWJlcnMgdGhl bXNlbHZlcyBhcmUgZWFzeSB0byBsZWFybiwgaG93IHRoZXkgYXBwbHkgdG8gc3VtdGkgY2FuIGdl dCB2ZXJ5IGNvbmZ1c2luZyBpbmRlZWQuIFRoYXQsIGhvd2V2ZXIsIHdlIHdpbGwgc2F2ZSBmb3Ig YSBsYXRlciBsZXNzb24uCgpCZWZvcmUgbGVhcm5pbmcgdGhlIHdvcmRzIHRoZW1zZWx2ZXMsIHlv dSBzaG91bGQga25vdyB0aGF0IG51bWJlcnMgZG8gbm90IGhhdmUgYW55IGludGVybmFsIGdyYW1t YXIuIFRoaXMgbWVhbnMgdGhhdCBhbnkgcm93IG9mIG51bWJlciB3b3JkcyAoaGVuY2Vmb3J0aCBy ZWZlcnJlZCB0byBhcyBhICJudW1iZXIgc3RyaW5nIikgYXJlIHRyZWF0ZWQgaWRlbnRpY2FsbHkg dG8gYW55IG90aGVyIG51bWJlciBzdHJpbmcgdG8gdGhlIExvamJhbiBncmFtbWFyLCBldmVuIGlm IHRoZSBzdHJpbmcgbWFrZXMgbm8gc2Vuc2UuIFRoZXJlZm9yZSwgb25lIGNhbiBuZXZlciBhbnN3 ZXIgdW5hbWJpZ3VvdXNseSB3aGV0aGVyIGEgbnVtYmVyIGNvbnN0cnVjdCBtYWtlcyBzZW5zZSBv ciBub3QuIFRoZXJlIGFyZSwgaG93ZXZlciwgaW50ZW5kZWQgd2F5cyBvZiB1c2luZyB0aGUgbnVt YmVyIHdvcmRzLCBhbmQgY29uZnVzaW9uIHdpbGwgcHJvYmFibHkgcmVzdWx0IGlmIHlvdSBkZXZp YXRlIGZyb20gdGhlIHN0YW5kYXJkLgoKTGVhcm5pbmcgYWxsIHRoZSBudW1iZXIgd29yZHMgb2Yg TG9qYmFuIGFyZSB3YXkgYmV5b25kIHRoZSBzY29wZSBvZiB0aGlzIGxlc3Nvbiwgc28geW91IHdp bGwgb25seSBiZSBpbnRyb2R1Y2VkIHRvIHdoYXQgaXMgbm9ybWFsbHkgdXNlZCBpbiB0ZXh0LiBU aGUgd2lkZSByYW5nZSBvZiBMb2piYW4gbWF0aGVtYXRpY2FsIGNtYXZvIGFyZSBjYWxsZWQgJydt ZWtzbycnIChMb2piYW4gZm9yICJtYXRoZW1hdGljYWwgZXhwcmVzc2lvbiIpLCBhbmQgaXMgd2lk ZWx5IGRpc3JlZ2FyZGVkIGJlY2F1c2Ugb2YgaXRzIGNvbXBsZXhpdHkgYW5kIHF1ZXN0aW9uYWJs ZSBhZHZhbnRhZ2Ugb3ZlciBzby1jYWxsZWQgYnJpZGkgbWF0aC4KCkxldCdzIGJlZ2luIHdpdGgg dGhlIG9yZGluYXJ5IExvamJhbiBudW1iZXJzLCBmcm9tIHplcm8gdG8gbmluZToKCnx8emVyb3xv bmV8dHdvfHRocmVlfGZvdXJ8Zml2ZXxzaXh8c2V2ZW58ZWlnaHR8bmluZQoKbm98cGF8cmV8Y2l8 dm98bXV8eGF8emV8Yml8c298fAoKTm90aWNlIGhvdyB0aGUgdm93ZWxzIGFyZSBhbHRlcm5hdGlu ZyAod2l0aCB0aGUgZXhjZXB0aW9uIG9mICcnbm8nJyksIGFuZCBob3cgbm8gY29uc29uYW50IGlz IHVzZWQgZm9yIHR3byBkaWdpdHMuCgpJbiBvcmRlciB0byBleHByZXNzIG51bWJlcnMgaGlnaGVy IHRoYW4gbmluZSwgdGhlIG51bWJlcnMgYXJlIGp1c3Qgc3RydW5nIHRvZ2V0aGVyOgoKJyd2byBt dSBjaScnIOKAkyBmb3VyIGh1bmRyZWQgYW5kIGZpZnR5IHRocmVlICg0NTMpCgonJ3BhIG5vIG5v IG5vIG5vJycgdGVuIHRob3VzYW5kICgxMCAwMDApCgpUaGVyZSBpcyBhbHNvIGEg4oCccXVlc3Rp b24tZGlnaXTigJ0sIHdoaWNoIGlzIHVzZWQgbGlrZSBvdGhlciBmaWxsLWluLXRoZS1ibGFuayBx dWVzdGlvbiB3b3Jkcy4gSXQncyAnJ3hvJycuIFRoZSBhbnN3ZXIgdG8gc3VjaCBhIHF1ZXN0aW9u IG1heSBiZSBqdXN0IHRoZSByZWxldmFudCBkaWdpdChzKSBieSBpdHNlbGYsIG9yIHRoZXkgY2Fu IGJlIG51bWVyaWNhbCBjb25zdHJ1Y3RzLCBhcyBzaG93biBsYXRlci4KCicnY2kgeG8geG8geG8n JyDigJMgIlRocmVlIHRob3VzYW5kIGFuZCBob3cgbWFueT8iICgzPz8/KQoKX18nJ3hvJydfXyBx dWVzdGlvbiBkaWdpdCDigJMgdXNlIGxpa2UgYW55IG90aGVyIGRpZ2l0IHRvIGFzayBmb3IgdGhl IGNvcnJlY3QgZGlnaXQuCgpUaGUgZXhwZXJpbWVudGFsIHdvcmQgJyd4bydlJycgaXMgc29tZXRp bWVzIHVzZWQgdG8gbWVhbiBhbiB1bnNwZWNpZmllZCwgZWxsaXB0aWNhbCBkaWdpdC4gSXRzIGRl ZmluaXRpb24gaXMgbm90IG9mZmljaWFsLCB0aG91Z2guCgonJ2NpIHhvJ2UgeG8nZSB4bydlJycg 4oCTIFRocmVlIHRob3VzYW5kIGFuZCBzb21ldGhpbmcKCl9fJyd4bydlJydfXyBlbGxpcHRpY2Fs IGRpZ2l0LgoKU2luY2UgYWxsIG51bWJlciBzdHJpbmdzIGFyZSB0cmVhdGVkIGdyYW1tYXRpY2Fs bHkgdGhlIHNhbWUsIG9uZSBtaWdodCBhbHNvIGFuc3dlciBzZXZlcmFsIGRpZ2l0cyB0byBvbmUg Jyd4bydlJycKCgoKRnVydGhlcm1vcmUsIHRoZXJlIGlzIGFsc28gYSBzZXQgb2YgaGV4YWRlY2lt YWwgZGlnaXRzIEEgdGhyb3VnaCBGLiBCeSBkZWZhdWx0LCBMb2piYW4gb3BlcmF0ZXMgaW4gYmFz ZSAxMCwgYnV0IHdoZW4gdXNpbmcgaGV4YWRlY2ltYWwgZGlnaXRzLCBpdCBjYW4gYmUgc2FmZWx5 IGFzc3VtZWQgdGhhdCB5b3UgdXNlIGJhc2Ugc2l4dGVlbjoKCnx8ZGF1fGZlaXxnYWl8amF1fHJl aXx4ZWkgfHZhaXwKCjEwKEEpfDExKEIpfDEyKEMpfDEzKEQpfDE0KEUpfDE0KEUpfDE1KEYpfHwK ClllcywgSSBrbm93IHRoZXJlIGFyZSB0d28gd29yZHMgZm9yIEUuIFRoZSBvZmZpY2lhbCBvbmUg aXMgJydyZWknJyAoYWxsIHRocmVlLWxldHRlciBjbWF2byBiZWdpbm5pbmcgd2l0aCB4IGlzIGV4 cGVyaW1lbnRhbCkuICcneGVpJycgd2FzIGludmVudGVkIHRvIGF2b2lkIGNvbmZ1c2lvbiB3aXRo ICcncmUnJy4KClRoZSBiYXNlIGNhbiBiZSBleHBsaWNpdGx5IHN0YXRlZCB1c2luZyAnJ2p1J3Un JzogQW55IG51bWJlciBiZWZvcmUgJydqdSd1JycgdGhlIG51bWJlciBiZWluZyBzcG9rZW4gb2Ys IGFueSBudW1iZXIgYWZ0ZXIgaXMgdGhlIGJhc2Ugb2YgdGhlIG51bWJlcjoKCicnZGF1IHNvIGZl aSBubyBqdSd1IHBhIHJlJycg4oCTIEE5QjAgaW4gYmFzZSAxMiAobm90aWNlIGhlcmUgdGhhdCBi YXNlIDEyIGlzIGFsd2F5cyBpbiBkZWNpbWFsLiBJdCBpcyBwb3NzaWJsZSB0byBwZXJtYW5lbnRs eSBjaGFuZ2UgdGhlIGJhc2UgeW91IHNwZWFrIGluLCBidXQgc2luY2UgaXQgaGFzIG5ldmVyIGJl ZW4gdXNlZCBpbiBwcmFjdGljZSwgaXQgaGFzIG5vdCBiZWVuIHN0YW5kYXJkaXplZCBob3cgb25l IHNob3VsZCBkbyBpdCkKCkZyYWN0aW9ucyBhcmUgYWxzbyB1c2VmdWwgdG8gbGVhcm4gaG93IHRv IGV4cHJlc3MuIFRoZXkgYXJlIHVzdWFsbHkgZXhwcmVzc2VkIHZpYSBhIGRlY2ltYWwgcG9pbnQs ICcncGknJy4KCl9fJydwaScnX18gRGVjaW1hbCBwb2ludCAob3IgcG9pbnQgaW4gd2hpY2hldmVy IGJhc2UgeW91IGFyZSB0YWxraW5nIGluKQoKJydwYSByZSBwaSByZSBtdScnIOKAkyB0d2VsdmUg cG9pbnQgdHdvIGZpdmUgKDEyLjI1KS4gCgpMaWtlIGluIG1hdGhlbWF0aWNzLCB3aGVuIG5vIG51 bWJlciBzdHJpbmcgaXMgcGxhY2VkIGJlZm9yZSBvciBhZnRlciAnJ3BpJycsIHplcm8gaXMgYXNz dW1lZC4gCgpSZWxhdGVkIHRvIHRoaXMsIHRoZSBudW1iZXIgc2VwYXJhdG9yICcncGknZScnIGlz IHVzZWQgdG8gc2VwYXJhdGUgbnVtYmVycywgZWl0aGVyIHRvIHNlcGFyYXRlIGRpZ2l0cyB3aGVu IHNwZWFraW5nIGluIGEgYmFzZSBsYXJnZXIgdGhhbiBzaXh0ZWVuLCBvciB3aGVuIGEgZGVjaW1h bCBwb2ludCBpcyBub3QgYXBwbGljYWJsZSwgZm9yIGluc3RhbmNlLCB3aGVuIHRhbGtpbmcgYWJv dXQgdGltZSBpbiBob3VycywgbWludXRlcywgc2Vjb25kczoKCicncGEgc28gcGknZSByZSBtdSBw aSdlIG5vIGp1J3UgcmUgemUnJyDigJMgTmluZXRlZW4sIHR3ZW50eS1maXZlLCB6ZXJvIGluIGJh c2UgMjcgKEpQMCBiYXNlIDI3KQoKJydyZSByZSBwaSdlIHZvIGJpJycg4oCTIHR3ZW50eS10d28s IGZvdXJ0eSBlaWdodCAoMjI6NDgpCgoKClRoZXJlIGlzIGFsc28gYSByYW5nZSBvZiBudW1iZXIg d29yZHMgd2hpY2ggYXJlIG5vdCBtYXRoZW1hdGljYWxseSBleGFjdCBidXQgcmF0aGVyIHN1Ympl Y3RpdmUgb3IgcmVsYXRpdmUuIFRoZSBiZWhhdmlvcnMgb2YgdGhlc2Ugd29yZHMgYXJlIGFsbW9z dCBleGFjdGx5IGxpa2UgdGhlIGJlaGF2aW9yIG9mIGRpZ2l0cywgZXhjZXB0IHRoZXkgY2Fubm90 IGJlIGNvbWJpbmVkIHRvIG1ha2UgYmlnZ2VyIG51bWJlcnMgdGhlIHdheSBkaWdpdHMgY2FuOgoK fHwgcm98c28nYXxzbydlfHNvJ2l8c28nb3xzbyd1fAoKYWxsfGFsbW9zdCBhbGx8bW9zdHxtYW55 fHNvbWV8ZmV3fHwKCldoZW4gY29tYmluZWQgd2l0aCBhbnkgb2YgdGhlIGRpZ2l0cywgdGhlc2Ug d29yZHMgYXJlIGFzc3VtZWQgdG8gZ2l2ZSBhIHNlY29uZCB2ZXJkaWN0IGFib3V0IHRoZSBzaXpl IG9mIHRoZSBudW1iZXI6CgonJ211IGJpIHNvJ2kgc2FpJycg4oCTRmlmdHkgZWlnaHQsIHdoaWNo IGlzIHJlYWxseSBtYW55LgoKVGhleSBzaG91bGQgdGhlcmVmb3JlIG5vdCBiZSBwbGFjZWQgaW4g dGhlIG1pZGRsZSBvZiBhIG51bWJlciBzdHJpbmcuIFdoZW4gcGxhY2VkIGFmdGVyICcncGknJywg dGhleSBhcmUgYXNzdW1lZCB0byBjb252ZXkgdGhlIHNpemUgb2YgYSBmcmFjdGlvbjoKCicncGkg c28ndScnIOKAkyBhIHNtYWxsIHBhcnQgb2YgaXQKCicncGkgc28nbycnIOKAkyBzb21lIG9mIGl0 IAoKJydwaSBzbydpJycg4oCTIGEgbGFyZ2UgcGFydCBvZiBpdCAKCicncGkgc28nZScnIOKAkyBt b3N0IG9mIGl0CgonJ3BpIHNvJ2EnJyDigJMgYWxtb3N0IGFsbCBvZiBpdAoKCgpUaGVzZSBhcmUg c29tZSBoaWdodGx5IHN1YmplY3RpdmUgbnVtYmVycyAtIHRoZXkgd29yayBqdXN0IGxpa2UgdGhl IHByZXZpb3VzIG9uZXMuCgp8fGR1J2V8bW8nYXxyYXUKCnRvbyBtYW55fHRvbyBmZXd8ZW5vdWdo fHwKClRoZSBmb2xsb3dpbmcgZml2ZSBhcmUgY29udGV4dC1iYXNlZCBudW1iZXJzIOKAkyB0aGVz ZSB3b3JrIGxpa2UgdGhlIHByZXZpb3VzIG9uZXMsIHdpdGggdGhlIGV4Y2VwdGlvbiB0aGF0IHRo ZXkgdGFrZSB0aGUgbmV4dCBudW1iZXIgaW4gb3JkZXIgdG8gYXNzaWduIHRoZW0gbWVhbmluZzoK Cnx8ZGEnYXxzdSdlfHN1J298emEndXxtZSdpCgphbGwgZXhjZXB0IG4gfEF0IG1vc3QgbnxBdCBs ZWFzdCBufG1vcmUgdGhhbiBufGxlc3MgdGhhbiBufHwKCklmIG5vIG51bWJlciBzdHJpbmcgZm9s bG93IHRoZW0sIOKAnG9uZeKAnSBpcyBhc3N1bWVkLgoKJydzbydpIHBhIHJlIGRhJ2EgbXUnJyDi gJMgTWFueSwgd2hpY2ggaXMgdHdlbHZlLCB3aGljaCBpcyBhbGwgYnV0IGZpdmUuCgpUaGUgdHdv IGxhc3QgbnVtYmVyIHdvcmRzIHlvdSBzaG91bGQga25vdyBoYXZlIHNsaWdodGx5IG1vcmUgY29t cGxpY2F0ZWQgZ3JhbW1hcjoKCl9fJydqaSdpJydfXyAtIG51bWJlciByb3VuZGluZyBvciBudW1i ZXIgYXBwcm94aW1hdGlvbgoKV2hlbiAnJ2ppJ2knJyBpcyBwbGFjZWQgYmVmb3JlIGEgbnVtYmVy LCB0aGUgZW50aXJlIG51bWJlciBpcyBhcHByb3hpbWF0ZWQ6CgonJ2ppJ2kgemUgbm8gemEndSBy YXUganUnbycnIOKAkyAiQWJvdXQgc2V2ZW50eSwgd2hpY2ggaXMgbW9yZSB0aGFuIGVub3VnaCwg Y2VydGFpbmx54oCdCgpQbGFjZWQgaW4gdGhlIG1pZGRsZSBvZiB0aGUgbnVtYmVyLCBvbmx5IHRo ZSBmb2xsb3dpbmcgZGlnaXRzIGFyZSBub24tZXhhY3QuIEF0IHRoZSBlbmQgb2YgYSBudW1iZXIs IGl0IHNpZ25pZmllcyB0aGF0IHRoZSBudW1iZXIgaGFzIGJlZW4gcm91bmRlZCBvZmYuIAoKX18n J2tpJ28nJ19fIE51bWJlciBjb21tYSAgLSBzZXBhcmF0ZXMgZGlnaXRzIHdpdGhpbiBvbmUgc3Ry aW5nOyBUaG91c2FuZHMuCgpJdCBpcyBub3QgaW5jaWRlbnRpYWwgdGhhdCAnJ2tpJ28nJyBzb3Vu ZHMgbGlrZSDigJxraWxv4oCdLiBBdCBpdHMgc2ltcGxlc3QsICcna2knbycnIGlzIHVzZWQgdG8g c2VwYXJhdGUgdGhyZWUgZGlnaXRzIGF0IGEgdGltZSBpbiBsYXJnZSBudW1iZXJzLCBtdWNoIGxp a2UgY29tbWFzIGFyZSB1c2VkIGluIEVuZ2xpc2g6CgonJ3BhIGtpJ28gc28gc28gc28ga2knbyBi aSB4YSB6ZScnIOKAkyAxLDk5OSw4NjcKCklmIGxlc3MgdGhhbiB0aHJlZSBkaWdpdHMgYXJlIHB1 dCBiZWZvcmUgYSAnJ2tpJ28nJywgdGhlIGRpZ2l0cyBhcmUgYXNzdW1lZCB0byBiZSB0aGUgbGVh c3Qgc2lnbmlmaWNhbnQgb25lcywgYW5kIHplcm9zIGFyZSBhc3N1bWVkIHRvIGZpbGwgaW4gdGhl IHJlc3Q6CgonJ3ZvIGtpJ28gY2kgYmkga2knbyBwYSBraSdvIGtpJ28nJyDigJMgNCwwMzgsMDAx LDAwMCwwMDAKCicna2knbycnIGlzIHVzZWQgc2ltaWxhcmx5IGFmdGVyIGEgZGVjaW1hbCBwb2lu dC4KCgoKVGhhdCBjb25jbHVkZXMgdGhlIGNvbW1vbiBMb2piYW4gbnVtYmVycyB0aGVtc2VsdmVz LiBIb3cgdGhleSBhcHBseSB0byBzdW10aSBpcyBhIHNjaWVuY2UgaW4gaXRzZWxmLCBhbmQgd2Ug bGVhdmUgdGhhdCBmb3IgbGVzc29uIHR3ZW50eS10d28uIE5vdyB3ZSBmb2N1cyBvbiBob3cgdGhl c2UgbnVtYmVycyBjYW4gYmUgdXNlZCBpbiBhIGJyaWRpLgoKQSBzdHJpbmcgb2YgbnVtYmVyIHdv cmRzIGJ5IHRoZW1zZWx2ZXMgYXJlIGdyYW1tYXRpY2FsLCBzaW5jZSB0aGV5IGNhbiBhY3QgYXMg YW4gYW5zd2VyIHRvIGEgJyd4bycnLXR5cGUgb2YgcXVlc3Rpb24uIEluIHRoaXMgY2FzZSwgaG93 ZXZlciwgdGhleSBjYW5ub3QgYmUgY29uc2lkZXJlZCBwYXJ0IG9mIGFueSBicmlkaS4gSW4gZ2Vu ZXJhbCwgaWYgbnVtYmVycyBmaWxsIHBhcnQgb2YgYSBicmlkaSwgdGhleSBkbyBzbyBpbiBvbmUg b2YgdHdvIGZvcm1zOiBQdXJlIG51bWJlcnMgYW5kIHF1YW50aWZpZXJzLiBXZSB3aWxsIHJldHVy biB0byBxdWFudGlmaWVycyBpbiBhIGxhdGVyIGxlc3Nvbi4gRm9yIG5vdywgd2Ugd2lsbCBsb29r IGF0IHB1cmUgbnVtYmVycy4KCkEgcHVyZSBudW1iZXIgaXMgYW55IHJvdyBvZiBudW1iZXIgd29y ZHMgcHJlZml4ZWQgd2l0aCAnJ2xpJycuIFRoaXMgbWFrZXMgYSBzdW10aSBkaXJlY3RseSBmcm9t IHRoZSBudW1iZXIsIGFuZCByZWZlcnMgdG8gdGhlIG1hdGhlbWF0aWNhbCBjb25jZXB0IG9mLCBm b3IgaW5zdGFuY2UsIOKAnHRoZSBudW1iZXIgc2l44oCdLiBJdHMgZmEnb3JtYSdvIGlzICcnbG8n bycnCgpfXycnbGknJ19fIGNvbnZlcnQgbnVtYmVyL21la3NvLWV4cHJlc3Npb24gdG8gc3VtdGku CgpfXycnbG8nbycnX18gZmEnb3JtYSdvOiBlbmQgY29udmVydCBudW1iZXIvbWVrc28tZXhwcmVz c2lvbiB0byBzdW10aS4KClRoZXNlIHB1cmUgc3VtdGkgYXJlIHVzdWFsbHkgd2hhdCBmaWxscyB0 aGUgeDIgb2YgYnJpdmxhIHN1Y2ggYXMgJydtaXRyZScnIG9yICcnY2FjcmEnJwoKX18nJ21pdHJl JydfXyB4MSBpcyB4MiBtZXRyZXMgaW4gZGltZW5zaW9uIHgzIGJ5IHN0YW5kYXJkIHg0CgpfXycn Y2FjcmEnJ19fIHgxIGlzIHgyIGhvdXJzIGluIGR1cmF0aW9uIChkZWZhdWx0IDEpIGJ5IHN0YW5k YXJkIHgzCgoKClRyeSB0byB0cmFuc2xhdGUgdGhlIGZvbGxvd2luZzoKCicnbGUgdGEgbnUgY2lu amlrY2EgY3UgY2FjcmEgbGkgY2kgamknaSB1J2kgbmFpJycKCkFuc3dlcjogfn5ncmV5LGdyZXk6 IOKAnSpzaWdoKiBUaGF0IGZsaXJ0aW5nIGhhcyBiZWVuIGdvaW5nIG9uIGZvciBhcm91bmQgdGhy ZWUgaG91cnMu4oCdIH5+CgpIb3cgZG8geW91IGNvdW50IHRvIHRocmVlIGluIExvamJhbj8KCkFu c3dlcjogfn5ncmV5LGdyZXk6ICcnbGkgcGEgbGkgcmUgbGkgY2knJyB+fgoKCgpUaGUgbGFzdCB0 aGluZyB3ZSdsbCBnbyB0aHJvdWdoIGluIHRoaXMgbGVzc29uIGlzIHRoZSB3b3JkcyBvZiB0aGUg c2VsbWEnbyBNQUkgYW5kIHRob3NlIG9mIE1PSS4KCk1BSSBvbmx5IGNvbnRhaW5zIHR3byB3b3Jk cywgJydtYWknJyBhbmQgJydtbydvJycuIEJvdGggb2YgdGhlc2UgY29udmVydCBhbnkgbnVtYmVy IHN0cmluZyB0byBhbiBvcmRpbmFsLCB3aGljaCBoYXMgdGhlIGdyYW1tYXIgb2YgYXR0aXR1ZGlu YWxzLiBPcmRpbmFscyBhcmUgdXNlZCB0byBkaXZpZGUgYSB0ZXh0IGludG8gbnVtYmVyZWQgc2Vn bWVudHMsIGxpa2UgY2hhcHRlcnMgb3IgcGFydHMuIFRoZSBvbmx5IGRpZmZlcmVuY2UgYmV0d2Vl biAnJ21haScnIGFuZCAnJ21vJ28nJyBpcyB0aGF0ICcnbW8nbycnIHF1YW50aWZpZXMgbGFyZ2Vy IHN1YmRpdmlzaW9ucyBvZiB0ZXh0LCBhbGxvd2luZyB5b3UgdG8gZGl2aWRlIGEgdGV4dCBvbiB0 d28gZGlmZmVyZW50IGxldmVscywgZm9yIGV4YW1wbGUgZW51bWVyYXRpbmcgY2hhcHRlcnMgd2l0 aCAnJ21vJ28nJyBhbmQgc2VjdGlvbnMgd2l0aCAnJ21haScnLiBOb3RpY2UgdGhhdCB0aGVzZSBh cyB3ZWxsIGFzIHRoZSBNT0kgdGFrZSBhbnkgbnVtYmVyIHN0cmluZyBkaXJlY3RseSwgd2l0aG91 dCBhbnkgbmVlZCBmb3IgJydsaScnLgoKX18nJ21haScnX186IExvd2VyLW9yZGVyIG9yZGluYWwg bWFya2VyOiBDb252ZXJ0IG51bWJlciB0byBvcmRpbmFsCgpfXycnbW8nbycnX186IEhpZ2hlciBv cmRlciBvcmRpbmFsIG1hcmtlcjogQ29udmVydCBudW1iZXIgdG8gb3JkaW5hbC4KCgoKVGhlcmUg YXJlIGZpdmUgTU9JLCBhbmQgdGhleSBhbGwgY29udmVydCBhbnkgbnVtYmVyIHN0cmluZyB0byBz ZWxicmkuIFdlJ2xsIHRha2UgdGhlbSBvbmUgYXQgYSB0aW1lOgoKX18nJ21vaScnX18gLSBDb252 ZXJ0IG51bWJlciBuIHRvIHNlbGJyaTogeDEgaXMgdGhlIG4ndGggbWVtYmVyIG9mIHNldCB4MiBi eSBvcmRlciB4MwoKRXhhbXBsZTogJydsYSBsdXRjaW1pbiBjaSBtb2kgbG8naSBuaW5tdSBwZW5k byBiZSBtaSBsZSBzdSd1IGxvIGNsYW5pIHptYWR1IGN1IGxpZG5lIGxvIGNsYW5pIG1sZWNhJycg 4oCTIOKAnEx1aS1DaGkgTWluIGlzIHRoaXJkIGFtb25nIG15IGZlbWFsZSBmcmllbmRzIGJ5IHRo ZSBvcmRlcjogVGhlIG1vcmUgdGFsbCBvbmVzIHByZWNlZGVzIHRoZSBsZXNzIHRhbGwgb25lc+KA nS4KCihXaGVuIHNwZWNpZnlpbmcgYSBzZXF1ZW5jZSwgaXQgaXMgd2lkZWx5IHVuZGVyc3Rvb2Qg dGhhdCBpZiBhICcna2EnJy1hYnN0cmFjdGlvbiAobGVzc29uIHR3ZW50eS1uaW5lKSBpcyB1c2Vk IGFzIGEgc3VtdGksIHRoZSBtZW1iZXJzIG9mIHRoZSBzZXQgYXJlIG9yZGVyZWQgZnJvbSB0aGUg b25lIHdpdGggbW9zdCBvZiB0aGUgcHJvcGVydHkgdG8gdGhlIG9uZSB3aXRoIGxlc3Mgb2YgdGhl IHByb3BlcnR5LCBzbyB0aGUgeDMgb2YgdGhlIGZvbGxvd2luZyBzZW50ZW5jZSBjb3VsZCBoYXZl IGJlZW4gc2hvcnRlbmVkIHRvICcnbG8ga2EgY2xhbmknJykKCl9fJydsaWRuZScnX18geDEgaXMg YmVmb3JlIHgyIGluIHNlcXVlbmNlIHgzCgpfXycnY2xhbmknJ19fIHgxIGlzIGxvbmcgaW4gZGlt ZW5zaW9uIHgyIGJ5IHN0YW5kYXJkIHgzCgpfXycnem1hZHUnJ19fIHgxIGV4Y2VlZHMgeDIgaW4g cHJvcGVydHkvYXNwZWN0IHgzIGJ5IGFtb3VudCB4NAoKX18nJ21sZWNhJydfXyB4MSBpcyBsZXNz IHRoYW4vaXMgbGVzcyBjaGFyYWN0ZXJpemVkIHRoYW4geDIgYnkgcHJvcGVydHkvYXNwZWN0IHgz IGJ5IGFtb3VudCB4NAoKCgpfXycnbWVpJydfXyAtIENvbnZlcnQgbnVtYmVyIG4gdG8gc2VsYnJp OiB4MSBpcyB0aGUgbWFzcyBmb3JtZWQgZnJvbSB0aGUgc2V0IHgyLCB3aGljaCBoYXMgdGhlIG4g bWVtYmVycyBvZiB4MwoKTm90aWNlIGhlcmUgdGhhdCB4MyBhcmUgc3VwcG9zZWQgdG8gYmUgaW5k aXZpZHVhbHMsIHgyIGEgc2V0IGFuZCB4MSBhIG1hc3MuCgpXaGF0IHdvdWxkICcnbWkgY2kgbWVp JycgbWVhbj8gCgpBbndlcjogfn5ncmV5LGdyZXk64oCcV2UgYXJlIGdyb3VwIG9mIHRocmVlLuKA nX5+CgoKCl9fJydzaSdlJydfXyAtIENvbnZlcnQgbnVtYmVyIG4gdG8gc2VsYnJpOiB4MSBpcyBu IHRpbWVzIHgyCgpFeGFtcGxlOiAnJ2xlIHZpIHBsaXNlIGN1IG1lJ2kgcGkgcGEgc2knZSBsZWkg bWkgY2lkamEgYmUgemUnYSBsbyBkamVkaScnIOKAkyDigJxUaGlzIGFwcGxlIGhlcmUgaXMgbGVz cyB0aGFuIG9uZSB0ZW50aCBvZiBteSBmb29kIGZvciBvbmUgZGF54oCdCgpQbGVhc2Ugbm90ZSB0 aGF0IHRoZSBkZWZpbml0aW9uIG9mICcnc2knZScnIHdoZW4gbG9va2VkIHVwIHdpbGwgdGVsbCB5 b3UgdGhhdCBpdCdzICJ4MSBpcyBhbiBudGggb2YgeDIiLCBpbnN0ZWFkIG9mICJ4MSBpcyBuIHRp bWVzIHgyIi4gQnV0IHBlb3BsZSBvbmx5IHVzZSBpdCBhcyBJIGhhdmUgZGVmaW5lZCBpdCwgc28g dGhlIGRlZmluaXRpb24gaW4gdGhlIGRpY3Rpb25hcmllcyB3aWxsIHByb2JhYmx5IGNoYW5nZS4K CgoKX18nJ2N1J28nJ19fIC0gQ29udmVydCBudW1iZXIgbiB0byBzZWxicmk6IHgxIGhhcyBuIHBy b2JhYmlsaXR5IG9mIG9jY3VycmluZyB1bmRlciBjb25kaXRpb25zIHgyCgpFeGFtcGxlOiAnJ2xv IG51IG1pIG1yb2JpJ28gY3UgcGEgY3UnbyBsbyBudSBtaSBkZW5wYSByaScnIOKAkyDigJ1BbiBl dmVudCBvZiBtZSBkeWluZyBoYXMgcHJvYmFiaWxpdHkgMSB1bmRlciB0aGUgY29uZGl0aW9uczog SSB3YWl0IGZvciBpdOKAnSA9IOKAnU1lIGR5aW5nIGlzIGNvbXBsZXRlbHkgY2VydGFpbiBpZiBJ IHdhaXQgbG9uZyBlbm91Z2gu4oCdCgpfXycnZGVucGEnJ19fIHgxIHdhaXRzIGZvciB4MiwgYmVp bmcgaW4gc3RhdGUgeDMgdW50aWwgcmVzdW1pbmcvZG9pbmcgeDQKCl9fJyd2YSdlJydfXyAtIENv bnZlcnQgbnVtYmVyIG4gdG8gc2VsYnJpOiB4MSBpcyBhdCB0aGUgbid0aCBwb3NpdGlvbiBvbiB0 aGUgc2NhbGUgeDIKCkV4YW1wbGU6ICcnbGkgcGEgbm8gY3Ugcm8gdmEnZSBsYSB0b3Jpbm9uJycg 4oCTIOKAnDEwIGlzIHRoZSBoaWdoZXN0IHZhbHVlIG9uIHRoZSBUb3Jpbm8tc2NhbGXigJ0KCgoK CgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHR3ZW50eSAoYm8sIGtlLCBjbyBhbmQgbW9yZSBj dXRlbmVzcykKClNheSB5b3UncmUgYW4gaW1wb3J0YW50IEFtZXJpY2FuIGJ1eWVyIG9mIGNvbXB1 dGVycy4gSG93IGRvIHlvdSBleHByZXNzIHRoaXM/IEZvciBjb25zdHJ1Y3RzIGxpa2UgdGhlc2Us IHRhbnJ1IGFyZSBpZGVhbDogJydtaSB2YWpuaSBtZXJrbyBza2FtaSB0ZSB2ZWNudScnLiBObyB3 YWl0LCB0aGF0J3Mgbm90IHJpZ2h0LiBUYW5ydSBhcmUgZ3JvdXBlZCBmcm9tIGxlZnQgdG8gcmln aHQsIHNvIHRoaXMgdGFucnUgaXMgdW5kZXJzdG9vZDogKCgnJ3Zham5pIG1lcmtvJycpICcnc2th bWknJykgJyd0ZSB2ZWNudScnLCBhIGJ1eWVyIG9mIGNvbXB1dGVycyBmb3IgaW1wb3J0YW50IEFt ZXJpY2Fucy4gWW91IGNhbid0IGNoYW5nZSB0aGUgb3JkZXIgb2YgdGhlIHNlbGJyaSB0byBnZXQg YSB1c2VmdWwgdGFucnUuIE5laXRoZXIgY2FuIHRoaXMgYmUgc29sdmVkIHdpdGggbG9naWNhbCBj b25uZWN0aXZlcywgd2hpY2ggeW91IHdpbGwgZmlyc3QgbGVhcm4gYWJvdXQgbGF0ZXIgYW55d2F5 LiBUaGUgb25seSB3YXkgdG8gbWFrZSBhIGZpdHRpbmcgdGFucnUgaXMgdG8gZm9yY2UgdGhlIHNl bGJyaSB0byBncm91cCBkaWZmZXJlbnRseS4KCgoKVG8gYmluZCB0d28gc2VsYnJpIGNsb3NlIHRv Z2V0aGVyIGluIGEgdGFucnUsIHRoZSB3b3JkICcnYm8nJyBjYW4gYmUgcGxhY2VkIGJldHdlZW4g dGhlbTogJydtaSB2YWpuaSBibyBtZXJrbyBza2FtaSBibyB0ZSB2ZWNudScnIGlzIHJlYWQgJydt aScnICgnJ3Zham5pIGJvIG1lcmtvJycpICgnJ3NrYW1pIGJvIHRlIHZlY251JycpLCB3aGljaCBp cyB1c2VmdWwgaW4gdGhpcyBjb250ZXh0LiBJZiBibyBpcyBwbGFjZWQgYmV0d2VlbiBzZXZlcmFs IHNlbGJyaSBpbiBhIHJvdywgdGhleSBhcmUgZ3JvdXBlZCBmcm9tIHJpZ2h0IHRvIGxlZnQgaW5z dGVhZCBvZiB0aGUgdXN1YWwgbGVmdCB0byByaWdodDogJydtaSB2YWpuaSBtZXJrbyBibyBza2Ft aSBibyB0ZSB2ZWNudScnIGlzIHJlYWQgJyd2YWpuaScnICgnJ21lcmtvIGJvJycgKCcnc2thbWkg Ym8gdGUgdmVjbnUnJykpIGFuIOKAnGltcG9ydGFudCAoQW1lcmljYW4gY29tcHV0ZXItYnV5ZXIp 4oCdLCB3aGljaCBpcyBldmVuIG1vcmUgYXBwcm9wcmlhdGUgaW4gdGhlIHNpdHVhdGlvbi4KCl9f JydibycnX18gQmluZHMgdHdvIHNlbGJyaSB0b2dldGhlciBzdHJvbmdseS4KCgoKSG93IHdvdWxk IHlvdSBzYXkg4oCcVGhhdCdzIGEgdGFzdHkgeWVsbG93IGFwcGxl4oCdPwoKX18nJ2t1a3RlJydf XyB4MSBpcyB0YXN0eSBmb3IgeDIKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ3RpIGt1a3RlIHBl bHh1IGJvIHBsaXNlJyd+fgoKCgpXaGF0IGFib3V0IOKAnVRoYXQncyBhIGJpZywgdGFzdHkgeWVs bG93IGFwcGxl4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd0aSBiYXJkYSBrdWt0ZSBibyBw ZWx4dSBibyBwbGlzZScnfn4KCgoKQW5vdGhlciBhcHByb2FjaCB0byB0aGlzIGlzIHRvIHVzZSB0 aGUgd29yZHMgJydrZeKApmtlJ2UnJy4gVGhlc2UgY2FuIGJlIGNvbnNpZGVyZWQgYXMgZXF1aXZh bGVudCB0byB0aGUgcGFyZW50aGVzaXNlcyB1c2VkIGluIHRoZSBwYXJhZ3JhcGggYWJvdmUuICcn a2UnJyBiZWdpbnMgc3Ryb25nIHNlbGJyaSBncm91cGluZywgJydrZSdlJycgZW5kcyBpdC4KCl9f JydrZScnX18g4oCTIGJlZ2luIHN0cm9uZyBzZWxicmkgZ3JvdXBpbmcuCgpfXycna2UnZScnX18g 4oCTIGVuZCBzdHJvbmcgc2VsYnJpIGdyb3VwaW5nLgoKVGhlIHN0cmVuZ3RoIG9mIHRoZSBiaW5k aW5nIGlzIHRoZSBzYW1lIGFzIHRoYXQgb2YgJydibycnLiBUaGVyZWZvcmUsICcnbWkgdmFqbmkg bWVya28gYm8gc2thbWkgYm8gdGUgdmVjbnUnJyBjYW4gYmUgd3JpdHRlbiAnJ21pIHZham5pIGtl IG1lcmtvIGtlIHNrYW1pIHRlIHZlY251IHtrZSdlfSB7a2UnZX0nJy4KCkhvdyBjb3VsZCB5b3Ug c2F5IOKAnEknbSBhIEdlcm1hbiBzZWxsZXIgb2YgeWVsbG93IGhvbWVzP+KAnQoKCgpBbnN3ZXI6 IH5+Z3JleSxncmV5OicnbWkgZG90Y28ga2UgcGVseHUgemRhbmkgdmVjbnUnJ35+CgoKCldoaWxl IHdlJ3JlIGF0IG1lc3Npbmcgd2l0aCB0aGUgb3JkaW5hcnkgdGFucnUgc3RydWN0dXJlLCB0aGVy ZSBpcyBhbm90aGVyIHdvcmQgd29ydGggcGF5aW5nIGF0dGVudGlvbiB0by4gSWYgSSB3YW50IHRv IHNheSB0aGF0IEknbSBhIHByb2Zlc3Npb25hbCB0cmFuc2xhdG9yLCBJIGNvdWxkIHNheSAnJ21p IGZhbnZhIHNlIGppYnJpJycuCgpfXycnamlicmknJ19fIHgxIGlzIGEgam9iIG9mIHgyCgpfXycn ZG90eWJhdScnX18geDEgaXMgR2VybWFuIHVzZWQgYnkgeDIgdG8gc2F5IHgzCgpfXycnZ2xpYmF1 JydfXyB4MSBpcyBFbmdsaXNoIHVzZWQgYnkgeDIgdG8gc2F5IHgzCgpJZiBJIHdhbnRlZCB0byBz YXkgdGhhdCBJJ20gYSBwcm9mZXNzaW9uYWwgdHJhbnNsYXRlciBmcm9tIEVuZ2xpc2ggdG8gR2Vy bWFuLCBJJ2QgaGF2ZSB0byBtZXNzIGFyb3VuZCB3aXRoICcnYmUnJyBhbmQgJydiZWknJzogJydt aSBmYW52YSBiZSBsZSBkb3R5YmF1IGJlaSBsZSBnbGliYXUgYmUnbyBzZSBqaWJyaScnLCBhbmQg dGhlIGZhY3QgdGhhdCBpdCB3YXMgYSB0YW5ydSBjb3VsZCBxdWlja2x5IGJlIGxvc3QgaW4gc3Bl ZWNoIGR1ZSB0byB0aGUgY29tcGxpY2F0ZWQgc3RydWN0dXJlIG9mIHRoZSBzZW50ZW5jZS4gSGVy ZSwgd2UgY2FuIHVzZSB0aGUgd29yZCAnJ2NvJycuIGl0IGludmVydHMgdGhlIHRhbnJ1LCBtYWtp bmcgdGhlIHJpZ2h0bW9zdCBzZWxicmkgbW9kaWZ5IHRoZSBsZWZ0bW9zdCBpbnN0ZWFkIG9mIHRo ZSBvdGhlciB3YXkgYXJvdW5kOgoKJydtaSBzZSBqaWJyaSBjbyBmYW52YSBsZSBkb3R5YmF1IGxl IGdsaWJhdScnIGlzIHRoZSBzYW1lIGJyaWRpIGFzIHRoZSBwcmV2aW91cyBMb2piYW4gb25lLCBi dXQgbXVjaCBtb3JlIGVhc3kgdG8gdW5kZXJzdGFuZC4gTm90aWNlIHRoYXQgYW55IHN1bXRpIGJl Zm9yZSB0aGUgdGFucnUgZmlsbHMgJydzZSBqaWJyaScnLCB3aGlsZSBhbnkgZm9sbG93aW5nIGl0 IG9ubHkgZmlsbHMgdGhlIG1vZGlmeWluZyBzZWxicmk6ICcnZmFudmEnJy4KCl9fJydjbycnX18g SW52ZXJ0IHRhbnJ1LiBBbnkgcHJldmlvdXMgc3VtdGkgZmlsbCB0aGUgbW9kaWZpZWQsIGFueSBm b2xsb3dpbmcgZmlsbCB0aGUgbW9kaWZpZXIuCgoKClRoZSBzdHJlbmd0aCBieSB3aGljaCB0d28g c2VsYnJpIGFyZSBib3VuZCB0b2dldGhlciB3aXRoIGNvIGlzIHZlcnkgd2VhayDigJMgZXZlbiB3 ZWFrZXIgdGhhbiBub3JtYWwgdGFucnUgZ3JvdXBpbmcgd2l0aG91dCBhbnkgZ3JvdXBpbmcgd29y ZHMuIFRoaXMgbWFrZXMgc3VyZSB0aGF0LCBpbiBhIGNvLWNvbnN0cnVjdCwgdGhlIGxlZnRtb3N0 IHNlbGJyaSBpcyBhbHdheXMgdGhlIHNlbGJyaSBiZWluZyBtb2RpZmllZCwgYW5kIHRoZSByaWdo dG1vc3QgYWx3YXlzIG1vZGlmaWVzLCBldmVuIGlmIGFueSBvZiB0aG9zZSBwYXJ0cyBhcmUgdGFu cnUuIFRoaXMgbWFrZXMgYSBjby1jb25zdHJ1Y3QgZWFzeSB0byBwYXJzZToKCicndGkgcGVseHUg cGxpc2UgY28ga3VrdGUnJyBpcyByZWFkICcndGknJyAoJydwZWx4dSBwbGlzZScnKSAnJ2NvIGt1 a3RlJycsIHdoaWNoIGlzIHRoZSBzYW1lIGFzICcndGkga3VrdGUgcGVseHUgYm8gcGxpc2UnJy4g VGhpcyBhbHNvIG1lYW5zIHRoYXQgYSAnJ2tl4oCma2UnZScnIGNhbm5vdCBlbmNvbXBhc3MgYSAn J2NvJycuCgpUaGUgY21hdm8gb2YgdGhlIHNlbG1hJ28gR0loQSwgdGhlIGJyaWRpLXRhaWwgYWZ0 ZXJ0aG91Z2h0IGxvZ2ljYWwgY29ubmVjdGl2ZXMsIGhvd2V2ZXIsIGJpbmRzIGV2ZW4gbG9vc2Vy IHRoYW4gJydjbycnLiBUaGlzIGlzIGluIG9yZGVyIHRvIHRvdGFsbHkgYXZvaWQgY29uZnVzaW9u IGFib3V0IHdoaWNoIHNlbGJyaSBiaW5kcyB0byB3aGljaCBpbiBhIEdJaEEtY29uc3RydWN0LiBU aGUgYW5zd2VyIGlzIHNpbXBsZTogVGhlIEdJaEEgbmV2ZXIgZW1jb21wYXNzZXMgYW55IHNlbGJy aS1ncm91cHMuCgoKCkhvdyBjYW4geW91IGV4cHJlc3Mg4oCdSSBhbSBhbiBpbXBvcnRhbnQgQW1l cmljYW4gYnV5ZXIgb2YgY29tcHV0ZXJz4oCdIHVzaW5nIGEgJydjbycnPwoKCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OicnbWkgc2thbWkgdGUgdmVjbnUgY28gdmFqbmkgbWVya28nJ35+CgoKCklmIGl0 J3Mgb2YgYW55IHVzZSwgdGhpcyBpcyB0aGUgbGlzdCBvZiBkaWZmZXJlbnQga2luZCBvZiBzZWxi cmkgZ3JvdXBlcnMgcmFua2VkIGJ5IHN0cmVuZ3RoOgoKCgoxLiAgICAnJ2JvJycgYW5kICcna2Uu LmtlJ2UnJwoKCgoyLiAgICBsb2dpY2FsIGNvbm5lY3RpdmVzIG90aGVyIHRoYW4gYnJpZGktdGFp bCBhZnRlcnRob3VnaHQgbG9naWNhbCBjb25uZWN0aXZlcyAoZXhwbGFpbmVkIGluIGxlc3NvbiB0 d2VudHktZml2ZSkKCgoKMy4gICAgbm8gZ3JvdXBpbmcgd29yZHMKCgoKNC4gICAgJydjbycnCgoK CjUuICAgIGJyaWRpLXRhaWwgYWZ0ZXJ0aG91Z2h0IGxvZ2ljYWwgY29ubmVjdGl2ZXMgKGFsc28g aW4gbGVzc29uIHR3ZW50eS1maXZlKQoKCgpUaGUgcmVzdCBvZiB0aGlzIGxlc3NvbiB3aWxsIG5v dCBiZSBvbiBzZWxicmkgZ3JvdXBpbmcsIGJ1dCBtdWNoIGxpa2UgbGVzc29uIHNldmVudGVlbiBt ZW50aW9uIGFzc29ydGVkIHdvcmRzLCB3aGljaCBjYW4gYmUgb2YgdXNlLgoKCgonJ2JvJycgaGFz IGFub3RoZXIgdXNlLCB3aGljaCBzZWVtcyBzZXBhcmF0ZSBmcm9tIHNlbGJyaSBncm91cGluZzog SXQgY2FuIGFsc28gYmluZCBhIHN1bXRjaXRhIHRvIGFuIGVudGlyZSBicmlkaSwgc28gdGhhdCB0 aGUgY29udGVudCBvZiB0aGUgc3VtdGNpdGEgaXMgbm90IGEgc3VtdGksIGJ1dCB0aGUgZm9sbG93 aW5nIGJyaWRpLiBUaGlzIGlzIGJlc3QgZXhwbGFpbmVkIHdpdGggYW4gZXhhbXBsZS4KCl9fJyd4 ZWJuaScnX18geDEgaGF0ZXMgeDIKCicnbWkgZGFyeGkgZG8gLmkgbXUnaSBibyBtaSBkbyB4ZWJu aScnIOKAkyDigJxJIGhpdCB5b3UsIHdpdGggbW90aXZhdGlvbiB0aGF0IEkgaGF0ZSB5b3Uu4oCd IEhlcmUgdGhlICcnYm8nJyBiaW5kcyAnJ211J2knJyB0byB0aGUgZm9sbG93aW5nIGJyaWRpLgoK VGhpcyBpcyB3aGVyZSB0aGUgdGVjaG5pY2FsIGRpZmZlcmVuY2UgYmV0d2VlbiB0ZW5zZSBzdW10 Y2l0YSBhbmQgb3RoZXIgc3VtdGNpdGEgaXMgcmVsZXZhbnQuIFlvdSBzZWUsIHdoZW4gYmluZGlu ZyBhIG5vcm1hbCBzdW10Y2l0YSB0byBhIGJyaWRpIHdpdGggJydibycnLCBpdCBtZWFucyB0aGF0 IHRoZSBmb2xsb3dpbmcgYnJpZGkgc29tZWhvdyBmaXRzIGludG8gdGhlIHN1bXRpIHBsYWNlIG9m IHRoZSBzdW10Y2l0YS4gRm9yIHRoZSByZWFzb24gb2YgR29kIEtub3dzIFdoeSwgYmluZGluZyBv bmUgb2YgdGhlIHdvcmRzICcnYmEnJyBvciAnJ3B1JycgdG8gYSBicmlkaSBoYXMgdGhlIGV4YWN0 IG9wcG9zaXRlIGVmZmVjdC4gRm9yIGV4YW1wbGUsIGluIHRoZSBicmlkaSAnJ21pIGRhcnhpIGRv IC5pIGJhIGJvIGRvIGNpbmppa2NhJycsIG9uZSB3b3VsZCBhc3N1bWUgdGhhdCB0aGUgc2Vjb25k IGJyaWRpIGlzIHNvbWVob3cgZmlsbGVkIGludG8gdGhlIHN1bXRpIHBsYWNlIG9mICcnYmEnJywg bWVhbmluZyB0aGF0IHRoZSBicmlkaSBmaXJzdCB1dHRlcmVkIHRvb2sgcGxhY2UgaW4gdGhlIGZ1 dHVyZSBvZiB0aGUgc2Vjb25kIGJyaWRpLiBUaGF0J3Mgbm90IHRoZSBjYXNlLCBob3dldmVyLCBh bmQgdGhlIGNvcnJlY3QgdHJhbnNsYXRpb24gb2YgdGhhdCB1dHRlcmFuY2Ugd291bGQgYmUgIkkg aGl0IHlvdS4gQWZ0ZXJ3YXJkcywgeW91IGZsaXJ0Ii4gVGhpcyB3ZWlyZCBydWxlIGlzIGFjdHVh bGx5IG9uZSBvZiB0aGUgbWFpbiBvYnN0YWNsZXMgdG8gYSB1bmlmaWNhdGlvbiBvZiBhbGwgc3Vt dGNpdGEgaW50byBvbmUgc2luZ2xlIHdvcmQgY2xhc3MuIEFub3RoZXIgZGlmZmVyZW5jZSBpcyB0 aGF0IHRlbnNlLXN1bXRjaXRhIGNhbiBiZSBlbGlkZWQsIGV2ZW4gdGhvdWdoIHRoZXkgYXBwbHku IFRoaXMgcnVsZSBtYWtlcyBtb3JlIHNlbnNlLCBzaW5jZSB3ZSBvZnRlbiBjYW4gYXNzdW1lIGJy aWRpIGlzIHBsYWNlZCBpbiBhIHRpbWUgYW5kIHNwYWNlLCBidXQgd2UgY2FuJ3QgYXNzdW1lIHRo YXQgdGhlIHN1bXRjaXRhIG9mIEJBSSBhcHBsaWVzLgoKCgpUaGUgdW5vZmZpY2lhbCB3b3JkICcn bWUnb2knJyBpcyBlcXVpdmFsZW50IHRvIG1lIGxhJ2UgJyd6bydvaScnLCB3aGljaCBtZWFucyB0 aGF0IGl0IGNvbnZlcnRzIHRoZSBjb250ZW50IG9mIHRoZSBuZXh0IHdvcmQgaW50byBhIHNlbGJy aS4gSXQgaXMgdXNlZCB0byBpbnZlbnQgYnJpdmxhIG9uIHRoZSBmbHk6ICcnbWkgY2EgemdhbmEg bGEgbWUnb2kgWC1maWxlcycnIGZvciDigJxJIG5vdyB3YXRjaCBYLWZpbGVz4oCdLiBMaWtlICcn em8nb2knJyBhbmQgJydsYSdvaScnLCBpdCBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBvZmZpY2lh bCBncmFtbWFyLCBhbmQgW2h0dHBzOi8vZ3JvdXBzLmdvb2dsZS5jb20vZC90b3BpYy9sb2piYW4v RlkybTRrcUpfdGcvZGlzY3Vzc2lvbnxtdWNoIHByb2JsZW1hdGljIGluIHBhcnNpbmcgd2l0aCBh biBleHBlcmltZW50YWwgZ3JhbW1hcl0uCgoKClRoZSB3b3JkICcnZ2knJyBpcyBzdHJhZ2Uga2lu ZCBvZiBicmlkaSBzZXBhcmF0b3IsIGFuYWxvZ291cyB0byAnJy5pJycsIGJ1dCB0byBteSBrbm93 bGVkZ2UsIGl0IGlzIHVzZWQgaW4gb25seSB0d28gZGlmZmVyZW50IGtpbmRzIG9mIGNvbnN0cnVj dHM6IE1vc3Qgb2Z0ZW4gd2l0aCBsb2dpY2FsIGNvbm5lY3RpdmVzLCBleHBsYWluZWQgaW4gbGVz c29uIHR3ZW50eS1maXZlLCBidXQgYWxzbyB3aXRoIHN1bXRjaXRhLiBXaXRoIHN1bXRjaXRhIGl0 IGNyZWF0ZXMgYSB1c2VmdWwsIGJ1dCBoYXJkbHkgc2VlbiwgY29uc3RydWN0OgoKJydtdSdpIGdp IEJSSURJLTEgZ2kgQlJJREktMicnLCB3aGljaCBpcyBlcXVpdmFsZW50IHRvICcnQlJJREktMiAu aSBtdSdpIGJvIEJSSURJLTEnJy4gVGhlcmVmb3JlLCB0aGUgZXhhbXBsZSBhYm92ZSwgd2hpY2gg ZXhwbGFpbmVkIHdoeSBJIGhpdCB5b3UsIGNhbiBiZSB3cml0dGVuICcnbXUnaSBnaSBtaSB4ZWJu aSBkbyBnaSBtaSBkYXJ4aSBkbycnLCBvciB0byBwcmVzZXJ2ZSB0aGUgc2FtZSBvcmRlciBhcyB0 aGUgb3JpZ2luYWwgc2VudGVuY2UsIHdlIGNhbiBjb252ZXJ0ICcnbXUnaScnIHdpdGggJydzZScn OiAnJ3NlIG11J2kgZ2kgbWkgZGFyeGkgZG8gZ2kgbWkgeGVibmkgZG8nJy4KCkl0IGlzIGluIGV4 YW1wbGVzIGxpa2UgdGhpcyB0aGF0ICcnZ2knJyByZWFsbHkgY2FuIHNob3cgaXRzIHZlcnNhdGls aXR5LiBJdCBkb2VzIG5vdCBqdXN0IHNlcGFyYXRlIHR3byBicmlkaSBsaWtlICcnLmknJyBkb2Vz LCBidXQgY2FuIGFsc28gc2VwYXJhdGUgdHdvIGNvbnN0cnVjdHMgd2l0aGluIGEgYnJpZGksIG1h a2luZyBhbGwgY29uc3RydWN0cyBvdXRzaWRlIHRoZSBzY29wZSBvZiAnJ2dpJycgYXBwbHkgdG8g Ym90aCBicmlkaSwgYXMgdGhpcyBleGFtcGxlIGRlbW9uc3RyYXRlczoKCl9fJydjaW5iYScnX18g eDEga2lzc2VzIHgyIGF0IGxvY3VzIHgzCgoKCl9fJyfigKIgW05vdGUgZnJvbSBJbG1lbjogZ2ku Li5naS4uLiBjb25zdHJ1Y3QgaXMgb25seSB2YWxpZCB3aXRoIHN1bXRjaXRhLCBzbyBJIGhhZCB0 byBjb3JyZWN0IHRoZSBleGFtcGxlcyBvZiB0aGUgcGFyYWdyYXBoIGJlbG93IChieSByZXBsYWNp bmcgdGhlIGZpcnN0ICJnaSIgd2l0aCAiZ2UiKS4gUGVyaGFwcyB0aGlzIHBhcmFncmFwaCBzaG91 bGQgYmUgc2ltcGx5IHJlbW92ZWQ/XScnX18KCicnbWkgZ2UgcHJhbWkgZG8gZ2kgY2luYmEgZG8n JyBsZWF2ZXMgbWkgb3V0c2lkZSB0aGUgY29uc3RydWN0LCBtYWtpbmcgaXQgYXBwbHkgdG8gYm90 aCBicmlkaS4gVGhpcyBjYW4gYWxzbyBiZSBkb25lIHdpdGggJydkbycnLCB3aGljaCBpcyBhbHNv IHByZXNlbnQgaW4gYnJvdGggYnJpZGk6ICcnbWkgZ2UgcHJhbWkgZ2kgY2luYmEgdmF1IGRvJycu IE5vdGUgdGhhdCAnJ3ZhdScnIGlzIG5lZWRlZCB0byBtYWtlIGRvIGFwcGVhciBvdXRzaWRlIHRo ZSBzZWNvbmQgYnJpZGkuCgoKClRodXMsIHdlIGNhbiB3cml0ZSB0aGUgb3JpZ2luYWwgc2VudGVu Y2Ugc2hvcnRlcjogJydtaSBtdSdpIGdpIHhlYm5pIGdpIGRhcnhpIHZhdSBkbycnLCBvciwgdG8g b21pdCBldmVuIHRoZSAnJ3ZhdScnLCB3ZSBjYW4gd3JpdGUgaXQgZXZlbiBzaG9ydGVyIGFuZCBt b3JlIGVsZWdhbnRseTogJydtaSBkbyBtdSdpIGdpIHhlYm5pIGdpIGRhcnhpJycKCgoKISFMb2pi YW4gTGVzc29ucyAtIExlc3NvbiB0d2VudHktb25lIChDT0kpCgpJbiB0aGlzIGxlc3NvbiwgeW91 IHdpbGwgZmFtaWxpYXJpemUgeW91cnNlbGYgd2l0aCB2b2NhdGl2ZXMsIG9yICcnbWEnb2kgY29p JycuIFRoZXkgZ2V0IHRoZWlyIG93biBsZXNzb24sIG5vdCBiZWNhdXNlIHVuZGVyc3RhbmRpbmcg dGhlc2UgcHJvdmlkZXMgYSBiYXNpcyBmb3IgdW5kZXJzdGFuZGluZyBMb2piYW4gZ3JhbW1hciBp biBnZW5lcmFsLCBvciBiZWNhdXNlIHRoZXkgYXJlIGhhcmQgdG8gdW5kZXJzdGFuZCwgYnV0IHJh dGhlciBiZWNhdXNlIHRoZXkgYXJlIHZlcnkgb2Z0ZW4gdXNlZCBpbiBjYXN1YWwgc3BlZWNoLCBh bmQgdGhlcmUgYXJlIGEgbG90IG9mIHRoZW0uCgpBIHZvY2F0aXZlIGlzIHVzZWQgcGFydGx5IHRv IGRlZmluZSB3aG8gJydkbycnIHJlZmVycyB0by4gSWYgdGhlIHZvY2F0aXZlIGlzIGZvbGxvd2Vk IGJ5IGEgY21ldmxhLCB0aGUgY21ldmxhIGdldHMgYW4gaW1wbGllZCBsYSBpbiBmcm9udCBvZiBp dC4gSWYgYSBzZWxicmkgZm9sbG93cywgYSAnJ2xlJycgaXMgdXNlZCBhcyBhIGdhZHJpIGluc3Rl YWQuCgpJbiB0aGVzZSBleGFtcGxlcywgSSB3aWxsIHVzZSB0aGUgdm9jYXRpdmUgJydjb2knJywg d2l0aCBtZWFucyDigJxIaeKAnSBvciDigJxIZWxsb+KAnS4KCklmIGEgcGVyc29uIGlzIGNhbGxl ZCAnJ2xhICsgU0VMQlJJJycsIHVzaW5nIGEgdm9jYXRpdmUgd2l0aCBvbmx5IHRoZSBzZWxicmkg dG8gYWRkcmVzcyB0aGF0IHBlcnNvbiB3aWxsIG1lYW4geW91IHJlZmVyIHRvIGhlciBhcyBhY3R1 YWxseSBiZWluZyB0aGUgeDEgb2YgdGhhdCBzZWxicmksIHdoaWNoIGlzIG9mdGVuIHdyb25nLiBJ ZiwgZm9yIGluc3RhbmNlLCBhIHBlcnNvbiBpcyBjYWxsZWQgJydsYSB0c2FuaScnLCDigJxTa3ni gJ0sIHNheWluZyAnJ2NvaSB0c2FuaScnIHJlZmVycyB0byBoZXIgYXMgYSAnJ2xlIHRzYW5pJycs IG1lYW5pbmcg4oCcSGksIHlvdSBza3nigJ0sIHdoaWxlICcnY29pIGxhIHRzYW5pIGNvcnJlY3Rs eScnIHJlZmVycyB0byBoZXIgYXMgc29tZW9uZSBjYWxsZWQgIlNreSIsIG1lYW5pbmcg4oCcSGkg U2t54oCdLiBUaGlzIGlzIGEgZnJlcXVlbnQgbWlzdGFrZSwgZXNwZWNpYWxseSBhbW9uZyBuZXcg TG9qYmFuaXN0cy4KCkFsbCB2b2NhdGl2ZXMgaGF2ZSBhIGZhJ29ybWEnbyB3aGljaCBpcyBzb21l dGltZXMgcmVxdWlyZWQuIFRoaXMgaXMgJydkbyd1JycuIEl0J3MgbW9zdGx5IHVzZWQgaWYgYm90 aCB0aGUgZmlyc3Qgd29yZCBhZnRlciB0aGUgdm9jYXRpdmUgcGhyYXNlIGFuZCB0aGUgbGFzdCB3 b3JkIG9mIHRoZSBwaHJhc2UgaXMgYSBzZWxicmksIHNvIHRoYXQgaXQgcHJldmVudHMgZm9ybWlu ZyBhIHRhbnJ1OgoKCgpfXycnZG8ndScnX18gRW5kIHZvY2F0aXZlIHBocmFzZS4gVXN1YWxseSBl bGlkYWJsZS4KCl9fJydrbGFrdScnX18geDEgY3JpZXMgeDIgKHRlYXJzKSBmb3IgcmVhc29uIHgz CgonJ2NvaSBsYSBnbGVraSBkbyd1IGtsYWt1IGZpIG1hJycg4oCdSGVsbG8gSGFwcHkuIFdoeSBj cnk/4oCdCgoKClRoZSBnZW5lcmljIHZvY2F0aXZlLCAnJ2RvaScnLCBkb2VzIG5vdGhpbmcgZXhj ZXB0IGRlZmluaW5nIHdobyBpcyBiZWluZyByZWZlcnJlZCB0byBieSAnJ2RvJyc6CgonJ2RvaSAu ZXJuc3l0LiB4dSBkbyBkb3RjbyBtZXJrbycnIOKAnEVybnN0OiBBcmUgeW91IGEgR2VybWFuLUFt ZXJpY2FuP+KAnQoKCgpBbGwgdGhlIG90aGVyIHZvY2F0aXZlcyBoYXZlIHNvbWUgY29udGVudCBi ZXNpZGUgZGVmaW5pbmcgJydkbycnLiAnJ2NvaScnLCB3aGljaCB5b3Uga25vdywgYWxzbyBtZWFu cyDigJxIZWxsb+KAnSwgZm9yIGV4YW1wbGUuIE1hbnkgb2YgdGhlIHZvY2F0aXZlcyBoYXZlIHR3 byBvciB0aHJlZSBkZWZpbml0aW9ucyBsaWtlIHRoZSBhdHRpdHVkaW5hbHMuIExpa2UgYXR0aXR1 ZGluYWxzLCB0aGlzIGlzIGJlY2F1c2UgdGhleSBjYW4gYmUgbW9kaWZpZWQgd2l0aCAnJ2N1J2kn JyBhbmQgJyduYWknJywgdGhvdWdoIG9ubHkgb25lIHZvY2F0aXZlIGhhcyB0aGUgJydjdSdpJyct Zm9ybSBkZWZpbmVkLgoKU29tZSBpbXBvcnRhbnQgdm9jYXRpdmVzIGFyZSBsaXN0ZWQgaW4gdGhl IHRhYmxlIGJlbG93LiBUaGVyZSBhcmUgb3RoZXJzLCBidXQgdGhvc2UgYXJlIG5vdCB1c2VkIG11 Y2guCgp8fHZvY2F0aXZlfFdpdGhvdXQgc3VmZml4fC1jdSdpfC1uYWkKCmNvaXxIZWxsb3wtfC0K CmNvJ298R29vZGJ5ZQl8LXwtCgpqZSdlfFVuZGVyc3Rvb2QgLyBPS3wtfE5vdCB1bmRlcnN0b29k CgpmaSdpfFdlbGNvbWV8LXxOb3Qgd2VsY29tZSBoZXJlCgpwZSd1fFBsZWFzZXwtfC0KCmtpJ2V8 VGhhbmtzfC18RGlzYXBwcmVjaWF0aW9uCgpyZSdpfFJlYWR5IHRvIHJlY2lldmV8LXxOb3QgcmVh ZHkKCmp1J2l8SGV5IXxBdCBlYXNlfElnbm9yZSBtZQoKdGEnYXxJbnRlcnJ1cHRpb258LXwtCgp2 aSdvfFdpbGwgZG98LXxXaWxsIG5vdCBkbwoKa2Unb3xQbGVhc2UgcmVwZWF0fC18Tm8gcmVwZWF0 IG5lZWRlZAoKZGknYWl8d2VsbC13aXNofC18Y3Vyc2V8fAoKTm90aWNlIHRoYXQgJydkaSdhaScn IGlzIGV4cGVyaW1lbnRhbAoKCgoKCldoYXQgd291bGQgJydjb2kgY28nbycnIG1lYW4/CgoKCkFu c3dlcjogfn5ncmV5LGdyZXk64oCcR3JlZXRpbmdzIGluIHBhc3NpbmfigJ0gb3Ig4oCcSGVsbG8g YW5kIEdvb2RieWXigJ1+fgoKCgonJ2plJ2UnJyBpcyB1c2VkIGFzIOKAnE9L4oCdLCBidXQgYWxz byB0aGUgYXBwcm9wcmlhdGUgcmVzcG9uc2Ugd2hlbiByZWNlaXZpbmcgcHJhaXNlIG9yIHRoYW5r cyAoYXQgbGVhc3QsIGlmIHlvdSB3YW50IHRvIGJlIG1vZGVzdCksIGFzIGl0IGluZGljYXRlcyB0 aGF0IHRoZSBwcmFpc2Ugb3IgdGhhbmtzIHdhcyBzdWNjZXNzZnVsbHkgdW5kZXJzdG9vZC4KCgoK VHJhbnNsYXRlICcna2knZSBzaWRqdSBiZSBtaSBiZWkgbG8gdmFqbmkgLmkgamUnZSAuamVuaWZ5 bi4nJwoKX18nJ3NpZGp1JydfXyB4MSBoZWxwcyB4MiBkbyB4MwoKCgpBbnN3ZXI6IH5+Z3JleSxn cmV5OuKAnFRoYW5rcywgeW91IGhlbHBlciBvZiBtZSB0byBkbyBzb21ldGhpbmcgaW1wb3J0YW50 LuKAnSDigJxObyBwcm9ibGVtLCBKZW5uaWZlcuKAnX5+CgoKCkFuZCAnJ2ZpJ2kgdGUgdmVjbnUg LmkgcGUndSBrbyBjaXRrYScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCdV2VsY29tZSwgYnV5 ZXIuIFBsZWFzZSBlYXQh4oCdfn4KCgoKJydyZSdpJycgaXMgdXNlZCB0byBzaWduYWwgdGhhdCB5 b3UgYXJlIHJlYWR5IHRvIGJlIHNwb2tlbiB0by4gSXQgY2FuIGJlIHVzZWQgYXMgdGhlIExvamJh biBlcXVpdmFsZW50IG9mIOKAnFdoYXQgY2FuIEkgZG8gZm9yIHlvdT/igJ0gb3IgcGVyaGFwcyBy ZXBsYWNlIOKAnEhlbGxv4oCdLCB3aGVuIHNwZWFraW5nIG9uIGEgcGhvbmUuICcncmUnaSBuYWkn JyBjYW4gbWVhbiDigJxBRkvigJ0gb3Ig4oCcQmUgdGhlcmUgaXMgYSBzZWNvbmQu4oCdCgoKClRy YW5zbGF0ZTog4oCcSGVsbG8sIHdoYXQgY2FuIEkgZG8gZm9yIHlvdSwgSW50ZXJwcmV0ZXIvVHJh bnNsYXRlcj/igJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ2NvaSByZSdpIGxhIGZhbnZhJyd+ fgoKCgonJ3RhJ2EnJyBpcyB1c2VkIHdoZW4gYXR0ZW1wdGluZyB0byBwb2xpdGVseSBpbnRlcnJ1 cHQgc29tZW9uZSBlbHNlLiBXaGF0IHdvdWxkIGJlIGdvb2QgcmVzcG9uc2VzIHRvIHRoaXM/CgoK ClRyYW5zbGF0ZTogJyd0YSdhIHJvIGRvIG1pIGNvJ2EgY2xpdmEnJwoKX18nJ2NsaXZhJydfXyB4 MSBsZWF2ZXMgeDIgdmlhIHJvdXRlIHgzCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcRXhjdXNl IG1lIGZvciBpbnRlcnJ1cHRpbmcsIGV2ZXJ5b25lLiBJIGJlZ2luIHRvIGxlYXZlIG5vd+KAnSBO b3RpY2UgdGhhdCBubyBmYSdvcm1hJ28gb3IgJycuaScnIGlzIG5lZWRlZC5+fgoKCgonJ2tlJ28n JyBpcyB1c2VkIGEgbG90IHdoZW4gaW5leHBlcmllbmNlZCBMb2piYW5pc3RzIHNwZWFrIHRvZ2V0 aGVyIHZvY2FsbHkuIEl0J3MgcXVpdGUgYSBoYW5keSB3b3JkCgpfXycnc3V0cmEnJ19fIHgxIGlz IHF1aWNrIGF0IGRvaW5nIHgyCgoKClRyYW5zbGF0ZTogJycueSBrZSdvIHN1dHJhIHRhdmxhJycK CgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxVaCwgUGxlYXNlIHJlcGVhdCwgeW91IHF1aWNrIHNw ZWFrZXIu4oCdfn4KCgoKQW5kIOKAnE9rYXkgb2theSwgSSBnb3QgaXQgYWxyZWFkeSEgSSdsbCBk byBpdCHigJ0KCgoKQW4gYW5zd2VyOiB+fmdyZXksZ3JleTonJ2tlJ28gbmFpIC51aSBuYWkgdmkn bycnfn4KCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2VudHktdHdvIChxdWFudGlmeWlu ZyBzdW10aSkKCk1vc3Qgb3RoZXIgbGVhcm5pbmcgbWF0ZXJpYWxzIHN1Y2ggYXMgVGhlIENvbXBs ZXRlIExvamJhbiBMYW5ndWFnZSBhbmQgTG9qYmFuIGZvciBCZWdpbm5lcnMgd2VyZSB3cml0dGVu IGJlZm9yZSB0aGUgb2ZmaWNpYWwgYWRvcHRhdGlvbiAieG9ybG8iLCBhIGNoYW5nZSBpbiB0aGUg cnVsZXMgYWJvdXQgZ2FkcmkgZGVmaW5pdGlvbiBhbmQgZ2FkcmkgcXVhbnRpZmljYXRpb24uIFRo ZSBvYnNvbGV0ZW5lc3Mgb2Ygc29tZSBvZiB0aGUgdGV4dCBpbiB0aGUgb2xkZXIgbGVhcm5pbmcg bWF0ZXJpYWxzIHdhcyBhIG1ham9yIGNhdXNlIGZvciB0aGUgbW90aXZhdGlvbiB0byB3cml0ZSB0 aGVzZSBsZXNzb25zLiBVbmZvcnR1bmF0ZWx5IGZvciBtZSwgcXVhbnRpZmljYXRpb24gb2Ygc3Vt dGkgY2FuIGJlY29tZSBhIHZlcnkgY29tcGxleCB0b3BpYyB3aGVuIHRoZSBpbXBsaWNhdGlvbnMg b2YgY2VydGFpbiBydWxlcyBhcmUgZGlzY3Vzc2VkIGluIGRldGFpbC4gSW4gb3JkZXIgdG8gZnVs ZmlsbCB0aGUgZ29hbCBvZiB0aGlzIHRleHQgYmVpbmcgYWNjdXJhdGUgZW5vdWdoIHRvIHJlcHJl c2VudCB0aGUgb2ZmaWNpYWwgImdvbGQgc3RhbmRhcmQiIEJQRksgcnVsZXMsIHRoaXMgY2hhcHRl ciB3YXMgYW1vbmcgdGhlIGxhc3Qgb25lcyBmaW5pc2hlZCBhbmQgdGhlIG9uZXMgbW9zdCBmcmVx dWVudHkgcmV3cml0dGVuLiBJIHN0cm9uZ2x5IGVuY291cmFnZSBhbnlvbmUgd2hvIGZpbmRzIG1p c3Rha2VzIGluIHRoaXMgdGV4dCB0byBjb250YWN0IG1lIGluIG9yZGVyIGZvciB0aGVtIHRvIGJl IGNvcnJlY3RlZC4KCkhhdmluZyBzYWlkIHRoYXQgZGlzY2xhaW1lciwgbGV0J3MgZ2V0IHN0YXJ0 ZWQ6CgpUaGUgZmlyc3QgY29uY2VwdCB5b3Ugc2hvdWxkIGtub3cgYWJvdXQgaXMgImRpc3RyaWJ1 dGl2aXR5Ii4gSW4gbGVzc29uIGZvdXJ0ZWVuIGkgdXNlZCB0aGUgd29yZCAiaW5kaXZpZHVhbHMi IGFib3V0IGEgZ3JvdXAgb2Ygb2JqZWN0cyBjb25zaWRlcmVkIGRpc3RyaWJ1dGl2ZWx5LiBBIGdy b3VwIG9mIG9iamVjdHMgY29uc2lkZXJlcyBkaXRyaWJ1dGl2ZWx5IG1lYW5zIHRoYXQgdGhlIHNl bGJyaSBpbiBxdWVzdGlvbiBhcHBseSB0byBlYWNoIG9mIHRoZSBvYmplY3RzLiBUaGlzIHN0YW5k cyBpbiBjb250cmFzdCB0byBub24tZGlzdHJpYnV0aXZpdHkgKHdoaWNoIG1hc3NlcyBoYXZlKSwg aW4gd2hpY2ggdGhlIGdyb3VwIGhhcyBvdGhlciBwcm9wZXJ0aWVzIHRoYW4gZWFjaCBvZiB0aGUg aW5kaXZpZHVhbHMgZG8uIFRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIGRpc3RyaWJ1dGl2aXR5IChp bmRpdmlkdWFsLWxpa2UpIGFuZCBub24tZGlzdHJpYnV0aXZpdHkgKG1hc3MtbGlrZSkgaXMgb2Yg cmVsZXZhbmNlIHdoZW4gcXVhbnRpZnlpbmcgc3VtdGkuCgpTb21ldGltZXMgaXQncyBhbHNvIG1l bnRpb25lZCBob3cgb25lIHN1bXRpIGNhbiBkaXN0cmlidXRlIG92ZXIgYW5vdGhlciBzdW10aSwg c28gSSdsbCBpbmNsdWRlIHRoaXMgYXMgd2VsbC4gV2hhdCBpdCBtZWFucyBpcyB0aGF0IGlmIHN1 bXRpIEEgc3RhbmRzIGluIHJlbGF0aW9uIFggdG8gc3VtdGkgQiwgd2l0aCBzdW10aSBBIGRpc3Ry aWJ1dGluZyBvdmVyIHN1bXRpIEIsIHRoZW4gZWFjaCBBIHN0YW5kcyBpbiByZWxhdGlvbiBYIHRv IEIuIExldCdzIGhhdmUgYW4gZXhhbXBsZSBpbiBFbmdsaXNoOgoKIlRoZSBkb2dzIGJpdGUgdHdv IG1lbi4iIElmIHRoZSBkb2dzIGRpc3RyaWJ1dGUgb3ZlciB0aGUgbWVuLCB0aGVuIGVhY2ggb2Yg dGhyZWUgZG9ncyBoYXMgYml0dGVuIHR3byBtZW4sIG1lYW5pbmcgdGhhdCBiZXR3ZWVuIDIgYW5k IDYgZGlmZmVyZW50IG1lbiB3YXMgYml0dGVuIChzaW5jZSBvbmUgcmVhbGx5IHVubHVja3kgbWFu IGNvdWxkIGhhdmUgYmVlbiBiaXR0ZW4gYnkgYWxsIHRocmVlIGRvZ3MpLCB3aGVyZWFzIGlmIHRo ZSBtZW4gZGlzdHJpYnV0ZSBvdmVyIHRoZW4gZG9ncywgdGhlbiB0d28gbWVuIHdlcmUgZWFjaCBi aXR0ZW4gYnkgdHJlZSBkb2dzLCBmaXhpbmcgdGhlIG51bWJlciBvZiBtZW4gdG8gMiwgYnV0IGFs bG93aW5nIGJldHdlZW4gMyBhbmQgNiBkb2dzLgoKV2hlbiB0aGVyZSBjYW4gYmUgYW55IGRvdWJ0 IGFzIHRvIHdoaWNoIHN1bXRpIGRpc3RyaWJ1dGVzIG92ZXIgd2hpY2gsIHRoZSBydWxlIGlzIF9f dGhhdCB0aGUgZmlyc3QgbWVudGlvbmVkIHN1bXRpIGFsd2F5cyBkaXN0cmlidXRlcyBvdmVyIHRo ZSBsYXN0IG1lbnRpb25lZF9fLiBUaGlzIGlzIGlycmVzcGVjdGl2ZSBvZiBwbGFjZSBzdHJ1Y3R1 cmUsIHNvIGlmIHgxIGFuZCB4MiBhcmUgc3dpdGNoZWQgd2l0aCAnJ3NlJycsIHgyLCB3aGljaCBp cyBtZW50aW9uZWQgZmlyc3QsIHdpbGwgZGlzdHJpYnV0ZSBvdmVyIHgxLgoKCgpOb3csIGJhY2sg dG8gcXVhbnRpZmljYXRpb24uIExldCB1cyBmaXJzdCBjb25zaWRlciBob3cgb25lIGNhbiBxdWFu dGlmeSBkZWNyaXB0aW9uIHN1bXRpLCB3aGljaCBhcmUgc3VtdGkgb2YgdGhlIGZvcm0gR0FEUkkg QlJJVkxBLiBUaGUgbnVtYmVyIHN0cmluZyB3aGljaCBkb2VzIHRoZSBxdWFudGlmaWNhdGlvbiBj YW4gYmUgcGxhY2VkIGJlZm9yZSB0aGUgZ2FkcmksIGluIHdoaWNoIGNhc2UgaXQgaXMgcmVmZXJy ZWQgdG8gYXMgYW4gX19vdXRlciBxdWFudGlmaWVyX18sIGFuZCBpdCBjYW4gYmUgcGxhY2VkIGJl dHdlZW4gdGhlIGdhZHJpIGFuZCB0aGUgYnJpdmxhLCBpbiB3aGljaCBjYXNlIGl0J3MgYW4gX19p bm5lciBxdWFudGlmaWVyX18uIEFueSBraW5kIG9mIG51bWJlciBzdHJpbmcgY2FuIGFjdCBhcyBh IHF1YW50aWZpZXIuCgpUaGUgcnVsZXMgZm9yIGhvdyBpbm5lciBhbmQgb3V0ZXIgcXVhbnRpZmll cnMgYWZmZWN0cyBzdW10aSBkZXBlbmQgb24gdGhlIGtpbmQgb2YgZ2Fkcmkgd2hpY2ggaXMgdXNl ZDoKCgoKLSAtJydsbycnIGFuZCAnJ2xlJyctIC0gQW4gaW5uZXIgcXVhbnRpZmllciB0ZWxscyB1 cyBob3cgbWFueSBvYmplY3RzIGFyZSBiZWluZyBzcG9rZW4gb2YgLSBob3cgbWFueSBvYmplY3Rz IGFyZSBpbiB0aGUgZGlzY291cnNlIHRvdGFsLiBJZiBhbiBvdXRlciBxdWFudGlmaWVyIGlzIHBy ZXNlbnQsIHRoZSBzdW10aSBpcyBkaXN0cmlidXRlZCBvdmVyIHRoYXQgYW1vdW50IG9mIG9iamVj dHMuIEFzIHN0YXRlZCBlYXJsaWVyLCBpZiBubyBvdXRlciBxdWFudGlmaWVyIGlzIHByZXNlbnQs IGl0J3MgdmFndWUgaG93IG1hbnkgb2JqZWN0cyB0aGUgc2VsYnJpIGFwcGxpZXMgdG8gKHRob3Vn aCBub3Qgbm9uZSksIGFuZCB3aGV0aGVyIGl0IGRvZXMgc28gZGlzdHJpYnV0aXZlbHkgb3Igbm9u LWRpc3RyaWJ1dGl2ZWx5LiBFeGFtcGxlcyBhcmUgYWx3YXlzIGEgZ29vZCBpZGVhLCBzbyBoZXJl IHRoZXkgYXJlOgoKJydtdSBsbyBtdSBiYWtuaSBjdSBzZSBqaXJuYScnIC0gVGhlIGlubmVyIHF1 YW50aWZpZXIgb2YgZml2ZSB0ZWxscyB1cyB0aGF0IHdlIHNwZWFrIGFib3V0IGZpdmUgcGllY2Vz IG9mIGNhdHRsZSwgYW5kIHRoZSBvdXRlciBxdWFudGlmaWVyIG9mIGZpdmUgdGVsbHMgdXMgdGhh dCB0aGUgc2VsYnJpIGlzIHRydWUgZm9yIGVhY2ggb2YgdGhlIGZpdmUuIFRoZXJlZm9yZSwgaXQg bWVhbnMgIkFsbCB0aGUgZml2ZSBjb3dzIGhhZCBob3JucyIuIAoKX18nJ2Jha25pJydfXyB4MSBp cyBhIGNvdy9veC9jYXR0bGUvY2FsZiBldGMgb2YgYnJlZWQgeDIKCl9fJydqaXJuYScnX18geDEg aXMgdGhlIGhvcm4gb2YgeDIgKG1ldGFwaG9yOiBhbnkgcG9pbnRlZCBleHRyZW1pdHkpCgoKCldo YXQgZG9lcyB0aGUgZm9sbG93aW5nIGJyaWRpIG1lYW4/CgonJ2xvIHJ1J3VyZ3VidXB1IGJlIGxp IHJlIHBpIHplIG11IGN1IGpkaW1hIGxvIHBhIHJlIHNvdmRhJycKCl9fJydydSd1cmd1YnVwdScn X18geDEgaXMgbWVhc3VyZXMgdG8gYmUgeDIgQnJpdGlzaCBwb3VuZHMgKEdCUCkKCl9fJydqZGlt YScnX18geDEgaXMgdGhlIHByaWNlIG9mIHgyIHRvIGJ1eWVyIHgzIHNldCBieSB2ZW5kb3IgeDQK Cl9fJydzb3ZkYScnX18geDEgaXMgYSBnYW1ldGUgKGVnZy9zcGVybSkgb2YgeDIKCkFuc3dlcjog fn5ncmV5LGdyZXk6ICJUd2VsdmUgZWdncyBjb3N0IDIuNzUgQnJpdGlzaCBwb3VuZHMiIHdoaWNo LCBhcyB0aGUgRW5nbGlzaCB0cmFuc2xhdGlvbiwgY291bGQgbWVhbiBib3RoIHRoYXQgdGhleSBj b3N0IDIuNzUgZWFjaCAoZGlzdHJpYnV0aXZlbHkpIG9yIHRoYXQgYWxsIHR3ZWx2ZSB0b2dldGhl ciBjb3N0IDIuNzUgKG5vbi1kaXN0cmlidXRpdmVseSl+fgoKCgonJ3NvIGxlIHRhIHBhIHBhIGNp J2Vya2VpIGN1IGNsYW1hdSBtaScnIChub3RpY2UgdGhhdCB0aGUgJyd0YScnIGdvZXMgYmVmb3Jl IHRoZSBpbm5lciBxdWFudGlmaWVyKQoKX18nJ2NpJ2Vya2VpJydfXyB4MSBwbGF5cyBnYW1lIHgy IGdvdmVuZXJkIGJ5IHJ1bGVzIHgzIGludGVycmVsYXRpbmcgZ2FtZSBwYXJ0cyB4NCB7dGhpcyBp cyB1c2VkIHRvIHRyYW5zbGF0ZSAicGxheSIgaW4gdGhlIHNlbnNlICJwbGF5IGEgZ2FtZSIgcmF0 aGVyIHRoYW4sIGZvciBpbnN0YW5jZSAicGxheWluZyBwcmV0ZW5kIiBvciAicGxheWluZyBIb3Vz ZSJ9CgpfXycnY2xhbWF1JydfXyB4MSBpcyB0YWxsZXIvbG9uZ2VyIHRoYW4geDIgaW4gZGlyZWN0 aW9uIHgzIG15IG1hcmlnaW4geDQKCkFuc3dlcjogfn5ncmV5LGdyZXk6VGhlIGlubmVyIHN0YXRl cyB0aGVyZSBhcmUgMTEgcGxheWVycyBpbiB0aGUgZGlzY291cnNlLCBhbmQgdGhlIG91dGVyIHN0 YXRlcyB0aGF0IHRoZSBzZWxicmkgYXBwbGllcyB0byBuaW5lIG9mIHRoZW0gZGlzdHJpYnV0aXZl bHkuIFRodXMgaXQgbWVhbnMgIk5pbmUgb2YgdGhlIGVsZXZlbiBwbGF5ZXJzIGFyZSB0YWxsZXIg dGhhbiBtZSJ+fgoKCgpUaGVyZSBhcmUgYSBmZXcgcG9pbnRzIHRoYXQgbmVlZHMgdG8gYmUgcmFp c2VkIHJlZ2FyZGluZyBxdWFudGlmaWNhdGlvbiBvZiAnJ2xvJycvJydsZScnOgoKRmlyc3RseSwg JydsbycnIGlzIHVuaXF1ZSBpbiB0aGF0ICJ7bnVtYmVyfSB7c2VsYnJpfSIgaXMgZGVmaW5lZCBh cyAie251bWJlcn0gJydsbycnIHtzZWxicml9Ii4gVGhlcmVmb3JlLCAnJ2NpIGdlcmt1IGN1IGJh dGNpIHJlIG5hbm11JycgaXMgZGVmaW5lZCB0byBiZSAnJ2NpIGxvIGdlcmt1IGN1IGJhdGNpIHJl IGxvIG5hbm11JycsIHdoaWNoIGNvbnNpZGVycyBib3RoIHRoZSBncm91cCBvZiBkb2dzIGFuZCB0 aGUgZ3JvdXAgb2YgbWVuIGRpc3RyaWJ1dGl2ZWx5LiBUaGVyZWZvcmUsIGVhY2ggb2YgdGhlIHRo cmVlIGRvZ3MgYml0IGVhY2ggb2YgdGhlIHR3byBtZW4sIHdpdGggc2l4IGJpdGluZyBldmVudHMg aW4gdG90YWwuCgpfXycnYmF0Y2knJ19fIHgxIGJpdGVzL3BpbmNoZXMgeDIgYXQgbG9jdXMgeDMg dXNpbmcgeDQgYXMgcGluY2hpbmcgdG9vbC4KClNlY29uZGx5OiBXaGF0IGlmIHRoZXJlIGlzIG5v IG91dGVyIHF1YW50aWZpZXI/IERvZXMgdGhpcyBtZWFuIHRoYXQgaXQgX19pc19fIHRoZXJlLCBi dXQgaXQncyBlbGlkZWQ/IE5vcGUuIElmIHRoZXJlIGlzIGFueSBraW5kIG9mIG91dGVyIHF1YW50 aWZpZXIsIGVsaWRlZCBvciBub3QsIGl0IHdvdWxkIGZvcmNlIHRoZSBzdW10aSB0byBiZSBkaXN0 cmlidXRpdmUsIHdoaWNoIHdvdWxkIG1lYW4gdGhhdCBuZWl0aGVyICcnbG8nJyBub3IgJydsZScn IGNvdWxkIGJlIHVzZWQgdG8gZGVzY3JpYmUgbWFzc2VzLiBUaGVyZWZvcmUsIGlmIG5vIG91dGVy IHF1YW50aWZpZXIgaXMgcHJlc2VudCwgaXQncyBub3Qgb25seSBlbGlkZWQgLSBpdCdzIHNpbXBs eSBub3QgdGhlcmUuIFN1bXRpIHdpdGhvdXQgYW4gb3V0ZXIgcXVhbnRpZmllciBjYW4gYmUgcmVm ZXJyZWQgdG8gYXMgImNvbnN0YW50cyIsIGV2ZW4gdGhvdWdoIEkgd29uJ3QuCgpUaGlyZGx5LCBp dCBtYWtlcyBubyBzZW5zZSB0byBoYXZlIGFuIG91dGVyIHF1YW50aWZpZXIgd2hpY2ggaXMgbGFy Z2VyIHRoYW4gdGhlIGlubmVyIG9uZS4gSXQgbWVhbnMgdGhhdCB0aGUgc2VsYnJpIGhvbGRzIHRy dWUgZm9yIG1vcmUgc3VtdGkgdGhhbiBhcmUgcHJlc2VudCBpbiB0aGUgZGlzY291cnNlIC0gYnV0 IHNpbmNlIHRoZXkgYXBwZWFyIGluIGEgYnJpZGksIHRoZXkgX19hcmVfXyBwYXJ0IG9mIHRoZSBk aXNjb3Vyc2UuIEl0J3MgZ3JhbW1hdGljYWwgdG8gZG8gaXQsIHRob3VnaC4KCkxhc3RseSwgcGxh Y2luZyBhICcnbG8nJyBvciBhICcnbGUnJyBpbiBmcm9udCBvZiBhIHN1bXRpIGlzIGdyYW1tYXRp Y2FsLCBpZiB0aGVyZSBpcyBhbiBpbm5lciBxdWFudGlmaWVyIHByZXNlbnQuICInJ2xvJycvJyds ZScnIHtudW1iZXJ9IHtzdW10aX0iIGlzIGRlZmluZWQgYXMgIicnbG8nJy8nJ2xlJycge251bWJl cn0gJydtZScnIHtzdW10aX0iLgoKU28gd2hhdCB3b3VsZCB0aGlzIG1lYW4/ICcnbWkgbmVsY2kg bG9pIG1pIGJyaWp1IGthbnNhIC5pIGt1J2kgY2kgbG8gcmUgbXUgamknaSByaSBjdSBsYXpuaScn CgpfXycnYnJpanUnJydfXyB4MSBpcyBhbiBvZmZpY2UgZm9yIHdvcmtlciB4MiBhdCBsb2NhdGlv biB4MwoKX18nJ2thbnNhJydfXyB4MSBhY2NvbXBhbmllcyB4MiBpbiBhY3Rpb24vc3RhdGUvZW50 ZXJwcmlzZSB4MwoKX18nJ2xhem5pJydfXyB4MSBpcyBsYXp5LCBhdm9pZGluZyB3b3JrIGNvbmNl cm5pbmcgeDIKCkFuc3dlcjogfn5ncmV5LGdyZXk6IkkgbGlrZSBteSBjby13b3JrZXJzLCBidXQg dGhyZWUgb3V0IG9mIGFib3V0IHR3ZW50eSBmaXZlIG9mIHRoZW0gYXJlIGxhenkifn4KCgoKLSAt JydsYScnLSAtIEFuIGlubmVyIHF1YW50aWZpZXIgaXMgZ3JhbW1hdGljYWwgaWYgdGhlIG5hbWUg aXMgYSBzZWxicmkgLSBpbiB0aGlzIGNhc2UsIGl0J3MgY29uc2lkZXJlZCBwYXJ0IG9mIHRoZSBu YW1lLiBBbiBvdXRlciBxdWFudGlmaWVyIGlzIHVzZWQgdG8gcXVhbnRpZnkgZGlzdHJpYnV0aXZl bHkgb3ZlciBzdWNoIGluZGl2aWR1YWxzIChtdWNoIGxpa2UgJydsbycnLycnbGUnJykgSXQncyBn cmFtbWF0aWNhbCB3aGVuIHBsYWNlZCBpbiBmcm9udCBvZiB7bnVtYmVyfSB7c3VtdGl9LCBpbiB3 aGljaCBjYXNlLCB0aGUgYm90aCB0aGUgbnVtYmVyIGFuZCB0aGUgc3VtdGkgaXMgY29uc2lkZXJl ZCB0aGUgbmFtZS4KCgoKVHJhbnNsYXRlIHRoaXM6ICcncmUgbGEgY2kgYmFyZ3UgY3Ugamlibmkg bGUgbWkgemRhbmknJwoKQW5zd2VyOiB+fmdyZXksZ3JleTogVHdvICJUaGUgVGhyZWUgQXJjaGVz IiBhcmUgbG9jYXRlZCBjbG9zZSB0byBteSBob3VzZSIgKFBlcmhhcHMgVGhlIFRocmVlIEFyY2hl cyBhcmUgYSBraW5kIG9mIHJlc3RhdXJhbnQ/KX5+CgoKCi0gLScnbG9pJycgYW5kICcnbGVpJyct IC0gQW4gaW5uZXIgcXVhbnRpZmllciB0ZWxscyB1cyBob3cgbWFueSBtZW1iZXJzIHRoZXJlIGFy ZSBpbiB0aGUgbWFzcy9tYXNzZXMgaW4gcXVlc3Rpb24uIEFuIG91dGVyIHF1YW50aWZpZXIgcXVh bnRpZmllcyBkaXN0cmlidXRpdmVseSB7IX0gb3ZlciB0aGVzZSBtYXNzZXMKCk5vdGljZSBoZXJl IHRoYXQgd2hpbGUgbWFzc2VzIGNvbnNpc3Qgb2YgYSBudW1iZXIgb2Ygb2JqZWN0cyBjb25zaWRl cmVkIG5vbi1kaXN0cmlidXRpdmVseSwgYW4gb3V0ZXIgcXVhbnRpZmllciBhbHdheXMgdHJlYXRz IGVhY2ggb2YgdGhlc2UgbWFzc2VzIGFzIGFuIGluZGl2aWR1YWwuCgpXaGVuIHBsYWNlZCBiZWZv cmUgYSBudW1iZXIgc3RyaW5nLCB0aGVuIGEgc3VtdGksICcnbG9pJycvJydsZWknJyBpcyBkZWZp bmVkIGFzICInJ2xvIGd1bm1hIGJlIGxvJycvJydsZScnIHtudW1iZXJ9IHtzdW10aX0iIC0gIlRo ZSBtYXNzIGNvbnNpc3Rpbmcgb2YgdGhlIHtudW1iZXJ9IG9mIHtzdW10aX0iLgoKCgpBdHRlbXB0 IHRvIHRyYW5zbGF0ZSB0aGlzOiAnJ3JlIGRlaSBndW5tYSByZSBsb2kgemUgdmFsc2kgLmkgY2En ZSBwYSBkZWkgamFpIGdhdSBqZXRudScnCgpfXycnZ3VubWEnJ19fIHgxIGlzIGEgbWFzcyBvZiB0 aGUgaW5kaXZpZHVhbHMgeDIKCl9fJyd2YWxzaScnX18geDEgaXMgYSB3b3JkLCBtZWFuaW5nIHgy IGluIGxhbmd1YWdlIHgzCgpfXycnY2EnZScnX18gQXR0aXR1ZGluYWw6IEV2aWRlbnRpYWw6IEkg ZGVmaW5lCgpfXycnamV0bnUnJ19fIHgxIGlzIHRydWUgYWNjb3JkaW5nIHRvIG1ldGFwaHlzaWNz L2VwaXN0ZW1vbG9neSB4MgoKQW5zd2VyOiB+fmdyZXksZ3JleTogIlRoZXNlIHR3byB1dHRlcmFu Y2VzIGFyZSBhIG1hc3MsIGNvbnNpc3Rpbmcgb2YgdHdvIGluZGl2aWR1YWwgbWFzc2VzIGVhY2gg b2Ygc2V2ZW4gd29yZHMuIEkgZGVmaW5lOiBUaGlzIG9uZSB1dHRlcmFuY2UgY2F1c2VzIHtpdH0g dG8gYmUgdHJ1ZS4ifn4KCgoKLSAtJydsYWknJy0gLSBNdWNoIGxpa2UgJydsYScnLCBhbiBpbm5l ciBxdWFudGlmaWVyICh3aGVuIG5hbWUgaXMgYSBzZWxicmkpIGlzIHBhcnQgb2YgdGhlIG5hbWUu IEFuIG91dGVyIG9uZSBxdWFudGlmaWVzIGRpc3RyaWJ1dGl2ZWx5LiBCZWZvcmUgYSBudW1iZXIr c3VtdGksIGJvdGggdGhlIHN1bXRpIGFuZCB0aGUgbnVtYmVyIG1ha2UgdXAgdGhlIG5hbWUuCgpX aGVuIGEgZnJhY3Rpb24gaXMgdXNlZCBhcyBhbiBvdXRlciBxdWFudGlmaWVyIHRvIHF1YW50aWZ5 ICcnbG9pJycsICcnbGVpJycgb3IgJydsYWknJywgb25lIHNwZWFrcyBhYm91dCBvbmx5IHBhcnQg b2YgdGhlIG1hc3MgKGZvciBpbnN0YW5jZSwgImhhbGYgb2YgdGhlIEpvaG5zb25zIiAtICcncGkg bXUgbGFpIC5kamFuc3luLicnKS4KCgoKLSAtJydsbydpJycgYW5kICcnbGUnaScnLSAtIEFuIGlu bmVyIHF1YW50aWZpZXIgZGVzY3JpYmVzIHRoZSBhbW91bnQgb2YgbWVtYmVycyBvZiB0aGUgc2V0 LiBBbiBvdXRlciBxdWFudGlmaWVzIGRpc3RyaWJ1dGl2ZWx5IG92ZXIgc2V2ZXJhbCBvZiBzdWNo IHNldHMuIFdoZW4gcGxhY2VkIGJlZm9yZSBhIG51bWJlciBhbmQgYSBzdW10aSwgaXQncyBkZWZp bmVkIGFzICInJ2xvIHNlbGNtaSBiZSAnJ2xvJycvJydsZScnIHtudW1iZXJ9IHtzdW10aX0iIC0g IlRoZSBzZXQgb2Yge251bWJlcn0ge3N1bXRpfSIuCgoKClRyYW5zbGF0ZSAnJ2xvJ2kgcm8gc2Ug Y2lua2kgY3UgYnJhbWF1IGxhJ2EgcGEgbm8gbm8gbG8naSBybyBzZSBib2d5a2FtanUganV0c2kn JwoKX18nJ2NpbmtpJydfXyB4MSBpcyBhbiBpbnNlY3Qgb2Ygc3BlY2llcyB4MgoKX18nJ2xhJ2En J19fIEF0dGl0dWRpbmFsOiBEaXNjdXJzaXZlOiBQcm9iYWJseQoKX18nJ2JyYW1hdScnX18geDEg aXMgYmlnZ2VyIHRoYW4geDIgaW4gZGltZW5zaW9uIHgzIGJ5IG1hcmlnaW4geDQKCl9fJydib2d5 a2FtanUnJ19fIHgxIGlzIHRoZSBzcGluZSBvZiB4MgoKX18nJ2p1dHNpJydfXyB4MSBpcyB0aGUg c3BlY2llcyBvZiBnZW51cyB4MiwgZmFtaWx5IHgzIC4uLiAob3BlbiBlbmRlZCBjbGFzc2lmaWNh dGlvbikKCkFuc3dlcjogfn5ncmV5LGdyZXk6ICJUaGUgc2V0IG9mIGFsbCB0aGUgc3BlY2llcyBv ZiBpbnNlY3RzIGlzIHByb2JhYmx5IGJpZ2dlciB0aGFuIG9uZSBodW5kcmVkIHNldHMgb2YgYWxs IHNwZWNpZXMgb2YgdmVydGVicmF0ZXMifn4KCgoKLSAtJydsYSdpJyctIC0gQXMgd2l0aCAnJ2xh aScnCgpMaWtlIHdpdGggdGhlIG1hc3MgZ2FkcmksIGFuIG91dGVyIHF1YW50aWZpZXIgYmVmb3Jl IGEgc2V0IGdhZHJpIGVuYWJsZXMgb25lIHRvIHNwZWFrIGFib3V0IGEgZnJhY3Rpb24gb2YgYSBz ZXQuIEluIGZyb250IG9mIGEgbnVtYmVyIGFuZCBhIHN1bXRpLCBpdCdzIGRlZmluZWQgYXMgIicn bG8gc2VsY21pIGJlIGxhJycge251bWJlcn0ge3N1bXRpfSIgLSAiVGhlIHNldCBjb25zaXN0aW5n IG9mIFRoZSB7TnVtYmVyfSB7U3VtdGl9IiAoY29uc2lkZXJlZCBhIG5hbWUpCgoKCi0gLScnbG8n ZScnIGFuZCAnJ2xlJ2UnJy0gLSBBcmUgZm9yIHNvbWUgcmVhc29uIG5vdCBpbmNsdWRlZCBpbiB0 aGUgY3VycmVudGx5IGFjY2VwdGVkIGdhZHJpIHByb3Bvc2FsLiBJZiBvbmUgd2VyZSB0byBleHRl bmQgdGhlIHJ1bGVzIG9mIGFub3RoZXIgZ2FkcmksICcnbG8nJy8nJ2xlJycgd291bGQgcHJvYmFi bHkgYmUgdGhlIGJlc3QgY2hvaWNlIChzaW5jZSBib3RoIG9wZXJhdGVzIHdpdGggaW5kaXZpZHVh bHMgcmF0aGVyIHRoYW4gZ3JvdXBzKSwgYW5kIHNvIG9uZSB3b3VsZCBleHBlY3QgdGhlIG91dGVy IHF1YW50aWZpZXIgdG8gZm9yY2UgZGlzdHJpYnV0aXZpdHkgb3ZlciB0aGUgYW1vdW50IG9mIHR5 cGljYWwvc3RlcmVvdHlwaWNhbCB0aGluZ3MgZ2l2ZW4gYnkgdGhlIGlubmVyIHF1YW50aWZpZXIu CgoKCldoZW4gcXVhbnRpZnlpbmcgc3Vta2EnaSByZXByZXNlbnRpbmcgc2V2ZXJhbCBvYmplY3Rz LCBpdCBpcyB1c2VmdWwgdG8gcmVtZW1iZXIgdGhhdCB0aGV5IGFyZSB1c3VhbGx5IG1hc3Nlcy4g QnkgZGVmaW5pdGlvbiwgIntudW1iZXJ9IHtzdW10aX0iIGlzIGRlZmluZWQgYXMgIntudW1iZXJ9 ICcnZGEgcG9pIGtlJ2EgbWUnJyB7c3VtdGl9Ii4gWW91IHdpbGwgbm90IGJlIGZhbWlsaWFyIHdp dGggJydkYScnIHVudGlsIGEgZmV3IGxlc3NvbnMgbGF0ZXIsIHNvIHRha2UgaXQgb24gZmFpdGgg dGhhdCBpdCBtZWFucyAic29tZXRoaW5nIiBpbiB0aGlzIGNvbnRleHQuIFRoZXJlZm9yZSwgJydj aSBtaScnIG1lYW5zICJUd28gb2YgdGhvc2Ugd2hvIGJlbG9uZyB0byAidXMiIi4gV2hlbiBxdWFu dGlmeWluZyBzdWNoIG1hc3NlcywgaXQgY2FuIHNhZmVseSBiZSBhc3N1bWVkIHRoYXQgdGhlIHJl bGF0aW9uIGltcGxpZWQgYnkgJydtZScnIGlzIG1lbWJlcnNoaXAgb2YgdGhlIG1hc3MsIGFuZCB0 aGVyZWZvcmUgJydjaSBtaScnIGlzICJUaHJlZSBvZiB1cyIuCgoKClNvbWUgaW1wb3J0YW50IHVz ZXMgb2YgcXVhbnRpZmljYXRpb24gcmVxdWlyZXMgeW91IHRvIGJlIHF1YW50aWZ5IHNlbGJyaSBv ciBvYmplY3RzIHdob3NlIGlkZW50aXR5IGlzIHVua25vd24uIFRoaXMgaXMgZG9uZSBieSAibG9n aWNhbGx5IHF1YW50aWZpZWQgdmFyaWFibGVzIi4gVGhlc2UsIGFzIHdlbGwgYXMgaG93IHRvIHF1 YW50aWZ5IHRoZW0gd2lsbCBiZSBjb3ZlcmVkIGluIGxlc3NvbnMgdHdlbnR5LXNldmVuLgoKCgpM YXN0bHksIGhvdyBjYW4geW91IHF1YW50aWZ5IHVuY291bnRhYmxlIHN1YnN0YW5jZXMgbGlrZSBz dWdhciBvciB3YXRlcj8gT25lIHNvbHV0aW9uIGlzIHRvIHF1YW50aWZ5IGl0IHVzaW5nIGluZXhh Y3QgbnVtYmVycy4gVGhpcyB1c2UgaXMgdmFndWUsIG5vdCBvbmx5IGJlY2F1c2UgdGhlIHZhbHVl IG9mIHRoZSBudW1iZXIgaXMgdmFndWUsIGJ1dCBhbHNvIGJlY2F1c2UgaXQncyBub3Qgc3BlY2lm aWVkIG9uIHdoYXQgc2NhbGUgeW91J3JlIGNvdW50aW5nOiBUaGUgc3VnYXIgY291bGQgYmUgY29u c2lkZXJlZCBhIGdyb3VwIG9mIG1hbnkgY3J5c3RhbHMsIGNvdW50ZWQgb25lIGF0IGEgdGltZSwg YW5kIHRoZSB3YXRlciBjb3VsZCBiZSBxdWFudGlmaWVkIGJ5IHRoZSBhbW91bnRzIG9mIHJhaW5k cm9wcyBpdCB0b29rIHRvIG1ha2UgdGhlIGJvZHkgb2Ygd2F0ZXIgaW4gcXVlc3Rpb24uIFdoaWxl IHRoaXMgd2F5IG9mIGNvdW50aW5nIGlzIGxlZ2l0aW1hdGUsIGl0J3Mgbm90IHZlcnkgZXhhY3Qg YW5kIGNhbiBlYXNpbHkgY29uZnVzZSBvciBtaXNsZWFkLgoKQSB3YXkgdG8gYmUgZXhwbGljaXQg YWJvdXQgbm9uLWNvdW50YWJpbGl0eSBpcyB0byB1c2UgdGhlIG51bGwgb3BlcmFuZCAnJ3R1J28n JyBhcyBhbiBpbm5lciBxdWFudGlmaWVyLgoKX18nJ3R1J28nJ19fIE51bGwgb3BlcmFuZCAoIMOY ICkuIFVzZWQgaW4gdW5hcnkgbWVrc28uCgpUaGlzIHNvbHV0aW9uIGlzIGVsZWdhbnQgYW5kIGlu dHVpdGl2ZSwgYW5kIGFsc28gZ2l2ZXMgbWUgYW4gZXhjdXNlIHRvIHF1b3RlIHRoaXMgaG9ycmlm eWluZywgeWV0IGNvbWljYWwgZXhhbXBsZSBmcm9tIHRoZSBvcmlnaW5hbCAnJ3hvcmxvJyctcHJv cG9zYWw6CgonJ2xlIG5hbm11IGN1IHNlIHNudXRpIC5pIGphJ2UgYm8gbG8gdHUnbyBnZXJrdSBj dSBrdXNwZSBsZSBrbGFqaScnCgpfXycnc251dGknJ19fIHgxIGlzIGFuIGFjY2lkZW50IG9uIHRo ZSBwYXJ0IG9mIHgyCgpfXycnamEnZScnX18gc3VtdGNpdGE6IEJBSTogKGZyb20gJydqYWxnZScn KTogQnJpZGkgcmVzdWx0cyBpbiB7c3VtdGl9IAoKX18nJ2t1c3BlJydfXyB4MSBzcGFucy9leHRl bmRzIG92ZXIgeDIKCl9fJydrbGFqaScnX18geDEgaXMgYSByb2FkL2F2ZW51ZS9zdHJlZXQgYXQg eDIgYWNjZXNzaW5nIHgzCgoKCldoYXQgZG9lcyBpdCBtZWFuPwoKQW5zd2VyOiB+fmdyZXksZ3Jl eTogIlRoZSBtYW4gaGFkIGFuIGFjY2lkZW50IGFuZCBzbyB0aGVyZSB3YXMgZG9nIGFsbCBvdmVy IHRoZSByb2FkIn5+CgoKCkEgc2Vjb25kIG1ldGhvZCBvZiBxdWFudGlmeWluZyBzdWJzdGFuY2Vz IGlzIHRvIHVzZSB0aGUgdGVuc2VzICcndmUnaScnLCAnJ3ZlJ2EnJyBhbmQgJyd2ZSd1JycgYXMg bWVudGlvbmVkIGluIGxlc3NvbiB0ZW46CgonJ3RpIHZlJ2kgZGphY3UnJyAtIFRoaXMgaXMgYSBz bWFsbCBhbW91bnQgb2Ygd2F0ZXIKCl9fJydkamFjdScnX18geDEgaXMgYW4gZXhwYW5zZSBvZiB3 YXRlci9pcyBtYWRlIG9mIHdhdGVyL2NvbnRhaW5zIHdhdGVyCgoKClRoaXJkbHksIG9mIGNvdXJz ZSwgeW91IGNvdWxkIHVzZSBhIGJyaXZsYSB0byBnaXZlIGFuIGV4YWN0IG1lYXN1cmVtZW50OgoK JydsZSB0YSBkamFjdSBjdSBraSdvZ3JhIGJlIGxpIHJlIHBpIGtpJ28ga2knbycnIC0gIlRoYXQg d2F0ZXIgaGFzIGEgbWFzcyBvZiAyLjAwMCAwMDAga2lsb2dyYW1zIgoKX18nJ2tpJ29ncmEnJ19f IHgxIG1lYXN1cmVzIGluIG1hc3MgeDIga2lsb2dyYW1zIGJ5IHN0YW5kYXJkIHgzCgoKCiEhTG9q YmFuIExlc3NvbnMgLSBMZXNzb24gdHdlbnR5LXRocmVlIChuZWdhdGlvbikKClNvbWV0aW1lcywg anVzdCBzYXlpbmcgd2hhdCdzIHRoZSB0cnV0aCBpcyBub3QgZW5vdWdoLiBPZnRlbiwgd2Ugd2Fu dCB0byBzcGVjaWZ5IHdoYXQncyBub3QgdGhlIHRydXRoLCBhbmQgd2UgZG8gdGhpcyBieSB1c2lu ZyBuZWdhdGlvbi4KCk5lZ2F0aW9uIGluIEVuZ2xpc2ggbW9zdGx5IGludm9sdmVzIOKAnG5vdOKA nSwgYW5kIGlzIGNvbXBsZXRlbHkgYXJiaXRyYXJ5IGFuZCBhbWJpZ3VvdXMuIFdlLCBhcyBMb2pi YW5pc3RzLCBjYW4ndCBoYXZlIHRoYXQsIG9mIGNvdXJzZSwgc28gTG9qYmFuIGNvbnRhaW5zIGFu IGVsZWdhbnQgYW5kIHVuYW1iaWdpb3VzIHN5c3RlbSBmb3IgbmVnYXRpbmcuIFdoYXQgd2lsbCBi ZSBwcmVzZW50ZWQgaGVyZSBhcmUgdGhlIG9mZmljaWFsIGdvbGQtc3RhbmRhcmQgcnVsZXMuIERp c2FwcHJvdmFsIG9mIHRoZXNlICJnb2xkZW4gcnVsZXMiIGNvbmNlcm5pbmcgJyduYScnIGlzIGdy b3dpbmcsIGFuZCB0aGVyZSBpcyBkaXNhZ3JlZW1lbnQgYWJvdXQgd2hhdCBydWxlIHNldCBzaG91 bGQgcmVwbGFjZSBpdC4gRm9yIG5vdywgSSB3aWxsIHN0aWNrIHdpdGggdGhlIG9mZmljaWFsIHJ1 bGVzLCBhbmQgdGhlcmVmb3JlLCBzbyB3aWxsIHlvdSwgZGVhciByZWFkZXIuCgpUaGUgZmlyc3Qg eW91IG5lZWQgdG8ga25vdyBhYm91dCBpcyBicmlkaSBuZWdhdGlvbiwgc28gY2FsbGVkIGJlY2F1 c2UgaXQgbmVnYXRlcyB0aGUgYnJpZGkgaXQncyBpbiwgc2F5aW5nIGl0J3Mgbm90IHRydWUuIFRo ZSB3YXkgdG8gbmVnYXRlIGEgYnJpZGkgaXMgdG8gcGxhY2UgJyduYScnIGZpcnN0IGluIHRoZSBz ZW50ZW5jZSB3aXRoIGEgJydrdScnIGFmdGVyIGl0LCBvciBqdXN0IGJlZm9yZSB0aGUgc2VsYnJp LiAKCl9fJydzcGVuaScnX18geDEgaXMgbWFycmllZCB0byB4MiB1bmRlciBjb252ZW50aW9uIHgz CgpUaHVzOiAnJ25hIGt1IGxlIG1pIHNwZW5pIGN1IG5pbm11Jycgc3RhdGVzIHRoYXQg4oCcTXkg c3BvdXNlIGlzIG5vdCBhIHdvbWFu4oCdLiBJdCBzdGF0ZXMgbm90aGluZyBhYm91dCB3aGF0IG15 IHdpZmUgaXMsIG9yIGlmIEkgZXZlbiBoYXZlIGEgd2lmZS4gSXQgb25seSBzdGF0ZXMgdGhhdCBJ IGRvIG5vdCBoYXZlIGEgd2lmZSB3aG8gaXMgYWxzbyBhIHdvbWFuLiBUaGlzIGhhcyBhbiBpbXBv cnRhbnQgaW1wbGljYXRpb246IElmIHRoZSBuZWdhdGlvbiBvZiBhIGJyaWRpIGlzIGZhbHNlLCB0 aGUgYnJpZGkgbXVzdCBiZSB0cnVlOiAnJ25hIGt1IGxlIG1pIHNwZW5pIGN1IG5hIG5pbm11Jycg bXVzdCBtZWFuIHRoYXQgSSBoYXZlIGJvdGggYSBzcG91c2UsIGFuZCB0aGF0IHNoZSBpcyBhIHNo ZS4KCkl0IGlzIHBvc3NpYmxlIHRvIHVzZSBicmlkaSBuZWdhdGlvbnMgaW4gYWxsIGJyaWRpLCBl dmVuIHRoZSBpbXBsaWNpdCBicmlkaSBvZiBkZXNjcmlwdGl2ZSBzdW10aS4gJydsbyBuYSBwcmVu dScnIGNhbiByZWZlciB0byBhbnl0aGluZyBub24taHVtYW4sIHdoZXRoZXIgaXQgYmUgYSBzcGhp bngsIGEgYmFzZWJhbGwgb3IgdGhlIHByb3BlcnR5IG9mIGFwcHJvcHJpYXRlbmVzcy4KCgoKX18n J2JhdScnX18gc3VtdGNpdGEsIGZyb20gYmFuZ3U6IHVzaW5nIHRoZSBsYW5ndWFnZSBvZiB7c3Vt dGl9CgpfXycnc2UgamEnZScnX18gc3VtdGNpdGEsIGZyb20gc2UgamFsZ2U6IGJlY2F1c2Ugb2Yg e3N1bXRpfQoKCgpPZnRlbiB3aGVuIHVzaW5nICcnbmEnJywgaXQncyBhIHByb2JsZW0gdGhhdCBp dCBuZWdhdGVzIHRoZSBlbnRpcmUgYnJpZGkuIElmIEkgc2F5ICcnbWkgbmEgc3V0cmEgdGF2bGEg YmF1IGxlIGdsaWJhdSBzZSBqYSdlIGxlIG51IG1pIGRvdGNvJycsIEkgZW5kIHVwIG5lZ2F0aW5n IHRvbyBtdWNoLCBhbmQgaXQgaXMgbm90IGNsZWFyIHRoYXQgSSB3YW50ZWQgdG8gb25seSBuZWdh dGUgdGhhdCBJIHNwZWFrIGZhc3QuIFRoZSBzZW50ZW5jZSBjb3VsZCBzdWdnZXN0IHRoYXQgSSBp biBmYWN0IHNwZWFrIGZhc3QgYmVjYXVzZSBvZiBzb21lIG90aGVyIHJlYXNvbiwgZm9yIGluc3Rh bmNlIHRoYXQgSSBzcGVhayBmYXN0IGluIEZyZW5jaCBiZWNhdXNlIEknbSBHZXJtYW4uIFRvIGV4 cHJlc3MgdGhlIHNlbnRlbmNlIG1vcmUgcHJlY2lzZWx5LCBJIG5lZWQgdG8gb25seSBuZWdhdGUg dGhhdCBJIHNwZWFrIGZhc3QsIGFuZCBub3QgdGhlIG90aGVyIHRoaW5ncy4KClRvIG9ubHkgbmVn YXRlIHBhcnQgb2YgYSBicmlkaSwgJyduYSBrdScnIGNhbiBiZSBtb3ZlZCBhcm91bmQgdGhlIGJy aWRpIGFuZCBwbGFjZWQgYW55d2hlcmUgYSBzdW10aSBjYW4gZ28uIEl0IHRoZW4gbmVnYXRlcyBh bnkgc3VtdGksIHNlbGJyaSBhbmQgc3VtdGNpdGEgcGxhY2VkIGFmdGVyIGl0LiBXaGVuIHBsYWNl ZCBpbW1lZGlhdGVseSBiZWZvcmUgdGhlIHNlbGJyaSwgdGhlICcna3UnJyBjYW4gYmUgZWxpZGVk LgoKTW92aW5nICcnbmEga3UnJyBmcm9tIHRoZSBsZWZ0IGVuZCBvZiB0aGUgYnJpZGkgYW5kIHJp Z2h0d2FyZHMgZWZmZWN0cyBhbnkgcXVhbnRpZmllcnMgaW4gYSBjZXJ0YWluIHdheSwgYXMgY2Fu IGJlIHNlZW4gYnkgdGhpcyBleGFtcGxlOgoKCgpUaGVyZSBhcmUgZm9yY2VzIHdpdGhpbiB0aGUg TG9qYmFuIGNvbW11bml0eSB3aG8sIHBlcmhhcHMgcmlnaHRseSwgdGhpbmsgdGhhdCB0aGVyZSBp cyBubyBnb29kIHJlYXNvbiB0aGF0IGEgJyduYScnIHBsYWNlZCBiZWZvcmUgYSBzZWxicmkgbmVn YXRlcyB0aGUgZW50aXJlIGJyaWRpLCB3aGVyZWFzIGEgJyduYSBrdScnIGFueSBvdGhlciBwbGFj ZSBuZWdhdGVzIG9ubHkgd2hhdCBpcyB0cmFpbGluZyBiZWhpbmQgaXQuIEhvd2V2ZXIsIGluIHRo ZXNlIGxlc3NvbnMgeW91IHdpbGwgYmUgdGF1Z2h0IHdoYXQgaXMgc3RpbGwgdGhlIG9mZmljaWFs IHN0YW5jZSwgbmFtZWx5IHRoYXQgJyduYScnIGJlZm9yZSB0aGUgc2VsYnJpIG5lZ2F0ZXMgdGhl IGJyaWRpLgoKCgpUaGUgdXNlIG9mICcnbmEga3UnJyBpcyBleGVtcGxpZmllZCB3aXRoIHRoZSBm b2xsb3dpbmcgZXhhbXBsZXMuCgonJ25hIGt1IHJvIHJlbW5hIGN1IHZlcmJhJycg4oCcSXQncyBu b3QgdHJ1ZSB0aGF0OiBBbGwgaHVtYW5zIGFyZSBjaGlsZHJlbuKAnQoKJydzdSdvIHJlbW5hIG5h IGt1IGN1IHZlcmJhJycg4oCcRm9yIGF0IGxlYXN0IG9uZSBodW1hbiBpdCdzIG5vdCB0cnVlIHRo YXQ6IEl0J3MgYSBjaGlsZOKAnS4gU2VlIHRoYXQgdGhlICcnbmEga3UnJyBpcyBwbGFjZWQgYmVm b3JlICcnY3UnJywgc2luY2UgYSBzdW10aSBjYW4gZ28gb25seSBiZWZvcmUsIG5vdCBhZnRlciB0 aGUgJydjdScnLiBIYWQgSSBvbmx5IHVzZWQgJyduYScnLCBpdCB3b3VsZCBoYXZlIHRvIGdvIGFm dGVyICcnY3UnJyAtIGJ1dCB0aGF0IHdvdWxkIGhhdmUgbmVnYXRlZCB0aGUgZW50aXJlIGJyaWRp LCBtZWFuaW5nICJJdCdzIG5vdCB0cnVlIHRoYXQ6IEF0IGxlYXN0IG9uZSBodW1hbiBpcyBhIGNo aWxkIi4KCgoKV2hlbiB0aGUgJyduYSBrdScnIGlzIG1vdmVkIHJpZ2h0d2FyZHMsIGFueSBxdWFu dGlmaWVyIGlzIGludmVydGVkIC0gdGhhdCBpczogJydybycnIGlzIHR1cm5lZCBpbnRvICcnc3Un bycnLiBUaGlzIGlzLCBvZiBjb3Vyc2UsIG9ubHkgaWYgdGhlIG1lYW5pbmcgb2YgdGhlIGJyaWRp IGhhcyB0byBiZSBwcmVzZXJ2ZWQuIFRoaXMgbWVhbnMgdGhhdCB3aGVuIHRoZSAnJ25hIGt1Jycg aXMgcGxhY2VkIGF0IHRoZSBlbmQgb2YgdGhlIGJyaWRpLCBvbmx5IHRoZSBzZWxicmkgaXMgbmVn YXRlZCBidXQgYWxsIHRoZSBzdW10aSBhbmQgc3VtdGNpdGEgYXJlIHByZXNlcnZlZCwgYXMgY2Fu IGJlIHNlZW4gYnkgdGhlc2UgdGhyZWUgaWRlbnRpY2FsIGJyaWRpOgoKX18nJ2NrdWxlJydfXyB4 MSBpcyBhIHNjaG9vbCBhdCBsb2NhdGlvbiB4MiB0ZWFjaGluZyB4MyB0byBzdHVkZW50cyB4NCBh bmQgb3BlcmF0ZWQgYnkgeDUKCgoKJyduYSBrdSBybyB2ZXJiYSBjdSB2ZSBja3VsZSBmbyBzdSdv IGNrdWxlJycg4oCTIOKAnEl0J3Mgbm90IHRydWUgdGhhdCBhbGwgY2hpbGRyZW4gYXJlIHN0dWRl bnRzIGluIGEgc2Nob29sLuKAnQoKJydzdSdvIHZlcmJhIGN1IHZlIGNrdWxlIG5hIGt1IGZvIHN1 J28gY2t1bGUnJyDigJMg4oCcU29tZSBjaGlsZHJlbiBhcmUgc3R1ZGVudHMgaW4gbm90IGEgc2lu Z2xlIHNjaG9vbC7igJ0KCicnc3UnbyB2ZXJiYSBjdSB2ZSBja3VsZSBmbyBybyBja3VsZSBuYSBr dScnIOKAkyDigJxTb21lIGNoaWxkcmVuIGFyZSBmb3IgYWxsIHNjaG9vbHMgbm90IHN0dWRlbnRz IGluIHRoZW0u4oCdCgoKClRoZSBvcHBvc2l0ZSBvZiAnJ25hJycgaXMgJydqYSdhJycuIFRoaXMg aXMgYmFyZWx5IGV2ZXIgdXNlZCwgc2luY2UgaXQgaXMgZGVmYXVsdCBpbiBtb3N0IGJyaWRpLiBP bmUgZXhjZXB0aW9uIGlzIHJlcGVhdGVkIGJyaWRpIChuZXh0IGxlc3NvbikuIFNvbWV0aW1lcyBp dCdzIHVzZWQgdG8gcHV0IG1vcmUgd2VpZ2h0IG9uIHRoZSB0cnV0aCBvZiB0aGUgYnJpZGksIGFz IGluICcnbGEgLmJhYi4gamEnYSBtZWxiaScnID0gIkJvYiBpcyBpbmRlZWQgYmVhdXRpZnVsIi4K CgoKV2hpbGUgdGhlIG1lY2hhbmlzbSBvZiAnJ25hIGt1JycgcmVzZW1ibGVzIG5hdHVyYWwgbGFu Z3VhZ2UgbmVnYXRpb24sIGl0IGNhbiBiZSBkaWZmaWN1bHQgdG8ga2VlcCB0cmFjayBvZiBleGFj dGx5IHdoYXQgaXMgbmVnYXRlZCBhbmQgaG93IHRoYXQgYWZmZWN0cyB0aGUgYnJpZGkuIEZvciB0 aGF0IHJlYXNvbiwgdGhlIGNvbnN0cnVjdCAnJ25hIGt1JycgaXMgcmFyZWx5IHNlZW4gYW55d2hl cmUgb3RoZXIgdGhhbiB0aGUgYmVnaW5uaW5nIG9mIGEgYnJpZGkuIEluIG1vc3QgY2FzZXMgd2hl cmUgbW9yZSBzcGVjaWZpYyBuZWdhdGlvbiBpcyBuZWVkZWQgcGVvcGxlIHJlc29ydCB0byBhIGRp ZmZlcmVudCBtZXRob2QuIFRoaXMgbWV0aG9kLCBjYWxsZWQgc2NhbGFyIG5lZ2F0aW9uLCBpcyBh biBlbGVnYW50IGFuZCBpbnR1aXRpdmUgdG9vbC4gVXNpbmcgaXQsIHlvdSBlZmZlY3Qgb25seSB0 aGUgc2VsYnJpLCBzaW5jZSB0aGUgd29yZHMgdXNlZCBpbiBzY2FsYXIgbmVnYXRpb24gYmluZHMg dG8gdGhlIHNlbGJyaSBtdWNoIGxpa2UgdGhlIHdvcmQgJydzZScnLgoKVGhlIG5hbWUg4oCcc2Nh bGFyIG5lZ2F0aW9u4oCdIGlzIGRlcml2ZWQgZnJvbSB0aGUgZmFjdCB0aGF0IHRoZSB3b3JkcyB3 aGljaCBiaW5kIHRvIHRoZSBzZWxicmkgY2FuIGJlIHBsYWNlZCBhbG9uZyBhIHNjYWxlIGZyb20g YWZmaXJtYXRpb24gb3ZlciBuZWdhdGlvbiBhbmQgdG8gc3RhdGluZyB0aGF0IHRoZSBvcHBvc2l0 ZSBjYXNlIGlzIHRydWU6Cgp8fFdvcmR8TWVhbmluZwoKamUnYXzigJxJbmRlZWTigJ07IHNjYWxh ciBhZmZpcm1lcgoKbm8nZXzigJxOb3QgcmVhbGx54oCdLCBzY2FsYXIgbWlkcG9pbnQKCm5hJ2V8 4oCcTm9uLeKAnCwgc2NhbGFyIG5lZ2F0b3IKCnRvJ2V84oCcSWzigJ0sIOKAnERpcy3igJwsIOKA nE1pc+KAnSBlY3Q7IHNjYWxhciBvcHBvc2VyfHwKCgoKVGhlc2Ugd29yZHMgYXJlIG5vdCBuZWdh dG9ycyBpbiB0aGUgc2FtZSBzZW5zZSBhcyAnJ25hJycuIFRoZXkgZG8gbm90IHN0YXRlIHRoYXQg YSBicmlkaSBpcyBmYWxzZSwgYnV0IG1ha2VzIGEgcG9zaXRpdmUgc3RhdGVtZW50IHRoYXQgYSBi cmlkaSBpcyB0cnVlIOKAkyB0aGUgc2FtZSBicmlkaSwgYnV0IHdpdGggYSBkaWZmZXJlbnQgc2Vs YnJpLiBUaGlzIGRpc3RpbmN0aW9uIGlzIG1vc3RseSBhY2FkZW1pYywgdGhvdWdoLiBJZiwgZm9y IGV4YW1wbGUsIEkgc3RhdGUgdGhhdCAnJ21pIG5hJ2Ugc2UgbmVsY2knJyAiSSBhbSBub24tbGlr ZWQiLCBJIGFjdHVhbGx5IHN0YXRlIHRoYXQgc29tZSBzZWxicmkgYXBwbGllcyB0byBtZSwgd2hp Y2ggaXMgYWxzbyBvbiBhIHJlbGV2YW50IHNjYWxlIHdpdGggdGhlIHNlbGJyaSAnJ25lbGNpJycu IE1vc3Qgb2YgdGhlIHRpbWUsIHdlIGFzc3VtZSBhIHNjYWxlIHdoZXJlIHRoZSBwb3NpdGlvbnMg YXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSAobGlrZSBsb3ZlLWxpa2UtZGlzbGlrZS1oYXRlKSwgc28g JydtaSBuYSdlIHNlIG5lbGNpJycgaW1wbGllcyAnJ21pIG5hIHNlIG5lbGNpJycKClRoZXJlZm9y ZSwgdGhlIHdvcmRzICcnbm8nZScnIGFuZCAnJ3RvJ2UnJyBzaG91bGQgb25seSBiZSB1c2VkIHdo ZW4gdGhlIHNlbGJyaSBpcyBwbGFjZWQgb24gc29tZSBvYnZpb3VzIHNjYWxlOgoKJydsZSBtaSBz cGVuaSBjdSB0bydlIG1lbGJpJycg4oCTIOKAnU15IHNwb3VzZSBpcyB1Z2x54oCdIG1ha2VzIHNl bnNlLCBzaW5jZSB3ZSBpbW1lZGlhdGVseSBrbm93IHdoYXQgdGhlIG9wcG9zaXRlIG9mIGJlYXV0 aWZ1bCBpcywgd2hpbGUKCicnbWkga2xhbWEgbGUgbWkgdG8nZSB6ZGFuaScnIOKAkyDigJ1JIGdv IHRvIG15IG9wcG9zaXRlIHRoaW5nIG9mIGhvbWXigJ0sIHdoaWxlIGdyYW1tYXRpY2FsLCBsZWF2 ZXMgdGhlIGxpc3RlbmVyIGd1ZXNzaW5nIHdoYXQgdGhlIHNwZWFrZXIncyDigJxvcHBvc2l0ZS1o b21l4oCdIGlzIGFuZCBzaG91bGQgYmUgYXZvaWRlZC4KCgoKU28gaG93IGNhbiB5b3UgbmVnYXRl IG9ubHkgdGhlIHNlbGJyaSB3aXRob3V0IGFsc28gaW1wbHlpbmcgdGhhdCB0aGUgc2VsYnJpIGlz IGNvcnJlY3QgYXQgc29tZSBvdGhlciBwb3NpdGlvbiBvbiBhIHRydXRoLXNjYWxlPyBTaW1wbGU6 IE1vdmluZyB0aGUgJyduYSBrdScnIHRvIHRoZSByaWdodG1vc3QgZW5kIG9mIHRoZSBicmlkaSwg YXMgZGVtb25zdHJhdGVkIGEgZmV3IGxpbmVzIGFib3ZlLiBUaGlzIGZlYXR1cmUgaXMgdmVyeSB1 c2VmdWwuIFNvbWUgbG9qYmFuaXN0cyBwcmVmZXIgdG8gcHJlZml4IHRoZSByYWZzaSAnJ25hcicn ICh0aGUgcmFmc2kgb2YgJyduYScnKSBpbiBmcm9udCBvZiB0aGUgc2VsYnJpIC0gdGhpcyBoYXMg dGhlIHNhbWUgZWZmZWN0LCBidXQgSSBhZHZpc2UgYWdhaW5zdCBpdCwgYmVjYXVzZSBpdCBtYWtl cyBmYW1pbGlhciBicml2bGEgc2VlbSBhbGllbiwgYW5kIGl0J3MgaGFyZGVyIHRvIHVuZGVyc3Rh bmQgd2hlbiBzcG9rZW4gY2FzdWFsbHkuCgpJZiBhIHNpdHVhdGlvbiBhcmlzZXMgd2hlcmUgeW91 IG5lZWQgdG8gbmVnYXRlIG9ubHkgdGhlIHNlbGJyaSwgYnV0IHdhbnQgaXQgdG8gYmUgY2xlYXIg YmVmb3JlIHRoZSBlbmQgb2YgdGhlIGJyaWRpLCB0aGUgZXhwZXJpbWVudGFsIGNtYXZvICcnbmEn ZWknJywgd2hpY2ggZ3JhbW1hdGljYWxseSB3b3JrcyBsaWtlICcnbmEnZScnLCBjYW4gYmUgdXNl ZAoKX18nJ25hJ2VpJydfXzogTmVnYXRlcyB0aGUgZm9sbG93aW5nIHNlbGJyaSBvbmx5CgoKClRy eSB0byB0cmFuc2xhdGUgdGhlc2Ugc2VudGVuY2VzOgoK4oCcTXkgc3BvdXNlIGlzIG5vdCBhIHdv bWFu4oCdIChtZWFuaW5nIHRoYXQgaGUgaXMgYSBtYWxlKQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5 OicnbGUgbWkgc3BlbmkgY3UgbmEnZSAvIHRvJ2UgbmlubXUnJy4gVXNpbmcgc2NhbGFyIG5lZ2F0 aW9uIGhlcmUgaW1wbGllcyB0aGF0IGhlIGV4aXN0cywgd2hpY2ggbmEgZGlkIG5vdC5+fgoKCgri gJxNeSBzcG91c2UgaXMgbm90IHJlYWxseSBhIHdvbWFu4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdy ZXk6JydsZSBtaSBzcGVuaSBjdSBubydlIG5pbm11JycuIFRoZSBzY2FsZSBoZXJlIGlzIHByZXN1 bWVkIHRvIGJlIGZyb20gd29tYW4gdG8gbWFuLn5+CgoKCuKAnEkgZG9uJ3Qgc3BlYWsgZmFzdCBp biBFbmdsaXNoIGJlY2F1c2UgSSdtIEdlcm1hbuKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5Oicn bWkgbmEnZSBzdXRyYSB0YXZsYSBiYXUgbGUgZ2xpYmF1IHNlIGphJ2UgbGUgbnUgbWkgZG90Y28n J35+CgoKCkFsc28sIG5vdGUgdGhhdCB3aGVuZXZlciB0aGVzZSB3b3JkcyBhcmUgdXNlZCB0b2dl dGhlciB3aXRoIGEgdGFucnUsIHRoZXkgb25seSBhZmZlY3QgdGhlIGxlZnRtb3N0IHNlbGJyaS4g SW4gb3JkZXIgdG8gbWFrZSBpdCBiaW5kIHRvIHRoZSB3aG9sZSB0YW5ydSBvciBwYXJ0cyBvZiB0 aGUgdGFucnUsIHRoZSB1c3VhbCB0YW5ydS1ncm91cGluZyB3b3JkcyBjYW4gYmUgdXNlZC4KCgoK VHJ5IHRvIHNheSDigJxJIHNlbGwgc29tZXRoaW5nIHdoaWNoIGlzIG5vdCB5ZWxsb3cgaG9tZXPi gJ0gdXNpbmcgdGhlIHRhbnJ1ICcncGVseHUgemRhbmkgdmVjbnUnJwoKCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OicnbWkgbmEnZSBrZSBwZWx4dSB6ZGFuaSBrZSdlIHZlY251IG9yIG1pIG5hJ2UgcGVs eHUgYm8gemRhbmkgdmVjbnUnJ35+CgoKCldoZW4gYXR0ZW1wdGluZyB0byBhbnN3ZXI6IOKAnElz IHRoZSBraW5nIG9mIHRoZSBVU0EgZmF0P+KAnSwgYWxsIG9mIHRoZXNlIG5lZ2F0aW9ucyBmYWls LiBXaGlsZSBpdCdzIHRlY2huaWNhbGx5IGNvcnJlY3QgdG8gbmVnYXRlIGl0IHdpdGggJyduYScn LCBzaW5jZSBpdCBtYWtlcyBubyBhc3N1bXB0aW9ucyBvZiB0aGF0IGlzIHRydWUsIGl0J3MgbWls ZGx5IG1pc2xlYWRpbmcgc2luY2UgaXQgY291bGQgbGVhZCB0aGUgbGlzdGVuZXIgdG8gYmVsaWV2 ZSB0aGVyZSBpcyBhIGtpbmcgb2YgdGhlIFVTQS4gRm9yIHRoZXNlIHNjZW5hcmlvcywgdGhlcmUg aXMgYSBtZXRhbGluZ3Vpc3RpYyBuZWdhdG9yLCAnJ25hJ2knJy4KCicnbmEnaScnIE1ldGFsaW5n dWlzdGljIG5lZ2F0b3IuIFNvbWV0aGluZyBpcyB3cm9uZyB3aXRoIGFzc2lnbmluZyBhIHRydXRo IHZhbHVlIHRvIHRoZSBicmlkaS4KCkJlY2F1c2UgJyduYSdpJycgY2FuIGJlIG5lZWRlZCBhbnl3 aGVyZSBpdCBoYXMgYmVlbiBnaXZlbiB0aGUgZ3JhbW1hciBvZiB0aGUgYXR0aXR1ZGluYWxzLCB3 aGljaCBtZWFucyBpdCBjYW4gYXBwZWFyIGFueXdoZXJlLCBhbmQgaXQgYXR0YWNoZXMgdG8gdGhl IHByZXZpb3VzIHdvcmQgb3IgY29uc3RydWN0LgoKCgpfXycncGFsY2knJ19fIHgxIGlzIGV2aWwg Ynkgc3RhbmRhcmQgeDIKCicnbGUgbmEnaSBwdSB0ZSB6dWt0ZSBiZSBsZSBza2FtaSBjdSBwYWxj aScnIOKAkyDigJ1UaGUgc291Z2h0IGdvYWwge21pc3Rha2UhfSBvZiB0aGUgY29tcHV0ZXIgd2Fz IGV2aWzigJ0sIHByb2JhYmx5IHByb3Rlc3RzIHRoYXQgY29tcHV0ZXJzIGNhbiBzZWVrIGEgZ29h bCB2b2xpdGlvbmFsbHkuCgoKClNpbmNlIHRoaXMgaXMgYSBsZXNzb24gb24gbmVnYXRpb24sIEkg YmVsaWV2ZSB0aGUgd29yZCAnJ25haScnIGRlc2VydmVzIGEgc2hvcnQgbWVudGlvbi4gSXQgaXMg dXNlZCB0byBuZWdhdGUgbWlub3IgZ3JhbW1hdGljYWwgY29uc3RydWN0cywgYW5kIGNhbiBiZSB1 c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggYXR0aXR1ZGluYWxzLCBhbGwgc3VtdGNpdGEgaW5jbHVk aW5nIHRlbnNlcywgdm9jYXRpdmVzIGFuZCBsb2dpY2FsIGNvbm5lY3RpdmVzLiBUaGUgcnVsZXMg Zm9yIG5lZ2F0aW5nIHVzaW5nICcnbmFpJycgZGVwZW5kIG9uIHRoZSBjb25zdHJ1Y3QsIGFuZCBz byB0aGUgZWZmZWN0IG9mICcnbmFpJycgaGFzIGJlZW4gZGlzY3Vzc2VkIHdoZW4gbWVudGlvbmlu ZyB0aGUgY29uc3RydWN0IHRoZW1zZWx2ZXMuIFRoZSBleGNlcHRpb24gaXMgc3VtdGNpdGEsIHdo ZXJlIHRoZSBydWxlcyBmb3IgbmVnYXRpb24gYXJlIG1vcmUgY29tcGxleCwgYW5kIHdpbGwgbm90 IGJlIGRpc2N1c3NlZCBoZXJlLgoKX19Ob3RlOl9fIEF0IHRoZSB0aW1lIG9mIHdyaXRpbmcsIGl0 IGhhcyBiZWVuIHByb3Bvc2VkIHRvIG1vdmUgJyduYWknJyB0byB0aGUgc2VsbWEnbyBDQUksIHdo aWNoIG1lYW5zIHRoZSBzZW1hbnRpY3Mgb2YgJyduYWknJyBkZXBlbmQgb24gd2hpY2ggc2VsbWEn byBpdCBmb2xsb3dzLiAKCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHR3ZW50eS1mb3Vy IChicmlrYSdpL3Byby1icmlkaSBhbmQga28nYSkKCklmIEkgc2F5IHRoYXQgSSdtIGNhbGxlZCBN aWtoYWlsLCAnJ3pvIC5taWthaWwuIGNtZW5lIG1pJycsIGFuZCB5b3UgaGF2ZSB0byBzYXkgdGhl IGV4YWN0IHNhbWUgYnJpZGksIHdoYXQgd291bGQgdGhhdCBiZT8gT25lIG9mIHRoZSBtYW55IGFu c3dlcnMgaXMgJydkbyBzZSBjbWVuZSB6byAubWlrYWlsLicnLiBGb3IgdGhlIGJyaWRpIHRvIGJl IHRoZSBzYW1lLCB5b3UgaGF2ZSB0byByZXBsYWNlICcnbWknJyB3aXRoICcnZG8nJywgYW5kIGl0 IGRvZXNuJ3QgbWF0dGVyIHdoaWNoIGlmIHlvdSBzYXkgdGhlIGJyaWRpIHdpdGggdGhlICcnc2Un Jy1jb252ZXJ0ZWQgc2VsYnJpIG9yIG5vdC4gVGhpcyBpcyBiZWNhdXNlIGEgYnJpZGkgaXMgbm90 IHRoZSB3b3JkcyB3aGljaCBleHByZXNzIGl0IOKAkyBhIGJyaWRpIGlzIGFuIGlkZWEsIGFuIGFi c3RyYWN0IHByb3Bvc2l0aW9uLiBUaGUgd29yZCAnJ21pJycgd2hlbiBJIHNheSBpdCBhbmQgdGhl IHdvcmQgJydkbycnIHdoZW4geW91IGRvIHJlZmVycyB0byB0aGUgc2FtZSBzdW10aSwgc28gdGhl IHR3byBicmlkaSBhcmUgaWRlbnRpY2FsLgoKVGhpcyBsZXNzb24gaXMgb24gJydicmlrYSdpJycs IHRoZSBicmlkaSBlcXVpdmFsZW50IG9mIHN1bWthJ2kuIFRoZXkgYXJlIHdvcmQgd2hpY2ggcmVw cmVzZW50IGVudGlyZSBicmlkaS4gSGVyZSBpdCBpcyBpbXBvcnRhbnQgdG8gcmVtZW1iZXIgdGhh dCBhIGJyaWRpIGNvbnNpc3RzIG9ubHkgb2Ygc3VtdGkgYW5kIHRoZSB0aGluZ3Mgd2hpY2ggY29u dGFpbiB0aGUgc3VtdGksIHNlbGJyaSBhbmQgc3VtdGNpdGEuIE5laXRoZXIgYXR0aXR1ZGluYWxz LCBub3IgdGhlIHNlbWFudGljIGxheWVyIG9mICcna28nJyBvciAnJ21hJycgYXJlIHBhcnQgb2Yg dGhlIGJyaWRpIHByb3BlciwgYW5kIHNvIHRoZXNlIGFyZSBub3QgcmVwcmVzZW50ZWQgYnkgYSAn J2JyaWthJ2knJy4KCgoKVGhlcmUgYXJlIG11Y2ggZmV3ZXIgJydicmlrYSdpJycgdGhhbiB0aGVy ZSBhcmUgc3Vta2EnaS4gV2Ugd2lsbCBiZWdpbiBieSBnb2luZyB0aHJvdWdoIHNvbWUgb2YgdGhl IHdvcmRzIGluIHRoZSBtb3N0IHVzZWQgc2VyaWVzLCBjYWxsZWQgR09oQToKCldvcmQ6CURlZmlu aXRpb246CgpfXycnZ28ndScnX18JUmVwZWF0cyByZW1vdGUgcGFzdCBicmlkaQoKX18nJ2dvJ2En J19fCVJlcGVhdHMgcGFzdCBicmlkaQoKX18nJ2dvJ2UnJ19fCVJlcGVhdHMgbmV4dC10by1sYXN0 IGJyaWRpCgpfXycnZ28naScnX18JUmVwZWF0cyBsYXN0IG1lbnRpb25lZCBicmlkaQoKX18nJ2dv J28nJ19fCVJlcGVhdHMgZnV0dXJlIGJyaWRpCgpfXycnbmVpJydfXwlSZXBlYXRzIGN1cnJlbnQg YnJpZGkKCl9fJydubydhJydfXwlSZXBlYXRzIG91dGVyIGJyaWRpCgoKClNvbWUgb2YgdGhlIEdP aEEtJydicmlrYSdpJycuIE5vdGljZSB0aGUgZmFtaWxpYXIgaSwgYSwgdS1wYXR0ZXJuIGZvciBj bG9zZSBpbiBwYXN0LCBtZWRpdW0gaW4gcGFzdCBhbmQgZGlzdGFudCBpbiBwYXN0LgoKCgpUaGVz ZSBhcmUgdmVyeSBtdWNoIGxpa2UgdGhlIHN1bWthJ2kgJydyaScnLCAnJ3JhJycgYW5kICcncnUn Jy4gVGhleSBjYW4gb25seSByZWZlciB0byBtYWluIGJyaWRpIG9mIGp1ZnJhLCBhbmQgbm90IHRo b3NlIGNvbnRhaW5lZCBpbiByZWxhdGl2ZSBwaHJhc2VzIG9yIGRlc2NyaXB0aW9uIHN1bXRpLiBU aGUgbWFpbiBicmlkaSBjYW4gY29udGFpbiBhIHJlbGF0aXZlIHBocmFzZSwgb2YgY291cnNlLCBi dXQgYSAnJ2JyaWthJ2knJyBjYW4gbmV2ZXIgYmUgdXNlZCB0byByZWZlciB0byBvbmx5IHRoZSBy ZWxhdGl2ZSBwaHJhc2UuCgpBIEdPaEEgYWN0cyBncmFtbWF0aWNhbGx5IG11Y2ggbGlrZSBhIHNl bGJyaSwgYW55IGNvbnN0cnVjdCB3aGljaCBjYW4gYXBwbHkgdG8gc2VsYnJpIGNhbiBhbHNvIGFw cGx5IHRvIHRoZXNlLiBUaGUgcGxhY2Ugc3RydWN0dXJlIG9mIGEgR09oQSBpcyB0aGUgc2FtZSBh cyB0aGF0IG9mIHRoZSBicmlkaSBpdCByZXByZXNlbnRzLCBhbmQgdGhlIHN1bXRpIGFyZSBieSBk ZWZhdWx0IHRoZSBzYW1lIGFzIGluIHRoZSBicmlkaSBpdCByZXByZXNlbnRzLiBGaWxsaW5nIHRo ZSBzdW10aSBwbGFjZXMgb2YgYSBHT2hBIGV4cGxpY2l0bHkgb3ZlcndyaXRlcyB0aGUgc3VtdGkg b2YgdGhlIGJyaWRpIGl0IHJlcHJlc2VudHMuIENvbnRyYXN0OgoKQTogJydtaSBjaXRrYSBsbyBw bGlzZScnIEI6ICcnZ28naScnIOKAkyDigJxJIGVhdCBhbiBhcHBsZS7igJ0g4oCcWW91IGRvLuKA nSB3aXRoCgpBOiAnJ21pIGNpdGthIGxvIHBsaXNlJycgQjogJydtaSBnbydpJycg4oCTIOKAnEkg ZWF0IGFuIGFwcGxlLuKAnSDigJxJIGRvLCB0b28u4oCdCgoKClRoZXNlICcnYnJpa2EnaScnIGFy ZSB2ZXJ5IHVzZWZ1bCB3aGVuIGFuc3dlcmluZyBhIHF1ZXN0aW9uIHdpdGggJyd4dScnOgoKQTog Jyd4dSBkbyBuZWxjaSBsZSBtaSBzcGVuaScnIEI6ICcnZ28naSAvIG5hIGdvJ2knJyDigJMg4oCc RG8geW91IGxpa2UgbXkgd2lmZT/igJ0g4oCcWWVzLi9Oby7igJ0uIFRoZSAnJ3h1JycsIGJlaW5n IGFuIGF0dGl0dWRpbmFsLCBpcyBub3QgY29waWVkLgoKV2hlbiByZXBlYXRpbmcgYnJpZGkgbmVn YXRlZCBieSAnJ25hJycsIHRoYXQgaXM6IEJyaWRpIHdoZXJlICcnbmEnJyBpcyBwbGFjZWQgaW4g dGhlIHByZW5leCAobGVzc29uIHR3ZW50eS1zZXZlbiksIGluIHRoZSBiZWdpbm5pbmcgb2YgdGhl IGJyaWRpIG9yIHJpZ2h0IGJlZm9yZSB0aGUgc2VsYnJpLCB0aGUgcnVsZXMgZm9yIGNvcHlpbmcg b3ZlciAnJ25hJycgYXJlIGRpZmZlcmVudCBmcm9tIHdoYXQgb25lIG1pZ2h0IGV4cGVjdC4gQW55 ICcnbmEnJyBpcyBjb3BpZWQgb3ZlciwgYnV0IGFueSBhZGRpdGlvbmFsICcnbmEnJyBpbiB0aGUg YnJpa2EnaSByZXBsYWNlcyB0aGUgZmlyc3QgbmEuIExldCBtZSBzaG93IHlvdSB3aXRoIGFuIGV4 YW1wbGU6CgpBOiAnJ21pIG5hIGNpdGthIGxvIHBsaXNlJycKCkI6ICcnbWkgZ28naScnID0gJydt aSBuYSBjaXRrYSBsbyBwbGlzZScnCgpDOiAnJ21pIG5hIGdvJ2knJyA9ICcnbWkgbmEgY2l0a2Eg bG8gcGxpc2UnJwoKRDogJydtaSBuYSBuYSBnbydpJycgPSAnJ21pIGNpdGthIGxvIHBsaXNlJycg PSAnJ21pIGphJ2EgZ28naScnCgoKCicnbmVpJycgYW5kICcnbm8nYScnIGFyZSBub3QgdXNlZCBt dWNoLCBleGNlcHQgZm9yIOKAnG1pbmQtYnJlYWtpbmcgcHVycG9zZXPigJ0sIHdoaWNoIGlzIG1h a2luZyB1cCBicmlkaSB3aGljaCBhcmUgaGFyZCB0byBwYXJzZSwgbGlrZSAnJ2RlaSBuYSBzZSBk dSd1IGxlIG5vJ2EgbGEnZSBsZSBuZWknJy4gU2luY2UgJyduZWknJyByZXBlYXRzIHRoZSBjdXJy ZW50IG91dGVyIGJyaWRpLCBob3dldmVyLCAnJ2xlIG5laScnIGNhbiBiZSB1c2VkIHRvIHJlZmVy IHRvIHRoZSB4MSBvZiB0aGUgY3VycmVudCBvdXRlciBicmlkaSwgJydsZSBzZSBuZWknJyB0aGUg eDIgYW5kIHNvIG9uLgoKCgpXaGVuIHVzaW5nICcnYnJpa2EnaScnLCBvbmUgbXVzdCBhbHdheXMg YmUgd2FyeSBvZiBjb3B5aW5nIHNlbnRlbmNlcyB3aXRoIHRoZSBwZXJzb25hbCBzdW1rYSdpIGxp a2UgJydtaScnLCAnJ2RvJycsICcnbWEnYScnIGVjdCwgYW5kIGJlIGNhcmVmdWwgbm90IHRvIHJl cGVhdCB0aGVtIHdoZW4gdGhleSBhcmUgaW4gdGhlIHdyb25nIGNvbnRlY3QsIGFzIHNob3duIGlu IHRoZSB0d28gZXhhbXBsZXMgd2l0aCBhcHBsZSBlYXRpbmcgYWJvdmUuIEluc3RlYWQgb2YgcmVw bGFjaW5nIHRoZW0gb25lIGJ5IG9uZSwgdGhvdWdoLCB0aGUgd29yZCAnJ3JhJ28nJyBhbnl3aGVy ZSBpbiB0aGUgYnJpZGkgdXBkYXRlcyB0aGUgcGVyc29uYWwgc3Vta2EnaSBzbyB0aGF0IHRoZXkg YXBwbHkgZm9yIHRoZSBzcGVha2VyJ3MgcGVyc3BlY3RpdmU6CgpBOiAnJ21pIGRvIHByYW1pJycg QjogJydtaSBkbyBnbydpJycgaXMgZXF1aXZhbGVudCB0byBBOiAnJ21pIGRvIHByYW1pJycgQjog JydnbydpIHJhJ28nJwoKX18nJ3JhJ28nJ19fIFVwZGF0ZSBhbGwgcGVyc29uYWwgc3Vta2EnaSBz byB0aGF0IHRoZXkgbm93IGZpdCB0aGUgc3BlYWtlcidzIHBvaW50IG9mIHZpZXcuCgoKClRoZSBv bmx5IG90aGVyIHNlcmllcyBvZiBicmlrYSdpIGFyZSB2ZXJ5IGVhc3kgdG8gcmVtZW1iZXI6Cgpf XycnYnJvZGEnJ19fCUJyaWRpIHZhcmlhYmxlIDEKCl9fJydicm9kZScnX18JQnJpZGkgdmFyaWFi bGUgMgoKX18nJ2Jyb2RpJydfXwlCcmlkaSB2YXJpYWJsZSAzCgpfXycnYnJvZG8nJ19fCUJyaWRp IHZhcmlhYmxlIDQKCl9fJydicm9kdScnX18JQnJpZGkgdmFyaWFibGUgNQoKX18nJ2NlaScnX18J RGVmaW5lIGJyaWRpIHZhcmlhYmxlIChub3QgYSBicmlrYSdpIGFuZCBub3QgaW4gQlJPREEpCgoK CgoKVGhlIGZpcnN0IGZpdmUgYXJlIGp1c3QgZml2ZSBpbnN0YW5jZXMgb2YgdGhlIHNhbWUgd29y ZC4gVGhleSBjYW4gYmUgdXNlZCBhcyBzaG9ydGN1dHMgdG8gYnJpZGkuIEFmdGVyIHNheWluZyBh IGJyaWRpLCBzYXlpbmcgJydjZWkgYnJvZGEnJyBkZWZpbmVzIHRoYXQgYnJpZGkgYXMgJydicm9k YScnLCBhbmQgJydicm9kYScnIGNhbiB0aGVuIGJlIHVzZWQgYXMgJydicmlrYSdpJycgZm9yIHRo YXQgYnJpZGkgaW4gdGhlIGZvbGxvd2luZyBjb252ZXJzYXRpb24uCgpXaGlsZSB3ZSdyZSBhdCBp dCwgdGhlcmUgaXMgYW4gYW5hbG9nb3VzIHNlcmllcyBvZiBzdW1rYSdpLCB3aGljaCBwcm9iYWJs eSBkb2VzIG5vdCBiZWxvbmcgaW4gdGhpcyBsZXNzb24sIGJ1dCBoZXJlIHRoZXkgYXJlIGFueXdh eToKCl9fJydrbydhJydfXwlTdW10aSB2YXJpYWJsZSAxCV9fJydmbydhJydfXwlTdW10aSB2YXJp YWJsZSA2CgpfXycna28nZScnX18JU3VtdGkgdmFyaWFibGUgMglfXycnZm8nZScnX18JU3VtdGkg dmFyaWFibGUgNwoKX18nJ2tvJ2knJ19fCVN1bXRpIHZhcmlhYmxlIDMJX18nJ2ZvJ2knJ19fCVN1 bXRpIHZhcmlhYmxlIDgKCl9fJydrbydvJydfXwlTdW10aSB2YXJpYWJsZSA0CV9fJydmbydvJydf XwlTdW10aSB2YXJpYWJsZSA5CgpfXycna28ndScnX18JU3VtdGkgdmFyaWFibGUgNQlfXycnZm8n dScnX18JU3VtdGkgdmFyaWFibGUgMTAKCgoKYXMgd2VsbCBhcyB0aGUgJydjZWknJy1lcXVpdmFs ZW50IGZvciB0aGlzIHNlcmllczoKCl9fJydnb2knJ19fIERlZmluZSBzdW10aSB2YXJpYWJsZQoK CgoKClRoZXNlIGFyZSB1c2VkIGxpa2UgdGhlICcnYnJpa2EnaScnLXNlcmllcy4gSnVzdCBwbGFj ZSwgZm9yIGluc3RhbmNlLCAnJ2dvaSBrbyd1JycgYWZ0ZXIgYSBzdW10aSwgYW5kIHRoYXQgc3Vt dGkgY2FuIGJlIHJlZmVycmVkIHRvIGJ5ICcna28ndScnLgoKCgpTdHJhbmdlbHksIHRoZXNlIHNl cmllcyBhcmUgcmFyZWx5IHVzZWQgZm9yIHRoZWlyIGludGVuZGVkIHB1cnBvc2UuIFRoZXkgYXJl LCBob3dldmVyLCB1c2VkIGFzIGFyYml0cmFyeSBzZWxicmkgYW5kIHN1bXRpIGluIGV4YW1wbGUg dGV4dHMsIHdoZXJlICcnYnJvZGEnJyBhbmQgJydicm9kZScnIG1lYW4gImFueSBzZWxicmkgQSIg YW5kICJhbnkgc2VsYnJpIEIiIGFuZCBzaW1pbGFybHkgZm9yICcna28nYScnIGFuZCBmcmllbmRz OgoK4oCcU28sIGlzIGl0IHRydWUgdGhhdCB0aGUgdHJ1dGggY29uZGl0aW9ucyBvZiAnJ2tvJ2Eg a28nZSBicm9kYSBuYSBrdScnIGFyZSBhbHdheXMgdGhlIHNhbWUgYXMgJyduYSBrdSBrbydhIGtv J2UgYnJvZGEnJz/igJ0g4oCcTm9wZSwgaXQgaXNuJ3Qu4oCdCgoKCgoKISFMb2piYW4gTGVzc29u cyAtIExlc3NvbiB0d2VudHktZml2ZSAobG9naWNhbCBjb25uZWN0aXZlcykKCuKAnElmIHlvdSBh c2sgYSBMb2piYW5pc3Q6IOKAnERvIHlvdSB3YW50IG1pbGsgb3Igc3VnYXIgaW4geW91ciBjb2Zm ZWU/4oCdIHNoZSdsbCBhbnN3ZXI6IOKAnENvcnJlY3Qu4oCd4oCdCgoKCldpdHR5IGFzIHRoaXMg am9rZSBtaWdodCBiZSwgaXQgaWxsdXN0cmF0ZXMgYSB3ZWlyZCBwcm9wZXJ0eSBvZiB0aGUgRW5n bGlzaCB3YXkgb2YgYXNraW5nIHRoaXMgcXVlc3Rpb24uIEl0IGlzIHBocmFzZWQgYXMgYSB0cnVl L2ZhbHNlIHF1ZXN0aW9uLCBidXQgaXQgcmVhbGx5IGlzbid0LiBJbiBMb2piYW4sIHdlIGNhbid0 IGhhdmUgdGhpcyBraW5kIG9mIGluY29uc2lzdGVuY3ksIGFuZCBzbyB3ZSBtdXN0IGZpbmQgYW5v dGhlciB3YXkgb2YgYXNraW5nIHRoaXMga2luZCBvZiBxdWVzdGlvbi4gSWYgeW91IHRoaW5rIGFi b3V0IGl0LCBpdCdzIHByZXR0eSBoYXJkIHRvIGZpbmQgYSBnb29kIGFuZCBlYXN5IHdheSwgYW5k IGl0IHNlZW1zIExvamJhbiBoYXZlIHBpY2tlZCBhIGdvb2Qgd2F5IGluc3RlYWQgb2YgYW4gZWFz eSB3YXkuCgoKClRvIGV4cGxhaW4gaXQsIGxldCB1cyB0YWtlIHR3byBzZXBhcmF0ZSBicmlkaTog QnJpZGkgMTog4oCcSSBsaWtlIG1pbGsgaW4gbXkgY29mZmVl4oCdIGFuZCBicmlkaSAyOiDigJxJ IGxpa2Ugc3VnYXIgaW4gbXkgY29mZmVl4oCdLiBCb3RoIG9mIHRoZXNlIGJyaWRpIGNhbiBoYXZl IHRoZSBzdGF0ZSB0cnVlIG9yIGZhbHNlLiBUaGlzIHlpZWxkcyBmb3VyIGNvbWJpbmF0aW9ucyBv ZiB3aGljaCBicmlkaSBpcy9hcmUgdHJ1ZToKCkEgKSAxIGFuZCAyCUIgKSAxIGJ1dCBub3QgMgoK QyApIDIgYnV0IG5vdCAxCUQgKW5laXRoZXIgMSBub3IgMgoKCgpJLCBpbiBhY3R1YWxpdHksIGxp a2UgbWlsayBpbiBteSBjb2ZmZWUsIGFuZCBJJ20gaW5kaWZmZXJlbnQgYXMgdG8gd2hldGhlciB0 aGVyZSBpcyBzdWdhciBpbiBpdCBvciBub3QuIFRoZXJlZm9yZSwgbXkgcHJlZmVyZW5jZSBjYW4g YmUgd3JpdHRlbiBBICkgdHJ1ZSBCICkgdHJ1ZSBDICkgZmFsc2UgRCApIGZhbHNlLCBzaW5jZSBi b3RoIEEgYW5kIEIgeWllbGRzIHRydWUgZm9yIG1lLCBidXQgbmVpdGhlciBDIG5vciBEIGRvZXMu IEEgbW9yZSBjb21wYWN0IHdheSBvZiB3cml0aW5nIG15IGNvZmZlZSBwcmVmZXJlbmNlcyB3b3Vs ZCBiZSBUVEZGIGZvciB0cnVlLCB0cnVlLCBmYWxzZSwgZmFsc2UuIFNpbWlsYXJseSwgYSBwZXJz b24gbGlraW5nIGhpcyBjb2ZmZWUgYmxhY2sgYW5kIHVuc3dlZXRlbmVkIHdvdWxkIGhhdmUgYSBj b2ZmZWUgcHJlZmVyZW5jZSBvZiBGRkZULiBUaGlzIGNvbWJpdGF0aW9uIG9mICJ0cnVlIiBhbmQg ImZhbHNlIiBpcyBjYWxsZWQgYSDigJx0cnV0aCBmdW5jdGlvbuKAnSwgaW4gdGhpcyBjYXNlIGZv ciB0aGUgdHdvIHN0YXRlbWVudHMg4oCcSSBsaWtlIG1pbGsgaW4gbXkgY29mZmVl4oCdIGFuZCDi gJxJIGxpa2Ugc3VnYXIgaW4gbXkgY29mZmVl4oCdLiBOb3RlIHRoYXQgdGhlIG9yZGVyIG9mIHRo ZSBzdGF0ZW1lbnRzIG1hdHRlcnMuCgpJbiBMb2piYW4sIHdlIG9wZXJhdGUgd2l0aCA0IHRydXRo IGZ1bmN0aW9ucywgd2hpY2ggd2UgY29uc2lkZXIgZnVuZGFtZW50YWw6CgpBOiBUVFRGIChhbmQv b3IpCgpPOiBURkZUIChpZiBhbmQgb25seSBpZmYpCgpVOiBUVEZGICh3aGV0aGVyIG9yIG5vdCkK CkU6IFRGRkYgKGFuZCkKCgoKSW4gdGhpcyBleGFtcGxlLCB0aGV5IHdvdWxkIHRyYW5zbGF0ZSB0 byBzb21ldGhpbmcgbGlrZTogQTrigJ1KdXN0IG5vdCBibGFjayBjb2ZmZWXigJ0sIE86IOKAnEVp dGhlciBib3RoIG1pbGsgb3Igc3VnYXIsIG9yIG5vdGhpbmcgZm9yIG1lLCBwbGVhc2XigJ0sIFU6 IOKAnE1pbGssIGFuZCBJIGRvbid0IGNhcmUgYWJvdXQgaWYgdGhlcmUncyBzdWdhciBvciBub3Ti gJ0gYW5kIEU6IOKAnE1pbGsgYW5kIHN1Z2FyLCBwbGVhc2Uu4oCdLgoKCgpJbiBMb2piYW4sIHlv dSBwbGFjZSB0aGUgd29yZCBmb3IgdGhlIHRydXRoIGZ1bmN0aW9uIGJldHdlZW4gdGhlIHR3byBi cmlkaSwgc2VsYnJpIG9yIHN1bXRpIGluIHF1ZXN0aW9uLiBUaGF0IHdvcmQgaXMgY2FsbGVkIGEg bG9naWNhbCBjb25uZWN0aXZlLiBUaGUgd29yZHMgZm9yIHRydXRoIGZ1bmN0aW9ucyBiZXR3ZWVu IHN1bXRpIChhbmQganVzdCBmb3Igc3VtdGkhKSBhcmUgICcnLmEnJyAnJy5vJycgJycudScnIGFu ZCAnJy5lJycuIEhvdyBuaWNlLiBGb3IgaW5zdGFuY2U6IOKAnEkgYW0gZnJpZW5kcyB3aXRoIGFu IEFtZXJpY2FuIGFuZCBhIEdlcm1hbuKAnSB3b3VsZCBiZSAnJ2xvIG1lcmtvIC5lIGxvIGRvdGNv IGN1IHBlbmRvIG1pJycuCgpIb3cgd291bGQgeW91IHNheTog4oCcSSBzcGVhayB0byB5b3UgYW5k IG5vIG9uZSBlbHNlP+KAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgdGF2bGEgZG8gLmUg bm8gZHJhdGEnJyBOb3RlIHRoYXQgdGhpcyBhY3R1YWxseSBzdGF0ZXMgdGhhdCBpdCdzIHRydWUg dGhhdCAiSSBzcGVhayB0byB5b3UiLn5+CgoKCk9uZSBtb3JlOiDigJxJIGxpa2UgY2hlZXNlIHdo ZXRoZXIgb3Igbm90IEkgbGlrZSBjb2ZmZWXigJ0KCl9fJydja2FmaScnX18geDEgaXMgYSBxdWFu dGl0eS9jb250YWlucyBjb2ZmZWUgZnJvbSBzb3VyY2Uvb2YgZ3JhaW4geDIKCgoKQW5zd2VyOiB+ fmdyZXksZ3JleTonJ21pIG5lbGNpIGxvJ2UgY2lybGEgLnUgbG8nZSBja2FmaScnfn4KCgoKWW91 IGNhbiBwZXJoYXBzIGRlZHVjZSB0aGF0IHRoZXJlIGFyZSBzaXh0ZWVuIHBvc3NpYmxlIHRydXRo IGZ1bmN0aW9ucywgc28gd2UgbmVlZCB0byBsZWFybiB0d2VsdmUgbW9yZSBpbiBvcmRlciB0byBr bm93IHRoZW0gYWxsLiBFaWdodCBtb3JlIGNhbiBiZSBvYnRhaW5lZCBieSBuZWdhdGluZyBlaXRo ZXIgdGhlIGZpcnN0IHNlbnRlbmNlIG9yIHRoZSBzZWNvbmQuIFRoZSBmaXJzdCBpcyBuZWdhdGVk IGJ5IHByZWZpeGluZyB0aGUgdHJ1dGggZnVuY3Rpb24gd29yZCB3aXRoICcnbmEnJywgdGhlIHNl Y29uZCBpcyBuZWdhdGVkIGJ5IHBsYWNpbmcgJyduYWknJyBhZnRlciB0aGUgd29yZC4gRm9yIGV4 YW1wbGUsIHNpbmNlICcnLmUnJyByZXByZXNlbnRzIFRGRkYsICcnLmUgbmFpJycgbXVzdCBiZSDi gJxib3RoIDEgaXMgdHJ1ZSBhbmQgMiBpcyBmYWxzZeKAnSwgd2hpY2ggaXMgRlRGRi4gU2ltaWxh cmx5LCAnJ25hIC5hJycgaXMg4oCcSnVzdCBub3Q6IDEgaXMgdHJ1ZSBhbmQgMiBpcyBmYWxzZeKA nSwgd2hpY2ggaXMgVFRGVC4gRG9pbmcgdGhpcyB0eXBlIG9mIGNvbnZlcnNpb24gaW4gdGhlIGhl YWQgcmVhbC10aW1lIGlzIHZlcnksIHZlcnkgaGFyZCwgc28gcGVyaGFwcyBvbmUgc2hvdWxkIGZv Y3VzIG9uIGxlYXJuaW5nIGhvdyBsb2dpY2FsIGNvbm5lY3RpdmVzIHdvcmsgaW4gZ2VuZXJhbCwg YW5kIHRoZW4gbGVhcm4gdGhlIGxvZ2ljYWwgY29ubmVjdGl2ZXMgdGhlbXNlbHZlcyBieSBoZWFy dC4KCgoKRm91ciBmdW5jdGlvbnMgY2Fubm90IGJlIG1hZGUgdGhpcyB3YXk6IFRUVFQsIFRGVEYs IEZURlQgYW5kIEZGRkYuIFRoZSBmaXJzdCBhbmQgdGhlIGxhc3QgY2Fubm90IGJlIG1hZGUgdXNp bmcgbG9naWNhbCBjb25uZWN0aXZlcyBhdCBhbGwsIGJ1dCB0aGV5IGFyZSBraW5kIG9mIHVzZWxl c3MgYW55d2F5LiBVc2luZyBhIGh5cG90aGV0aWNhbCBsb2dpY2FsIGNvbm5lY3RpdmUgaW4gdGhl IHNlbnRlbmNlIOKAnEkgbGlrZSBtaWxrIEZGRkYgc3VnYXIgaW4gbXkgY29mZmVl4oCdIGlzIGVx dWl2YWxlbnQgdG8gc2F5aW5nIOKAnEkgZG9uJ3QgbGlrZSBjb2ZmZWXigJ0sIGp1c3QgbW9yZSBj b21wbGljYXRlZC4gVGhlIGxhc3QgdHdvLCBURlRGIGFuZCBGVEZULCBjYW4gYmUgbWFkZSBieSBw cmVmaXhpbmcgJycudScnIHdpdGggZ29vZCBvbCcgJydzZScnLCB3aGljaCBqdXN0IHJldmVydHMg dGhlIHR3byBzdGF0ZW1lbnRzLiAnJ3NlIC51JycgLCBmb3IgaW5zdGFuY2UgaXMg4oCcQiB3aGV0 aGVyIG9yIG5vdCBB4oCdLCB3aGljaCBpcyBURlRGLiBUaGUgZmluYWwgbGlzdCBvZiBhbGwgbG9n aWNhbCBjb25uZWN0aXZlcyBjYW4gYmUgc2VlbiBiZWxvdy4KCgoKVFRUVDogQ2Fubm90IGJlIG1h ZGUKClRUVEY6ICcnLmEnJwoKVFRGVDogJycuYSBuYWknJwoKVFRGRjogJycudScnIE9SICcnLnUg bmFpJycKClRGVFQ6ICcnbmEgLmEnJwoKVEZURjogJydzZSAudScnCgpURkZUOiAnJy5vJycgT1Ig JyduYSAubyBuYWknJwoKVEZGRjogJycuZScnCgpGVFRUOiAnJ25hIC5hIG5haScnCgpGVFRGOiAn J25hIC5vJycgT1IgJycubyBuYWknJwoKRlRGVDogJydzZSAudSBuYWknJwoKRlRGRjogJycuZSBu YWknJwoKRkZUVDogJyduYSAudScnIE9SICcnbmEgLnUgbmFpJycKCkZGVEY6ICcnbmEgLmUnJwoK RkZGVDogJyduYSAuZSBuYWknJwoKRkZGRjogQ2Fubm90IGJlIG1hZGUKCgoKTG9naWNhbGx5LCBz YXlpbmcgYSBzZW50ZW5jZSB3aXRoIGEgbG9naWNhbCBjb25uZWN0aXZlLCBsaWtlIGZvciBpbnN0 YW5jZSAnJ21pIG5lbGNpIGxvJ2UgY2lybGEgLmUgbmFpIGxvJ2UgY2thZmknJyBpcyBlcXVpdmFs ZW50IHRvIHNheWluZyB0d28gYnJpZGksIHdoaWNoIGFyZSBjb25uZWN0ZWQgd2l0aCB0aGUgc2Ft ZSBsb2dpY2FsIGNvbm5lY3RpdmU6ICcnbWkgbmVsY2kgbG8nZSBjaXJsYSAuaSB7RSBOQUl9IG1p IG5lbGNpIGxvJ2UgY2thZmknJy4gVGhpcyBpcyBob3cgdGhlIGZ1bmN0aW9uIG9mIGxvZ2ljYWwg Y29ubmVjdGl2ZXMgaXMgZGVmaW5lZC4gV2Ugd2lsbCBnZXQgdG8gaG93IHRvIGFwcGx5IGxvZ2lj YWwgY29ubmVjdGl2ZXMgdG8gYnJpZGkgaW4gYSBtb21lbnQuCgoKCkJ5IHB1dHRpbmcgYSDigJxq 4oCdIGluIGZyb250IG9mIHRoZSBjb3JlIHdvcmQgb2YgYSBsb2dpY2FsIGNvbm5lY3RpdmUsIGl0 IGNvbm5lY3RzIHR3byBzZWxicmkuIEFuIGV4YW1wbGUgaXMgJydtaSBuaW5tdSBuYSBqbyBuYW5t dScnIOKAnEkgYW0gYSBtYW4gb3IgYSB3b21hbiwgYnV0IG5vdCBib3Ro4oCdCgpfXycnbmlubXUn J19fIHgxIGlzIGEgd29tYW4KCgoKVGhpcyBpcyDigJx0YW5ydS1pbnRlcm5hbOKAnSwgbWVhbmlu ZyB0aGF0IGl0IGxvb3NlbHkgYmluZHMgc2VsYnJpIHRvZ2V0aGVyLCBldmVuIHdoZW4gdGhleSBm b3JtIGEgdGFucnU6ICcnbG8gZG90Y28gamEgbWVya28gcHJlbnUnJyBtZWFucyDigJxhIEdlcm1h biBvciBBbWVyaWNhbiBtYW7igJ0sIGFuZCBpcyBwYXJzZWQgJydsbycnICgnJ2RvdGNvIGphIG1l cmtvJycpICcncHJlbnUnJy4gVGhpcyBiaW5kaW5nIGlzIHNsaWdodGx5IHN0cm9uZ2VyIHRoYXQg bm9ybWFsIHRhbnJ1LWdyb3VwaW5nIChzdGlsbCB3ZWFrZXIgdGhhbiBzcGVjaWZpYyBncm91cGlu Zy13b3JkcyksIGFuZCBhcyBzdWNoLCAnJ2xvIGRvdGNvIGphIG1lcmtvIG5pbm11IGphIG5hbm11 JycgaXMgcGFyc2VkICcnbG8nJyAoJydkb3RjbyBqYSBtZXJrbycnKSAoJyduaW5tdSBqYSBuYW5t dScnKS4gVGhlIHNlbGJyaSBsb2dpY2FsIGNvbm5lY3RpdmVzIGNhbiBhbHNvIGJlIGF0dGFjaGVk IHRvICcnLmknJyBpbiBvcmRlciB0byBjb25uZWN0IHR3byBzZW50ZW5jZXMgdG9nZXRoZXI6ICcn bGEgLmtpbS4gY21lbmUgbWkgLmkganUgbWkgbmFubXUnJyDigJxJJ20gY2FsbGVkIEtpbSwgd2hl dGhlciBvciBub3QgSSdtIGEgbWFu4oCdLiBUaGUgY29tYmluYXRpb24gJycuaSBqZScnIHN0YXRl cyB0aGF0IGJvdGggc2VudGVuY2VzIGFyZSB0cnVlLCBtdWNoIGxpa2Ugd2Ugd291bGQgYXNzdW1l IGhhZCBubyBsb2dpY2FsIGNvbm5lY3RpdmUgYmVlbiBwcmVzZW50LgoKCgpVbmZhaXJseSBoYXJk IHF1ZXN0aW9uOiBVc2luZyBsb2dpY2FsIGNvbm5lY3RpdmVzLCBob3cgd291bGQgeW91IHRyYW5z bGF0ZSDigJxJZiB5b3UncmUgY2FsbGVkIEJvYiwgeW91J3JlIGEgbWFuLuKAnT8KCgoKQW5zd2Vy OiB+fmdyZXksZ3JleTonJ3pvIC5iYWIuIGNtZW5lIGRvIC5pIG5hIGphIGRvIG5hbm11Jycgb3Ig 4oCcRWl0aGVyIHlvdSdyZSBub3QgbmFtZWQgQm9iIGFuZCBhIG1hbiwgb3IgeW91J3JlIG5vdCBu YW1lZCBCb2IgYW5kIG5vdCBhIG1hbiwgb3IgeW91J3JlIG5hbWVkIEJvYiBhbmQgYSBtYW4uIEJ1 dCB5b3UgY2FuJ3QgYmUgbmFtZWQgQm9iIGFuZCBub3QgYmUgYSBtYW4u4oCdIFRoZSBvbmx5IGNv bWJpbmF0aW9uIG5vdCBwZXJtaXR0ZWQgaXM6IOKAnFlvdSdyZSBjYWxsZWQgQm9iLCBidXQgbm90 IGEgbWFuLuKAnSBUaGlzIG11c3QgbWVhbiB0aGF0LCBpZiBpdCdzIHRydWUgdGhhdCB5b3UncmUg Y2FsbGVkIEJvYiwgeW91IG11c3QgYmUgYSBtYW4ufn4KCgoKSWYgd2UgdHJ5IHRvIHRyYW5zbGF0 ZSB0aGUgc2FkLCBzYWQgZXZlbnQgb2Yg4oCcSSBjcmllZCBhbmQgZ2F2ZSBhd2F5IG15IGRvZ+KA nSwgd2UgcnVuIGludG8gYSBwcm9ibGVtLgoKQXR0ZW1wdGluZyB0byBzYXkgdGhlIHNlbnRlbmNl IHdpdGggYSAnJ2plJycgYmV0d2VlbiB0aGUgc2VsYnJpIOKAnGdhdmXigJ0gYW5kIOKAnGNyaWVk 4oCdLCB3b3VsZCBtZWFuIHRoZSBzYW1lIHdvcmQgZm9yIHdvcmQsIGJ1dCB1bmZvcnR1bmF0ZWx5 IG1lYW4gdGhhdCDigJxJIGNyaWVkIHRoZSBkb2cgYW5kIGdhdmUgYXdheSB0aGUgZG9n4oCdLCBj Zi4gdGhlIGRlZmluaXRpb24gb2YgbG9naWNhbCBjb25uZWN0aXZlcy4gT25lIGNhbiBjcnkgdGVh cnMgb3IgZXZlbiBibG9vZCwgYnV0IGNyeWluZyBkb2dzIGlzIGp1c3Qgc2lsbHkuCgpIb3dldmVy LCB3ZSBjYW4gZ2V0IGFyb3VuZCBieSB1c2luZyBicmlkaS10YWlsIGxvZ2ljYWwgY29ubmVjdGl2 ZXMuIFdoYXQgdGhleSBkbyBpcyB0aGF0IGFueSBwcmV2aW91cyBzdW10Y2l0YSBhbmQgc3VtdGkg YXR0YWNoZXMgdG8gYm90aCBzZWxicmkgYm91bmQgYnkgdGhlIGJyaWRpLXRhaWwgbG9naWNhbCBj b25uZWN0aXZlLCBidXQgYW55IGZvbGxvd2luZyBzdW10aSBvciBzdW10Y2l0YSBvbmx5IGFwcGxp ZXMgdG8gdGhlIGxhc3QgbWVudGlvbmVkOiBUaGUgYnJpZGkgc3BsaXRzIHVwIGZyb20gb25lIGhl YWQgdG8gdHdvIHRhaWxzLCB0byBzcGVhayBtZXRhcGhvcmljYWxseS4KClRoZSBmb3JtIG9mIGEg YnJpZGktdGFpbCBsb2dpY2FsIGNvbm5lY3RpdmUgaXMgZ2knViwgd2l0aCB0aGUgViBmb3IgdGhl IHZvd2VsIG9mIHRoZSB0cnV0aCBmdW5jdGlvbi4KCkhvdyBjb3VsZCB5b3UgY29ycmVjdGx5IHRy YW5zbGF0ZSB0aGUgRW5nbGlzaCBzZW50ZW5jZSB0byBMb2piYW4/CgoKCkFuc3dlcjogfn5ncmV5 LGdyZXk6JydtaSBwdSBrbGFrdSBnaSdlIGR1bmRhIGxlIG1pIGdlcmt1Jyd+fgoKCgpXaGF0IGRv ZXMgJydybyByZW1uYSBjdSBwYWxjaSBnaSdvIHp1a3RlIGxvIHBhbGNpJycgbWVhbj8KCl9fJydw YWxjaScnX18geDEgaXMgZXZpbCBieSBzdGFuZGFyZCB4MgoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5 OuKAnFBlb3BsZSBhcmUgZXZpbCBpZiBhbmQgb25seSBpZiB0aGV5IGRvIGV2aWwgdGhpbmdzLuKA nX5+CgoKCkZ1cnRoZXJtb3JlLCB0aGVyZSBpcyBhIGZvcmV0aG91Z2h0IGFsbC1idXQgdGFucnUg aW50ZXJuYWwgZ3JvdXAgb2YgY29ubmVjdGVycyBtYWRlIGJ5IHByZWZpeGluZyDigJxn4oCdIGlu IGZyb250IG9mIHRoZSB0cnV0aCBmdW5jdGlvbiB2b3dlbC4g4oCcRm9yZXRob3VnaHTigJ0gaW4g dGhpcyBjb250ZXh0IG1lYW5zIHRoYXQgdGhleSBuZWVkIHRvIGdvIGluIGZyb250IG9mIHRoZSB0 aGluZ3MgdGhleSBjb25uZWN0LCBhbmQgdGh1cyB5b3UgbmVlZCB0byB0aGluayBhYm91dCB0aGUg Z3JhbW1hdGljYWwgc3RydWN0dXJlIG9mIHRoZSBzZW50ZW5jZSBiZWZvcmUgc2F5aW5nIGl0LiBB bGwtYnV0IHRhbnJ1IGludGVybmFsIG1lYW5zIHRoYXQgaXQgc2VydmVzIGJvdGggYXMgYSBjb25u ZWN0aXZlIGJldHdlZW4gc3VtdGksIGJyaWRpLCBzZWxicmkgYW5kIGJyaWRpLXRhaWxzLCBidXQg bm90IGJldHdlZW4gdHdvIHNlbGJyaSBvZiBvbmUgdGFucnUuIExldCBtZSBzaG93IHlvdSBob3cg aXQgd29ya3MsIHJld3JpdGluZyB0aGUgTG9qYmFuIHNlbnRlbmNlIGFib3ZlOgoKJydnbyBsbyBy ZW1uYSBjdSBwYWxjaSBnaSBsbyByZW1uYSBjdSB6dWt0ZSBsbyBwYWxjaScnCgpUaGUgZmlyc3Qg bG9naWNhbCBjb25uZWN0aXZlIGluIHRoZXNlIGtpbmRzIG9mIGNvbnN0cnVjdHMgYXJlIHdoYXQg Y2FycmllcyB0aGUgdm93ZWwgd2hpY2ggc2lnbmFsIHdoYXQgdHJ1dGggZnVuY3Rpb24gaXMgYmVp bmcgdXNlZC4gVGhlIHNlY29uZCBsb2dpY2FsIGNvbm5lY3RpdmUgaXMgYWx3YXlzICcnZ2knJywg YW5kIGxpa2UgJycuaScnLCBpdCBoYXMgbm8gdHJ1dGggZnVuY3Rpb24uIEl0IHNpbXBseSBzZXJ2 ZXMgdG8gc2VwYXJhdGUgdGhlIHR3byB0ZXJtcyBiZWluZyBjb25uZWN0ZWQuIElmIHlvdSB3YW50 IHRvIG5lZ2F0ZSB0aGUgZmlyc3Qgb3Igc2Vjb25kIHNlbnRlbmNlLCBhICcnbmFpJycgaXMgc3Vm Zml4ZWQgdG8gZWl0aGVyIHRoZSBmaXJzdCAoZm9yIHRoZSBmaXJzdCBzZW50ZW5jZSkgb3Igc2Vj b25kIChmb3IgdGhlIHNlY29uZCBzZW50ZW5jZSkgbG9naWNhbCBjb25uZWN0aXZlLgoKUHJvdmlk ZWQgdGhhdCB0aGUgY29uc3RydWN0cyBhcmUgdGVybWluYXRlZCBwcm9wZXJseSwgaXQgaGFzIHJl bWFya2FibGUgZmxleGliaWxpdHksIGFzIHRoZSBmb2xsb3dpbmcgZmV3IGV4YW1wbGVzIGRlbW9u c3RyYXRlOgoKJydtaSBnbyBrbGFtYSBnaSBjYWR6dSB2YXUgbGUgbWkgemRhbmknJyDigJxJIGdv LCBpZiBhbmQgb25seSBpZiB3YWxrLCB0byBteSBob21l4oCdIG9yIOKAnEkgY2FuIG9ubHkgZ28g dG8gbXkgaG9tZSBieSB3YWxraW5nLuKAnSBOb3RpY2UgdGhhdCB0aGUgJyd2YXUnJyBpcyBuZWVk ZWQgdG8gbWFrZSBsZSBtaSB6ZGFuaSBhcHBseSB0byBib3RoICcnY2FkenUnJyBhbmQgJydrbGFt YScnLgoKJydzZSBndSBkbyBnaSBuYWkgbWkgYmFqcmEgbGUgZG8gY2t1bGUnJyDigJxXaGV0aGVy IG9yIG5vdCB5b3UsIHRoZW4gbm90IEksIHJ1biB0byB5b3VyIHNjaG9vbOKAnSBvciDigJxJIHdv bid0IHJ1biB0byB5b3VyIHNjaG9vbCBubyBtYXR0ZXIgaWYgeW91IGRvIG9yIG5vdOKAnQoKCgpU aGUgdGFucnUtaW50ZXJuYWwgZXF1aXZhbGVudCBvZiBnViBpcyBndSdWLiBUaGVzZSBhcmUgZXhh Y3RseSB0aGUgc2FtZSwgZXhjZXB0IHRoYXQgdGhleSBhcmUgZXhjbHVzaXZlbHkgdGFucnUtaW50 ZXJuYWwsIGFuZCB0aGF0IHRoZXkgYmluZCBhIHNlbGJyaSB0byB0aGUgJydnaScnIHRpZ2h0ZXIg dGhhbiBub3JtYWwgdGFucnUtZ3JvdXBpbmcsIGJ1dCB3ZWFrZXIgdGhhbiBleHBsaWNpdCBiaW5k aW5nLXN1bXRpOgoKJydsYSB4YW56LmtydC4gZ3UnZSBtZXJrbyBnaSBkb3RjbyBuYW5tdScnIGlz IGVxdWl2YWxlbnQgdG8KCicnbGEgeGFuei5rcnQuIG1lcmtvIGplIGRvdGNvIG5hbm11JycKCgoK QW5kIHNvIHlvdSd2ZSByZWFkIHBhZ2UgdXAgYW5kIHBhZ2UgZG93biBqdXN0IHRvIGdldCB0aGUg bmVjZXNzYXJ5IGtub3dsZWRnZSBpbiBvcmRlciB0byBiZSBhYmxlIHRvIGxlYXJuIGhvdyB0byBh c2sg4oCcV291bGQgeW91IGxpa2UgbWlsayBvciBzdWdhciBpbiB5b3VyIGNvZmZlZT/igJ0gaW4g TG9qYmFuLiBTaW1wbHkgcGxhY2UgYSBxdWVzdGlvbiBsb2dpY2FsIGNvbm5lY3RpdmUgaW5zdGVh ZCBvZiBhbm90aGVyIGxvZ2ljYWwgY29ubmVjdGl2ZSwgYW5kIGxpa2UgJydtYScnLCBpdCBhc2tz IHRoZSBsaXN0ZW5lciB0byBmaWxsIGluIGEgY29ycmVjdCByZXNwb25zZS4gVW5mb3J0dW5hdGVs eSwgdGhlc2UgcXVlc3Rpb24tbG9naWNhbCBjb25uZWN0aXZlcyBkb24ndCBhbHdheXMgbWF0Y2gg dGhlIG1vcnBob2xvZ2ljYWwgcGF0dGVybiBvZiB0aGUgbG9naWNhbCBjb25uZWN0aXZlcyB0aGV5 IGFzayBmb3I6CgpfXycnamknJ19fIExvZ2ljYWwgY29ubmVjdGl2ZSBxdWVzdGlvbjogQXNrcyBm b3IgYSBzdW10aSBsb2dpY2FsIGNvbm5lY3RpdmUgKEEpCgpfXycnamUnaScnX18gTG9naWNhbCBj b25uZWN0aXZlIHF1ZXN0aW9uOiBBc2tzIGZvciBhIHRhbnJ1LWludGVybmFsIHNlbGJyaSBsb2dp Y2FsIGNvbm5lY3RpdmUgKEpBKQoKX18nJ2dpJ2knJ19fIExvZ2ljYWwgY29ubmVjdGl2ZSBxdWVz dGlvbjogQXNrcyBmb3IgYSBicmlkaS10YWlsIGxvZ2ljYWwgY29ubmVjdGl2ZSAoR0loQSkKCl9f JydnZSdpJydfXyBMb2dpY2FsIGNvbm5lY3RpdmUgcXVlc3Rpb246IEFza3MgZm9yIGEgZm9yZXRo b3VnaHQgYWxsLWJ1dCB0YW5ydSBpbnRlcm5hbCBsb2dpY2FsIGNvbm5lY3RpdmUgKEdBKQoKX18n J2d1J2knJ19fIExvZ2ljYWwgY29ubmVjdGl2ZSBxdWVzdGlvbjogQXNrcyBmb3IgYSBmb3JldGhv dWdodCBvbmx5IHRhbnJ1IGludGVybmFsIGxvZ2ljYWwgY29ubmVjdGl2ZSAoR1VoQSkKCgoKU28u Li4gaG93IHdvdWxkIHlvdSBhc2sgaWYgdGhlIHBlcnNvbnMgd2FudHMgbWlsayBvciBzdWdhciBp biBoZXIgY29mZmVlPwoKX18nJ2xhZHJ1JydfXyB4MSBpcy9jb250YWlucyBtaWxrIGZyb20gc291 cmNlIHgyCgpfXycnc2FrdGEnJ19fIHgxIGlzL2NvbnRhaW5zIHN1Z2FyIGZyb20gc291cmNlIHgy IG9mIGNvbXBvc2l0aW9uIHgzCgoKClBvc3NpYmxlIGFuc3dlcjogfn5ncmV5LGdyZXk6JydzYWt0 YSBqZSdpIGxhZHJ1IGxlIGRvIGNrYWZpJycgdGhvdWdoIEkgZ3Vlc3Mgc29tZXRoaW5nIG1vcmUg RW5nbGlzaCBhbmQgbGVzcyBlbGVnYW50IGNvdWxkIGFsc28gc3VmZmljZSBsaWtlICcnZG8gZGpp Y2EgbGVudSBsbyBzYWt0YSBqaSBsbyBsYWRydSBjdSBuZW5yaSBsZSBkbyBja2FmaScnfn4KCgoK ISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2VudHktc2l4IChub24tbG9naWNhbCBjb25uZWN0 aXZlcykKClRoZSB3b3JkICJsb2dpY2FsIiBpbiAibG9naWNhbCBjb25uZWN0aXZlIiByZWZlcnMg dG8gdGhlIGFzc29jaWF0aW9uIGEgbG9naWNhbCBjb25uZWN0aXZlIGhhcyB3aXRoIGEgdHJ1dGgg ZnVuY3Rpb24uIE5vdCBhbGwgdXNlZnVsIGNvbm5lY3RpdmVzIGNhbiBiZSBkZWZpbmVkIHRocm91 Z2ggYSB0cnV0aCBmdW5jdGlvbiwgaG93ZXZlciwgYW5kIHNvIHRoZXJlIGFyZSBvdGhlciBjb25u ZWN0aXZlcyBiZXNpZGUgdGhlIGxvZ2ljYWwgb25lcy4KClRoZSBtZWFuaW5nIG9mIGEgbG9naWNh bCBjb25uZWN0aXZlIGlzIGRlZmluZWQgdGhlIHNhbWUgYXMgdHdvIGRpZmZlcmVudCBicmlkaSBj b25uZWN0ZWQgd2l0aCB0aGF0IGxvZ2ljYWwgY29ubmVjdGl2ZS4gRm9yIGluc3RhbmNlLCAnJ21p IG5pdGN1IGRvIC5hIGxhIC5kamFuLicnIGlzIGRlZmluZWQgdG8gYmUgZXF1aXZhbGVudCB0byAn J21pIG5pdGN1IGRvIC5pIGphIG1pIG5pdGN1IGxhIC5kamFuLicnLiBUaGlzIGRlZmluaXRpb24g aXMgdXNlZnVsIHRvIGJlYXIgaW4gbWluZCwgYmVjYXVzZSBpdCBpbXBsaWVzIHRoYXQgc29tZXRp bWVzLCBzdW10aSBjYW5ub3QgYmUgY29ubmVjdGVkIHdpdGggbG9naWNhbCBjb25uZWN0aXZlcyB3 aXRob3V0IGNoYW5pbmcgdGhlIG1lYW5pbmcuIENvbnNpZGVyIHRoZSBzZW50ZW5jZTogIkphY2sg YW5kIEpvZSB3cm90ZSB0aGlzIHBsYXkuIiBPbmUgYXR0ZW1wdCBhdCBhIHRyYW5zbGF0aW9uIHdv dWxkIGJlOiAnJ3RpIGRyYWNpIGZpIGxhIC5kamFrLiBlIGxhIC5kam91cy4nJwoKX18nJ2RyYWNp JydfXyB4MSBpcyBhIGRyYW1hL3BsYXkgYWJvdXQgeDIgYnkgd3JpdGVyL2RyYW1hdGlzdCB4MyBm b3IgYXVkaWVuY2UgeDQgd2l0aCBhY3RvcnMgeDUKCgoKVGhlIHByb2JsZW0gd2l0aCB0aGlzIHRy YW5zbGF0aW9uIGlzIHRoYXQgaXQgbWVhbnMgJyd0aSBkcmFjaSBsYSAuZGphay4gaWplIHRpIGRy YWNpIGxhIC5kam91cy4nJywgd2hpY2ggaXMgbm90IHJlYWxseSB0cnVlLiBOZWl0aGVyIEphY2sg bm9yIEpvZSB3cm90ZSBpdCwgdGhleSBkaWQgc28gdG9nZXRoZXIuIFdoYXQgd2Ugd2FudCBoZXJl IGlzIG9mIGNvdXJzZSBhIG1hc3MsIGFuZCBzb21lIHdheSB0byBqb2luIEphY2sgYW5kIEpvZSBp biBvbmUgbWFzcy4gVGhpcyBoYXMgbGl0dGxlIHRvIGRvIHdpdGggYSB0cnV0aCBmdW5jdGlvbiBz byB3ZSBtdXN0IHVzZSBhIG5vbi1sb2dpY2FsIGNvbm5lY3RpdmUsIHdoaWNoIGFyZSBvZiBzZWxt YSdvIEpPSS4gV2UnbGwgcmV0dXJuIHRvIHRoaXMgSmFjayBhbmQgSm9lLXByb2JsZW0gaW4gYSBs aXR0bGUgLSBmaXJzdDogRm91ciBvZiB0aGUga25vd24gSk9JOgoKCgp8fFRoZSBMb2piYW4gY29u bmVjdGl2ZTp8JydjZScnfCcnY2UnbycnfCcnam9pJyd8Jydqbyd1JycKCkpvaW5zIHN1bXRpIGFu ZCBmb3JtcyBhOnxzZXR8c2VxdWVuY2V8bWFzc3xncm91cCBvZiBpbmRpdmlkdWFsc3x8CgpUaGUg ZnVuY3Rpb25zIG9mIHRoZXNlIHdvcmRzIGFyZSBzaW1wbGU6ICcnbG8naSByZW1uYSBqbyd1IGxv J2kgZ2Vya3UnJyBjb25zaWRlcnMgYm90aCB0aGUgc2V0IG9mIGh1bWFucyBhbmQgdGhlIHNldCBv ZiBkb2dzIGRpc3RyaWJ1dGl2ZWx5IChhcyBpbmRpdmlkdWFscykuIFJlbWVtYmVyIGZyb20gbGVz c29uIHR3ZW50eS10d28gKHF1YW50aWZpZXJzKSB0aGF0ICJkaXN0cmlidXRpdml0eSIgbWVhbnMg dGhhdCB3aGF0IGlzIHRydWUgZm9yIHRoZSBncm91cCBpcyBhbHNvIHRydWUgZm9yIGVhY2ggb2Yg dGhlIGluZGl2aWR1YWxzIGFsb25lLiBTaW1pbGFybHkgJydsb2kgcm8gZ2lzbXUgY2UnbyBsb2kg cm8gbHVqdm8gY2UnbyBsb2kgcm8gZnUnaXZsYScnIGlzIGEgc2VxdWVuY2UgY29uc2lzdGluZyBv ZiB0aGUgbWFzcyBvZiBhbGwgZ2lzbXUsIGZvbGxvd2VkIGJ5IHRoZSBtYXNzIG9mIGFsbCBsdWp2 bywgZm9sbG93ZWQgYnkgdGhlIG1hc3Mgb2YgYWxsIGZ1J2l2bGEuCgpBcyB3aXRoIGFsbCBvZiB0 aGUgSk9JIHdoaWNoIGhhcyBhbiBpbmhlcmVudCBvcmRlciwgJydzZScnIG1heSBiZSBwdXQgYmVm b3JlICcnY2UnbycnIHRvIGludmVyc2UgdGhlIG9yZGVyOiAiQSAnJ2NlJ28nJyBCIiBpcyB0aGUg c2FtZSBhcyAiQiBzZSAnJ2NlJ28nJyBBIi4KCgoKSG93IGNhbiB5b3UgY29ycmVjdGx5IHRyYW5z bGF0ZSAiSmFjayBhbmQgSm9lIHdyb3RlIHRoaXMgcGxheSI/CgpBbnN3ZXI6IH5+Z3JleSxncmV5 OiAnJ3RpIGRyYWNpIGZpIGxhIC5kamFrLiBqb2kgbGEgLmRqb3VzLicnfn4gCgoKClRoZSBjbWF2 byBvZiBKT0kgYXJlIHZlcnkgZmxleGlibGU6IFRoZXkgY2FuIGFjdCBib3RoIGFzIHN1bXRpIGNv bm5lY3RpdmVzIGFuZCB0YW5ydS1pbnRlcm5hbCBjb25uZWN0aXZlcywgc28gdGhleSBjYW4gYmUg dXNlZCB0byBjb25uZWN0IHN1bXRpLCBzZWxicmkgYW5kIGJyaWRpLiBUaGlzIGZsZXhpYmlsaXR5 IG1lYW5zIHRoYXQgb25lIG11c3QgYmUgY2FyZWZ1bCB0byB1c2UgZmEnb3JtYSdvIGNvcnJlY3Rs eSB3aGVuIHVzaW5nIGEgSk9JLiAKCldoYXQgaXMgd3Jvbmcgd2l0aCB0aGUgYnJpZGkgJydsbyBk b3RjbyBqbyd1IG1pIGN1IGtsYW1hIGxhIGRvdGNvIGd1Z2RlJyc/CgpBbnN3ZXI6IH5+Z3JleSxn cmV5OiAnJ2pvJ3UnJyBpcyBwdXQgYWZ0ZXIgYSBzZWxicmksIHNvIGl0IGV4cGVjdHMgYSBzZWxi cmkgYWZ0ZXIgaXQgdG8gY29ubmVjdCB0bywgYnV0IG5vbmUgaXMgZm91bmQuIEhhZCAgYSAnJ2t1 JycgYmVlbiBwcmVzZW50IGJlZm9yZSB0aGUgY29ubmVjdGl2ZSwgaXQgd291bGQgaGF2ZSBiZWVu IGdyYW1tYXRpY2Fsfn4KCgoKSWYgc2V2ZXJhbCBKT0kgYXJlIHVzZWQsICcnYm8nJyBhbmQvb3Ig JydrZScnIG1heSBiZSB1c2VkIHRvIG92ZXJyaWRlIHRoZSB1c3VhbCBsZWZ0LWdyb3VwaW5nOiAn J21pIGpvaSBkbyBjZSdvIGxhIC5kamFrLiBqb2kgYm8gbGEgLmRqb3VzLiBjdSBwdSdvIGNpJ2Vy a2VpIGRhbWJhIGxlaSB4dW5yZScnICJNZSBhbmQgeW91LCBhbmQgdGhlbiBKYWNrIGFuZCBKb2Ug YXJlIGFib3V0IHRoZSBwbGF5IGFnYWluc3QgdGhlIHJlZHMiLiBDb250cmFzdCB3aXRoICcnbWkg am9pIGRvIGNlJ28gbGEgLmRqYWsuIGpvaSBsYSAuZGpvdXMuIGN1IHB1J28gY2knZXJrZWkgZGFt YmEgbGVpIHh1bnJlJycgLSAiRmlyc3QgbWUgYW5kIHlvdSwgdGhlbiBKYWNrIHdpbGwgdG9nZXRo ZXIgd2l0aCBKb2UgcGxheSBhZ2FpbnN0IHRoZSByZWRzIi4gCgpDb25uZWN0aW5nIGJyaWRpIHdp dGggSk9JIGNhbiBtYWtlIHNvbWUgaW50ZXJlc3RpbmcgaW1wbGljYXRpb25zIG9mIHRoZSByZWxh dGlvbnNoaXAgYmV0d2VlbiB0aGUgYnJpZGk6ICcnbGEgLmRqYWsuIG1vcnNpIHJpJ2EgbG8gbnUg cmkgZHp1c29pIC5pIGpvaSBsZSBqZW1qYSdhIHBvIHJpIGN1IGJlYm5hJycgLSAiSmFjayBpcyBk ZWFkIGJlY2F1c2UgaGUgd2FzIGEgaW5mYW50cnkgc29sZGllciBhbmQgaGlzIGdlbmVyYWwgd2Fz IGFuIGlkaW90IiwgaW1wbHlpbmcgdGhhdCB0aGVzZSB0d28gYnJpZGkgbWFzc2VkIHRvZ2V0aGVy IHdhcyB0aGUgcGh5c2ljYWwgY2F1c2Ugb2YgaGlzIGRlYXRoOiBIYWQgaGUgb25seSBiZWVuIGlu IGFuIGFybW9yZWQgdmVoaWNsZSBvciB3aXRoIGEgY29tcGV0ZW50IGNvbW1hbmRlciwgaGUgbWln aHQgaGFkIHN1cnZpdmVkLgoKX18nJ2R6dXNvaScnX18geDEgaXMgYW4gaW5mYW50cnkgc29sZGll ciBvZiBhcm15IHgyCgpfXycnamVtamEnYScnX18geDEgaXMgYSBnZW5lcmFsIG9mIGFybXkgeDIg aW4gZnVuY3Rpb24geDMKCl9fJydiZWJuYScnX18geDEgaXMgZm9vbGlzaC9pZGlvdGljIGluIHBy b3BlcnR5L2FzcGVjdCB4MgoKCgpOb24tbG9naWNhbCBjb25uZWN0aXZlcyBtYXkgYWxzbyBiZSBu ZWdhdGVkIHdpdGggJyduYWknJywgaW5kaWNhdGluZyB0aGF0IHNvbWUgb3RoZXIgY29ubmVjdGl2 ZSBpcyBhcHByb3ByaWF0ZTogJydsbyBkamFjdSBjZSdvIG5haSAuZSdvIGxvIGxhZHJ1IGN1IGNh dnlmbGUgZmkgbGUgbWkgdGNhdGknJyAtICJQbGVhc2UgZG9uJ3QgcG91ciBmaXJzdCB3YXRlciB0 aGVuIG1pbGsgaW4gbXkgdGVhIi4gVGhpcywgb2YgY291cnNlLCBzYXlzIG5vdGhpbmcgYWJvdXQg d2hpY2ggY29ubmVjdGl2ZSBpcyBhcHByb3ByaWF0ZSAtIG9uZSBtaWdodCBndWVzcyAnJ3NlIGNl J28nJyAoZmlyc3QgbWlsaywgdGhlbiB3YXRlciksIG9ubHkgdG8gZmluZCBvdXQgdGhhdCAnJy5l IG5haScnIChvbmx5IHdhdGVyLCBubyBtaWxrIGF0IGFsbCkgd2FzIHRoZSBjb3JyZWN0IG9uZS4K Cl9fJydjYXZ5ZmxlJydfXyB4MSwgY29uc2lzdGluZyBvZiB4MiwgZmxvd3MgaW50byB4MyBmcm9t IHg0CgpKdXN0IGxpa2UgYSBsb2dpY2FsIGNvbm5lY3RpdmUgaXMgYSBwbGF1c2libGUgbmVnYXRp b24gb2YgYSBub24tbG9naWNhbCBjb25uZWN0aXZlLCBhbnN3ZXJzIHRvIHF1ZXN0aW9ucyBvZiB0 aGUgdHlwZSAnJ2ppJycgb3IgJydqZSdpJycgY2FuIGJlIGJvdGggbG9naWNhbCBhbmQgbm9uLWxv Z2ljYWw6IEE6ICcnbGFkcnUgamUnaSBzYWt0YSBsZSBkbyBja2FmaScnIEI6ICcnc2UgY2Unbycn ICgiTWlsayBvciBzdWdhciBpbiB5b3UgY29mZmVlPyIgIkZpcnN0IHRoZSBsYXR0ZXIsIHRoZW4g dGhlIGZvcm1lciIpLiBJbiB0aGlzIGNhc2UgJydjZScnIHdvdWxkIG1ha2Ugbm8gc2Vuc2UgYXQg YWxsLCBzaW5jZSBzZXRzIGNhbid0IGJlIGNvbnRhaW5lZCBpbiBjb2ZmZWUsIGFuZCAnJ2pvaScn IChib3RoIG1peGVkIHRvZ2V0aGVyKSB3b3VsZCBtZWFuIHRoZSBzYW1lIGFzICcnam8ndScnIChi b3RoIG9mIHRoZW0pLCB1bmxlc3MgdGhlIHJlc3BvbmRhbnQgcHJlZmVycmVkIHVubWl4ZWQgc3Vn YXIgaW4gaGlzIGNvZmZlZS4KCgoKVGhlIGZpZnRoIEpPSSBJIHByZXNlbnQgaGVyZSBpcyBhIGJp dCBvZiBhbiBvZGRiYWxsOgoKX18nJ2ZhJ3UnJ19fIE5vbi1sb2dpY2FsIGNvbm5lY3RpdmU6IFVu bWl4ZWQgb3JkZXJlZCBkaXN0cmlidXRpb24gKEEgYW5kIEIsIHJlc3BlY3RpdmVseSkKCldoZW4g b25seSBvbmUgJydmYSd1JycgaXMgcGxhY2VkIHdpdGhpbiBhIGJyaWRpIChvciBzZXZlcmFsIGJy aWRpIGNvbm5lY3RlZCB0b2dldGhlciB3aXRoIGNvbm5lY3RvcnMpLCAnJ2ZhJ3UnJyBtYXkgYmUg YXNzdW1lZCB0byBiZSBpZGVudGljYWwgdG8gJydqbyd1JycuIFdoZW4gc2V2ZXJhbCAnJ2ZhJ3Un JyBpcyB1c2VkIHdpdGhpbiBvbmUgYnJpZGksIGhvd2V2ZXIsIHRoZSBjb25zdHJ1Y3RzIGJlZm9y ZSAnJ2ZhJ3UnJyBlYWNoIGFwcGx5IHRvIGVhY2ggb3RoZXIsIGFuZCB0aGUgY29uc3RydWN0cyBh ZnRlciAnJ2ZhJ3UnJyBlYWNoIGFwcGx5IHRvIGVhY2ggb3RoZXIuIExldCdzIGhhdmUgYW4gZXhh bXBsZToKCicnbWkgZmEndSBkbyBydXNrbyBmYSd1IGthZG5vJycgLSAiWW91IGFuZCBJIGFyZSBS dXNzaWFuIGFuZCBDYW5hZGlhbiIsIGltcGx5aW5nIHRoYXQgJydtaScnIGdvZXMgd2l0aCAnJ3J1 c2tvJycgYW5kICcnZG8nJyBnb2VzIHdpdGggJydrYWRubycnLCBhbmQgaW1wbHlpbmcgbm90aGlu ZyBhYm91dCBhbnkgb3RoZXIgY29tYmluYXRpb24uIE9mIGNvdXJzZSwgaW4gdGhpcyBleGFtcGxl LCBpdCB3b3VsZCBiZSBtdWNoIGVhc2llciB0byBzYXkgJydtaSBydXNrbyAuaSBkbyBrYWRubycn LgoKCgpUaGVzZSBsYXN0IHRocmVlIEpPSSBjb25uZWN0cyB0d28gc2V0cyB0byBtYWtlIG5ldyBz ZXRzOgoKX18nJ2pvJ2UnJ19fCUEgdW5pb24gQgoKX18nJ2t1J2EnJ19fCUEgaW50ZXJzZWN0aW9u IEIKCl9fJydwaSd1ICcnX18JQ3Jvc3MgcHJvZHVjdCBvZiBBIGFuZCBCCgoKClRoZXNlIGFyZSBw cm9iYWJseSBub3QgdmVyeSB1c2VmdWwgZm9yIHRoZSBhdmVyYWdlIExvamJhbmlzdCwgYnV0IEkg bWlnaHQgYXMgd2VsbCBpbmNsdWRlIHRoZW0gaGVyZS4KClRoZSBmaXJzdCBvbmUsICcnam8nZScn LCBjb250YWlucyBhbGwgdGhlIG1lbWJlcnMgb2Ygc2V0IEEgYW5kIHRob3NlIG9mIHNldCBCLiBJ ZiBhbnl0aGluZyBpcyBhIG1lbWJlciBvZiBib3RoIHNldHMsIHRoZXkgYXJlIG5vdCBjb3VudGVk IHR3aWNlLgoKQSBzZXQgbWFkZSB3aXRoICcna3UnYScnIG1ha2VzIGEgbmV3IHNldCBmcm9tIHR3 byBzZXRzLiBUaGlzIG5ldyBzZXQgY29udGFpbnMgb25seSB0aG9zZSBtZW1iZXJzIHdoaWNoIGFy ZSBpbiBib3RoIHNldHMuCgonJ3BpJ3UnJyBpcyBhIGxpdHRsZSBtb3JlIGNvbXBsaWNhdGVkLiBB IHNldCAiQSAnJ3BpJ3UnJyBCIiBjb250YWlucyBhbGwgdGhlIHBvc3NpYmxlIGNvbWJpbmF0aW9u cyBvZiAiYSAnJ2NlJ28nJyBiIiwgd2hlcmUgYSBpcyBhIG1lbWJlciBvZiBBIGFuZCBiIGlzIGEg bWVtYmVyIG9mIEIuIEl0IGlzIHRodXMgYSBzZXQgb2Ygc2VxdWVuY2VzIG9mIG1lbWJlcnMuIElm LCBmb3IgaW5zdGFuY2UsIHNldCBBIGNvbnRhaW5lZCB0aGUgbWVtYmVycyBwIGFuZCBxLCBhbmQg c2V0IEIgY29udGFpbmVkIG1lbWJlcnMgZiBhbmQgZywgdGhlbiBBICcncGkndScnIEIgd291bGQg YmUgYSBzZXQgY29uc2lzdGluZyBvZiB0aGUgZm91ciBtZW1iZXJzIHAgJydjZSdvJycgZiwgcCAn J2NlJ28nJyBnLCBxICcnY2UnbycnIGYgYW5kIHEgJydjZSdvJycgZy4KCgoKISEhRW5kIG9mIHBh cnQgdHdvCgooKHdhdmVsZXNzb25zY29udGludWVkfFJldHVybiB0byB0aGUgd2F2ZWxlc3NvbnMg cGFydCBvbmUpKQoKVGhpcyBwYXJ0IGNvbmNsdWRlcyB0aGUgdHV0b3JpYWwgdG8gb3JkaW5hcnkg TG9qYmFuLiBJbiB0aGUgdGhpcmQgcGFydCwgSSB3aWxsIGZvY3VzIG9uIGFkdmFuY2VkIExvamJh biAtIHRoZSBwYXJ0cyB5b3UgZG9uJ3QgYWN0dWFsbHkgbmVlZCB0byBrbm93IHRvIHNwZWFrIHRo ZSBsYW5ndWFnZS4gSSBkaXNjb3VyYWdlIHlvdSB0byBiZWdpbiByZWFkaW5nIHRoZSB0aGlyZCBw YXJ0IHVudGlsIHlvdSBmZWVsIGNvbWZvcnRhYmxlIGVub3VnaCB3aXRoIHRoZSBpbmZvcm1hdGlv biBpbiB0aGUgZmlyc3QgdHdvIHBhcnRzIHRvIGhvbGQgYW4gd3JpdHRlbiBjb252ZXJzYXRpb24g aW4gdGhlIGxhbmd1YWdlLiBJZiB5b3UgX19kb19fIHdpc2ggdG8gY29udGludWUsIHlvdSBjYW4g cHJlc3MgKCh3YXZlbGVzc29uc2NvbnRpbnVlZHAzfHRoZXNlIHRocmVlIHdvcmRzKSkgdG8gZ28g dGhlcmUuCgoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpXaWtpY2hhbmdlcyBtYWlsaW5nIGxpc3QKV2lraWNoYW5nZXNAbG9qYmFuLm9yZwpodHRwOi8v bWFpbC5sb2piYW4ub3JnL21haWxtYW4vbGlzdGluZm8vd2lraWNoYW5nZXMK