Received: from localhost ([::1]:34459 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1UcIKH-0002jL-7Z; Tue, 14 May 2013 09:43:45 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:33783 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1UcIK6-0002jF-W9 for wikineurotic@lojban.org; Tue, 14 May 2013 09:43:43 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Tue, 14 May 2013 09:43:34 -0700 From: "Apache" Date: Tue, 14 May 2013 09:43:34 -0700 To: wikineurotic@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 2.0 (++) X-Spam_score: 2.0 X-Spam_score_int: 20 X-Spam_bar: ++ X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page leçons wave en français was changed by daeldir at 18:43 CEST Comment: Ajouté comment se prononce le « r » You can view the page by following this link: http://lojban.org/tiki/le%C3%A7ons%20wave%20en%20fran%C3%A7ais [...] Content analysis details: (2.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: lojban.org] 0.0 RCVD_IN_DNSWL_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to DNSWL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [173.13.139.235 listed in list.dnswl.org] 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikineurotic] =?utf-8?q?Wiki_page_le=C3=A7ons_wave_en_fran=C3=A7?= =?utf-8?q?ais_changed_by_daeldir?= X-BeenThere: wikineurotic@lojban.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikineurotic-bounces@lojban.org VGhlIHBhZ2UgbGXDp29ucyB3YXZlIGVuIGZyYW7Dp2FpcyB3YXMgY2hhbmdlZCBieSBkYWVsZGly IGF0IDE4OjQzIENFU1QKQ29tbWVudDogQWpvdXTDqSBjb21tZW50IHNlIHByb25vbmNlIGxlIMKr wqBywqDCuwoKWW91IGNhbiB2aWV3IHRoZSBwYWdlIGJ5IGZvbGxvd2luZyB0aGlzIGxpbms6CiAK aHR0cDovL2xvamJhbi5vcmcvdGlraS9sZSVDMyVBN29ucyUyMHdhdmUlMjBlbiUyMGZyYW4lQzMl QTdhaXMKCllvdSBjYW4gdmlldyBhIGRpZmYgYmFjayB0byB0aGUgcHJldmlvdXMgdmVyc2lvbiBi eSBmb2xsb3dpbmcgdGhpcyBsaW5rOiAKaHR0cDovL2xvamJhbi5vcmcvdGlraS90aWtpLXBhZ2Vo aXN0b3J5LnBocD9wYWdlPWxlJUMzJUE3b25zJTIwd2F2ZSUyMGVuJTIwZnJhbiVDMyVBN2FpcyZj b21wYXJlPTEmb2xkdmVyPTMxJm5ld3Zlcj0zMgoKCioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqClRoZSBjaGFuZ2VzIGluIHRoaXMgdmVy c2lvbiBmb2xsb3cgYmVsb3csIGZvbGxvd2VkIGFmdGVyIGJ5IHRoZSBjdXJyZW50IGZ1bGwgcGFn ZSB0ZXh0LgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKgoKCistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rCkBAIC1MaW5lczogNTgtNjIgY2hhbmdlZCB0byArTGluZXM6IDU4LTYy IEBACistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rCicnYycnIHxzZSBwcm9ub25jZSAnJ2NoJycsIGNvbW1lIGRhbnMgwqvCoF9fY2hfX2F0 ZWF1wqDCuwonJ3gnJyB8c2UgcHJvbm9uY2UgY29tbWUgZGFucyBsJ2FsbGVtYW5kIMKrwqBCYV9f Y2hfX8KgwrssIGwnZXNwYWdub2wgwqvCoF9fSl9fb3NlwqDCuyBvdSBsJ2FyYWJlIMKrwqBfX0to X19hbGVkwqDCuwotICcncicnIHxhY2NlcHRlIGJlYXVjb3VwIGRlIHByb25vbmNpYXRpb25zICgg bGEgZnJhbmFpc2UsICBsJ2FuZ2xhaXNlKSBtYWlzIGxhIHByb25vbmNpYXRpb24gaXRhbGllbm5l ICgnJ3InJyByb3VsKSBlc3QgcHJmcmV8fAorICcncicnIHxzZSBwcm9ub25jZSBjb21tZSBkYW5z IGFycml2ZWRlcmNpLiAnJ3InJyBhY2NlcHRlIGJlYXVjb3VwIGRlIHByb25vbmNpYXRpb25zICgg bGEgZnJhbmFpc2UsICBsJ2FuZ2xhaXNlKSBtYWlzIGxhIHByb25vbmNpYXRpb24gaXRhbGllbm5l ICgnJ3InJyByb3VsKSBlc3QgcHJmcmV8fAoKTGUgbG9qYmFuIG4ndXRpbGlzZSBwYXMgbGVzIGNh cmFjdMOocmVzIMKrwqBIwqDCuywgwqvCoFHCoMK7IG91IMKrwqBXwqDCuywgZXQgaWwgbid5IGEg cGFzIGRlIGNhcmFjdMOocmVzIGFjY2VudHXDqXMgZW4gbG9qYmFuLgoKCgoKKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKVGhlIG5ldyBw YWdlIGNvbnRlbnQgZm9sbG93cyBiZWxvdy4KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCntCT1godGl0bGU9IlRyYXZhaWwgZW4gY291 cnMiKX0KCkNldHRlIHBhZ2UgZXN0IHVuZSB0cmFkdWN0aW9uIGVuIGNvdXJzIGRlICgod2F2ZWxl c3NvbnNjb250aW51ZWQpKSBlbiBmcmFuw6dhaXMuIExhIG1hamV1cmUgcGFydGllIGRlIGxhIHBh Z2UgZXN0IGVuY29yZSBlbiBhbmdsYWlzLiBBdSBmdXIgZXQgw6AgbWVzdXJlIGRlIGxhIHRyYWR1 Y3Rpb24sIGNldHRlIG5vdGUgc2VyYSBtaXNlIMOgIGpvdXIgcG91ciBpbmRpcXVlciBsJ8OpdGF0 IGQnYXZhbmNlbWVudCBkZXMgbGXDp29ucy4gCgoKCsOJdGF0IGFjdHVlbMKgOiBMZcOnb24gesOp cm8gdHJhZHVpdGUgbGl0dMOpcmFsZW1lbnQuIE7DqWNlc3NpdGUgdW5lIGFkYXB0YXRpb24gYXUg ZnJhbsOnYWlzLCBwdWlzIHVuZSB2YWxpZGF0aW9uIHBhciBkZXMgbG9qYmFuaXN0ZXMgY29uZmly bcOpcy4uCgp7Qk9YfSAKCgoKIUxlcyBsZcOnb25zIFdhdmUgY29udGludcOpZXPCoDoKCiEhIVLD qWRpZ8OpZXMgcGFyIGxhIGtsYWt1LCBhdmVjIGwnYWlkZSBkZSBsb2piYW5pc3RlcyB2YXJpw6lz LiBCYXPDqWUgc3VyIGxlIHRyYXZhaWwgZGUgbGEgLmtyaWJhY3IuIFByaW50ZW1wcyAyMDEzLgoK VHJhZHVpdGVzIGRlIGwnYW5nbGFpcyB2ZXJzIGxlIGZyYW7Dp2FpcyBwYXIgRGFlbGRpci4KCgoK ISFMZcOnb25zIGRlIGxvamJhbiDigJMgbGXDp29uIHrDqXJvOiBhdmFudCBwcm9wb3MKCkNlcyBs ZcOnb25zIHNvbnQgdW5lIHRlbnRhdGl2ZSBkZSBkw6l2ZWxvcHBlciBsZXMgwqvCoExlw6dvbnMg ZGUgR29vZ2xlIFdhdmXCoMK7LCB1biBleGNlbGxlbnQgZGlkYWN0aWNpZWwgY29uc2FjcsOpIGF1 IGxvamJhbiwgw6ljcml0IHBhciBrcmliYWNyLCB4YWxibywgZXQgZCdhdXRyZXMsIHF1aSwgaMOp bGFzLCBuZSBjb3V2cmFpdCBxdWUgbGVzIHF1YXRyZXMgcHJlbWllcnMgY2hhcGl0cmVzIGR1IHBy w6lzZW50IGRpZGFjdGljaWVsLiBJbCB0cmFpdGUgZGVzIHLDqGdsZXMgbGVzIHBsdXMgcsOpY2Vu dGVzIGR1IGxvamJhbiwgcXVpIG5lIHNvbnQgcGFzIGNvdXZlcnRlcyBwYXIgZGUgcGx1cyBhbmNp ZW5zIGNvdXJzIHRlbHMgcXVlIMKrwqBXaGF0IGlzIExvamJhbj/CoMK7LCBldCDCq8KgTG9qYmFu IGZvciBCZWdpbm5lcnPCoMK7LgoKCgpTaSBsZSBsb2piYW4gZXN0IHRvdGFsZW1lbnQgbm91dmVh dSBwb3VyIHZvdXMsIGplIHZvdXMgcmVjb21tYW5kZSBkJ8OpY291dGVyIHRvdXQgbGVzIGVucmVn aXN0cmVtZW50IGRlIGxvamJhbiBwYXJsw6kgcXVlIHZvdXMgcG91cnJleiB0cm91dmVyLCB0YW50 IGF2YW50IHF1ZSBwZW5kYW50IGxhIGxlY3R1cmUgZGUgY2UgZGlkYWN0aWNpZWwsIGFmaW4gZGUg dm91cyBmYW1pbGlhcmlzZXIgYXZlYyBsZXMgc29ucyBldCBsZXMgbW90cyBkdSBsYW5nYWdlLiBE ZSBwbHVzLCBlc3NheWV6IGRlIHByb25vbmNlciBjZSBxdWUgdm91cyBsaXNleiBhdmVjIGwnYWNj ZW50IGxvamJhbiBzaSB2b3VzIGxlIHBvdXZlei4gQ2VjaSB2b3VzIGFpZGVyYSDDoCBwcm9ub25j ZXIgbGUgbG9qYmFuLiAKCgoKRW4gc3VpdmFudCBjZSBkaWRhY3RpY2llbCwgaWwgZXN0IGNvbnNl aWxsw6kgZGUgcHJlbmRyZSBkZXMgcGF1c2VzIGVudHJlIGxlcyBsZcOnb25zIGFmaW4gZGUgZGln w6lyZXIgY2UgcXVlIHZvdXMgYXZleiBhcHByaXMuIEonYWkgZXNzYXnDqSBkZSBjb25zdHJ1aXJl IGNlcyBsZcOnb25zIGR1IHNpbXBsZSBhdSBjb21wbGV4ZSwgZXQgZCdleGNsdXJlIHRvdXQgbW90 IG91IGNvbmNlcHQgcXVpIG4nYSBwYXMgw6l0w6kgZXhwbGlxdcOpIGRhbnMgbGVzIGxlw6dvbiBw csOpY8OpZGVudGUuIFVuZSBmb2lzIGV4cGxpcXXDqXMsIGlscyBzb250IHV0aWxpc8OpcyBsaWJy ZW1lbnQgdG91dCBhdSBsb25nIGR1IHJlc3RlIGR1IGRpZGFjdGljaWVsLiBKJ2V4aG9ydGUgbGUg bGVjdGV1ciDDoCBuZSBwYXMgZmFpcmUgbCdpbXBhc3NlIHN1ciB1biBjb250ZW51IGluY29tcHJp c8KgOiBzaSB2b3VzIGF2ZXogdW5lIHF1ZXN0aW9uIG91IG4nw6p0ZXMgcGFzIGNlcnRhaW5zIGQn dW5lIGNob3NlLCBuJ2F5ZXogcGFzIGRlIGNvbXBsZXhlIMOgIGRlbWFuZGVyIMOgIGxhIGNvbW11 bmF1dMOpIGxvamJhbiwgcXVpIHBldXQgw6p0cmUgdHJvdXbDqWUgc3VyICNsb2piYW4gc3VyIGxl IHLDqXNlYXUgSVJDIEZyZWVub2RlIChlbiBhbmdsYWlzKSwgb3Ugc3VyIGxhIFtodHRwOi8vbWFp bC5sb2piYW4ub3JnL21haWxtYW4vbGlzdGluZm8vbG9qYmFuLWZyfG1haWxpbmctbGlzdCBmcmFu Y29waG9uZV0uIEVsbGUgc2VyYSBoZXVyZXVzZSBkJ2FpZGVyLgoKCgpEYW5zIGNlIGRpZGFjdGlj aWVsLCBsZSB0ZXh0ZSBlbiBsb2piYW4gZXN0IMOpY3JpdCBlbiAnJ2l0YWxpcXVlcycnLiBMZXMg bW90cyBlbXBydW50w6lzIGR1IGxvamJhbiBhdSBmcmFuw6dhaXMgbmUgc29udCB0b3V0ZWZvaXMg cGFzIHNvdW1pcyDDoCBjZXR0ZSBlbXBoYXNlLiBMZXMgcsOpcG9uc2VzIGRlcyBleGVyY2ljZXMg c29udCBhZmZpY2jDqWVzIGNvbW1lIHVuZSBiYXJyZSBncmlzZS4gU8OpbGVjdGlvbm5leiBjZXR0 ZSBiYXJyZSBwb3VyIHZvaXIgbGUgdGV4dGUuCgoKCkVuZmluLCBqJ2FpIGF1dGFudCBxdWUgcG9z c2libGUgZXNzYXnDqSBkJ3V0aWxpc2VyIGxlcyBtb3RzIGR1IGxvamJhbiBwb3VyIGTDqXNpZ25l ciBsZXMgY29uc3RydWN0aW9ucyBncmFtbWF0aWNhbGVzwqDigJPCoCcnc3Vta2EnaScnIGF1IGxp ZXUgZGUgcHJvLXN1bXRpLCAnJ3N1bXRjaXRhJycgYXUgbGlldSBkZSBtb2RhbCwgZXQgJydqdWZy YScnIGF1IGxpZXUgZCfDqW5vbmPDqcKg4oCTIHBhcmNlIHF1ZSBqJ2FpIGwnaW1wcmVzc2lvbiBx dWUgbGVzIG1vdHMgZnJhbsOnYWlzIHNvbnQgc291dmVudCBzb2l0IGFyYml0cmFpcmVzIOKAk8Kg anVzdGUgZGVzIG1vdHMgZW4gcGx1cyDDoCBhcHByZW5kcmXCoOKAkywgc29pdCB0cm9tcGV1cnMg 4oCTwqBkb25jIHBpcmUgcXUnaW51dGlsZXMuIERhbnMgbGVzIGRldXggY2FzLCBwdWlzcXVlIGNl cyBtb3RzIHNvbnQgZGUgdG91dGUgZmHDp29uIHNww6ljaWZpcXVlcyDDoCBsJ2FwcHJlbnRpc3Nh Z2UgZHUgbG9qYmFuLCBpbCBuJ29udCBwYXMgZGUgcmFpc29uIGQnZXhpc3RlciBjb21tZSBkZXMg bW90cyBmcmFuw6dhaXMgZGlzdGluY3QuCgoKCiEhIVByw6lmYWNlLiBTb25zCgpMYSBwcmVtacOo cmUgY2hvc2Ugw6AgZmFpcmUgcXVhbmQgdm91cyBhcHByZW5leiB1bmUgbGFuZ3VlIMOpdHJhbmfD qHJlIGVzdCBkZSB2b3VzIGZhbWlsaWFyaXNlciBhdmVjIGxlcyBzb25zIGR1IGxhbmdhZ2UgZXQg bGV1ciDDqWNyaXR1cmUuIElsIGVuIHZhIGRlIG3Dqm1lIHBvdXIgbGUgbG9qYmFuLiBIZXVyZXVz ZW1lbnQsIGxlcyBzb25zIGR1IGxvamJhbiAoX19waG9uw6htZXNfXykgc29udCBwbHV0w7R0IHNp bXBsZXMuCgoKCiEhISFWb3llbGxlcwoKSWwgeSBhIHNpeCB2b3llbGxlcyBlbiBsb2piYW4uCgoK Cnx8JydhJycgfGNvbW1lIGRhbnMgwqvCoHBfX2FfX3BfX2FfX8KgwrsKCicnZScnIHxjb21tZSBk YW5zIMKrIGJfX2VfX3JnX1/DqF9fcmUgwrsKCicnaScnIHxjb21tZSBkYW5zIMKrwqBtYWNoX19p X19uZcKgwrsKCicnbycnIHxjb21tZSBkYW5zIMKrIF9fb19fbcOpZ2EgwrssIMKrwqBfX2F1X190 X19vX19tb2JpbGXCoMK7CgonJ3UnJyB8Y29tbWUgZGFucyDCq8KgX19vdV9fwqDCuywgwqvCoGxf X291X19wwqDCuwoKJyd5JycgfGNvbW1lIGRhbnMgwqsgbWF0X19lX19sb3Qgwrt8fAoKCgpMYSBz aXhpw6htZSB2b3llbGxlLCAnJ3knJywgZXN0IGFwcGVsw6llIHVuIF9fc2Nod2FfXyBlbiBsaW5n dWlzdGlxdWUuIEMnZXN0IHVuIMKrwqBlwqDCuyB0csOocyBsw6lnZXIsIG5vbiBhY2NlbnR1w6ks IGp1c3RlIG1pbGlldSBlbnRyZSBsZSDCq8KgZcKgwrsgbWFyc2VpbGxhaXMgKMKrwqBtYXRfX2V1 X19sb3TCoMK7KSBldCBsZSDCq8KgZcKgwrsgbXVldCBwYXJpc2llbiAowqsgbWF0J2xvdCDCuyku CgoKCkRldXggdm95ZWxsZXMgZW5zZW1ibGUgc29udCBwcm9ub25jw6llcyBjb21tZSB1biBzb24g KF9fZGlwaHRvbmd1ZV9fKS4gUGFyIGV4ZW1wbGXCoDoKCgoKfHwnJ2FpJycgfGNvbW1lIGRhbnMg wqvCoGNhbl9fYWlfX2xsZcKgwrsKCicnYXUnJyB8Y29tbWUgZGFucyDCq8KgY19fYW91X190Y2hv dWPCoMK7CgonJ2VpJycgfGNvbW1lIGRhbnMgwqvCoGFiX19laV9fbGxlwqDCuwoKJydvaScnIHxj b21tZSBkYW5zIMKrwqBnX19veV9fwqDCuwoKJydpYScnIHxjb21tZSBkYW5zIMKrwqBwX19pYV9f bm/CoMK7CgonJ2llJycgfGNvbW1lIGRhbnMgwqvCoGhfX2llX19ywqDCuwoKJydpdScnIHxjb21t ZSBkYW5zIMKrwqBjYV9faWxsb3VfX8KgwrsKCicndWEnJyB8Y29tbWUgZGFucyDCq8KgcV9fdW9p X1/CoMK7CgonJ3VlJycgfGNvbW1lIGRhbnMgwqvCoGJyX19vdWVfX3R0ZcKgwrsKCicndW8nJyB8 Y29tbWUgZGFucyDCq8KgZHJfX291b19fdMKgwrsKCicndWknJyB8Y29tbWUgZGFucyDCq8KgX19v dWlfX8KgwrsgfHwKCgoKTGVzIHZveWVsbGVzIGRvdWJsw6llcyBzb250IHJhcmVzLiBMZXMgc2V1 bHMgZXhlbXBsZXMgc29udCAnJ2lpJycsIHByb25vbmPDqSBjb21tZSBkYW5zIMKrwqBmYV9faWxs aV9fwqDCuywgZXQgJyd1dScnLCBwcm9ub25jw6kgY29tbWUgZGFucyDCq8KgX19PdV9faF9fb3Vf X8KgIcKgwrsgKHF1YW5kIG9uIGFwcGVsbGUgcXVlbHF1J3VuLCBtYWlzIHBhcyBjb21tZSBkYW5z IMKrwqBIb3Vob3XCoMK7wqA6IGRhbnMgbGUgcHJlbWllciBleGVtcGxlLCBsZSAnJ2gnJyBlc3Qg bXVldCwgZGFucyBsZSBkZXV4acOobWUsIGxlICcnaCcnIGVzdCBhc3BpcsOpIOKAkyBjZSBxdWkg c2UgdHJhbnNjcmlyYWl0IGVuIGxvamJhbiAnJ3UndScnKQoKCgohISEhQ29uc29ubmVzCgpMYSBw bHVwYXJ0IGRlcyBjb25zb25uZXMgc29udCBsZXMgbcOqbWVzIHF1J2VuIGZyYW7Dp2Fpcywgw6Ag cXVlbHF1ZSBleGNlcHRpb25zIHByw6p0wqA6CgoKCnx8JydnJycgfHNlIHByb25vbmNlIHRvdWpv dXJzIGNvbW1lIGRhbnMgwqvCoF9fZ19fw6J0ZWF1wqDCuywgamFtYWlzIGNvbW1lIGRhbnMgwqvC oF9fZ19fZW5vdXjCoMK7IChvbiB1dGlsaXNlIGFsb3JzIGxlIMKrwqAnJ2onJ8KgwrspCgonJ3Mn JyB8c2UgcHJvbm9uY2UgdG91am91cnMgY29tbWUgZGFucyDCq8KgX19zX19lcnBlbnTCoMK7LCBq YW1haXMgY29tbWUgZGFucyDCq8Kgcm9fX3NfX2XCoMK7IChvbiB1dGlsaXNlIGFsb3JzIGxlIMKr ICcneicnIMK7KQoKJydjJycgfHNlIHByb25vbmNlICcnY2gnJywgY29tbWUgZGFucyDCq8KgX19j aF9fYXRlYXXCoMK7CgonJ3gnJyB8c2UgcHJvbm9uY2UgY29tbWUgZGFucyBsJ2FsbGVtYW5kIMKr wqBCYV9fY2hfX8KgwrssIGwnZXNwYWdub2wgwqvCoF9fSl9fb3NlwqDCuyBvdSBsJ2FyYWJlIMKr wqBfX0toX19hbGVkwqDCuwoKJydyJycgfHNlIHByb25vbmNlIGNvbW1lIGRhbnMgwqvCoGFycml2 ZWRlcmNpwqDCuy4gwqvCoCcncicnwqDCuyBhY2NlcHRlIGJlYXVjb3VwIGRlIHByb25vbmNpYXRp b25zICjDoCBsYSBmcmFuw6dhaXNlLCDDoCBsJ2FuZ2xhaXNl4oCmKSBtYWlzIGxhIHByb25vbmNp YXRpb24gaXRhbGllbm5lICgnJ3InJyByb3Vsw6kpIGVzdCBwcsOpZsOpcsOpZXx8CgoKCkxlIGxv amJhbiBuJ3V0aWxpc2UgcGFzIGxlcyBjYXJhY3TDqHJlcyDCq8KgSMKgwrssIMKrwqBRwqDCuyBv dSDCq8KgV8KgwrssIGV0IGlsIG4neSBhIHBhcyBkZSBjYXJhY3TDqHJlcyBhY2NlbnR1w6lzIGVu IGxvamJhbi4KCgoKISEhIUNhcmFjdMOocmVzIHNww6ljaWF1eAoKCgpMZSBsb2piYW4gbmUgcmVx dWnDqHJlIGF1Y3VuZSBwb25jdHVhdGlvbiwgbWFpcyBjZXJ0YWluIGNhcmFjdMOocmVzLCBoYWJp dHVlbGxlbWVudCB1dGlsaXPDqXMgY29tbWUgcG9uY3R1YXRpb24gZGFucyBkJ2F1dHJlIGxhbmd1 ZXMsIGFmZmVjdGVudCBsYSBtYW5pw6hyZSBkb250IGxlIGxvamJhbiBlc3QgcHJvbm9uY8OpLgoK CgpMZSBzZXVsIGRlIGNlcyBjYXJhY3TDqHJlcyBxdWkgc29pdCBvYmxpZ2F0b2lyZSBlbiBsb2pi YW4gZXN0IGwnYXBvc3Ryb3BoZS4gRW4gZmFpdCwgbCdhcG9zdHJvcGhlIGVzdCBjb25zaWTDqXLD qWUgY29tbWUgdW5lIGxldHRyZSBkdSBsb2piYW4uIFVuZSBhcG9zdHJvcGhlIHPDqXBhcmUgZGV1 eCB2b3llbGxlcywgZW1ww6pjaGFudCBjZWxsZXMtY2kgZCfDqnRyZSBwcm9ub25jw6llcyBlbnNl bWJsZSBjb21tZSB1bmUgX19kaXBodG9uZ3VlX18uIEVsbGUgZXN0IGVsbGUgbcOqbWUgcHJvbm9u Y8OpZSBjb21tZSB1biDCq8KgaMKgwrsuIFBhciBleGVtcGxlLCDCq8KgJyd1aScnwqDCuyBlc3Qg bm9ybWFsZW1lbnQgcHJvbm9uY8OpIGNvbW1lIMKrwqBfX291aV9fwqDCuywgbWFpcyDCq8KgJyd1 J2knJ8KgwrsgZXN0IHByb25vbmPDqSBjb21tZSDCq8KgX19vdS1oaV9fwqDCuy4KCgoKVW4gcG9p bnQgZXN0IHVuZSBjb3VydGUgcGF1c2Ugw6l2aXRhbnQgw6AgZGV1eCBtb3RzIGRlIHNlIGNvbmZv bmRyZSBsJ3VuIGRhbnMgbCdhdXRyZS4gTGVzIHLDqGdsZXMgZHUgbG9qYmFuIHJlbmRlbnQgZmFj aWxlIGxhIGZ1c2lvbiBkZSBkZXV4IG1vdHMgcXVhbmQgbGUgc2Vjb25kIGNvbW1lbmNlIHBhciB1 bmUgdm95ZWxsZSwgZXQgZG9uYywgcGFyIGNvbnZlbnRpb24sIGNoYXF1ZSBtb3QgY29tbWVuw6dh bnQgcGFyIHVuZSB2b3llbGxlIGVzdCBwcsOpY8OpZMOpIHBhciB1biBwb2ludC4KCgoKTGVzIHZp cmd1bGVzIHNvbnQgcmFyZSBlbiBsb2piYW4sIG1haXMgcGV1dmVudCDDqnRyZSB1dGlsaXPDqWVz IHBvdXIgZW1ww6pjaGVyIGRldXggdm95ZWxsZXMgZGUgc2UgZm9uZHJlIGwndW5lIGRhbnMgbCdh dXRyZSBxdWFuZCB2b3VzIG5lIHZvdWxleiBwYXMgdXRpbGlzZXIgZCdhcG9zdHJvcGhlLCBjZSBx dWkgYWpvdXRlcmFpcyB1biDCq8KgaMKgwrsgZW50cmUgZWxsZXMuIEF1Y3VuIG1vdCBsb2piYW4g bidhIGRlIHZpcmd1bGUsIG1haXMgZWxsZSBlc3QgcGFyZm9pcyB1dGlsaXPDqWUgZGFucyBsJ8Op Y3JpdHVyZSBkZXMgbm9tcyBkJ2F1dHJlcyBsYW5ndWVzLiBQYXIgZXhlbXBsZSwgwqvCoCcncGks RVIuJyfCoMK7IChQaWVycmUpLCBhdSBsaWV1IGRlIMKrwqAnJ3BpZXIuJyfCoMK7IChQLXllcnIp LCDCq8KgJydwaS5FUi4nJ8KgwrsgKFBpOyBFaHIpLCBvdSDCq8KgJydwaSdFUicnwqDCuyAoUGlo ZXJyKS4KCgoKTGVzIGxldHRyZXMgY2FwaXRhbGVzIG5lIHNvbnQgbm9ybWFsZW1lbnQgcGFzIHV0 aWxpc8OpZXMgZW4gbG9qYmFuLiBOb3VzIGxlcyB1dGlsaXNvbnMgZGFucyBkZXMgbW90cyBub24g bG9qYmFuIChjb21tZSDCq8KgUGllcnJlwqDCuyksIHF1YW5kIGwnYWNjZW50IHRvbmlxdWUgZCd1 biBtb3QgZXN0IGRpZmbDqXJlbnQgZGUgY2VsdWkgZGUgbGEgbm9ybWUgbG9qYmFuLiBMYSBub3Jt ZSBjb25zaXN0ZSDDoCBtZXR0cmUgdW4gYWNjZW50IHRvbmlxdWUgc3VyIGwnYXZhbnQgZGVybmnD qHJlIHN5bGxhYmUuIFBhciBleGVtcGxlLCAnJ2t1am1pa2NlJycgKGluZmlybWnDqHJlKSwgZXN0 IMKrwqBrdWpfX01JS19fY2XCoMK7LCBldCBub24gcGFzIMKrwqBfX0tVSl9fbWlrY2XCoMK7LiBM ZSBub20gwqvCoEp1bGlldHRlwqDCuyBzJ8OpY3JpcmFpdCDCq8KgJydqdUxJRVQuJyfCoMK7IHNp IHByb25vbmPDqSBjb21tZSBlbiBmcmFuw6dhaXMsIG1haXMgwqvCoCcnREpVbGksZXQuJyfCoMK7 IHNpIHByb25vbmPDqSBjb21tZSBlbiBhbmdsYWlzLgoKISEhIUFscGhhYmV0CgoKCkRhbnMgbGEg cGx1cGFydCBkZXMgbWFudWVscywgbG9ycyBkZSBsJ2FwcHJlbnRpc3NhZ2UgZCd1bmUgbGFuZ3Vl LCB2b3VzIGFwcHJlbmV6IGwnYWxwaGFiZXQgZHUgbGFuZ2FnZSwgZXQgc2EgcHJvbm9uY2lhdGlv bi4gTGVzIGxldHRyZXMgKCcnbGVyZnUnJykgw6l0YW50IHBsdXMgaW1wb3J0YW50ZXMgZW4gbG9q YmFuIHF1J8OgIGwnYWNjb3V0dW3DqWUsIGF1dGFudCBhcHByZW5kcmUgbGV1ciBub21zIHJhcGlk ZW1lbnQuCgoKCkxlcyBjb25zb25uZXMgc29udCBzaW1wbGVzwqA6IGxlIG5vbSBkJ3VuZSBjb25z b25uZSBlc3QgY2V0dGUgbGV0dHJlLCBzdWl2aWUgZGUgwqvCoHnCoMK7LiBBaW5zaSwgbGVzIGNv bnNvbm5lcyBkdSBsb2piYW4sIMKrwqBiwqDCuywgwqvCoGPCoMK7LCDCq8KgZMKgwrssIMKrwqBm wqDCuywgwqvCoGfCoMK74oCmIHNvbnQgYXBwZWzDqWVzIMKrwqAnJ2J5LicnwqDCuywgwqvCoCcn Y3kuJyfCoMK7LCDCq8KgJydkeS4nJ8KgwrssIMKrwqAnJ2Z5LicnwqDCuywgwqvCoCcnZ3kuJyfC oMK74oCmIGVuIGxvamJhbiAoZW4gdXRpbGlzYW50IHVuIHBvaW50LCBjb21tZSBkw6ljcml0IGRh bnMgbGEgcGFydGllIHByw6ljw6lkZW50ZSkuCgoKCkxlcyB2b3llbGxlcyBfX3NlcmFpZW50X18g YXBwZWzDqWVzIMKrwqAnJy5heScnwqDCuywgwqvCoCcnLmV5JyfCoMK7LCDCq8KgJycuaXknJ8Kg wrvigKYsIHNpIGMnw6l0YWl0IG1vaW5zIGRpZmZpY2lsZSDDoCBwcm9ub25jZXIuIEF1IGxpZXUg ZGUgw6dhLCBlbGxlcyBzb250IG5vbW3DqWUgZW4gc3VpdmFudCBsZSBzb24gZGUgbGEgdm95ZWxs ZSBwYXIgbGUgbW90ICcnYnUnJywgcXVpIHNpZ25pZmllIHNpbXBsZW1lbnQgwqvCoGxldHRyZcKg wrsuIEFpbnNpLCBsZXMgdm95ZWxsZXMgZHUgbG9qYmFuIHNvbnTCoDogIMKrwqAnJy5hYnUnJ8Kg wrssIMKrwqAnJy5lYnUnJ8KgwrssIMKrwqAnJy5pYnUnJ8KgwrssIMKrICcnLm9idScnIMK7LCDC q8KgJycudWJ1JyfCoMK7LCDCq8KgJycueWJ1JyfCoMK7LgoKCgpMJ2Fwb3N0cm9waGUgZXN0IGNv bnNpZMOpcsOpZSBjb21tZSB1bmUgdnJhaSBsZXR0cmUgZW4gbG9qYmFuLCBldCBlc3Qgbm9tbcOp ZSDCq8KgJycueSd5LicnwqDCuyAowqvCoGV1aGV1wqDCu+KApiBVbiBwZXUgY29tbWUgdW5lIHBl dGl0ZSB0b3V4KS4KCgoKTGUgbG9qYmFuIGEgdW4gbW95ZW4gZGUgc2UgcsOpZsOpcmVyIMOgIGxh IHBsdXBhcnQgZGVzIGxldHRyZXMgYXV4cXVlbGxlcyB2b3VzIHBvdXZleiBwZW5zZXIuIFNpIHZv dXMgZMOpc2lyZXogZMOocyBtYWludGVuYW50IMOpcGVsZXIgdm90cmUgbm9tIGVuIGxvamJhbiwg ZXQgcXVlIGNlbHVpIGNpIHBvc3PDqGRlIHVuIMKrwqBIwqDCuywgwqvCoFHCoMK7IG91IMKrwqBX wqDCuywgdm91cyBwb3V2ZXogdXRpbGlzZXIgwqsgJycueSd5LmJ1JycgwrssIMKrICcna3kuYnUn JyDCuyBldCDCqyAnJ3Z5LmJ1JycgwrsuIEFpbnNpLCDCq8KgU2Nod2FyemVuZWdnZXLCoMK7IGVz dCDDqXBlbMOpIGVuIGxvamJhbsKgOgoKJydzeS4gY3kuIC55J3lidSB2eWJ1LiAuYWJ1IHJ5LiB6 eS4gLmVidSBueS4gLmVidSBneS4gZ3kuIC5lYnUgcnkuJycKCgoKRXQgw6lwZWxlciBfX8OnYV9f IGVzdCB1bmUgdMOiY2hlIGRpZ25lIGR1IFRlcm1pbmF0b3LCoCEKCgoKTWFpbnRlbmFudCwgw6lw ZWxleiB2b3RyZSBub20gZW4gbG9qYmFuIChsZSBjYXMgw6ljaMOpYW50LCBkZSBsYSBtYW5pw6hy ZSBsYSBwbHVzIHByb2NoZSBxdWUgdm91cyBwb3V2ZXogYXZlYyBsZXMgMjYgbGV0dHJlcyBxdWUg bm91cyB2ZW5vbnMgZCdhcHByZW5kcmUsIGV0IGwnYXBvc3Ryb3BoZSkuCgohISEhIFByb25vbmNp YXRpb24gwqvCoGNvcnJlY3RlwqDCuwoKCgonJ0NldHRlIHBhZ2UgZXN0IMOgIGxhIGZvaXMgdW5l IHRyYWR1Y3Rpb24gZGUgbGEgdmVyc2lvbiBhbmdsYWlzZSwgZXQgdW5lIGFkYXB0YXRpb24gYXV4 IHByb2Jsw6htZXMgcmVuY29udHLDqXMgcGFyIGxlcyBmcmFuY29waG9uZXMgcGx1dG90IHF1ZSBw YXIgbGVzIGFuZ2xvcGhvbmVzLiBQYXIgbWFucXVlIGQnZXhww6lyaWVuY2UgZGFucyBsJ2Vuc2Vp Z25lbWVudCBkdSBsb2piYW4gw6AgZGVzIGZyYW5jb3Bob25lcywgY2V0dGUgcGFydGllIHBldXQg ZG9uYyBtYW5xdWVyIGRlIGNvbnNlaWxzIG91IHJlc3RlciBpbmFkYXB0w6llLCB2b2lyZSBjb25m dXNlLiBOJ2jDqXNpdGV6IHBhcyDDoCBkZW1hbmRlciBzdXIgbGEgW2h0dHA6Ly9tYWlsLmxvamJh bi5vcmcvbWFpbG1hbi9saXN0aW5mby9sb2piYW4tZnJ8bWFpbGluZy1saXN0XSBmcmFuY29waG9u ZSBzaSB2b3VzIGF2ZXogdW4gcHJvYmzDqG1lIOKAkyBjZWNpIHBvdXJyYWl0IG5vdXMgYWlkZXIg w6AgYW3DqWxpb3JlciBjZXR0ZSBwYWdlwqAhJycKCgoKVm91cyBuJ2F2ZXogcGFzIMOgIGF2b2ly IHVuZSBwcm9ub25jaWF0aW9uIHByw6ljaXNlIGR1IGxvamJhbiwgY2FyIGNoYXF1ZSBwaG9uw6ht ZSBlc3QgZGlzdHJpYnXDqSBkZSBtYW5pw6hyZSDDoCBjZSBxdSdpbCBzb2l0IGRpZmZpY2lsZSBk ZSBjb25mb25kcmUgZGV1eCBzb25zLiBDZWNpIHNpZ25pZmllIHF1ZSwgcG91ciB1bmUgbGV0dHJl LCBwbHV0w7R0IHF1J3VuZSBwcm9ub25jaWF0aW9uIMKrwqBjb3JyZWN0ZcKgwrssIGlsIHkgYSB1 bmUgZ2FtbWUgZGUgc29ucyBhY2NlcHTDqXMg4oCTIGxlIHByaW5jaXBlIGfDqW7DqXJhbCDDqXRh bnQgcXUndW4gc29uIGVzdCBib24gdGFudCBxdSdpbCBuZSByZXNzZW1ibGUgcGFzIHRyb3Agw6Ag dW5lIGF1dHJlIGxldHRyZS4gUGFyIGV4ZW1wbGUsIGxlIMKrwqBywqDCuyBsb2piYW4gcGV1dCDD qnRyZSBwcm9ub25jw6kgY29tbWUgZW4gYW5nbGFpcywgaXRhbGllbiwgZnJhbsOnYWlz4oCmIAoK CgpDZXBlbmRhbnQsIGJpZW4gcXVlIGxlIFtodHRwczovL2ZyLndpa2lwZWRpYS5vcmcvd2lraS9D b25zb25uZV9mcmljYXRpdmVfdXZ1bGFpcmVfdm9pcyVDMyVBOWV8wqvCoHLCoMK7IGZyYW7Dp2Fp c10gc29pdCBjb25zaWTDqXLDqSBjb21tZSB1biDCq8KgJydyJyfCoMK7LCBjZWx1aS1jaSBlc3Qg YXVzc2kgcHJvY2hlIGR1IFtodHRwczovL2ZyLndpa2lwZWRpYS5vcmcvd2lraS9Db25zb25uZV9m cmljYXRpdmVfdXZ1bGFpcmVfc291cmRlfMKrwqAnJ3gnJ8KgwrtdIGxvamJhbi4gUG91ciBjb21w cmVuZHJlIGxhIGRpZmbDqXJlbmNlIGVudHJlIGNlcyBkZXV4IHNvbnMsIG9ic2VydmV6IGxhIGRp ZmbDqXJlbmNlIGVudHJlIGxlIHNvbiDCq8KgJydkJyfCoMK7IGV0IGxlIHNvbiDCq8KgJyd0JyfC oMK7wqA6IGwndW4gZXN0IHZvY2FsaXPDqSwgbCdhdXRyZSBub24uIExhIG3Dqm1lIGRpc3RpbmN0 aW9uIHMnb3DDqHJlIGVudHJlIGxlIMKrwqAnJ3InJ8KgwrsgZnJhbsOnYWlzIGV0IGxlIMKrwqAn J3gnJ8KgwrsuIEplIHZvdXMgY29uc2VpbGxlIGRvbmMgZCdvcHRlciBwb3VyIHVuIMKrwqBywqDC uyBtb2lucyBhbWJpZ3UuIENvbmNlcm5hbnQgbGUgwqvCoHLCoMK7IHJvdWzDqSwgZGV1eCBwcm9u b25jaWF0aW9ucyBzb250IHBvc3NpYmxlwqA6IGxlIFtodHRwczovL2ZyLndpa2lwZWRpYS5vcmcv d2lraS9Db25zb25uZV9yb3VsJUMzJUE5ZV9hbHYlQzMlQTlvbGFpcmVfdm9pcyVDMyVBOWV8wqvC oHLCoMK7XSBlc3BhZ25vbCwgc2l0dcOpIMOgIGwnYXZhbnQgZHUgcGFsYWlzLCBldCB1biBbaHR0 cHM6Ly9mci53aWtpcGVkaWEub3JnL3dpa2kvQ29uc29ubmVfcm91bCVDMyVBOWVfdXZ1bGFpcmVf dm9pcyVDMyVBOWV8wqvCoHLCoMK7XSBwbHVzIHByb2NoZSBkZSBsYSBnb3JnZSwgY29tbWUgY2Vs dWkgZCdFZGl0IFBpYWYuIENob2lzaXNzZXogbGEgcHJvbm9uY2lhdGlvbiBxdWkgdm91cyBwb3Nl IGxlIG1vaW5zIGRlIHByb2Jsw6htZSwgdGFudCBxdSdlbGxlIG5lIHNlIGNvbmZvbmQgcGFzIGF2 ZWMgdW5lIGF1dHJlIGxldHRyZSBkdSBsb2piYW4uCgoKCkZhaXRlcyBhdXNzaSBhdHRlbnRpb24g w6AgYmllbiBhcHB1eWVyIGxlcyB2b3llbGxlcyDigJMgbWlzIMOgIHBhcnQgbGUgwqvCoCcneScn wqDCuyBxdWkgJydkb2l0Jycgw6p0cmUgY291cnQuIExhIHJhaXNvbiBlbiBlc3QgcXVlIGxlcyB2 b3llbGxlcyDCq8Kgbm9uLWxvamJhbsKgwrsgcGV1dmVudCDDqnRyZSB1dGlsaXPDqWVzIHBvdXIg c8OpcGFyZXIgbGVzIGNvbnNvbm5lcyBwYXIgbGVzIHBlcnNvbm5lcyBxdWkgbidhcnJpdmVudCBw YXMgw6AgbGVzIHByb25vbmNlci4gUGFyIGV4ZW1wbGUsIHNpIHZvdXMgYXZleiB1biBwcm9ibMOo bWUgYXZlYyBsZSDCq8KgJyd6ZCcnwqDCuyBkZSDCq8KgJyd6ZGFuaScnwqDCuyAobWFpc29uKSwg dm91cyBwb3V2ZXogZGlyZSDCq8KgesmqZGFuacKgwrssIGF2ZWMgdW4gwqvCoMmqwqDCuyB0csOo cyBjb3VydCwgbWFpcyBsZSDCq8KgacKgwrsgZmluYWwgbG9uZy4gCgohISEhTm9tcyBsb2piYW4g KGNtZXZsYSkKCgoKRGFucyBsZXMgZmlsbXMgb8O5IGxlcyBwcm90YWdvbmlzdGVzIG4nb250IHBh cyBkZSBsYW5ndWUgY29tbXVuZSwgaWxzIGNvbW1lbmNlbnQgc291dmVudCBwYXIgZGlyZSBkZXMg Y2hvc2VzIHRlbGxlcyBxdWUgwqvCoE1vaSBUYXJ6YW7CoMK7LCBjZSBxdWkgZXN0IHVuZSBtYW5p w6hyZSBjb21tZSB1bmUgYXV0cmUgZGUgZMOpYnV0ZXIgZW4gbG9qYmFuLiBFdCBkb25jwqA6CgoK Cl9fJydtaSdlIC5yb2Jpbi4nJ19fCgrCq8KgSmUtc3Vpcy1ub21tw6kgUm9iaW7CoMK7CgrCq8Kg SmUgc3VpcyBSb2JpbsKgwrsKCgoKJydtaSdlJycgZXN0IGFwcGFyZW50w6kgw6AgJydtaScnLCBx dWkgc2lnbmlmaWUgwqvCoG1vacKgwrssIMKrwqBqZcKgwrvigKYgQydlc3QgdW4gYm9uIGV4ZW1w bGUgZGUgbCdhcG9zdHJvcGUgc8OpcGFyYW50IGRldXggdm95ZWxsZXMsIHByb25vbmPDqSDCq8Kg bWkgaGVowqDCuy4gCgoKCkNlIFJvYmluIGVzdCBjaGFuY2V1eMKgOiBzb24gbm9tIHNlIHRyYW5z Y3JpdCBkaXJlY3RlbWVudCBlbiBsb2piYW4sIHNhbnMgY2hhbmdlbWVudC4gSWwgeSBhIHRvdXRl Zm9pcyBkZXMgcsOoZ2xlcyBwb3VyIGxlcyBub21zIGxvamJhbiwgY2UgcXVpIHNpZ25pZmllIHF1 ZSBjZXJ0YWlucyBub21zIGRvaXZlbnQgw6p0cmVzIMKrwqBsb2piYW5pc8Opc8KgwrsuIENlbGEg cGV1dCBzZW1ibGVyIMOpdHJhbmdlLiBBcHLDqHMgdG91dCwgdW4gbm9tIGVzdCB1biBub23igKYg RW4gZmFpdCwgdG91dCBsZXMgbGFuZ2FnZXMgZm9udCBjZSBnZW5yZSBkJ2FkYXBhdGlvbiDDoCB1 biBjZXJ0YWluIG5pdmVhdS4gUGFyIGV4ZW1wbGUsIGxlcyBhbmdsYWlzIHRlbmRlbnQgw6AgcHJv bm9uY2VyIMKrwqBKb3NlwqDCuyBjb21tZSDCq8KgSG96YXnCoMK7LCBldCDCq8KgTWFyZ2FyZXTC oMK7IGRldmllbnQgwqvCoE1hZ2VsaXRhwqDCuyBlbiBjaGlub2lzLgoKCgpDZXJ0YWlucyBzb25z IG4nZXhpc3RlbnQgcGFzIGRhbnMgY2VydGFpbnMgbGFuZ2FnZXMuIEFpbnNpLCBsYSBwcmVtacOo cmUgY2hvc2Ugw6AgZmFpcmUgZXN0IGRlIHLDqcOpY3JpcmUgdm90cmUgbm9tIGRlIG1hbmnDqHJl IMOgIGNlIHF1J2lsIG5lIGNvbnRpZW5uZSBxdWUgZGVzIHNvbnMgbG9qYmFuLCBldCBzb2l0IMOp Y3JpdCBjb21tZSB1biBtb3QgbG9qYmFuLgoKCgpfX05vdGXCoDpfXyBMYSBxdWVzdGlvbiBpY2kg ZXN0wqA6IHF1ZWxsZSB2ZXJzaW9uIGRlcyBzb25zIGFsbGV6IHZvdXMgdXRpbGlzZXLCoD8gRW4g YW5nbGFpcywgcGFyIGV4ZW1wbGUsIGxlcyB2b3llbGxlcyBhbmdsYWlzZXMgZXQgYW3DqXJpY2Fp bmVzIHNvbnQgYXNzZXogZGlmZsOpcmVudGVzLiBMZSDCq8KgUm9iaW7CoMK7IGFuZ2xhaXMgcGV1 dCDDqnRyZSByYWlzb25uYWJsZW1lbnQgYXBwcm94aW3DqSBwYXIgwqvCoCcnLnJvYmluLicnwqDC uywgbWFpcyBsYSB2ZXJzaW9uIGFtw6lyaWNhaW5lIGVzdCBwbHVzIHByb2NoZSBkZSDCq8KgJycu cmFieW4uJyfCoMK7IG91IMKrwqAnJy5yYWIsbi4nJ8KgwrsuIEV0IMOgIGwnaW50w6lyaWV1ciBt w6ptZSBkZSBsJ2FuZ2xldGVycmUgb3UgZGVzIMOpdGF0cyB1bmlzIGQnYW3DqXJpcXVlLCBpbCBw ZXV0IHkgYXZvaXIgbm9tYnJlIHZhcmlhdGlvbnMuIEF1c3NpIGRldnJpZXogdm91cyBwcmVuZHJl IGxlcyB0cmFuc2xpdGVyYXRpb25zIGNpLWRlc3N1cyBhdmVjIGRlcyBwaW5jZXR0ZXMuCgoKClBy ZW5vbnMgbGUgbm9tIMKrwqBTdXNhbsKgwrssIGVuIGFuZ2xhaXMuIExlcyBkZXV4IMKrwqBzwqDC uyBzb250IHByb25vbmPDqXMgZGlmZsOpcmVtbWVudCDigJPCoGxlIHNlY29uZCDDqXRhbnQgZW4g ZmFpdCB1biDCq8KgesKgwrvCoOKAkyBldCBsZSDCq8KgYcKgwrsgbidlc3QgcGFzIHZyYWltZW50 IHVuIMKrwqBhwqDCuywgbWFpcyBsZSDCq8Kgc2Nod2HCoMK7IGRvbnQgbm91cyBhdm9ucyBwYXJs w6kgcGx1cyBoYXV0LiBBaW5zaSwgwqvCoFN1c2FuwqDCuyBkZXZpZW50LCBlbiBsb2piYW4sIMKr wqAnJy5zdXp5bi4nJ8KgwrsuCgoKClZvdXMgYXZleiBwZXV0LcOqdHJlIG5vdMOpIGxlcyBkZXV4 IHBvaW50cyBxdWkgYXBwYXJhaXNzZW50IGRhbnMgY2hhcXVlIG5vbSBsb2piYW7igKYgQ2V1eC1j aSBzb250IG7DqWNlc3NhaXJlcyBjYXIgc2FucyBwYXVzZSwgaWwgcGV1dCDDqnRyZSBkaWZmaWNp bGUgZGUgc2F2b2lyIHF1YW5kIGxlIG1vdCBwcsOpY8OpZGVudCBmaW5pdCwgZXQgcXVhbmQgbGUg bW90IHN1aXZhbnQgZMOpYnV0ZS4KCgoKVm91cyBkZXZyaWV6IGF1c3NpIHBsYWNlciB1biBwb2lu dCBlbnRyZSBsZSBub20gZXQgbGUgcHLDqW5vbSBkJ3VuZSBwZXJzb25uZSAoYmllbiBxdWUgY2Ug bmUgc29pdCBwYXMgb2JsaWdhdG9pcmUpLiBBaW5zaSwgwqvCoEpvc2VwaCBCZW5hcmTCoMK7IGRl dmllbnQgwqvCoCcnLmpvemVmLmJlbmFyLicnwqDCuy4KCgoKVW5lIHLDqGdsZSBpbXBvcnRhbnRl IGRhbnMgbGEgbG9qYmFuaXNhdGlvbiBkZXMgbm9tcyBlc3QgcXVlIGxhIGRlcm5pw6hyZSBsZXR0 cmUgZCd1biAnJ2NtZXZsYScnIChub20gbG9qYmFuKSBkb2l0IHRvdWpvdXJzIMOqdHJlIHVuZSBj b25zb25uZS4gRW5jb3JlLCBjZWNpIGEgcG91ciBidXQgZCfDqXZpdGVyIGxhIGNvbmZ1c2lvbiBx dWFudCDDoCBzYXZvaXIgb8O5IGVzdCBsYSBmaW4gZCd1biBtb3QsIGV0IHNpIHVuIG1vdCBlc3Qg b3Ugbidlc3QgcGFzIHVuIG5vbSAodG91dCBsZXMgYXV0cmVzIG1vdCBsb2piYW4gZmluaXNzYW50 IHBhciB1bmUgdm95ZWxsZSkuIERhbnMgbGUgY2FzIG/DuSB1biBtb3QgZmluaXQgcGFyIHVuZSB2 b3llbGxlLCDCq8KgJydzJyfCoMK7IGVzdCBzb3V2ZW50IGFqb3V0w6kgw6AgbGEgZmluLiBBaW5z aSwgwqvCoE1hcmllwqDCuyBkZXZpZW50IGVuIGxvamJhbiDCq8KgJycubWFyaXMuJyfCoMK7LCDC q8KgSm9lwqDCuyBkZXZpZW50IMKrwqAnJy5kam9zLicnwqDCuywgZXQgYWluc2kgZGUgc3VpdGUu IFVuZSBhbHRlcm5hdGl2ZSBjb25zaXN0ZSDDoCBzdXBwcmltZXIgbGEgZGVybmnDqHJlIHZveWVs bGUsIMKrwqBNYXJpZcKgwrsgZGV2ZW5hbnQgwqvCoCcnLm1hci4nJ8KgwrsuCgoKClVuZSBkZXJu acOocmUgY2hvc2XCoDogY29tbWUgbm91cyBsJ2F2b25zIHZ1LCBsJ2FjY2VudCB0b25pcXVlIGRl cyBtb3RzIGxvamJhbiBlc3Qgc2l0dcOpIHN1ciBsJ2F2YW50IGRlcm5pw6hyZSBzeWxsYWJlLiBT aSBsJ2FjY2VudCB0b25pcXVlIGQndW4gbm9tIHNlIHRyb3V2ZSBhaWxsZXVycywgZGVzIGxldHRy ZXMgbWFqdXNjdWxlcyBzb250IHV0aWxpc8OpZXMuIENlY2kgc2lnbmlmaWUgcXVlIGxlIG5vbSDC q8KgUm9iZXJ0wqDCuyBzZXJhIMOpY3JpdCBkaWZmw6lyZW1tZW50IHN1aXZhbnQgcXUnaWwgc29p dCBhbmdsYWlzIG91IGZyYW7Dp2Fpc8KgOiDCqyAnJy5yb0JFUi4nJyDCuyBlbiBmcmFuw6dhaXMs IMKrwqAnJy5yb2J5dC4nJ8KgwrsgZW4gYW5nbGFpcyBldCDCqyAnJy5yYWIscnQuJycgwrsgZW4g YW3DqXJpY2Fpbi4KCgoKQWZpbiBkZSB2b3VzIGRvbm5lciB1bmUgaWTDqWUgZGUgY29tbWVudCB0 b3V0IGNlY2kgZm9uY3Rpb25uZSwgdm9pY2kgdW5lIGxpc3RlIGRlIG5vbXMgZGUgcXVlbHF1ZSBw ZXJzb25uYWdlcyBjw6lsw6hicmVzIGRhbnMgbGV1ciBwcm9wcmUgbGFuZ3VlIGV0IGVuIGxvamJh bi4KCgoKfHxfX0ZyYW7Dp2Fpc19fCgpOYXBvbGVvbiBCb25hcGFydGUgfCcnLm5hcG9sZSxPTi5i b25hUEFSVC4nJwoKSnVsaWV0dGUgQmlub2NoZSB8JycuanVMSUVULmJpbk9DLicnIHx8Cgp8fF9f QW5nbGFpc19fCgpNYXJnYXJldCBUaGF0Y2hlciB8JycubWFncnl0LnRhdGN5ci4nJwoKTWljayBK YWdnZXIgfCcnLm1pay5kamFneXMuJycgfHwKCnx8X19DaGlub2lzX18KCkxhb3ppIHwnJy5sYXVk ei4nJwoKTWFvIFplZG9uZyB8JycubWF1ZHp5RFlOLicnIChMZSDCq8KgbmfCoMK7IGZpbmFsIGVz dCBjb252ZW50aW9uZWxsZW1lbnQgdHJhbmZvcm3DqSBlbiDCq8KgJyduJyfCoMK7IGVuIGxvamJh bi4pIHx8Cgp8fF9fVHVyY19fCgpNdXN0YWZhIEtlbWFsIHwnJy5NVVN0YWZhcy5rZU1BTC4nJwoK RXJraW4gS29yYXkgfCcnLmVya2luLmtvcmFpcy4nJyB8fAoKfHxfX0FsbGVtYW5kX18KCkZyaWVk cmljaCBOaWV0enNjaGUgfCcnLmZyaWRyaXgubml0Y3lzLicnCgpDbGFyYSBTY2h1bWFubiB8Jycu a2xhcmFzLmN1bWFuLicnIHx8Cgp8fF9fRXNwYWdub2xfXwoKSXNhYmVsIEFsbGVuZGUgfCcnLml6 YUJFTC5haWVuZGVzLicnCgpDaGUgR3VldmFyYSB8JycudGNlZ2V2YXJhcy4nJyB8fAoKCgpfX0V4 ZXJjaWNlwqA6X18KCk/DuSBzb250IGNlcyBsaWV1eMKgPwoKIy5udSxJT1JLLgoKIy5yb21hcy4K CiMueGF2YW5hcy4KCiMua2FyZGlmLgoKIy5iZWlkamluLgoKIy5BTmthcmFzLgoKIy5BTGJla2Vy a2lzLgoKIy52YW5rdXZlci4KCiMua2VpcHRhdW4uCgojLnRhaWJlaXMuCgojLmJvbi4KCiMuZGVs aXMuCgojLm5pcy4KCiMuYXRpbmFzLgoKIy5saWR6LgoKIy54ZWxzaW5raXMuCgoKClLDqXBvbnNl czoKCn5+Z3JheSxncmF5On5+Cgojfn5ncmF5LGdyYXk6TmV3IFlvcms6IMOJdGF0cy1VbmlzIGQn QW3DqXJpcXVlfn4KCiN+fmdyYXksZ3JheTpSb21lOiBJdGFsaWV+fgoKI35+Z3JheSxncmF5Okhh dmFuYTogQ3ViYX5+Cgojfn5ncmF5LGdyYXk6Q2FyZGlmZjogUGF5cyBkZSBHYWxsZXMgKExlIGdh bGxvaXMgcG91ciDCq8KgQ2FyZGlmZsKgwrsgZXN0IMKrwqBDYWVyZHlkZMKgwrssIHNlIHF1aSBz ZSBsb2piYW5pc2VyYWl0IGNvbW1lIMKrwqAnJy5rYWlyZHlkLicnwqDCuy4pfn4KCiN+fmdyYXks Z3JheTpCZWlqaW5nOiBDaGluZX5+Cgojfn5ncmF5LGdyYXk6QW5rYXJhOiBUdXJraWV+fgoKI35+ Z3JheSxncmF5OkFsYmVxdWVycXVlOiBOb3V2ZWF1LU1leGlxdWUsIMOJdGF0cy1VbmlzIGQnQW3D qXJpcXVlfn4KCiN+fmdyYXksZ3JheTpWYW5jb3V2ZXI6IENhbmFkYX5+Cgojfn5ncmF5LGdyYXk6 Q2FwZSBUb3duOiBBZnJpcXVlIGR1IHN1ZH5+Cgojfn5ncmF5LGdyYXk6VGFpcGVpOiBUYWl3YW4g KE5vdGXCoDogb24gdXRpbGlzZSDCq8KgJydiJyfCoMK7LCBldCBub24gwqvCoCcncCcnwqDCuy4g QmllbiBxdSdlbiBmYWl0LCBsZSBiIGVuIFBpbnlpbiBzb2l0IHByb25vbmPDqSBw4oCmIE1haXMg bm91cyBuZSBzb21tZXMgcGFzIGRhbnMgdW4gY291cnMgZGUgbWFuZGFyaW7CoCEpfn4KCiN+fmdy YXksZ3JheTpCb25uOiBBbGxlbWFnbmV+fgoKI35+Z3JheSxncmF5OkRlbGhpOiBJbmRlIChMJ2hp bmRpIHBvdXIgwqvCoERlbGhpwqDCuyBlc3QgwqvCoERpbGzDrsKgwrssIGNlIHF1aSBkb25uZXJh aXQgwqvCoCcnLmRpbGl5cy4nJ8Kgwrsgb3UgwqvCoCcnLmRpbGknaXMuJyfCoMK7Lil+fgoKI35+ Z3JheSxncmF5Ok5pY2U6IEZyYW5jZX5+Cgojfn5ncmF5LGdyYXk6QXRoZW5zOiBHcsOoY2UgKMKr wqBBdGhpbmHCoMK7IGVuIGdyZWNxdWUpfn4KCiN+fmdyYXksZ3JheTpMZWVkczogQW5nbGV0ZXJy ZX5+Cgojfn5ncmF5LGdyYXk6SGVsc2lua2k6IEZpbmxhbmRlfn4KCgoKX19FeGVyY2lzZcKgOl9f CgpMb2piYW5pc2V6IGxlcyBub21zIHN1aXZhbnTCoDoKCiNKb2huCgojTWVsaXNzYQoKI0FtYW5k YQoKI01hdHRoZXcKCiNNYXRoaWV1CgojTWljaGFlbAoKI0RhdmlkIEJvd2llCgojSmFuZSBBdXN0 ZW4KCiNXaWxsaWFtIFNoYWtlc3BlYXJlCgojU2lnb3VybmV5IFdlYXZlcgoKI1JpY2hhcmQgTml4 b24KCiNJc3RhbmJ1bAoKI01hZHJpZAoKI1Rva3lvCgojU2FuIFNhbHZhZG9yCgoKClLDqXBvbnNl c8KgOgoKfn5ncmF5LGdyYXk6SWwgeSBhIHNvdXZlbnQgZCdhdXRyZXMgw6lwZWxsYXRpb25zIHBv dXIgbGVzIG5vbXMsIHNvaXQgcGFyY2UgcXVlIGxlcyBnZW5zIHByb25vbmNlbnQgbCdvcmlnaW5h bCBkaWZmw6lyZW1tZW50LCBzb2l0IHBhcmNlIHF1ZSBsZSBzb24gZXhhY3QgbidleGlzdGUgcGFz IGVuIGxvamJhbiwgZXQgcXVlIGwnb24gZG9pdCBjaG9pc2lyIGVudHJlIGRldXggbGV0dHJlcy4g Q2Ugbidlc3QgcGFzIGltcG9ydGFudCwgZHUgbW9tZW50IHF1ZSB0b3V0IGxlIG1vbmRlIHNhaXQg ZGUgcXVpIG91IHF1b2kgdm91cyBwYXJsZXoufn4KCiN+fmdyYXksZ3JheTouZGpvbi4gKG91IC5k amFuLiBhdmVjIGNlcnRhaW5zIGFjY2VudHMpfn4KCiN+fmdyYXksZ3JheToubWVsaXNhcy4gKC5t ZWxpc3lzLiBlbiBhbmdsYWlzKX5+Cgojfn5ncmF5LGdyYXk6LmFtYW5kYXMuIChFbiBhbmdsYWlz LCBzdWl2YW50IGxlcyBhY2NlbnRzLCBsZSDCq8KgJydhJyfCoMK7IGZpbmFsIHBldXQgw6p0cmUg dW4gwqvCoCcneScnwqDCuywgZGUgbcOqbWUgcG91ciBsZSDCq8KgJydhJyfCoMK7IGluaXRpYWws IGV0IGxlIMKrwqAnJ2EnJ8KgwrsgZHUgbWlsaWV1IHBldXQgw6p0cmUgdW4gwqvCoCcnZScnwqDC uy4pfn4KCiN+fmdyYXksZ3JheToubWF0aXVzLn5+Cgojfn5ncmF5LGdyYXk6Lm1hVElZUy5+fgoK I35+Z3JheSxncmF5Oi5taWthZWwuICgubWFpa3lsLiBvdSAubWFpayxsLiBlbiBhbmdsYWlzLil+ fgoKI35+Z3JheSxncmF5Oi5kZWl2eWQuYmF1LGlzLiBvdSAuYm8saXMuIChwYXMgLmJ1LGlzLiDi gJQgY2Ugc2VyYWl0IGFsb3JzIGxlICcnY291dGVhdScnIEJvd2llKX5+Cgojfn5ncmF5LGdyYXk6 LmRqZWluLm9zdGluLn5+Cgojfn5ncmF5LGdyYXk6LnVpbGlhbS5jZWtzcGlyLn5+Cgojfn5ncmF5 LGdyYXk6LnNpZ29ybmlzLnVpdnlyLiBvdSAuc3lnb3JuaXMudWl2eXIufn4KCiN+fmdyYXksZ3Jh eToucml0Y3lyZC5uaWtzeW4ufn4KCiN+fmdyYXksZ3JheTouaXN0YW5CVUwuIGF2ZWMgdW4gYWNj ZW50IHRvbmlxdWUgYW5nbGFpcywgLklTdGFuYnVsLiBhdmVjIHVuIGFjY2VudCB0b25pcXVlIEFt w6lyaWNhaW4sIC5pc3RhbmJ1bC4gYXZlYyBsJ2FjY2VudCB0b25pcXVlIFR1cmMuIExlcyBsb2pi YW5pc3RlcyBwcsOpZsOocmVudCBlbiBnw6luw6lyYWwgYmFzZXIgbGVzIGNtZXZsYSBzdXIgbGEg cHJvbm9uY2lhdGlvbiBsb2NhbGUsIG1haXMgY2Ugbidlc3QgcGFzIHVuZSByw6hnbGUgYWJzb2x1 ZS5+fgoKI35+Z3JheSxncmF5Oi5tYURSSUQufn4KCiN+fmdyYXksZ3JheToudG9raW9zLn5+Cgoj fn5ncmF5LGdyYXk6LnNhbi5zYWx2YURPUi4gKGF2ZWMgbCdhY2NlbnQgdG9uaXF1ZSBlc3BhZ25v bCl+fgoKISEhIU1vdHMgbG9qYmFuIGNvbW1lIG5vbXMKCgoKw4AgcHLDqXNlbnQsIHZvdXMgZGV2 cmlleiDDqnRyZSBjYXBhYmxlIGRlIGxvamJhbmlzZXIgdm90cmUgcHJvcHJlIG5vbS4gVG91dGVm b2lzLCBzaSB2b3VzIGxlIHByw6lmw6lyZXosIHZvdXMgcG91dmV6IHRyYWR1aXJlIHZvdHJlIG5v bSBlbiBsb2piYW4gKHNpIHZvdXMgc2F2ZXogY2UgcXUnaWwgc2lnbmlmaWUsIGJpZW4gc8O7ciks IG91IGFkb3B0ZXIgdW5lIHRvdXRlIG5vdXZlbGxlIGlkZW50aXTDqSBsb2piYW5lLiBMZXMgaW5k aWVucyBkJ2Ftw6lyaXF1ZSBvbnQgdGVuZGFuY2Ugw6AgdHJhZHVpcmUgbGV1ciBub20gZW4gYW5n bGFpcywgcGFydGllbGxlbWVudCBwYXJjZSBxdWUgbGV1ciBub20gc2lnbmlmaWUgcXVlbHF1ZSBj aG9zZSwgZXQgcGFydGllbGxlbWVudCBwYXJjZSBxdSdpbCBuZSBzJ2F0dGVuZGVudCBwYXMgw6Ag Y2UgcXVlIGxlIMKrwqB3YXNpY2h1wqDCuyBzb2l0IGNhcGFibGUgZGUgcHJvbm9uY2VyIGRlcyBt b3RzIGVuIExha290YSwgQ2hlcm9rZWUgb3UgYXV0cmXCoCEKCgoKTGVzIG1vdHMgbG9qYmFuICht aXMgw6AgcGFydCBsZXMgY21ldmxhKSBzZSB0ZXJtaW5lbnQgcGFyIHVuZSB2b3llbGxlLiBWb3Vz IHBvdXZleiB1dGlsaXNlciBkZXMgbW90cyBsb2piYW4gY29tbWUgbm9tLCBtYWlzIHNpIHZvdXMg cHLDqWbDqXJleiBxdWUgdm90cmUgbm9tIHNvaXQgdW4gY21ldmxhIGV0IHF1J2lsIHNlIHRlcm1p bmUgcGFyIHVuZSB2b3llbGxlLCB2b3VzIHBvdXZleiBzb2l0IGFqb3V0ZXIgdW5lIGNvbnNvbm5l IMOgIGxhIGZpbiBkZSBjZWx1aS1jaSwgc29pdCB0cm9ucXVlciBsYSBkZXJuacOocmUgdm95ZWxs ZS4KCgoKVm9pY2kgcXVlbHF1ZXMgZXhlbXBsZXMgKG5vbSBvcmlnaW5hbCwgc2lnbmlmaWNhdGlv biwgbm9tIGV0IG5vbSBjb21tZSBjbWV2bGEpwqA6CgoqRmlzaCAoQW5nbGFpcyA9IHBvaXNzb24p IOKAkyBmaW5wZSDigJMgJycuZmlucC4nJwoKKkJqw7ZybiAoU2NhbmRpbmF2ZSA9IG91cnMpIOKA kyBjcmliZSDigJMgJycuY3JpYi4nJwoKKlZlcmRpIChJdGFsaWVuID0gdmVydCkg4oCTIGNyaW5v IOKAkyAnJy5jcmluLicnCgoqTWVpIExpIChDaGlub2lzID0gYmVhdSkg4oCTIG1lbGJpIOKAkyAn Jy5tZWxiLicnCgoqQXloYW4gKFR1cmMgPSBTZWlnbmV1ciBMdW5lKSDigJMgbHVucmEgbm9ibGkg KD0gbHVybm9ibGkpIOKAkyAnJy5sdXJub2JsaXMuJycKCiEhTG9qYmFuIExlc3NvbnMg4oCTIGxl c3NvbiBvbmUgKGJyaWRpLCBqdWZyYSwgc3VtdGkgYW5kIHNlbGJyaSkKCkEgJydicmlkaScnIGlz IHRoZSBtb3N0IGNlbnRyYWwgdW5pdCBvZiBMb2piYW4gdXR0ZXJhbmNlcy4gVGhlIGNvbmNlcHQg aXMgdmVyeSBjbG9zZSB0byB3aGF0IHdlIGNhbGwgYSBwcm9wb3NpdGlvbiBpbiBFbmdsaXNoLiBB IGJyaWRpIGlzIGEgY2xhaW0gdGhhdCBzb21lIG9iamVjdHMgc3RhbmQgaW4gYSByZWxhdGlvbiB0 byBlYWNoIG90aGVyLCBvciB0aGF0IGFuIG9iamVjdCBoYXMgc29tZSBwcm9wZXJ0eS4gVGhpcyBz dGFuZHMgaW4gY29udHJhc3QgdG8gJydqdWZyYScnLCB3aGljaCBhcmUgbWVyZWx5IExvamJhbiB1 dHRlcmFuY2VzLCB3aGljaCBjYW4gYmUgYnJpZGkgb3IgYW55dGhpbmcgZWxzZSBiZWluZyBzYWlk LiBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGEgYnJpZGkgYW5kIGEganVmcmEgaXMgdGhhdCBhIGp1 ZnJhIGRvZXMgbm90IG5lY2Vzc2FyaWx5IHN0YXRlIGFueXRoaW5nLCB3aGlsZSBhIGJyaWRpIGRv ZXMuIFRodXMsIGEgYnJpZGkgbWlnaHQgYmUgdHJ1ZSBvciBmYWxzZSwgd2hpbGUgbm90IGFsbCBq dWZyYSBjYW4gYmUgc2FpZCB0byBiZSBzdWNoLgoKVG8gaGF2ZSBzb21lIGV4YW1wbGVzIChpbiBF bmdsaXNoLCB0byBiZWdpbiB3aXRoKSwg4oCcTW96YXJ0IHdhcyB0aGUgZ3JlYXRlc3QgbXVzaWNp YW4gb2YgYWxsIHRpbWXigJ0gaXMgYSBicmlkaSwgYmVjYXVzZSBpdCBtYWtlcyBhIGNsYWltIHdp dGggYSB0cnV0aCB2YWx1ZSwgYW5kIGl0IGludm9sdmVzIGFuIG9iamVjdCwgTW96YXJ0LCBhbmQg YSBwcm9wZXJ0eSwgYmVpbmcgdGhlIGdyZWF0ZXN0IG11c2ljaWFuIG9mIGFsbCB0aW1lLiBPbiB0 aGUgY29udHJhcnksIOKAnE93ISBNeSB0b2Uh4oCdIGlzIG5vdCBhIGJyaWRpLCBzaW5jZSBpdCBk b2VzIG5vdCBpbnZvbHZlIGEgcmVsYXRpb24sIGFuZCB0aHVzIGRvZXMgbm90IHN0YXRlIGFueXRo aW5nLiBCb3RoLCB0aG91Z2gsIGFyZSBqdWZyYS4KClRyeSB0byBpZGVudGlmeSB0aGUgYnJpZGkg YW1vbmcgdGhlc2UgRW5nbGlzaCBqdWZyYToKCgoKIyDigJxJIGhhdGUgaXQgd2hlbiB5b3UgZG8g dGhhdC7igJ0KCiMg4oCcUnVucy7igJ0KCiMg4oCcV29haCwgdGhhdCBsb29rcyBkZWxpY2lvdXMh 4oCdCgojIOKAnEdlZXosIG5vdCBhZ2Fpbi7igJ0KCiMg4oCcTm8sIEkgb3duIHRocmVlIGNhcnPi gJ0KCiMg4oCcTmluZXRlZW4gbWludXRlcyBwYXN0IGVpZ2h0LuKAnQoKIyDigJxUaGlzIFNhdHVy ZGF5LCB5ZXMu4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6MSwgMyBhbmQgNSBhcmUgYnJpZGku IDIgY29udGFpbnMgbm8gb2JqZWN0cyBhbmQgdGhlIHJlc3QgY29udGFpbiBubyByZWxhdGlvbiBv ciBjbGFpbSBvZiBhIHByb3BlcnR5Ln5+CgoKClB1dCBpbiBMb2piYW4gdGVybXMsIGEgYnJpZGkg Y29uc2lzdHMgb2Ygb25lICcnc2VsYnJpJycsIGFuZCBvbmUgb3IgbW9yZSAnJ3N1bXRpJycuIFRo ZSBzZWxicmkgaXMgdGhlIHJlbGF0aW9uIG9yIGNsYWltIGFib3V0IHRoZSBvYmplY3QsIGFuZCB0 aGUgc3VtdGkgYXJlIHRoZSBvYmplY3RzIHdoaWNoIGFyZSBpbiBhIHJlbGF0aW9uLiBOb3RlIHRo YXQg4oCcb2JqZWN04oCdIGlzIG5vdCBhIHBlcmZlY3QgdHJhbnNsYXRpb24gb2Yg4oCcc3VtdGni gJ0sIHNpbmNlIOKAnHN1bXRp4oCdIGNhbiByZWZlciB0byBub3QganVzdCBwaHlzaWNhbCBvYmpl Y3RzLCBidXQgY2FuIGFsc28gcHVyZWx5IGFic3RyYWN0IHRoaW5ncyBsaWtlIOKAnFRoZSBpZGVh IG9mIHdhcmZhcmXigJ0uIEEgYmV0dGVyIHRyYW5zbGF0aW9uIHdvdWxkIGJlIHNvbWV0aGluZyBs aWtlIOKAnHN1YmplY3QsIGRpcmVjdCBvciBpbmRpcmVjdCBvYmplY3TigJ0gZm9yIHN1bXRpLCBh bmQg4oCcdmVyYuKAnSBmb3Igc2VsYnJpLCB0aG91Z2gsIGFzIHdlIHdpbGwgc2VlLCB0aGlzIGlz IG5vdCBvcHRpbWFsIGVpdGhlci4KCldlIGNhbiBub3cgd3JpdGUgdGhlIGZpcnN0IGltcG9ydGFu dCBsZXNzb24gZG93bjoKCmJyaWRpID0gc2VsYnJpICsgb25lIG9yIG1vcmUgc3VtdGkKClB1dCBh bm90aGVyIHdheSwgYSBicmlkaSBzdGF0ZXMgdGhhdCBzb21lIHN1bXRpIGRvL2FyZSBzb21ldGhp bmcgZXhwbGFpbmVkIGJ5IGEgc2VsYnJpLgoKCgpJZGVudGlmeSB0aGUgc3VtdGkgYW5kIHNlbGJy aSBlcXVpdmFsZW50cyBpbiB0aGVzZSBFbmdsaXNoIGp1ZnJhOgoK4oCcSSB3aWxsIHBpY2sgdXAg bXkgZGF1Z2h0ZXJzIHdpdGggbXkgY2Fy4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6c2VsYnJp OiDigJxwaWNrIHVwICh3aXRoKeKAnS4gc3VtdGk6IOKAnEnigJ0sIOKAnG15IGRhdWdodGVyc+KA nSwg4oCcbXkgY2Fy4oCdfn4KCgoK4oCcSGUgYm91Z2h0IDUgbmV3IHNoaXJ0cyBmcm9tIE1hcmsg Zm9yIGp1c3QgdHdvIGh1bmRyZWQgZXVybyHigJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTpzZWxi cmk6IOKAnGJvdWdodCAoZnJvbSkgKGZvcinigJ0gc3VtdGk6IOKAnEhl4oCdLCDigJw1IG5ldyBz aGlydHPigJ0sIOKAnE1hcmvigJ0gYW5kIOKAnHR3byBodW5kcmVkIGV1cm9z4oCdfn4KCgoKU2lu Y2UgdGhlc2UgY29uY2VwdHMgYXJlIHNvIGZ1bmRhbWVudGFsIHRvIExvamJhbiwgbGV0J3MgaGF2 ZSBhIHRoaXJkIGV4YW1wbGU6IOKAnFNvIGZhciwgdGhlIEVQQSBoYXMgZG9uZSBub3RoaW5nIGFi b3V0IHRoZSBhbW91bnQgb2Ygc3VscGh1ciBkaW94aWRlLuKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxn cmV5OnNlbGJyaTog4oCcaGFzIGRvbmUgKGFib3V0KeKAnSBzdW10aTog4oCcVGhlIEVQQeKAnSwg 4oCcbm90aGluZ+KAnSBhbmQg4oCcdGhlIGFtb3VudCBvZiBzdWxwaHVyIGRpb3hpZGXigJ1+fgoK CgpOb3cgdHJ5IGJlZ2luIG1ha2luZyBMb2piYW4gYnJpZGkuIEZvciB0aGlzIHlvdSB3aWxsIG5l ZWQgdG8gdXNlIHNvbWUgd29yZHMsIHdoaWNoIGNhbiBhY3QgYXMgc2VsYnJpOgoKJydfX2R1bmRh X18nJyB4MSBnaXZlcyB4MiB0byB4MyAod2l0aG91dCBwYXltZW50KQoKJydfX3BlbHh1X18nJyB4 MSBpcyB5ZWxsb3cKCicnX196ZGFuaV9fJycgeDEgaXMgYSBob21lIG9mIHgyCgoKCk5vdGljZSB0 aGF0IHRoZXNlIHdvcmRzIG1lYW5pbmcg4oCcZ2l2ZeKAnSwg4oCceWVsbG934oCdIGFuZCDigJxo b21l4oCdIHdvdWxkIGJlIGNvbnNpZGVyZWQgYSB2ZXJiLCBhbiBhZGplY3RpdmUgYW5kIGEgbm91 biBpbiBFbmdsaXNoLiBJbiBMb2piYW4sIHRoZXJlIGFyZSBubyBzdWNoIGNhdGVnb3JpZXMgYW5k IG5vIHN1Y2ggZGlzdGluY3Rpb24uICcnZHVuZGEnJyBjYW4gYmUgdHJhbnNsYXRlZCDigJxnaXZl c+KAnSAodmVyYiksIOKAnGlzIGEgZ2l2ZXLigJ0gKG5vdW4pLCDigJxpcyBnaXZpbmfigJ0gKGFk amVjdGl2ZSkgYXMgd2VsbCBhcyB0byBhbiBhZHZlcmIgZm9ybS4gVGhleSBhbGwgYWN0IGFzIHNl bGJyaSwgYW5kIGFyZSB1c2VkIGluIHRoZSBzYW1lIHdheS4KCgoKQXMgd2VsbCBhcyBhIGZldyB3 b3Jkcywgd2hpY2ggY2FuIGFjdCBhcyBzdW10aToKCicnX19taV9fJycg4oCcSeKAnSBvciDigJx3 ZeKAnSDigJMgdGhlIG9uZSBvciB0aG9zZSB3aG8gYXJlIHNwZWFraW5nLgoKJydfX3RpX18nJyDi gJx0aGlz4oCdIOKAkyBhIGNsb3NlIHRoaW5nIG9yIGV2ZW50IG5lYXJieSB3aGljaCBjYW4gYmUg cG9pbnRlZCB0byBieSB0aGUgc3BlYWtlci4KCicnX19kb19fJycg4oCceW914oCdIOKAkyB0aGUg b25lIG9yIHRob3NlIHdobyBhcmUgYmVpbmcgc3Bva2VuIHRvLgoKCgpTZWUgdGhlIHN0cmFuZ2Ug dHJhbnNsYXRpb25zIG9mIHRoZSBzZWxicmkgYWJvdmUgLSBlc3BlY2lhbGx5IHRoZSB4MSwgeDIg YW5kIHgzPyBUaG9zZSBhcmUgY2FsbGVkIHN1bXRpIHBsYWNlcy4gVGhleSBhcmUgcGxhY2VzIHdo ZXJlIHN1bXRpIGNhbiBnbyB0byBmaWxsIGEgYnJpZGkuIEZpbGxpbmcgYSBzdW10aSBpbiBhIHBs YWNlIHN0YXRlcyB0aGF0IHRoZSBzdW10aSBmaXRzIGluIHRoYXQgcGxhY2UuIFRoZSBzZWNvbmQg cGxhY2Ugb2YgJydkdW5kYScnLCBmb3IgZXhhbXBsZSwgeDIsIGlzIHRoZSB0aGluZyBiZWluZyBn aXZlbi4gVGhlIHRoaXJkIGlzIHRoZSBvYmplY3Qgd2hpY2ggcmVjZWl2ZXMgdGhlIHRoaW5nLiBO b3RpY2UgYWxzbyB0aGF0IHRoZSB0cmFuc2xhdGlvbiBvZiAnJ2R1bmRhJycgaGFzIHRoZSB3b3Jk IOKAnHRv4oCdIGluIGl0LiBUaGlzIGlzIGJlY2F1c2UsIHdoaWxlIHRoaXMgd29yZCBpcyBuZWVk ZWQgaW4gRW5nbGlzaCB0byBzaWduaWZ5IHRoZSByZWNlaXZlciwgdGhlIHJlY2VpdmVyIGlzIGlu IHRoZSB0aGlyZCBzdW10aSBwbGFjZSBvZiAnJ2R1bmRhJycuIFNvIHdoZW4geW91IGZpbGwgdGhl IHRoaXJkIHN1bXRpIHBsYWNlIG9mICcnZHVuZGEnJywgdGhlIHN1bXRpIHlvdSBmaWxsIGluIGlz IGFsd2F5cyB0aGUgcmVjZWl2ZXIsIGFuZCB5b3UgZG9uJ3QgbmVlZCBhbiBlcXVpdmFsZW50IHRv IHRoZSB3b3JkIOKAnHRv4oCdIQoKCgpUbyBzYXkgYSBicmlkaSwgeW91IHNpbXBseSBzYXkgdGhl IHgxIHN1bXRpIGZpcnN0LCB0aGVuIHRoZSBzZWxicmksIHRoZW4gYW55IG90aGVyIHN1bXRpLgoK VXN1YWwgYnJpZGk6IHt4MSBzdW10aX0gX197c2VsYnJpfV9fIHt4MiBzdW10aX0ge3gzIHN1bXRp fSB7eDQgc3VtdGl9IHt4NSBzdW10aX0ge2FuZCBzbyBvbn0KClRoZSBvcmRlciBjYW4gYmUgcGxh eWVkIGFyb3VuZCB3aXRoLCBidXQgZm9yIG5vdywgd2Ugc3RpY2sgd2l0aCB0aGUgdXN1YWwgZm9y bS4gVG8gc2F5IOKAnEkgZ2l2ZSB0aGlzIHRvIHlvdeKAnSB5b3UganVzdCBzYXkgJydtaSBkdW5k YSB0aSBkbycnLCB3aXRoIHRoZSB0aHJlZSBzdW10aSBhdCB0aGUgcmlnaHQgcGxhY2VzLgoKCgpT bywgaG93IHdvdWxkIHlvdSBzYXkg4oCcVGhpcyBpcyBhIGhvbWUgb2YgbWXigJ0/CgoKCkFuc3dl cjogfn5ncmV5LGdyZXk6Jyd0aSB6ZGFuaSBtaScnfn4KCgoKVHJ5IGEgZmV3IG1vcmUgaW4gb3Jk ZXIgdG8gZ2V0IHRoZSBpZGVhIG9mIGEgcGxhY2Ugc3RydWN0dXJlIHNpbmsgaW4uCgoKCuKAnFlv dSBnaXZlIHRoaXMgdG8gbWXigJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydkbyBkdW5kYSB0 aSBtaScnfn4KCgoKQW5kIHRyYW5zbGF0ZSAnJ3RpIHBlbHh1JycKCgoKQW5zd2VyOiB+fmdyZXks Z3JleTrigJxUaGlzIGlzIHllbGxvdy7igJ1+fgoKCgpRdWl0ZSBlYXN5IG9uY2UgeW91IGdldCB0 aGUgaGFuZyBvZiBpdCwgcmlnaHQ/CgoKCk11bHRpcGxlIGJyaWRpIGFmdGVyIGVhY2ggb3RoZXIg YXJlIHNlcGFyYXRlZCBieSAnJy5pJycgVGhpcyBpcyB0aGUgTG9qYmFuIGVxdWl2YWxlbnQgb2Yg ZnVsbCBzdG9wLCBidXQgaXQgdXN1YWxseSBnb2VzIGJlZm9yZSBicmlkaSBpbnN0ZWFkIG9mIGFm dGVyIHRoZW0uIEl0J3Mgb2Z0ZW4gbGVmdCBvdXQgYmVmb3JlIHRoZSBmaXJzdCBicmlkaSwgdGhv dWdoLCBhcyBpbiBhbGwgdGhlc2UgZXhhbXBsZXM6CgonJ19fLmlfXycnIFNlbnRlbmNlIHNlcGFy YXRvci4gU2VwYXJhdGVzIGFueSB0d28ganVmcmEgKGFuZCB0aGVyZWZvcmUgYWxzbyBicmlkaSku CgoKCicndGkgemRhbmkgbWkgIC5pIHRpIHBlbHh1Jycg4oCdVGhpcyBpcyBhIGhvbWUgdG8gbWUu IFRoaXMgaXMgeWVsbG93LuKAnQoKCgpCZWZvcmUgeW91IG1vdmUgb24gdG8gdGhlIG5leHQgbGVz c29uLCBJIHJlY29tbWVuZCB0aGF0IHlvdSB0YWtlIGEgYnJlYWsgZm9yIGF0IGxlYXN0IHNldmVu IG1pbnV0ZXMgdG8gbGV0IHRoZSBpbmZvcm1hdGlvbiBzaW5rIGluLgoKCgoKCiEhTG9qYmFuIExl c3NvbnMg4oCTIGxlc3NvbiB0d28gKEZBIGFuZCB6bydlKQoKTW9zdCBzZWxicmkgaGF2ZSBmcm9t IG9uZSB0byBmaXZlIHN1bXRpIHBsYWNlcywgYnV0IHNvbWUgaGF2ZSBtb3JlLiBIZXJlIGlzIGEg c2VsYnJpIHdpdGggZm91ciBzdW10aSBwbGFjZXM6CgonJ19fdmVjbnVfXycnIHgxIHNlbGxzIHgy IHRvIHgzIGZvciBwcmljZSB4NAoKCgpJZiBJIHdhbnQgdG8gc2F5IOKAnEkgc2VsbCB0aGlz4oCd LCBpdCB3b3VsZCBiZSB0b28gbXVjaCB0byBoYXZlIHRvIGZpbGwgdGhlIHN1bXRpIHBsYWNlcyB4 MyBhbmQgeDQsIHdoaWNoIHNwZWNpZnkgd2hvIEkgc2VsbCB0aGUgdGhpbmcgdG8sIGFuZCBmb3Ig d2hhdCBwcmljZS4gTHVja2lseSwgSSBkb24ndCBuZWVkIHRvLiBzdW10aSBwbGFjZXMgY2FuIGJl IGZpbGxlZCB3aXRoICcnem8nZScnLiAnJ3pvJ2UnJyBpbmRpY2F0ZXMgdG8gdXMgdGhhdCB0aGUg dmFsdWUgb2YgdGhlIHN1bXRpIHBsYWNlIGlzIHVuc3BlY2lmaWVkIGJlY2F1c2UgaXQncyB1bmlt cG9ydGFudCBvciBjYW4gYmUgZGV0ZXJtaW5lZCBmcm9tIGNvbnRleHQuCgonJ19fem8nZV9fJycg 4oCcc29tZXRoaW5n4oCdIEZpbGxzIGEgc3VtdGkgcGxhY2Ugd2l0aCBzb21ldGhpbmcsIGJ1dCBk b2VzIG5vdCBzdGF0ZSB3aGF0LgoKCgpTbyB0byBzYXkg4oCcSSBzZWxsIHRvIHlvdeKAnSwgSSBj b3VsZCBzYXkgJydtaSB2ZWNudSB6bydlIGRvIHpvJ2UnJyDigJMgSSBzZWxsIHNvbWV0aGluZyB0 byB5b3UgZm9yIHNvbWUgcHJpY2UuCgpIb3cgd291bGQgeW91IHNheTog4oCcVGhhdCdzIGEgaG9t ZSAoZm9yIHNvbWVib2R5KeKAnT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTogJyd0aSB6ZGFuaSB6 bydlJyd+fgoKCgpIb3cgYWJvdXQg4oCcKHNvbWVvbmUpIGdpdmVzIHRoaXMgdG8gKHNvbWVvbmUp 4oCdPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5Oicnem8nZSBkdW5kYSB0aSB6bydlJyd+fgoKCgpT dGlsbCwgZmlsbGluZyBvdXQgdGhyZWUgem8nZSBqdXN0IHRvIHNheSB0aGF0IGEgdGhpbmcgaXMg YmVpbmcgc29sZCB0YWtlcyB0aW1lLiBUaGVyZWZvcmUgeW91IGRvbid0IG5lZWQgdG8gd3JpdGUg YWxsIHRoZSAnJ3pvJ2UnJyBpbiBhIGJyaWRpLiBUaGUgcnVsZSBzaW1wbHkgaXMgdGhhdCBpZiB5 b3UgbGVhdmUgb3V0IGFueSBzdW10aSwgdGhleSB3aWxsIGJlIGNvbnNpZGVyZWQgYXMgaWYgdGhl eSBjb250YWluZWQgJyd6bydlJycuIElmIHRoZSBicmlkaSBiZWdpbnMgd2l0aCBhIHNlbGJyaSwg dGhlIHgxIGlzIHByZXN1bWVkIHRvIGJlIG9taXR0ZWQgYW5kIGl0IGJlY29tZXMgJyd6bydlJycu CgpUcnkgaXQgb3V0LiBXaGF0J3MgTG9qYmFuIGZvciDigJxJIHNlbGzigJ0/CgoKCkFuc3dlcjog fn5ncmV5LGdyZXk6JydtaSB2ZWNudScnfn4KCgoKQW5kIHdoYXQgZG9lcyAnJ3pkYW5pIG1pJycg bWVhbj8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxTb21ldGhpbmcgaXMgYSBob21lIG9mIG1l 4oCdIG9yIGp1c3Qg4oCcSSBoYXZlIGEgaG9tZS7igJ1+fgoKCgpBcyBtZW50aW9uZWQgZWFybGll ciwgdGhlIGZvcm0gZG9lc24ndCBoYXZlIHRvIGJlIHt4MSBzdW10aX0ge3NlbGJyaX0ge3gyIHN1 bXRpfSB7eDMgc3VtdGl9IChlY3QuKSBJbiBmYWN0LCB5b3UgY2FuIHBsYWNlIHRoZSBzZWxicmkg YW55d2hlcmUgeW91IHdhbnQsIGp1c3Qgbm90IGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJyaWRp LiBJZiB5b3UgZG8gdGhhdCwgdGhlIHgxIGlzIGNvbnNpZGVyZWQgbGVmdCBvdXQgYW5kIGZpbGxl ZCB3aXRoICcnem8nZScnIGluc3RlYWQuIFNvIHRoZSBmb2xsb3dpbmcgdGhyZWUganVmcmEgYXJl IGFsbCB0aGUgZXhhY3RseSBzYW1lIGJyaWRpOgoKJydtaSBkdW5kYSB0aSBkbycnCgonJ21pIHRp IGR1bmRhIGRvJycKCicnbWkgdGkgZG8gZHVuZGEnJwoKCgpTb21ldGltZXMgdGhpcyBpcyB1c2Vk IGZvciBwb2V0aWMgZWZmZWN0LiDigJxZb3Ugc2VsbCB5b3Vyc2VsZuKAnSBjb3VsZCBiZSAnJ2Rv IGRvIHZlY251JycsIHdoaWNoIHNvdW5kcyBiZXR0ZXIgdGhhbiAnJ2RvIHZlY251IGRvJycuIE9y IGl0IGNhbiBiZSB1c2VkIGZvciBjbGFyaXR5IGlmIHRoZSBzZWxicmkgaXMgdmVyeSBsb25nIGFu ZCB0aGVyZWZvcmUgYmV0dGVyIGJlIGxlZnQgYXQgdGhlIGVuZCBvZiB0aGUgYnJpZGkuCgoKClRo ZXJlIGFyZSBhbHNvIHNldmVyYWwgd2F5cyB0byBwbGF5IGFyb3VuZCB3aXRoIHRoZSBvcmRlciBv ZiB0aGUgc3VtdGkgaW5zaWRlIHRoZSBicmlkaS4gVGhlIGVhc2llc3Qgb25lIGlzIGJ5IHVzaW5n IHRoZSB3b3JkcyAnJ2ZhJycsICcnZmUnJywgJydmaScnLCAnJ2ZvJycgYW5kICcnZnUnJy4gTm90 aWNlIHRoYXQgdGhlIHZvd2VscyBhcmUgdGhlIGZpdmUgdm93ZWxzIGluIHRoZSBMb2piYW4gYWxw aGFiZXQgaW4gb3JkZXIuIFVzaW5nIG9uZSBvZiB0aGVzZSB3b3JkcyBtYXJrcyB0aGF0IHRoZSBu ZXh0IHN1bXRpIHdpbGwgZmlsbCB0aGUgeDEsIHgyLCB4MywgeDQgYW5kIHg1IHJlc3BlY3RpdmVs eS4gVGhlIG5leHQgc3VtdGkgYWZ0ZXIgdGhhdCB3aWxsIGJlIHByZXN1bWVkIHRvIGZpbGwgYSBz bG90IG9uZSBncmVhdGVyIHRoYW4gdGhlIHByZXZpb3VzLiBUbyB1c2UgYW4gZXhhbXBsZToKCicn ZHVuZGEgZmEgZG8gZmUgdGkgZG8nJyDigJMg4oCcR2l2aW5nIGJ5IHlvdSBvZiB0aGlzIHRoaW5n IHRvIHlvdeKAnS4gJydmYScnIG1hcmtzIHRoZSB4MSwgdGhlIGdpdmVyLCB3aGljaCBpcyB5b3Uu ICcnZmUnJyBtYXJrcyB0aGUgdGhpbmcgYmVpbmcgZ2l2ZW4sIHRoZSB4Mi4gU3VtdGkgY291bnRp bmcgdGhlbiBjb250aW51ZXMgZnJvbSAnJ2ZlJycsIG1lYW5pbmcgdGhhdCB0aGUgbGFzdCBzdW10 aSBmaWxscyB4MywgdGhlIG9iamVjdCByZWNlaXZpbmcuCgoKCkF0dGVtcHQgdG8gdHJhbnNsYXRl IHRoZSBmb2xsb3dpbmcgdGhyZWUgc2VudGVuY2VzOgoKCgonJ21pIHZlY251IGZvIHRpIGZlIGRv JycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJ1JIHNlbGwsIGZvciB0aGUgcHJpY2Ugb2YgdGhp cywgeW914oCdLiBvciDigJxJIHNlbGwgeW91IGZvciB0aGUgcHJpY2Ugb2YgdGhpc+KAnSAocHJv YmFibHkgcG9pbnRpbmcgdG8gYSBidW5jaCBvZiBtb25leSl+fgoKCgonJ3pkYW5pIGZlIHRpJycK CgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxUaGlzIGhhcyBhIGhvbWXigJ0uIEhlcmUsIHRoZSBm ZSBpcyByZWR1bmRhbnQufn4KCgoKJyd2ZWNudSB6bydlIG1pIHRpIGZhIGRvJycKCgoKQW5zd2Vy OiB+fmdyZXksZ3JleTrigJxZb3Ugc2VsbCBzb21ldGhpbmcgdG8gbWUgZm9yIHRoaXMgcHJpY2Xi gJ1+fgoKCgoKCiEhTG9qYmFuIExlc3NvbnMg4oCTIGxlc3NvbiB0aHJlZSAodGFucnUgYW5kIGxv KQoKSW4gdGhpcyBsZXNzb24sIHlvdSB3aWxsIGJlY29tZSBmYW1pbGlhciB3aXRoIHRoZSBjb25j ZXB0IG9mIGEgJyd0YW5ydScnLiBBIHRhbnJ1IGlzIGZvcm1lZCB3aGVuIGEgc2VsYnJpIGlzIHB1 dCBpbiBmcm9udCBvZiBhbm90aGVyIHNlbGJyaSwgbW9kaWZ5aW5nIGl0cyBtZWFuaW5nLiBBIHRh bnJ1IGlzIGl0c2VsZiBhIHNlbGJyaSwgYW5kIGNhbiBjb21iaW5lIHdpdGggb3RoZXIgc2VsYnJp IG9yIHRhbnJ1IHRvIGZvcm0gbW9yZSBjb21wbGV4IHRhbnJ1LiBUaHVzICcnemRhbmkgdmVjbnUn JyBpcyBhIHRhbnJ1LCBhcyB3ZWxsIGFzICAnJ3BlbHh1IHpkYW5pIHZlY251JycsIHdoaWNoIGlz IG1hZGUgZnJvbSB0aGUgdGFucnUgJydwZWx4dSB6ZGFuaScnIGFuZCB0aGUgc2luZ2xlIGJyaXZs YSB3b3JkICcndmVjbnUnJy4gVG8gdW5kZXJzdGFuZCB0aGUgY29uY2VwdCBvZiB0YW5ydSwgY29u c2lkZXIgdGhlIEVuZ2xpc2ggbm91biBjb21iaW5hdGlvbiDigJxsZW1vbiB0cmVl4oCdLiBJZiB5 b3UgZGlkbid0IGtub3cgd2hhdCBhIGxlbW9uIHRyZWUgd2FzLCBidXQgaGFkIGhlYXJkIGFib3V0 IGJvdGggbGVtb25zIGFuZCB0cmVlcywgeW91IHdvdWxkIG5vdCBiZSBhYmxlIHRvIGRlZHVjZSB3 aGF0IGEgbGVtb24gdHJlZSB3YXMuIFBlcmhhcHMgYSBsZW1vbi1jb2xvcmVkIHRyZWUsIG9yIGEg dHJlZSBzaGFwZWQgbGlrZSBhIGxlbW9uLCBvciBhIHRyZWUgd2hvc2UgYmFyayB0YXN0ZXMgbGlr ZSBsZW1vbi4gVGhlIG9ubHkgdGhpbmdzIHlvdSBjb3VsZCBrbm93IGZvciBzdXJlIHdvdWxkIGJl IHRoYXQgaXQgd291bGQgYmUgYSB0cmVlLCBhbmQgaXQgd291bGQgYmUgbGVtb24tbGlrZSBpbiBz b21lIHdheS4KCkEgdGFucnUgaXMgY2xvc2VseSBhbmFsb2dvdXMgdG8gdGhpcy4gSXQgY2Fubm90 IGJlIHNhaWQgZXhhY3RseSB3aGF0IGEgJyd6ZGFuaSB2ZWNudScnIGlzLCBidXQgaXQgY2FuIGJl IHNhaWQgdGhhdCBpdCBpcyBkZWZpbml0ZWx5IGEgdmVjbnUsIGFuZCB0aGF0IGl0J3MgemRhbmkt bGlrZSBpbiBzb21lIHdheS4gQW5kIGl0IGNvdWxkIGJlIHpkYW5pLWxpa2UgaW4gYW55IHdheS4g SW4gdGhlb3J5LCBubyBtYXR0ZXIgaG93IHNpbGx5IG9yIGFic3VyZCB0aGUgY29ubmVjdGlvbiB0 byB6ZGFuaSB3YXMsIGl0IGNvdWxkIHN0aWxsIHRydWx5IGJlIGEgJyd6ZGFuaSB2ZWNudScnLiBI b3dldmVyLCBpdCBtdXN0IGFjdHVhbGx5IGJlIGEgdmVjbnUgaW4gdGhlIG9yZGluYXJ5IHNlbnNl IGluIG9yZGVyIGZvciB0aGUgdGFucnUgdG8gYXBwbHkuIFlvdSBjb3VsZCBnbG9zcyAnJ3pkYW5p IHZlY251JycgYXMg4oCcaG9tZSBzZWxsZXLigJ0sIG9yIGV2ZW4gYmV0dGVyIGJ1dCB3b3JzZSBz b3VuZGluZyDigJxhIGhvbWUtdHlwZS1vZiBzZWxsZXLigJ0uIFRoZSBwbGFjZSBzdHJ1Y3R1cmUg b2YgYSB0YW5ydSBpcyBhbHdheXMgdGhhdCBvZiB0aGUgcmlnaHRtb3N0IHNlbGJyaS4gSXQncyBh bHNvIHNhaWQgdGhhdCB0aGUgbGVmdCBzZWxicmkgbW9kaWZpZXMgdGhlIHJpZ2h0IHNlbGJyaS4K CuKAnFJlYWxseT/igJ0sIHlvdSBhc2ssIHNjZXB0aWNhbGx5LCDigJxJdCBkb2Vzbid0IG1hdHRl ciBob3cgc2lsbHkgdGhlIGNvbm5lY3Rpb24gdG8gdGhlIGxlZnQgd29yZCBpbiBhIHRhbnJ1IGlz LCBpdCdzIHN0aWxsIHRydWU/IFNvIEkgY291bGQgY2FsbCBhbGwgc2VsbGVycyBmb3IgJyd6ZGFu aSB2ZWNudScnIGFuZCB0aGVuIG1ha2UgdXAgc29tZSBzaWxseSBleGN1c2Ugd2h5IEkgdGhpbmsg aXQncyB6ZGFuaS1saWtlP+KAnQoKV2VsbCB5ZXMsIGJ1dCB0aGVuIHlvdSdkIGJlIGEgZGljay4g T3IgYXQgbGVhc3QgeW91J2QgYmUgaW50ZW50aW9uYWxseSBtaXNsZWFkaW5nLiBJbiBnZW5lcmFs LCB5b3Ugc2hvdWxkIHVzZSBhIHRhbnJ1IHdoZW4gaXQncyBvYnZpb3VzIGhvdyB0aGUgbGVmdCB3 b3JkIHJlbGF0ZXMgdG8gdGhlIHJpZ2h0LgoKCgpBdHRlbXB0IHRvIHRyYW5zbGF0ZSB0aGUgZm9s bG93aW5nOiAnJ3RpIHBlbHh1IHpkYW5pIGRvJycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxU aGF0IGlzIGEgeWVsbG93IGhvbWUgZm9yIHlvdeKAnSBBZ2Fpbiwgd2UgZG9uJ3Qga25vdyBpbiB3 aGljaCB3YXkgaXQncyB5ZWxsb3cuIFByb2JhYmx5IGl0J3MgcGFpbnRlZCB5ZWxsb3csIGJ1dCB3 ZSBkb24ndCBrbm93IGZvciBzdXJlLn5+CgoKCicnbWkgdmVjbnUgZHVuZGEnJwoKCgpBbnN3ZXI6 IH5+Z3JleSxncmV5OuKAnEkgc2VsbC1saWtlIGdpdmXigJ0uIFdoYXQgY2FuIHRoYXQgbWVhbj8g Tm8gaWRlYS4gSXQgY2VydGFpbmx5IGRvZXNuJ3QgbWVhbiB0aGF0IHlvdSBzb2xkIHNvbWV0aGlu Zywgc2luY2UsIGJ5IGRlZmluaXRpb24gb2YgJydkdW5kYScnLCB0aGVyZSBjYW4gYmUgbm8gcGF5 bWVudCBpbnZvbHZlZC4gSXQgaGFzIHRvIGJlIGEgZ2l2ZWF3YXksIGJ1dCBiZSBzZWxsLWxpa2Ug aW4gc29tZSBhc3BlY3Qufn4KCgoKQW5kIG5vdyBmb3Igc29tZXRoaW5nIGNvbXBsZXRlbHkgZGlm ZmVyZW50LiBXaGF0IGlmIEkgd2FudGVkIHRvIHNheSBJIHNvbGQgdG8gYSBHZXJtYW4/CgonJ19f ZG90Y29fXycnIHgxIGlzIEdlcm1hbi9yZWZsZWN0cyBHZXJtYW4gY3VsdHVyZSBpbiBhc3BlY3Qg eDIKCgoKSSBjYW4ndCBzYXkgJydtaSB2ZWNudSB6bydlIGRvdGNvJycgYmVjYXVzZSB0aGF0IHdv dWxkIGxlYXZlIHR3byBzZWxicmkgaW4gYSBicmlkaSwgd2hpY2ggaXMgbm90IHBlcm1pdHRlZC4g SSBjb3VsZCBzYXkgJydtaSBkb3RjbyB2ZWNudScnIGJ1dCB0aGF0IHdvdWxkIGJlIHVubmVjZXNz YXJ5IHZhZ3VlIC0gSSBjb3VsZCBzZWxsIGluIGEgR2VybWFuIHdheS4gTGlrZXdpc2UsIGlmIEkg d2FudCB0byBzYXkg4oCcSSBhbSBmcmllbmRzIHdpdGggYW4gQW1lcmljYW7igJ0sIHdoYXQgc2hv dWxkIEkgc2F5PwoKJydfX3BlbmRvX18nJyAxeCBpcyBhIGZyaWVuZCBvZiB4MgoKJydfX21lcmtv X18nJyB4MSBpcyBBbWVyaWNhbi9yZWZsZWN0IFVTIGN1bHR1cmUgaW4gYXNwZWN0IHgyCgoKCkFn YWluLCB0aGUgb2J2aW91cyB3b3VsZCBiZSB0byBzYXkgJydtaSBwZW5kbyBtZXJrbycnLCBidXQg dGhhdCB3b3VsZCBmb3JtIGEgdGFucnUsIG1lYW5pbmcg4oCcSSBhbSBmcmllbmQtbGlrZSBBbWVy aWNhbuKAnSwgd2hpY2ggaXMgd3JvbmcuIFdoYXQgd2UgcmVhbGx5IHdhbnQgdG8gaXMgdG8gdGFr ZSB0aGUgc2VsYnJpICcnbWVya28nJyBhbmQgdHJhbnNmb3JtIGl0IGludG8gYSBzdW10aSBzbyBp dCBjYW4gYmUgdXNlZCBpbiB0aGUgc2VsYnJpICcncGVuZG8nJy4gVGhpcyBpcyBkb25lIGJ5IHRo ZSB0d28gd29yZHMgJydsbycnIGFuZCAnJ2t1JycuCgpfXycnbG8nJ19fIOKAkyBnZW5lcmljIGJl Z2luIGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRpIHdvcmQuIEV4dHJhY3RzIHgxIG9mIHNlbGJyaSB0 byB1c2UgYXMgc3VtdGkuCgpfXycna3UnJ19fIOKAkyBlbmQgY29udmVydCBzZWxicmkgdG8gc3Vt dGkgcHJvY2Vzcy4KCgoKWW91IHNpbXBseSBwbGFjZSBhIHNlbGJyaSBiZXR3ZWVuIHRoZXNlIHR3 byB3b3JkcywgYW5kIGl0IHRha2VzIGFueXRoaW5nIHRoYXQgY2FuIGZpbGwgdGhlIHgxIG9mIHRo YXQgc2VsYnJpIGFuZCB0dXJucyBpdCBpbnRvIGEgc3VtdGkuCgpTbyBmb3IgaW5zdGFuY2UsIHRo ZSB0aGluZ3MgdGhhdCBjYW4gZmlsbCB6ZGFuaeKAmHMgeDEgYXJlIG9ubHkgdGhpbmdzIHdoaWNo IGFyZSBob21lcyBvZiBzb21lYm9keS4gU28gJydsbyB6ZGFuaSBrdScnIG1lYW5zIOKAnGEgaG9t ZSBvciBzb21lIGhvbWVzIGZvciBzb21lYm9keS7igJ0gU2ltaWxhcmx5LCBpZiBJIHNheSB0aGF0 IHNvbWV0aGluZyBpcyBwZWx4dSwgaXQgbWVhbnMgaXQncyB5ZWxsb3cuIFNvICcnbG8gcGVseHUg a3UnJyByZWZlcnMgdG8gc29tZXRoaW5nIHllbGxvdy4KCgoKTm93IHlvdSBoYXZlIHRoZSBuZWNl c3NhcnkgZ3JhbW1hciB0byBiZSBhYmxlIHRvIHNheSDigJxJIGFtIGZyaWVuZHMgd2l0aCBhbiBB bWVyaWNhbi7igJ0gSG93PwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgcGVuZG8gbG8gbWVy a28ga3UnJ35+CgoKClRoZXJlIGlzIGEgZ29vZCByZWFzb24gd2h5IHRoZSAnJ2t1JycgaXMgbmVj ZXNzYXJ5LiBUcnkgdG8gdHJhbnNsYXRlIOKAnEEgR2VybWFuIHNlbGxzIHRoaXMgdG8gbWXigJ0K CgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ2xvIGRvdGNvIGt1IHZlY251IHRpIG1pJycgSWYgeW91 IGxlYXZlIG91dCB0aGUga3UsIHlvdSBkbyBub3QgZ2V0IGEgYnJpZGksIGJ1dCBzaW1wbHkgdGhy ZWUgc3VtdGkuIFNpbmNlIGxv4oCma3UgY2Fubm90IGNvbnZlcnQgYnJpZGksIHRoZSB0aSBpcyBm b3JjZWQgb3V0c2lkZSB0aGUgc3VtdGksIHRoZSBsby1jb25zdHJ1Y3QgaXMgZm9yY2VkIHRvIGNs b3NlIGFuZCBpdCBzaW1wbHkgYmVjb21lcyB0aGUgdGhyZWUgc3VtdGkgb2YgJydsbyBkb3RjbyB2 ZWNudSB7a3V9JycsICcndGknJyBhbmQgJydtaScnLn5+CgoKCllvdSBhbHdheXMgaGF2ZSB0byBi ZSBjYXJlZnVsIHdpdGgganVmcmEgbGlrZSAnJ2xvIHpkYW5pIGt1IHBlbHh1JycuIElmIHRoZSAn J2t1JycgaXMgbGVmdCBvdXQgdGhlIGNvbnZlcnNpb24gcHJvY2VzcyBkb2VzIG5vdCBlbmQsIGFu ZCBpdCBzaW1wbHkgYmVjb21lcyBvbmUgc3VtdGksIG1hZGUgZnJvbSB0aGUgdGFucnUgJyd6ZGFu aSBwZWx4dScnIGFuZCB0aGVuIGNvbnZlcnRlZCB3aXRoICcnbG8nJy4KCgoKCgohIUxvamJhbiBM ZXNzb25zIOKAkyBsZXNzb24gZm91ciAoYXR0aXR1ZGluYWxzKQoKQW5vdGhlciBjb25jZXB0IHdo aWNoIGNhbiBiZSB1bmZhbWlsaWFyIHRvIEVuZ2xpc2ggc3BlYWtlcnMgaXMgdGhhdCBvZiBhdHRp dHVkaW5hbHMuIEF0dGl0dWRpbmFscyBhcmUgd29yZHMgdGhhdCBleHByZXNzIGVtb3Rpb25zIGRp cmVjdGx5LiBUaGUgaWRlYSBvZiBhdHRpdHVkaW5hbHMgb3JpZ2luYXRlZCBpbiB0aGUgZmVtaW5p c3QgY29uc3RydWN0ZWQgbGFuZ3VhZ2UgTGFkYW4sIHN1cHBvc2VkbHkgdG8gZW5hYmxlIHRydWUg ZmVtYWxlIGVtb3Rpb25zLiBUaGUgaWRlYSB3YXMgdGhhdCBmZW1hbGUgZW1vdGlvbmFsIGV4cHJl c3Npb24gd2FzIGhpbmRlcmVkIGJ5IG1hbGUgZG9taW5hdGVkIGxhbmd1YWdlLCBhbmQgaWYgb25s eSB0aGV5IHdlcmUgYWJsZSB0byBiZSBleHByZXNzZWQgbW9yZSBmcmVlbHksIHRoaXMgd291bGQg ZW1wb3dlciB3b21lbiB0aHJvdWdoIGxpYmVyYXRpb24gb2YgdGhlIGxhbmd1YWdlLgoKSW4gTG9q YmFuLCB0aGVyZSBpcyBubyBzdWNoIGFnZW5kYSwgYW5kIGF0dGl0dWRpbmFscyBtb3N0IHByb2Jh Ymx5IGhhdmUgYmVlbiBkZXNpZ25lZCBpbnRvIHRoZSBsYW5ndWFnZSBiZWNhdXNlIHRoZXkgdHVy bmVkIG91dCB0byBiZSBpbmNyZWRpYmx5IGF3ZXNvbWUgYW5kIHVzZWZ1bC4gVGhleSBhbGwgaGF2 ZSBhIHNvLWNhbGxlZCBmcmVlIGdyYW1tYXIsIHdoaWNoIG1lYW5zIHRoYXQgdGhleSBjYW4gYXBw ZWFyIGFsbW9zdCBhbnl3aGVyZSB3aXRoaW4gYnJpZGkgd2l0aG91dCBkaXNydXB0aW5nIHRoZSBi cmlkaSdzIGdyYW1tYXIgb3IgYW55IGdyYW1tYXRpY2FsIGNvbnN0cnVjdHMuCgpJbiBMb2piYW4g Z3JhbW1hciwgYW4gYXR0aXR1ZGluYWwgYXBwbGllcyB0byB0aGUgcHJldmlvdXMgd29yZC4gSWYg dGhhdCBwcmV2aW91cyB3b3JkIGlzIGEgd29yZCB3aGljaCBiZWdpbnMgYSBjb25zdHJ1Y3QgKGxp a2UgJycuaScnIG9yICcnbG8nJyksIGl0IGFwcGxpZXMgdG8gdGhlIGVudGlyZSBjb25zdHJ1Y3Qu IExpa2V3aXNlLCBpZiB0aGUgYXR0aXR1ZGluYWwgZm9sbG93cyBhIHdvcmQgd2hpY2ggZW5kcyBh IGNvbnN0cnVjdCBsaWtlICcna3UnJywgaXQgYXBwbGllcyB0byB0aGUgZW5kZWQgY29uc3RydWN0 LgoKCgpMZXQncyBoYXZlIHR3byBhdHRpdHVkaW5hbHMgdG8gbWFrZSBzb21lIGV4YW1wbGVzOgoK X18nJy51aScnX186IGF0dGl0dWRpbmFsOiBzaW1wbGUgcHVyZSBlbW90aW9uOiBoYXBwaW5lc3Mg LSB1bmhhcHBpbmVzcwoKX18nJ3phJ2EnJ19fOiBhdHRpdHVkaW5hbDogZXZpZGVudGlhbDogSSBk aXJlY3RseSBvYnNlcnZlCgoKCk5vdGUgdGhhdCBpbiB0aGUgZGVmaW5pdGlvbiBvZiAnJy51aScn LCB0aGVyZSBhcmUgbGlzdGVkIHR3byBlbW90aW9ucywgaGFwcGluZXNzIGFuZCB1bmhhcHBpbmVz cy4gVGhpcyBtZWFucyB0aGF0ICcnLnVpJycgaXMgZGVmaW5lZCBhcyBoYXBwaW5lc3MsIHdoaWxl IGl0cyDigJxuZWdhdGlvbuKAnSwgbWVhbnMgdW5oYXBwaW5lc3MuIOKAnE5lZ2F0aW9u4oCdIG1p Z2h0IGJlIHRoZSB3cm9uZyB3b3JkIGhlcmUuIFRlY2huaWNhbGx5LCB0aGUgb3RoZXIgZGVmaW5p dGlvbiBvZiAnJy51aScnIGlzIGFub3RoZXIgY29uc3RydWN0LCAnJy51aSBuYWknJy4gTW9zdCBv ZiB0aGUgdGltZSwgdGhlIHNlY29uZCBkZWZpbml0aW9uIG9mIGF0dGl0dWRpbmFscyAtIHRoZSBv bmVzIHN1ZmZpeGVkIHdpdGggJyduYWknJyAtIHJlYWxseSBpcyB0aGUgbmVnYXRpb24gb2YgdGhl IGJhcmUgYXR0aXR1ZGluYWwuIE90aGVyIHRpbWVzLCBub3Qgc28gbXVjaC4KCl9fJyduYWknJ19f IG1pc2MuIG5lZ2F0aW9uIC0gYXR0YWNoZWQgdG8gYXR0aXR1ZGluYWxzLCBpdCBjaGFuZ2VzIHRo ZSBtZWFuaW5nIGludG8gdGhlIGF0dGl0dWRpbmFsJ3MgIm5lZ2F0aW9uIgoKCgpBbmQgc29tZSBt b3JlIHNlbGJyaSwganVzdCBmb3IgdGhlIGhlY2sgb2YgaXQ6CgpfXycnY2l0a2EnJ19fIOKAkyB4 MSBlYXRzIHgyCgpfXycncGxpc2UnJ19fIOKAkyB4MSBpcyBhbiBhcHBsZSBvZiBzdHJhaW4vdHlw ZSB4MgoKCgpUaGUgc2VudGVuY2UgJydkbyBjaXRrYSBsbyBwbGlzZSBrdSAudWknJywgbWVhbnMg 4oCcWW91IGVhdCBhbiBhcHBsZSwgeWF5IeKAnSAoZXNwZWNpYWxseSBleHByZXNzaW5nIHRoYXQg aXQgaXMgdGhlIF9fYXBwbGVfXyB0aGF0IHRoZSBzcGVha2VyIGlzIGhhcHB5IGFib3V0LCBub3Qg dGhlIGVhdGluZywgb3IgdGhlIGZhY3QgdGhhdCBpdCB3YXMgeW91LikgSW4gdGhlIHNlbnRlbmNl ICcnZG8gemEnYSBjaXRrYSBsbyBwbGlzZSBrdScnLCB0aGUgc3BlYWtlciBkaXJlY3RseSBvYnNl cnZlcyB0aGF0IGl0IGlzIGluZGVlZCB0aGUgX1/igJx5b3XigJ1fXywgd2hvIGVhdHMgYW4gYXBw bGUgYXMgb3Bwb3NlZCB0byBzb21lb25lIGVsc2UuCgoKCklmIGFuIGF0dGl0dWRpbmFsIGlzIHBs YWNlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBicmlkaSwgaXQgaXMgdW5kZXJzdG9vZCB0byBh cHBseSB0byBhbiBleHBsaWNpdCBvciBpbXBsaWNpdCAnJy5pJycsIHRodXMgYXBwbHlpbmcgdG8g dGhlIGVudGlyZSBicmlkaToKCicnLnVpIHphJ2EgZG8gZHVuZGEgbG8gcGxpc2Uga3UgbWknJyDi gJMg4oCcWWF5LCBJIG9ic2VydmUgdGhhdCB5b3UgZ2l2ZSBhbi9zb21lIGFwcGxlIHRvIG1lIeKA nQoKCgonJ21pIHZlY251IC51aSBuYWkgbG8gemRhbmkga3UnJyDigJxJIHNlbGwgKHdoaWNoIHN1 Y2tzISkgYSBob21l4oCdLgoKCgpUcnkgaXQgb3V0IHdpdGggYSBmZXcgZXhhbXBsZXMuIEZpcnN0 LCB0aG91Z2gsIGhlcmUgYXJlIHNvbWUgbW9yZSBhdHRpdHVkaW5hbHM6CgpfXycnLnUndScnX18g YXR0aXR1ZGluYWw6IHNpbXBsZSBwdXJlIGVtb3Rpb246IGd1aWx0IC0gcmVtb3JzZWxlc3NuZXNz IC0gaW5ub2NlbmNlLgoKX18nJy5vaScnX18gYXR0aXR1ZGluYWw6IGNvbXBsZXggcHVyZSBlbW90 aW9uOiBjb21wbGFpbnQgLSBwbGVhc3VyZS4KCl9fJycuaXUnJ19fIGF0dGl0dWRpbmFsOiBtaXNj ZWxsYW5lb3VzIHB1cmUgZW1vdGlvbjogbG92ZSAtIGhhdGUuCgoKCkxvb2sgYXQgdGhhdCwgdHdv IHdvcmRzIHdpdGggdGhyZWUgZW1vdGlvbnMgaW4gdGhlIGRlZmluaXRpb24hIFRoZSBtaWRkbGUg b25lIGlzIGFjY2Vzc2VkIGJ5IHN1ZmZpeGlubmcgd2l0aCAnJ2N1J2knJy4gSXQncyBjb25zaWRl cmVkIHRoZSBtaWRwb2ludCBvZiB0aGUgZW1vdGlvbi4KCl9fJydjdSdpJydfXyBhdHRpdHVkaW5h bCBtaWRwb2ludCBzY2FsYXI6IGF0dGFjaCB0byBhdHRpdHVkaW5hbCB0byBjaGFuZ2UgdGhlIG1l YW5pbmcgdG8gdGhlICJtaWRwb2ludCIgb2YgdGhlIGVtb3Rpb24uCgoKClRyeSBzYXlpbmcg4oCc SSBnaXZlIHNvbWV0aGluZyB0byBhIEdlcm1hbiwgd2hvIEkgbG92ZeKAnQoKCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OicnbWkgZHVuZGEgZmkgbG8gZG90Y28ga3UgLml1Jycgb3IgJyd6bydlJycgaW5z dGVhZCBvZiAnJ2ZpJyd+fgoKCgpOb3cg4oCcQWFoLCBJIGVhdCBhIHllbGxvdyBhcHBsZeKAnQoK QW5zd2VyOiB+fmdyZXksZ3JleTonJy5vaSBuYWkgbWkgY2l0a2EgbG8gcGVseHUgcGxpc2Uga3Un J35+CgoKCkxldCdzIGhhdmUgYW5vdGhlciBhdHRpdHVkaW5hbCBvZiBhIGRpZmZlcmVudCBraW5k IHRvIGlsbHVzdHJhdGUgc29tZXRoaW5nIHBlY3VsaWFyOgoKJycuZWknJyBBdHRpdHVkaW5hbDog Y29tcGxleCBwcm9wb3NpdGlvbmFsIGVtb3Rpb246IG9ibGlnYXRpb24gLSBmcmVlZG9tLgoKCgpT bywgcXVpdGUgZWFzeTog4oCcSSBoYXZlIHRvIGdpdmUgdGhlIGFwcGxlIGF3YXnigJ0gaXMgJydt aSBkdW5kYSAuZWkgbG8gcGxpc2Uga3UnJywgcmlnaHQ/IEl0IGlzLCBhY3R1YWxseSEgV2hlbiB5 b3UgdGhpbmsgYWJvdXQgaXQsIHRoYXQncyB3ZWlyZC4gV2h5IGlzIGl0IHRoYXQgYWxsIHRoZSBv dGhlciBhdHRpdHVkaW5hbHMgd2UgaGF2ZSBzZWVuIHNvIGZhciBleHByZXNzZXMgdGhlIHNwZWFr ZXIncyBmZWVsaW5nIGFib3V0IHRoZSBicmlkaSwgYnV0IHRoaXMgb25lIGFjdHVhbGx5IGNoYW5n ZXMgd2hhdCB0aGUgYnJpZGkgbWVhbnM/IFN1cmVseSwgYnkgc2F5aW5nIOKAnEkgaGF2ZSB0byBn aXZlIHRoZSBhcHBsZSBhd2F54oCdLCB3ZSBzYXkgbm90aGluZyBhYm91dCB3aGV0aGVyIHRoZSBh cHBsZSBhY3R1YWxseSBpcyBiZWluZyBnaXZlbiBhd2F5LiBJZiBJIGhhZCB1c2VkICcnLnVpJycs IGhvd2V2ZXIsIEkgd291bGQgYWN0dWFsbHkgaGF2ZSBzdGF0ZWQgdGhhdCBJIGdhdmUgdGhlIGFw cGxlIGF3YXksIGFuZCB0aGF0IEkgd2FzIGhhcHB5IGFib3V0IGl0LiBXaGF0J3MgdGhhdCBhbGwg YWJvdXQ/CgoKClRoaXMgaXNzdWUsIGV4YWN0bHkgaG93IGF0dGl0dWRpbmFscyBjaGFuZ2UgdGhl IGNvbmRpdGlvbnMgb24gd2hpY2ggYSBicmlkaSBpcyB0cnVlLCBpcyBhIHN1YmplY3Qgb2YgYSBt aW5vciBkZWJhdGUuIFRoZSBvZmZpY2lhbCwg4oCcdGV4dGJvb2vigJ0gcnVsZSwgd2hpY2ggcHJv YmFibHkgd29uJ3QgYmUgY2hhbmdlZCwgaXMgdGhhdCB0aGVyZSBpcyBhIGRpc3RpbmN0aW9uIGJl dHdlZW4g4oCccHVyZSBlbW90aW9uc+KAnSBhbmQg4oCccHJvcG9zaXRpb25hbCBlbW90aW9uc+KA nS4gT25seSBwcm9wb3N0aW9uYWwgZW1vdGlvbnMgY2FuIGNoYW5nZSB0aGUgdHJ1dGggY29uZGl0 aW9ucywgd2hpbGUgcHVyZSBlbW90aW9ucyBjYW5ub3QuIEluIG9yZGVyIHRvIGV4cHJlc3MgYSBw cm9wb3NpdGlvbmFsIGVtb3Rpb25hbCBhdHRpdHVkaW5hbCB3aXRob3V0IGNoYW5naW5nIHRoZSB0 cnV0aCB2YWx1ZSBvZiB0aGUgYnJpZGksIHlvdSBjYW4ganVzdCBzZXBhcmF0ZSBpdCBmcm9tIHRo ZSBicmlkaSB3aXRoICcnLmknJy4gVGhlcmUgaXMgYWxzbyBhIHdvcmQgZm9yIGV4cGxpY2l0bHkg Y29uc2VydmluZyBvciBjaGFuZ2luZyB0aGUgdHJ1dGggY29uZGl0aW9ucyBvZiBhIGJyaWRpOgoK CgpfXycnZGEnaScnX18gYXR0aXR1ZGluYWw6IGRpc2N1cnNpdmU6IHN1cHBvc2luZyAtIGluIGZh Y3QKClNheWluZyAnJ2RhJ2knJyBpbiBhIGJyaWRpIGNoYW5nZXMgdGhlIHRydXRoIGNvbmRpdGlv bnMgdG8gaHlwb3RoZXRpY2FsLCB3aGljaCBpcyB0aGUgZGVmYXVsdCB1c2luZyBwcm9wb3NpdGlv bmFsIGF0dGl0dWRpbmFscy4gU2F5aW5nICcnZGEnaSBuYWknJyBjaGFuZ2VzIHRoZSB0cnV0aCBj b25kaXRpb24gdG8gdGhlIG5vcm1hbCwgd2hpY2ggaXMgZGVmYXVsdCB1c2luZyBwdXJlIGF0dGl0 dWRpbmFscy4KCgoKU28sIHdoYXQncyB0d28gd2F5cyBvZiBzYXlpbmcg4oCcSSBnaXZlIHRoZSBh cHBsZSBhd2F54oCdPyAoYW5kIGZlZWwgb2JsaWdhdGlvbiBhYm91dCBpdCkKCgoKQW5zd2VyOiB+ fmdyZXksZ3JleTonJ21pIGR1bmRhIGxvIHBsaXNlIC5pIC5laScnICBhbmQgJydtaSBkdW5kYSBk YSdpIG5haSAuZWkgbG8gcGxpc2UnJ35+CgoKClRoZSBmZWVsaW5nIG9mIGFuIGF0dGl0dWRpbmFs IGNhbiBiZSBzdWJzY3JpYmVkIHRvIHNvbWVvbmUgZWxzZSB1c2luZyAnJ2RhaScnLiBVc3VhbGx5 IGluIG9yZGluYXJ5IHNwZWVjaCwgdGhlIGF0dGl0dWRpbmFsIGlzIHN1YnNjcmliZWQgdG8gdGhl IGxpc3RlbmVyLCBidXQgaXQgZG9lc24ndCBoYXZlIHRvIGJlIHNvLiBBbHNvLCBiZWNhdXNlIHRo ZSB3b3JkIGlzIGdsb3NzZWQg4oCcZW1wYXRoeeKAnSAoZmVlbGluZyBvdGhlcnMgZW1vdGlvbnMp LCBzb21lIExvamJhbmlzdHMgbWlzdGFrZW5seSB0aGluayB0aGF0IHRoZSBzcGVha2VyIG11c3Qg c2hhcmUgdGhlIGVtb3Rpb24gYmVpbmcgc3Vic2NyaWJlZCB0byBvdGhlcnMuCgpfXycnZGFpJydf XyBhdHRpdHVkaW5hbCBtb2RpZnllcjogRW1wYXRoeSAoc3Vic2NyaWJlcyBhdHRpdHVkaW5hbCB0 byBzb21lb25lIGVsc2UsIHVuc3BlY2lmaWVkKQoKRXhhbXBsZTogJyd1J2kgLm9pIGRhaSBjaXRr YSB0aScnIC0g4oCcSGEgaGEsIHRoaXMgd2FzIGVhdGVuISBUaGF0IG11c3QgaGF2ZSBodXJ0IeKA nQoKCgpXaGF0IG9mdGVuIHVzZWQgcGhyYXNlIGNvdWxkICcnLm9pIHUnaSBkYWknJyBtZWFuPwoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnE91Y2gsIHZlcnkgZnVubnku4oCdfn4KCgoKQW5kIGFu b3RoZXIgb25lIHRvIHRlc3QgeW91ciBrbm93bGVkZ2U6IFRyeSB0byB0cmFuc2xhdGUg4oCcSGUg d2FzIHNvcnJ5IGhlIHNvbGQgYSBob21l4oCdIChyZW1lbWJlcmluZywgdGhhdCB0ZW5zZSBpcyBp bXBsaWVkIGFuZCBuZWVkIG5vdCBiZSBzcGVjaWZpZWQuIEFsc28sIOKAnGhl4oCdIGNvdWxkIGJl IG9idmlvdXMgZnJvbSBjb250ZXh0KQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicndSd1IGRhaSB2 ZWNudSBsbyB6ZGFuaSBrdScnfn4KCgoKTGFzdGx5LCB0aGUgaW50ZW5zaXR5IG9mIGFuIGF0dGl0 dWRpbmFsIGNhbiBiZSBzcGVjaWZpZWQgdXNpbmcgY2VydGFpbiB3b3Jkcy4gVGhlc2UgY2FuIGJl IHVzZWQgYWZ0ZXIgYW4gYXR0aXR1ZGluYWwsIG9yIGFuIGF0dGl0dWRpbmFsIHdpdGggJyduYWkn JyBvciAnJ2N1J2knJyBzdWZmaXhlZC4gSXQncyBsZXNzIGNsZWFyIHdoYXQgaGFwcGVucyB3aGVu IHlvdSBhdHRhY2ggaXQgdG8gb3RoZXIgd29yZHMsIGxpa2UgYSBzZWxicmksIG11c3QgaXQncyBt b3N0bHkgdW5kZXJzdG9vZCBhcyBpbnRlbnNpZnlpbmcgb3Igd2Vha2VuaW5nIHRoZSBzZWxicmkg aW4gc29tZSB1bnNwZWNpZmllZCB3YXk6Cgp8fCBNb2RpZnlpbmcgd29yZCAgfCBJbnRlbnNpdHkg IAoKIGNhaXwgICBFeHRyZW1lCgogc2FpfCAgIFN0cm9uZwoKIChub25lKXwgICBVbnNwZWNpZmll ZCAobWVkaXVtKQoKIHJ1J2UgIHwgICBXZWFrfHwKCgoKV2hhdCBlbW90aW9uIGlzIGV4cHJlc3Nl ZCB1c2luZyAnJy51J2kgbmFpIHNhaScnID8KCl9fJycudSdpJydfXzogYXR0aXR1ZGluYWw6IHNp bXBsZSBwdXJlIGVtb3Rpb246IGFtdXNlbWVudCAtIHdlYXJpbmVzcwoKCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OlN0cm9uZyB3ZWFyaW5lc3N+fgoKCgpBbmQgaG93IHdvdWxkIHlvdSBleHByZXNzIHRo YXQgeW91IGFyZSBtaWxkbHkgcmVtb3JzZWxlc3M/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jycu dSd1IGN1J2kgcnUnZScnfn4KCgoKISFMb2piYW4gbGVzc29ucyDigJMgbGVzc29uIGZpdmUgKFNF KQoKQmVmb3JlIHdlIHZlbnR1cmUgaW50byB0aGUgdGVycml0b3J5IG9mIG1vcmUgY29tcGxleCBj b25zdHJ1Y3RzLCB5b3Ugc2hvdWxkIGxlYXJuIGFub3RoZXIgbWVjaGFuaXNtIGZvciByZW9yZGVy aW5nIHRoZSBzdW10aSBvZiBhIHNlbGJyaS4gVGhpcywgYXMgd2Ugd2lsbCBzaG93LCBpcyB2ZXJ5 IHVzZWZ1bCBmb3IgbWFraW5nIGRlc2NyaXB0aW9uLWxpa2Ugc3VtdGkgKHRoZSBraW5kIG9mIHN1 bXRpIHdpdGggJydsbycnKS4KCkNvbnNpZGVyIHRoZSBzZW50ZW5jZSDigJxJIGVhdCBhIGdpZnTi gJ0sIHdoaWNoIG1pZ2h0IGJlIGFwcHJvcHJpYXRlIGlmIHRoYXQgZ2lmdCBpcyBhbiBhcHBsZS4g VG8gdHJhbnNsYXRlIHRoaXMsIGl0IHdvdWxkIHNlZW0gbmF0dXJhbCB0byBsb29rIHVwIGEgc2Vs YnJpIG1lYW5pbmcg4oCcZ2lmdOKAnSBiZWZvcmUgY29udGludWluZy4gSG93ZXZlciwgaWYgb25l IGxvb2tzIGNhcmVmdWxseSBhdCB0aGUgZGVmaW5pdGlvbiBvZiAnJ2R1bmRhJycsIHgxIGdpdmVz IHgyIHRvIHgzLCBvbmUgcmVhbGl6ZXMgdGhhdCB0aGUgeDIgb2YgJydkdW5kYScnIGlzIHNvbWV0 aGluZyBnaXZlbiDigJMgYSBnaWZ0LgoKU28sIHRvIGV4cHJlc3MgdGhhdCBzZW50ZW5jZSwgd2Ug Y2FuJ3Qgc2F5ICcnbWkgY2l0a2EgbG8gZHVuZGEga3UnJywgYmVjYXVzZSAnJ2xvIGR1bmRhIGt1 Jycgd291bGQgYmUgdGhlIHgxIG9mICcnZHVuZGEnJywgd2hpY2ggaXMgYSBkb25vciBvZiBhIGdp ZnQuIENhbm5pYmFsaXNtIGFzaWRlLCB3ZSBkb24ndCB3YW50IHRvIHNheSB0aGF0LiBXaGF0IHdl IHdhbnQgaXMgYSB3YXkgdG8gZXh0cmFjdCB0aGUgeDIgb2YgYSBzZWxicmkuCgpUaGlzIGlzIG9u ZSBleGFtcGxlIHdoZXJlIGl0IGlzIHVzZWZ1bCB0byB1c2UgdGhlIHdvcmQgJydzZScnLiBXaGF0 ICcnc2UnJyBkb2VzIGlzIHRvIG1vZGlmeSBhIHNlbGJyaSBzdWNoIHRoYXQgdGhlIHgxIGFuZCB4 MiBvZiB0aGF0IHNlbGJyaSB0cmFkZSBwbGFjZXMuIFRoZSBjb25zdHJ1Y3Qgb2YgJydzZScnICsg c2VsYnJpIGlzIG9uIGl0cyBvd24gY29uc2lkZXJlZCBvbmUgc2VsYnJpLiBMZXQncyB0cnkgd2l0 aCBhbiBvcmRpbmFyeSBzZW50ZW5jZToKCl9fJydmYW52YScnX18gPSDigJx4MSB0cmFuc2xhdGVz IHgyIHRvIGxhbmd1YWdlIHgzIGZyb20gbGFuZ3VhZ2UgeDQgd2l0aCByZXN1bHQgb2YgdHJhbnNs YXRpb24geDXigJ0KCicndGkgc2UgZmFudmEgbWknJyA9ICcnbWkgZmFudmEgdGknJwoKVGhpcyBp cyB0cmFuc2xhdGVkIGJ5IG1lICg9IEkgdHJhbnNsYXRlIHRoaXMpLiBPZnRlbiwgYnV0IG5vdCBh bHdheXMsIGJyaWRpIHdpdGggJydzZScnLWNvbnN0cnVjdHMgYXJlIHRyYW5zbGF0ZWQgdG8gc2Vu dGVuY2VzIHdpdGggdGhlIHBhc3NpdmUgdm9pY2UsIHNpbmNlIHRoZSB4MSBpcyBvZnRlbiB0aGUg b2JqZWN0IHRha2luZyBhY3Rpb24uCgonJ3NlJycgaGFzIGl0cyBvd24gZmFtaWx5IG9mIHdvcmRz LiBBbGwgb2YgdGhlbSBzd2FwIGEgZGlmZmVyZW50IHBsYWNlIHdpdGggdGhlIHgxLgoKfHxzZQl8 c3dhcCB4MSBhbmQgeDIKCnRlCXxzd2FwIHgxIGFuZCB4MwoKdmUJfHN3YXAgeDEgYW5kIHg0Cgp4 ZQl8c3dhcCB4MSBhbmQgeDV8fAoKTm90ZSB0aGF0IHMsIHQsIHYsIGFuZCB4IGFyZSBjb25zZWN1 dGl2ZSBjb25zb25hbnRzIGluIHRoZSBsb2piYW4gYWxwaGFiZXQuCgoKClNvOiBVc2luZyB0aGlz IGtub3dsZWRnZSwgd2hhdCB3b3VsZCAnJ3RpIHhlIGZhbnZhIHRpJycgbWVhbj8KCgoKQW5zd2Vy OiB+fmdyZXksZ3JleTrigJxUaGlzIGlzIGEgdHJhbnNsYXRpb24gb2YgdGhpc+KAnSAob3IgJydm YW52YSB0aSBmdSB0aScnKX5+CgoKCicnc2UnJyBhbmQgaXRzIGZhbWlseSBjYW4gb2YgY291cnNl IGJlIGNvbWJpbmVkIHdpdGggJydmYScnIGFuZCBpdHMgZmFtaWx5LiBUaGUgcmVzdWx0IGNhbiBi ZSB2ZXJ5IGNvbmZ1c2luZyBpbmRlZWQsIGlmIHlvdSB3aXNoIHRvIG1ha2UgaXQgc286CgpfXycn a2xhbWEnJ19fID0g4oCceDEgdHJhdmVscy9nb2VzIHRvIHgyIGZyb20geDMgdmlhIHg0IHVzaW5n IHg1IGFzIHRyYW5zcG9ydGF0aW9uIGRldmljZeKAnQoKJydmdSBsbyB6ZGFuaSBrdSB0ZSBrbGFt YSBmZSBkbyB0aSBmYSBtaScnID0gJydtaSB0ZSBrbGFtYSBkbyB0aSBsbyB6ZGFuaSBrdScnIGFu ZCBzaW5jZSAnJ3RlJycgZXhjaGFuZ2VzIHgxIGFuZCB4MzogPSAnJ3RpIGtsYW1hIGRvIG1pIGxv IHpkYW5pIGt1JycKCuKAnFRoaXMgdHJhdmVscyB0byB5b3UgZnJvbSBtZSB2aWEgYSBob21lLuKA nSBPZiBjb3Vyc2UsIG5vIG9uZSB3b3VsZCBtYWtlIHN1Y2ggYSBzZW50ZW5jZSBleGNlcHQgdG8g Y29uZnVzZSBwZW9wbGUsIG9yIGNydWVsbHkgdG8gdGVzdCB0aGVpciB1bmRlcnN0YW5kaW5nIG9m IExvamJhbiBncmFtbWFyLgoKQW5kIHRodXMsIHdlIGhhdmUgY29tZSB0byB0aGUgcG9pbnQgd2hl cmUgd2UgY2FuIHNheSDigJxJIGVhdCBhIGdpZnQu4oCdLiBTaW1wbHkgZXhjaGFuZ2UgdGhlIHN1 bXRpIHBsYWNlcyBvZiAnJ2R1bmRhJycgdG8gZ2V0IHRoZSBnaWZ0IHRvIGJlIHgxLCB0aGVuIGV4 dHJhY3QgdGhpcyBuZXcgeDEgd2l0aCAnJ2xvJycuLi4nJ2t1JycuIFNvLCBob3cgd291bGQgeW91 IHNheSBpdD8KCk9uZSAocG9zc2libGUpIGFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBjaXRrYSBs byBzZSBkdW5kYSBrdScnfn4KClRoaXMgc2hvd3Mgb25lIG9mIHRoZSBtYW55IHVzZXMgZm9yICcn c2UnJyBhbmQgaXRzIGZhbWlseS4KCgoKCgohIUxvamJhbiBsZXNzb25zIOKAkyBsZXNzb24gc2l4 IChhYnN0cmFjdGlvbnMpCgpTbyBmYXIgd2UgaGF2ZSBvbmx5IGV4cHJlc3NlZCBzaW5nbGUgc2Vu dGVuY2VzIG9uZSBhdCBhIHRpbWUuIFRvIGV4cHJlc3MgbW9yZSBjb21wbGV4IHRoaW5ncywgaG93 ZXZlciwgeW91IG9mdGVuIG5lZWQgc3Vib3JkaW5hdGUgc2VudGVuY2VzLiBMdWNraWx5LCB0aGVz ZSBhcmUgbXVjaCBlYXNpZXIgaW4gTG9qYmFuIHRoYW4gd2hhdCBvbmUgd291bGQgZXhwZWN0LgoK V2UgY2FuIGJlZ2luIHdpdGggYW4gZXhhbXBsZSB0byBkZW1vbnN0cmF0ZSB0aGlzOiDigJxJIGFt IGhhcHB5IHRoYXQgeW91IGFyZSBteSBmcmllbmQu4oCdIEhlcmUsIHRoZSBtYWluIGJyaWRpIGlz IOKAnEkgYW0gaGFwcHkgdGhhdCBYLuKAnSwgYW5kIHRoZSBzdWItYnJpZGkgaXMg4oCcWW91IGFy ZSBteSBmcmllbmQu4oCdIExvb2tpbmcgYXQgdGhlIGRlZmluaXRpb24gZm9yIOKAnGhhcHB54oCd LCB3aGljaCBpcyAnJ2dsZWtpJyc6CgpfXycnZ2xla2knJ19fIOKAnHgxIGlzIGhhcHB5IGFib3V0 IHgyIChldmVudC9zdGF0ZSnigJ0KCk9uZSBzZWVzIHRoYXQgdGhlIHgyIG5lZWRzIHRvIGJlIGFu IGV2ZW50IG9yIGEgc3RhdGUuIFRoaXMgaXMgbmF0dXJhbCwgYmVjYXVzZSBvbmUgY2Fubm90IGJl IGhhcHB5IGFib3V0IGFuIG9iamVjdCBpbiBpdHNlbGYsIG9ubHkgYWJvdXQgc29tZSBzdGF0ZSB0 aGUgb2JqZWN0IGlzIGluLiBCdXQgYWxhcyEgT25seSBicmlkaSBjYW4gZXhwcmVzcyBhIHN0YXRl IG9yIGFuIGV2ZW50LCBhbmQgb25seSBzdW10aSBjYW4gZmlsbCB0aGUgeDIgb2YgJydnbGVraScn IQoKQXMgeW91IG1pZ2h0IGhhdmUgZ3Vlc3NlZCwgdGhlcmUgaXMgYSBzb2x1dGlvbi4gVGhlIHdv cmRzICcnc3UndScnLi4uJydrZWknJyBpcyBhIGdlbmVyaWMg4oCcY29udmVydCBicmlkaSB0byBz ZWxicmnigJ0gZnVuY3Rpb24sIGFuZCB3b3JrcyBqdXN0IGxpa2UgJydsbycn4oCmJydrdScnLgoK X18nJ3N1J3UnJ19fIHgxIGlzIGFuIGFic3RyYWN0aW9uIG9mIHticmlkaX0gb2YgdHlwZSB4MgoK X18nJ2tlaScnX18gZW5kIGFic3RyYWN0aW9uCgoKCkV4YW1wbGU6CgpfXycnbWVsYmknJ19fIHgx IGlzIGJlYXV0aWZ1bCB0byB4Mi4KCl9fJydkYW5zdScnX18geDEgZGFuY2VzIHRvIGFjY29tcGFu aW1lbnQvbXVzaWMvcmh5dGhtIHgyLgoKJydtZWxiaSBzdSd1IGRhbnN1IGtlaScnIC0g4oCcQmVh dXRpZmlsIGRhbmNpbmfigJ0v4oCcQmVhdXRpZmlsIGRhbmNl4oCdCgoKCkl0J3MgdXN1YWxseSBo YXJkIHRvIGZpbmQgZ29vZCB1c2VzIG9mIGEgYnJpZGkgYXMgYSBzZWxicmkuIEhvd2V2ZXIsIHNp bmNlICcnc3UndSBCUklESSBrZWknJyBpcyBhIHNlbGJyaSwgb25lIGNhbiBjb252ZXJ0IGl0IHRv IGEgc3VtdGkgdXNpbmcgJydsbycnLi4uJydrdScnLgoKTm93IHdlIGhhdmUgdGhlIGVxdWlwbWVu dCB0byBleHByZXNzIOKAnEkgYW0gaGFwcHkgdGhhdCB5b3UgYXJlIG15IGZyaWVuZOKAnS4gVHJ5 IGl0IG91dCEKCl9fJydwZW5kbycnX18g4oCceDEgaXMgYSBmcmllbmQgb2YgeDLigJ0KCgoKQW5z d2VyOiB+fmdyZXksZ3JleTonJ21pIGdsZWtpIGxvIHN1J3UgZG8gcGVuZG8gbWkga2VpIGt1Jyd+ fgoKCgpIb3dldmVyLCAnJ3N1J3UnJ+KApicna2VpJycgZG9lcyBub3Qgc2VlIG11Y2ggdXNlLiBQ ZW9wbGUgcHJlZmVyIHRvIHVzZSB0aGUgbW9yZSBzcGVjaWZpYyB3b3JkcyAnJ251JyfigKYnJ2tl aScnIGFuZCAnJ2R1J3UnJ+KApicna2VpJycuIFRoZXkgd29yayB0aGUgc2FtZSB3YXksIGJ1dCBt ZWFuIHNvbWV0aGluZyBkaWZmZXJlbnQuICcnbnXigKZrZWknJyB0cmVhdHMgdGhlIGJyaWRpIGlu IGJldHdlZW4gYXMgYW4gZXZlbnQgb3Igc3RhdGUsIGFuZCAnJ2R1J3XigKZrZWknJyB0cmVhdHMg aXQgYXMgYW4gYWJzdHJhY3QgYnJpZGksIGZvciBleHByZXNzaW5nIHRoaW5ncyBsaWtlIGlkZWFz LCB0aG91Z2h0cyBvciB0cnV0aHMuIEFsbCB0aGVzZSB3b3JkcyAoZXhjZXB0ICcna2VpJycpIGFy ZSBjYWxsZWQgYWJzdHJhY3RvcnMuIFRoZXJlIGFyZSBtYW55IG9mIHRoZW0sIGFuZCBvbmx5IGZl dyBhcmUgdXNlZCBtdWNoLiAnJ3N1J3XigKZrZWknJyBpcyBhIGdlbmVyYWwgYWJzdHJhY3Rvciwg YW5kIHdpbGwgd29yayBpbiBhbGwgY2FzZXMuCgoKClVzZSAnJ251JycgdG8gc2F5IOKAnEknbSBo YXBweSBhYm91dCB0YWxraW5nIHRvIHlvdS7igJ0KCl9fJyd0YXZsYScnX18geDEgdGFsa3MgdG8g eDIgYWJvdXQgc3ViamVjdCB4MyBpbiBsYW5ndWFnZSB4NC4KCgoKQW5zd2VyOiB+fmdyZXksZ3Jl eTonJ21pIGdsZWtpIGxvIG51IHRhdmxhIGRvIGtlaSBrdScnIChub3RpY2UgYm90aCB0aGUgRW5n bGlzaCBhbmQgdGhlIExvamJhbiBpcyB2YWd1ZSBhcyB0byB3aG8gaXMgZG9pbmcgdGhlIHRhbGtp bmcpLn5+CgoKCk90aGVyIGltcG9ydGFudCBhYnN0cmFjdG9ycyBpbmNsdWRlOiAnJ2thLi4ua2Vp JycgKHByb3BlcnR5L2FzcGVjdCBhYnN0cmFjdGlvbiksICcnc2knby4uLmtlaScnIChjb25jZXB0 L2lkZWEgYWJzdHJhY3Rpb24pLCAnJ25pLi4ua2VpJycgKHF1YW50aXR5IGFic3RyYWN0aW9uKSBh bW9uZyBvdGhlcnMuIFRoZSBtZWFuaW5ncyBvZiB0aGVzZSBpcyBhIGNvbXBsaWNhdGVkIG1hdHRl ciwgYW5kIHdpbGwgYmUgZGlzY3Vzc2VkIG11Y2ggbGF0ZXIsIGluIGxlc3NvbiB0d2VudHktbmlu ZS4gRm9yIG5vdywgeW91J2xsIGhhdmUgdG8gZG8gd2l0aG91dCB0aGVtLgoKCgpJdCBpcyBpbXBv cnRhbnQgdG8gbm90aWNlIHRoYXQgc29tZSBhYnN0cmFjdG9ycyBoYXZlIHNldmVyYWwgc3VtdGkg cGxhY2VzLiBBcyBhbiBleGFtcGxlLCAnJ2R1J3UnJyBjYW4gYmUgbWVudGlvbmVkLiAnJ2R1J3Un JyBpcyBkZWZpbmVkOgoKJydkdSd1JycgPSDigJxhYnN0cmFjdG9yLiB4MSBpcyB0aGUgcHJlZGlj YXRlL2JyaWRpIG9mIHticmlkaX0gZXhwcmVzc2VkIGluIHNlbnRlbmNlIHgy4oCdLgoKVGhlIG90 aGVyIHN1bXRpIHBsYWNlcyBiZXNpZGVzIHgxIGlzIHJhcmVseSB1c2VkLCBidXQgJydsbyBzZSBk dSd1IHticmlkaX0ga2VpIGt1JycgaXMgc29tZXRpbWVzIHVzZWQgYXMgYSBzdW10aSBmb3IgaW5k aXJlY3QgcXVvdGF0aW9uOiDigJxJIHNhaWQgdGhhdCBJIHdhcyBnaXZlbiBhIGRvZ+KAnSBjYW4g YmUgd3JpdHRlbiAnJ21pIGN1c2t1IGxvIHNlIGR1J3UgbWkgdGUgZHVuZGEgbG8gZ2Vya3Uga3Ug a2VpIGt1JycsIGlmIHlvdSB3aWxsIHBhcmRvbiB0aGUgd2VpcmQgZXhhbXBsZS4KCl9fJydjdXNr dScnX18geDEgZXhwcmVzc2VzIHgyIHRvIHgzIHRocm91Z2ggbWVkaXVtIHg0CgpfXycnZ2Vya3Un J19fIHgxIGlzIGEgZG9nIG9mIHJhY2UgeDIKCiEhTG9qYmFuIGxlc3NvbnMg4oCTIGxlc3NvbiBz ZXZlbiAoTk9JKQoKV2hpbGUgd2UncmUgYXQgaXQsIHRoZXJlJ3MgYW5vdGhlciB0eXBlIG9mIHN1 Ym9yZGluYXRlIGJyaWRpLiBUaGVzZSBhcmUgY2FsbGVkIHJlbGF0aXZlIGNsYXVzZXMuIFRoZXkg YXJlIHNlbnRlbmNlcyB3aGljaCBhZGQgc29tZSBkZXNjcmlwdGlvbiB0byBhIHN1bXRpLiBJbmRl ZWQsIHRoZSDigJx3aGljaOKAnSBpbiB0aGUgcHJldmlvdXMgc2VudGVuY2UgbWFya2VkIHRoZSBi ZWdpbm5pbmcgb2YgYSByZWxhdGl2ZSBjbGF1c2UgaW4gRW5nbGlzaCBkZXNjcmliaW5nIHJlbGF0 aXZlIGNsYXVzZXMuIEluIExvamJhbiwgdGhleSBjb21lIGluIHR3byBmbGF2b3JzLCBhbmQgaXQg bWlnaHQgYmUgd29ydGggZGlzdGluZ3Vpc2hpbmcgdGhlIHR3byBraW5kcyBiZWZvcmUgbGVhcm5p bmcgaG93IHRvIGV4cHJlc3MgdGhlbS4KClRoZSB0d28ga2luZHMgYXJlIGNhbGxlZCByZXN0cmlj dGl2ZSBhbmQgbm9uLXJlc3RyaWN0aXZlIChvciBpbmNpZGVudGlhbCkgcmVsYXRpdmUgY2xhdXNl cy4gQW4gZXhhbXBsZSB3b3VsZCBiZSBnb29kIGhlcmU6CgrigJxNeSBicm90aGVyLCB3aG8gaXMg dHdvIG1ldGVycyB0YWxsLCBpcyBhIHBvbGl0aWNpYW4u4oCdIFRoaXMgY2FuIGJlIHVuZGVyc3Rv b2QgaW4gdHdvIHdheXMuIEkgY291bGQgaGF2ZSBzZXZlcmFsIGJyb3RoZXJzLCBpbiB3aGljaCBj YXNlIHNheWluZyBoZSBpcyB0d28gbWV0ZXJzIHRhbGwgd2lsbCBsZXQgeW91IGtub3cgd2hpY2gg YnJvdGhlciBJIGFtIHRhbGtpbmcgYWJvdXQuIE9yIEkgbWlnaHQgaGF2ZSBvbmx5IG9uZSBicm90 aGVyLCBpbiB3aGljaCBjYXNlIEkgYW0gc2ltcGx5IGdpdmluZyB5b3UgYWRkaXRpb25hbCBpbmZv cm1hdGlvbi4KCgoKSW4gRW5nbGlzaCBhcyB3ZWxsIGFzIExvamJhbiB3ZSBkaXN0aW5ndWlzaCBi ZXR3ZWVuIHRoZXNlIHR3byBraW5kcyDigJMgdGhlIGZpcnN0IGludGVycHJldGF0aW9uIGlzIHJl c3RyaWN0aXZlIChzaW5jZSBpdCBoZWxwcyByZXN0cmljdCB0aGUgcG9zc2libGUgYnJvdGhlcnMg SSBtaWdodCBiZSB0YWxraW5nIGFib3V0KSwgdGhlIHNlY29uZCBub24tcmVzdHJpY3RpdmUuIFdo ZW4gc3BlYWtpbmcgRW5nbGlzaCwgY29udGV4dCBhbmQgdG9uZSBvZiB2b2ljZSAob3IgaW4gd3Jp dHRlbiBFbmdsaXNoLCBwdW5jdHVhdGlvbikgaGVscHMgdXMgZGlzdGluZ3Vpc2ggYmV0d2VlbiB0 aGVzZSB0d28sIGJ1dCBub3Qgc28gaW4gTG9qYmFuLiBMb2piYW4gdXNlcyB0aGUgY29uc3RydWN0 cyAnJ3BvaeKApmt1J28nJyBhbmQgJydub2nigKZrdSdvJycgZm9yIHJlc3RyaWN0aXZlIGFuZCBu b24tcmVzdHJpY3RpdmUgcmVsYXRpdmUgY2xhdXNlcywgcmVzcGVjdGl2ZWx5LgoKTGV0J3MgaGF2 ZSBhIExvamJhbmljIGV4YW1wbGUsIHdoaWNoIGNhbiBhbHNvIGV4cGxhaW4gb3VyIHN0cmFuZ2Ug Z2lmdC1lYXRpbmcgYmVoYXZpb3VyIGluIHRoZSBleGFtcGxlIGluIGxlc3NvbiBmaXZlOgoKX18n J25vaScnX18gYmVnaW4gbm9uLXJlc3RyaWN0aXZlIHJlbGF0aXZlIGNsYXVzZSAoY2FuIG9ubHkg YXR0YWNoIHRvIHN1bXRpKQoKX18nJ3BvaScnX18gYmVnaW4gcmVzdHJpY3RpdmUgcmVsYXRpdmUg Y2xhdXNlIChjYW4gb25seSBhdHRhY2ggdG8gc3VtdGkpCgpfXycna3UnbycnX18gZW5kIHJlbGF0 aXZlIGNsYXVzZQoKCgonJ21pIGNpdGthIGxvIHNlIGR1bmRhIGt1IHBvaSBwbGlzZSBrdSdvJycg PSDigJxJIGVhdCBhIGdpZnQgc3VjaCB0aGF0IChzb21ldGhpbmcgaXMpIGFuIGFwcGxl4oCdLiAK CkhlcmUgdGhlICcncG9p4oCma3UnbycnIGlzIHBsYWNlZCBqdXN0IGFmdGVyICcnbG8gc2UgZHVu ZGEga3UnJywgc28gaXQgYXBwbGllcyB0byB0aGUgZ2lmdC4gVG8gYmUgc3RyaWN0LCB0aGUgcmVs YXRpdmUgY2xhdXNlIGRvZXMgbm90IHNwZWNpZnkgd2hhdCBpdCBpcywgd2hpY2ggaXMgYW4gYXBw bGUsIGJ1dCBzaW5jZSB0aGUgcmVsYXRpdmUgY2xhdXNlIGFwcGxpZXMgdG8gdGhlIGdpZnQsIHdl IGNhbiBzYWZlbHkgYXNzdW1lIHRoYXQgaXQgbWVhbnMgdGhhdCB0aGUgZ2lmdCBpcyBhbiBhcHBs ZS4gQWZ0ZXIgYWxsLCBpbiB0aGUgY29udGV4dCBvZiBsZXNzb24gZml2ZSwgdGhpcyBzZWVtcyBy ZWFzb25hYmxlLiBJZiB3ZSB3YW50IHRvIGJlIGFic29sdXRlbHkgc3VyZSB0aGF0IGl0IGluZGVl ZCB3YXMgdGhlIGdpZnQgdGhhdCB3YXMgYW4gYXBwbGUsIHdlIHVzZSB0aGUgd29yZCAnJ2tlJ2En Jywgd2hpY2ggaXMgYSAnJ3N1bWthJ2knJyAoYSBMb2piYW4gcHJvbm91biwgbW9yZSBvbiB0aGVt IGxhdGVyKSByZXByZXNlbnRpbmcgdGhlIHN1bXRpIHdoaWNoIHRoZSByZWxhdGl2ZSBjbGF1c2Ug aXMgYXR0YWNoZWQgdG8uCgpfXycna2UnYScnX18gc3Vta2EnaTsgcmVmZXJzIHRvIHRoZSBzdW10 aSwgdG8gd2hpY2ggdGhlIHJlbGF0aXZlIGNsYXVzZSBpdCBhdHRhY2hlZC4KCgoKJycudWkgbWkg Y2l0a2EgbG8gc2UgZHVuZGEga3UgcG9pIGtlJ2EgcGxpc2Uga3UnbycnID0g4oCcWWF5LCBJIGVh dCBhIGdpZnQgd2hpY2ggaXMgYW4gYXBwbGXigJ0uCgpUbyB1bmRlcmxpbmUgdGhlIGRpZmZlcmVu Y2UgYmV0d2VlbiByZXN0cmljdGl2ZSBhbmQgbm9uLXJlc3RyaWN0aXZlIHJlbGF0aXZlIGNsYXVz ZXMsIGhlcmUncyBhbm90aGVyIGV4YW1wbGU6CgoKCl9fJydsb2pibycnX18g4oCceDEgcmVmbGVj dHMgTG9qYmFuaWMgY3VsdHVyZS9jb21tdW5pdHkgaXMgYXNwZWN0IHgyOyB4MSBpcyBMb2piYW5p Yy7igJ0KCgoKJydtaSBub2kgbG9qYm8ga3UnbyBmYW52YSBmbyBsbyBsb2pibyBrdScnID0g4oCc SSwgd2hvIGFtIGEgTG9qYmFuaWMsIHRyYW5zbGF0ZSBmcm9tIHNvbWUgTG9qYmFuaWMgbGFuZ3Vh Z2Uu4oCdIEhlcmUsIHRoZXJlIGlzIG5vdCBtdWx0aXBsZSB0aGluZ3Mgd2hpY2ggJydtaScnIGNv dWxkIHJlZmVyIHRvLCBhbmQgdGhlIGZhY3QgdGhhdCBJIGFtIGxvamJhbmljIGlzIG1lcmVseSBh ZGRpdGlvbmFsIGluZm9ybWF0aW9uIG5vdCBuZWVkZWQgdG8gaWRlbnRpZnkgbWUuIFRoZXJlZm9y ZSAnJ25vaeKApmt1J28nJyBpcyBhcHByb3ByaWF0ZS4KClNlZSBpZiB5b3UgY2FuIHRyYW5zbGF0 ZSB0aGlzOiDigJxJIGZsaXJ0IHdpdGggYSBtYW4gd2hvIGlzIGJlYXV0aWZ1bC9oYW5kc29tZeKA nS4KCl9fJyduYW5tdScnX18g4oCceDEgaXMgYSBtYW7igJ0KCl9fJydtZWxiaScnX18g4oCceDEg aXMgYmVhdXRpZnVsIHRvIHgyIGluIGFzcGVjdCAoa2EpIHgzIGJ5IHN0YW5kYXJkIHg04oCdCgpf XycnY2luamlrY2EnJ19fIOKAnHgxIGZsaXJ0cy9jb3VydHMgeDIsIGV4aGliaXRpbmcgc2V4dWFs aXR5IHgzIGJ5IHN0YW5kYXJkIHg04oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBjaW5q aWtjYSBsbyBuYW5tdSBrdSBwb2kge2tlJ2F9IG1lbGJpIGt1J28nJ35+CgoKCk9uIGEgbW9yZSB0 ZWNobmljYWwgc2lkZSBub3RlLCBpdCBtaWdodCBiZSB1c2VmdWwgdG8ga25vdyB0aGF0ICcnbG8g e3NlbGJyaX0ga3UnJyBpcyBvZnRlbiBzZWVuIGRlZmluZWQgYXMgJyd6bydlIG5vaSBrZSdhIHtz ZWxicml9IGt1J28nJy4KCgoKCgohIUxvamJhbiBMZXNzb25zIOKAkyBMZXNzb24gZWlnaHQgKHRl cm1pbmF0b3IgZWxpc2lvbikKCicnLmF1IGRhJ2kgbWkgZGppY2EgbG8gbnUgbGUgbWVya28gcG9p IHR1bmJhIG1pIF9fdmF1IGt1J28ga3VfXyBqaW1wZSBsbyBkdSd1IG1pIG5hIG5lbGNpIGxvIG51 IHZvJ2EgZGFyeGkgbWkgX192YXUga2VpIGt1IHZhdSBrZWkga3UgdmF1IGtlaSBrdSB2YXVfXycn CgogLSAg4oCcSSB3aXNoIHRoZSBBbWVyaWNhbiwgd2hvIGlzIG15IHNpYmxpbmcsIHdvdWxkIHVu ZGVyc3RhbmQgdGhhdCBJIGRvbid0IGxpa2UgdGhhdCBoZSBoaXRzIG1lLuKAnQoKUmVnYXJkbGVz cyBvZiB3aGV0aGVyIHRoZSBhYm92ZSBzZW50ZW5jZSBpcyBiZWluZyB1bmRlcnN0b29kLCAoaXQg c2hvdWxkbid0LCBhcyBpdCBjb250YWlucyB3b3JkcyB3ZSBoYXZlIG5vdCBjb3ZlcmVkIGluIHRo ZXNlIGxlc3NvbnMgeWV0KSBvbmUgdGhpbmcgc3RhbmRzIG91dDogQXMgbW9yZSBjb21wbGV4IExv amJhbiBzdHJ1Y3R1cmVzIGFyZSBsZWFybmVkLCBtb3JlIGFuZCBtb3JlIG9mIHRoZSBzZW50ZW5j ZXMgZ2V0IGZpbGxlZCB3aXRoICcna3UnJywgJydrZWknJywgJydrdSdvJycgYW5kIG90aGVyIG9m IHRob3NlIHdvcmRzIHdoaWNoIGJ5IHRoZW1zZWx2ZXMgY2Fycnkgbm8gbWVhbmluZy4KCgoKVGhl IGZ1bmN0aW9uIG9mIGFsbCB0aGVzZSB3b3JkcyBpcyB0byBzaWduYWwgdGhlIGVuZCBvZiBhIGNl cnRhaW4gZ3JhbW1hdGljYWwgY29uc3RydWN0LCBsaWtlIGZvciBpbnN0YW5jZSDigJxjb252ZXJ0 IHNlbGJyaSB0byBzdW10aeKAnSBpbiB0aGUgY2FzZSBvZiAnJ2t1JycuIFRoZSBFbmdsaXNoIHdv cmQgZm9yIHRoaXMga2luZCBvZiB3b3JkIGlzIOKAnHRlcm1pbmF0b3LigJ0sIHRoZSBMb2piYW4g d29yZCBpcyAnJ2ZhJ29ybWEnbycnLiBUaGV5IGFyZSB3cml0dGVuIGluIGJvbGQgaW4gdGhlIGV4 YW1wbGUgYWJvdmUuCgpOb3RlOiBUaGUgJyd2YXUnJyBpbiB0aGUgYWJvdmUgZXhhbXBsZSBhcmUg dGhlIGZhJ29ybWEnbyBmb3Ig4oCcZW5kIGJyaWRp4oCdLiBUaGVyZSBpcyBhIGdvb2QgcmVhc29u IHlvdSBoYXZlIG5vdCB5ZXQgc2VlbiBpdCwgc3RheSB0dW5lZC4KCl9fJyd2YXUnJ19fIGZhJ29y bWEnbzogVGVybWluYXRlcyBicmlkaS4KCgoKSW4gbW9zdCBzcG9rZW4gYW5kIHdyaXR0ZW4gTG9q YmFuLCBtb3N0IGZhJ29ybWEnbyBhcmUgc2tpcHBlZCAoZWxpZGVkKS4gVGhpcyBncmVhdGx5IHNh dmVzIHN5bGxhYmxlcyBpbiBzcGVlY2ggYW5kIHNwYWNlIGluIHdyaXRpbmcsIGhvd2V2ZXIsIG9u ZSBtdXN0IGFsd2F5cyBiZSBjYXJlZnVsIHdoZW4gZWxpZGluZyBmYSdvcm1hJ28uIEluIHRoZSBz aW1wbGUgZXhhbXBsZSAnJ2xvIG1lcmtvIGt1IGtsYW1hJycsIHJlbW92aW5nIHRoZSBmYSdvcm1h J28gJydrdScnIHdvdWxkIHlpZWxkICcnbG8gbWVya28ga2xhbWEnJywgd2hpY2ggaXMgYSBzaW5n bGUgc3VtdGkgbWFkZSBmcm9tIHRoZSB0YW5ydSAnJ21lcmtvIGtsYW1hJycuIFRodXMsIGl0IG1l YW5zIOKAnGFuIEFtZXJpY2FuIHRyYXZlbGVy4oCdIGluc3RlYWQgb2Yg4oCcYW4gQW1lcmljYW4g dHJhdmVsc+KAnS4gZmEnb3JtYSdvIGVsaXNpb24gY2FuIGxlYWQgdG8gdmVyeSB3cm9uZyByZXN1 bHRzIGlmIGRvbmUgaW5jb3JyZWN0bHksIHdoaWNoIGlzIHdoeSB5b3UgaGF2ZW4ndCBsZWFybmVk IGFib3V0IGl0IHVudGlsIG5vdy4KCgoKVGhlIHJ1bGUgZm9yIHdoZW4gZmEnb3JtYSdvIGNhbiBi ZSBlbGlkZWQgaXMgdmVyeSBzaW1wbGUsIGF0IGxlYXN0IGluIHRoZW9yeTog4oCcWW91IGNhbiBl bGlkZSBhIGZhJ29ybWEnbywgX19pZiBhbmQgb25seSBpZl9fIGRvaW5nIHNvIGRvZXMgbm90IGNo YW5nZSB0aGUgZ3JhbW1hdGljYWwgY29uc3RydWN0cyBpbiB0aGUgc2VudGVuY2Uu4oCdCgpNb3N0 IGZhJ29ybWEnbyBjYW4gYmUgc2FmZWx5IGVsaWRlZCBhdCB0aGUgZW5kIG9mIHRoZSBicmlkaS4g RXhjZXB0aW9ucyBhcmUgdGhlIG9idmlvdXMgb25lcyBsaWtlIOKAnGVuZCBxdW90ZeKAnS1mYSdv cm1hJ28gYW5kIOKAnGVuZCBicmlkaSBncm91cGluZ+KAnS1mYSdvcm1hJ28uIFRoaXMgaXMgd2h5 ICcndmF1JycgaXMgYWxtb3N0IG5ldmVyIHVzZWQg4oCTIHNpbXBseSBiZWdpbm5pbmcgYSBuZXcg YnJpZGkgd2l0aCAnJy5pJycgd2lsbCBhbG1vc3QgYWx3YXlzIHRlcm1pbmF0ZSB0aGUgcHJlY2Vk aW5nIGJyaWRpIGFueXdheS4gSXQgaGFzIG9uZSBmcmVxdWVudCB1c2UsIGhvd2V2ZXIuIFNpbmNl IGF0dGl0dWRpbmFscyBhbHdheXMgYXBwbHkgdG8gdGhlIHByZWNlZGluZyB3b3JkLCBhcHBseWlu ZyBpdCB0byBhIGZhJ29ybWEnbyBhcHBsaWVzIGl0IHRvIHRoZSBlbnRpcmUgY29uc3RydWN0IHdo aWNoIGlzIHRlcm1pbmF0ZWQuIFVzaW5nICcndmF1JycsIG9uZSBjYW4gdGhlbiB1c2UgYXR0aXR1 ZGluYWxzIGFmdGVydGhvdWdodCBhbmQgYXBwbHkgdGhlbSB0byB0aGUgZW50aXJlIGJyaWRpOgoK Jyd6YSdhIGRvIGR1bmRhIGxvIHpkYW5pIHtrdX0gbG8gcHJlbnUge2t1fS4uLiB2YXUgaSdlJycg LSDigJxJIHNlZSB0aGF0IHlvdSBnaXZlIGEgaG9tZSB0byBhIHBlcnNvbi4uLiBJIGFwcHJvdmUh 4oCdCgpfXycncHJlbnUnJ19fIHgxIGlzIGEgcGVyc29uOyB4MSBoYXMgYSBwZXJzb25hbGl0eS4K CgoKS25vd2luZyB0aGUgYmFzaWMgcnVsZXMgZm9yIGZhJ29ybWEnbyBlbGlzaW9uLCB3ZSBjYW4g dGh1cyByZXR1cm4gdG8gdGhlIG9yaWdpbmFsIHNlbnRlbmNlIGFuZCBiZWdpbiByZW1vdmluZyBm YSdvcm1hJ286CgoKCicnLmF1IGRhJ2kgbWkgZGppY2EgbG8gbnUgbGUgbWVya28gcG9pIHR1bmJh IG1pIF9fdmF1IGt1J28ga3VfXyBqaW1wZSBsbyBkdSd1IG1pIG5hIG5lbGNpIGxvIG51IHZvJ2Eg ZGFyeGkgbWkgX192YXUga2VpIGt1IHZhdSBrZWkga3UgdmF1IGtlaSBrdSB2YXVfXycnCgoKCldl IGNhbiBzZWUgdGhhdCB0aGUgZmlyc3QgJyd2YXUnJyBpcyBncmFtbWF0aWNhbGx5IHVubmVjZXNz YXJ5LCBiZWNhdXNlIHRoZSBuZXh0IG5vbi1mYSdvcm1hJ28td29yZCBpcyAnJ2ppbXBlJycsIHdo aWNoIGlzIGEgc2VsYnJpLiBTaW5jZSB0aGVyZSBjYW4gb25seSBiZSBvbmUgc2VsYnJpIHBlciBi cmlkaSwgJyd2YXUnJyBpcyBub3QgbmVlZGVkLiBTaW5jZSAnJ2ppbXBlJycgYXMgYSBzZWxicmkg Y2Fubm90IGJlIGluIHRoZSByZWxhdGl2ZSBjbGF1c2UgZWl0aGVyIChvbmx5IG9uZSBicmlkaSBp biBhIGNsYXVzZSwgb25seSBvbmUgc2VsYnJpIGluIGVhY2ggYnJpZGkpLCB3ZSBjYW4gZWxpZGUg JydrdSdvJycuIExpa2V3aXNlLCAnJ2ppbXBlJycgY2Fubm90IGJlIGEgc2Vjb25kIHNlbGJyaSBp bnNpZGUgdGhlIGNvbnN0cnVjdCAnJ2xlIG1lcmtvIHBvaXsuLi59JycsIHNvIHRoZSAnJ2t1Jycg aXMgbm90IG5lZWRlZCBlaXRoZXIuIEZ1cnRoZXJtb3JlLCBhbGwgdGhlIGZhJ29ybWEnbyBhdCB0 aGUgdmVyeSBlbmQgb2YgdGhlIHNlbnRlbmNlIGNhbiBiZSBlbGlkZWQgdG9vLCBzaW5jZSBiZWdp bm5pbmcgYSBuZXcgYnJpZGkgd2lsbCB0ZXJtaW5hdGUgYWxsIG9mIHRoZXNlIGNvbnN0cnVjdHMg YW55d2F5LgoKV2UgdGhlbiBlbmQgdXAgd2l0aDoKCicnLmF1IGRhJ2kgbWkgZGppY2EgbG8gbnUg bGUgbWVya28gcG9pIHR1bmJhIG1pIGppbXBlIGxvIGR1J3UgbWkgbmEgbmVsY2kgbG8gbnUgdm8n YSBkYXJ4aSBtaScnIOKAkyB3aXRoIG5vIGZhJ29ybWEnbyBhdCBhbGwhCgoKCldoZW4gZWxpZGlu ZyBmYSdvcm1hJ28sIGl0IGlzIGEgZ29vZCBpZGVhIHRvIGJlIGFjcXVhaW50ZWQgd2l0aCAnJ2N1 JycuICcnY3UnJyBpcyBvbmUgb2YgdGhvc2Ugd29yZHMgd2hpY2ggY2FuIG1ha2UgeW91ciAoTG9q YmFuaWMpIGxpZmUgYSBsb3QgZWFzaWVyLiBXaGF0IGl0IGRvZXMgaXMgdG8gc2VwYXJhdGUgYW55 IHByZXZpb3VzIHN1bXRpIGZyb20gdGhlIHNlbGJyaS4gT25lIGNvdWxkIHNheSB0aGF0IGl0IGRl ZmluZXMgdGhlIG5leHQgd29yZCB0byBiZSBhIHNlbGJyaSwgYW5kIHRlcm1pbmF0ZXMgZXhhY3Rs eSBhcyBtdWNoIGFzIGl0IG5lZWRzIHRvIGluIG9yZGVyIHRvIGRvIHRoYXQuCgpfXycnY3UnJ19f IGVsaWRhYmxlIG1hcmtlcjogc2VwYXJhdGVzIHNlbGJyaSBmcm9tIHByZWNlZGluZyBzdW10aSwg YWxsb3dzIHByZWNlZGluZyBmYSdvcm1hJ28gZWxpc2lvbi4KCgoKX18nJ3ByYW1pJydfXyA9IOKA nHgxIGxvdmVzIHgy4oCdCgoKCicnbG8gc3UndSBkbyBjdXNrdSBsbyBzZSBkdSd1IGRvIHByYW1p IG1pIF9fdmF1IGtlaSBrdSB2YXUga2VpIGt1X18gc2UgZGppY2EgbWknJyA9CgonJ2xvIHN1J3Ug ZG8gY3Vza3UgbG8gc2UgZHUndSBkbyBwcmFtaSBtaSBfX2N1X18gc2UgZGppY2EgbWknJwoK4oCc VGhhdCB5b3Ugc2F5IHRoYXQgeW91IGxvdmUgbWUgaXMgZGVzaXJlZCBieSBiZeKAnSBvciDigJxJ IHdpc2ggeW91IHNhaWQgeW91IGxvdmVkIG1l4oCdCgpub3RlOiAnJ2N1JycgaXMgbm90IGEgZmEn b3JtYSdvLCBiZWNhdXNlIGl0IGlzIG5vdCB0aWVkIHRvIG9uZSBzcGVjaWZpYyBjb25zdHJ1Y3Qu IEJ1dCBpdCBjYW4gYmUgdXNlZCB0byBlbGlkZSBvdGhlciBmYSdvcm1hJ28uCgoKCk9uZSBvZiB0 aGUgZ3JlYXRlc3Qgc3RyZW5ndGhzIG9mICcnY3UnJyBpcyB0aGF0IGl0IHF1aWNrbHkgYmVjb21l cyBlYXN5IHRvIGludHVpdGl2ZWx5IHVuZGVyc3RhbmQuIEJ5IGl0c2VsZiBpdCBtZWFucyBub3Ro aW5nLCBidXQgaXQgcmV2ZWFscyB0aGUgc3RydWN0dXJlIG9mIExvamJhbiBleHByZXNzaW9ucyBi eSBpZGVudGlmeWluZyB0aGUgY29yZSBzZWxicmkuIEluIHRoZSBvcmlnaW5hbCBleGFtcGxlIHdp dGggdGhlIHZpb2xlbnQgQW1lcmljYW4gYnJvdGhlciwgdXNpbmcgJydjdScnIGJlZm9yZSAnJ2pp bXBlJycgZG9lcyBub3QgY2hhbmdlIHRoZSBtZWFuaW5nIG9mIHRoZSBzZW50ZW5jZSBpbiBhbnkg d2F5LCBidXQgbWlnaHQgbWFrZSBpdCBlYXNpZXIgdG8gcmVhZC4KCgoKSW4gdGhlIGZvbGxvd2lu ZyBjb3VwbGUgb2YgbGVzc29ucywgJydjdScnIHdpbGwgYmUgdXNlZCB3aGVuIG5lY2Vzc2FyeSwg YW5kIGFsbCBmYSdvcm1hJ28gZWxpZGVkIGlmIHBvc3NpYmxlLiBUaGUgZWxpZGVkIGZhJ29ybWEn byB3aWxsIGJlIGVuY2FzZWQgaW4gY3VybHkgYnJhY2tldHMsIGFzIHNob3duIGJlbG93LiBUcnkg dG8gdHJhbnNsYXRlIGl0IQoKX18nJ3Zham5pJydfXyDigJx4MSBpcyBpbXBvcnRhbnQgdG8geDIg Zm9yIHJlYXNvbiB4M+KAnQoKX18nJ2ppbXBlJydfXyDigJx4MSB1bmRlcnN0YW5kcyB0aGF0IHgy IChkdSd1LWFic3RyYWN0aW9uKSBpcyB0cnVlIGFib3V0IHgz4oCdCgpfXycnYSdvJydfXyAtIEF0 dGl0dWRpbmFsOiBTaW1wbGUgcHJvcG9zaXRpb25hbCBlbW90aW9uOiBIb3BlIC0gZGVzcGFpcgoK CgonJ2EnbyBkbyBub2kga2UnYSBsb2pibyAuaSdlIHtrdSdvfSB7a3V9IGN1IGppbXBlIGxvIGR1 J3UgbG8gZmEnb3JtYSdvIHtrdX0gY3UgdmFqbmkge3ZhdX0ge2tlaX0ge2t1fSB7dmF1fScnCgpX aGF0IGRvIEkgc3RhdGU/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcSSBob3BlIHRoYXQgeW91 LCBhIHByb3VkIExvamJhbmlzdCwgdW5kZXJzdGFuZHMgdGhhdCBmYSdvcm1hJ28gYXJlIGltcG9y dGFudOKAnX5+CgoKCkZ1biBzaWRlIG5vdGU6IE1vc3QgcGVvcGxlIHdlbGwtdmVyc2VkIGluIGZh J29ybWEnby1lbGlzaW9uIGRvIGl0IHNvIGluc3RpbmN0aXZlbHkgdGhhdCB0aGV5IG9mdGVuIG11 c3QgYmUgcmVtaW5kZWQgaG93IGltcG9ydGFudCB1bmRlcnN0YW5kaW5nIGZhJ29ybWEnbyBhcmUg dG8gdGhlIHVuZGVyc3RhbmRpbmcgb2YgTG9qYmFuLiBUaGVyZWZvcmUsIGVhY2ggVHVlc2RheSBo YXZlIGJlZW4gZGVzaWduYXRlZCDigJxUZXJtaW5hdG9yIERheeKAnSBvciAnJ2ZhJ29ybWEnbyBk amVkaScnIG9uIHRoZSBMb2piYW4gSVJDIGNoYXRyb29tLiBEdXJpbmcgVGVybWluYXRvciBEYXks IG1hbnkgcGVvcGxlIHRyeSAoYW5kIG9mdGVuIGZhaWwpIHRvIHJlbWVtYmVyIHdyaXRpbmcgb3V0 IGFsbCBmYSdvcm1hJ28gd2l0aCBzb21lIHZlcnkgdmVyYm9zZSBjb252ZXJzYXRpb25zIGFzIGEg cmVzdWx0LgoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gbmluZSAoc3VtdGNpdGEpCgpT byBmYXIgd2UgaGF2ZSBiZWVuIGRvaW5nIHByZXR0eSB3ZWxsIHdpdGggdGhlIHNlbGJyaSB3ZSBo YXZlIGhhZCBhdCBoYW5kLiBIb3dldmVyLCB0aGVyZSBpcyBhIGZpbml0ZSBhbW91bnQgb2YgZGVm aW5lZCBzZWxicmkgb3V0IHRoZXJlLCBhbmQgaW4gbWFueSBjYXNlcyB0aGUgc3VtdGkgcGxhY2Vz IGFyZSBub3QgdXNlZnVsIGZvciB3aGF0IHdlIGhhZCBpbiBtaW5kLiBXaGF0IGlmLCBzYXksIGkg d2FudCB0byBzYXkgdGhhdCBJIGFtIHRyYW5zbGF0aW5nIHVzaW5nIGEgY29tcHV0ZXI/IFRoZXJl IGlzIG5vIHBsYWNlIGluIHRoZSBzdHJ1Y3R1cmUgb2YgJydmYW52YScnIHRvIHNwZWNpZnkgd2hh dCB0b29sIEkgdHJhbnNsYXRlIHdpdGgsIHNpbmNlLCBtb3N0IG9mIHRoZSB0aW1lLCB0aGF0IGlz IG5vdCBuZWNlc3NhcnkuIE5vdCB0byB3b3JyeSwgdGhpcyBsZXNzb24gaXMgb24gaG93IHRvIGFk ZCBhZGRpdGlvbmFsIHN1bXRpIHBsYWNlcyB0byB0aGUgc2VsYnJpLgoKCgpUaGUgbW9zdCBiYXNp YyB3YXkgdG8gYWRkIHN1bXRpIHBsYWNlcyBhcmUgd2l0aCAnJ2ZpJ28gU0VMQlJJIGZlJ3UnJyAo eWVzLCBhbm90aGVyIGV4YW1wbGUgb2YgYSBmYSdvcm1hJ28sICcnZmUndScnLiBJdCdzIGFsbW9z dCBuZXZlciBuZWNlc3NhcnksIHNvIHRoaXMgbWlnaHQgYmUgdGhlIGxhc3QgdGltZSB5b3UgZXZl ciBzZWUgaXQuKQoKSW4gYmV0d2VlbiB0aGVzZSB0d28gd29yZHMgZ29lcyBhIHNlbGJyaSwgYW5k IGxpa2UgJydsbyBTRUxCUkkga3UnJywgJydmaSdvIFNFTEJSSSBmZSd1JycgZXh0cmFjdHMgdGhl IHgxIG9mIHRoZSBzZWxicmkgcHV0IGludG8gaXQuIEhvd2V2ZXIsIHdpdGggJydmaSdvIFNFTEJS SSBmZSd1JycsIHRoZSBzZWxicmkgcGxhY2UgaXMgY29udmVydGVkLCBub3QgdG8gYSBzdW10aSwg YnV0IHRvIGEgJydzdW10Y2l0YScnLCBtZWFuaW5nIOKAnHN1bXRpLWxhYmVs4oCdLCB3aXRoIHRo ZSBwbGFjZSBzdHJ1Y3R1cmUgb2YgdGhlIHgxIG9mIHRoZSBzZWxicmkgaXQgY29udmVydGVkLiBU aGlzICcnc3VtdGNpdGEnJyB0aGVuIGFic29yYnMgdGhlIG5leHQgc3VtdGkuIE9uZSBjb3VsZCBz YXkgdGhhdCB1c2luZyBhICcnc3VtdGNpdGEnJywgeW91IGltcG9ydCBhIHN1bXRpIHBsYWNlIGZy b20gYW5vdGhlciBzZWxicmksIGFuZCBhZGQgaXQgdG8gdGhlIGJyaWRpIGJlaW5nIHNhaWQuCgpO b3RlOiBTb21ldGltZXMsIGVzcGVjaWFsbHkgaW4gb2xkZXIgdGV4dHMsIHRoZSB0ZXJtIOKAnHRh Z+KAnSBvciDigJxtb2RhbOKAnSBpcyB1c2VkIGZvciAnJ3N1bXRjaXRhJycuIElnbm9yZSB0aG9z ZSBwdW55IEVuZ2xpc2ggZXhwcmVzc2lvbnMuIFdlIHRlYWNoIHByb3BlciBMb2piYW4gaGVyZS4K CgoKV2hpbGUgaXQgaXMgaGFyZCB0byBncmFzcCB0aGUgcHJvY2VzcyBmcm9tIHJlYWRpbmcgYWJv dXQgaXQsIGFuIGV4YW1wbGUgY2FuIHBlcmhhcHMgc2hvdyBpdHMgYWN0dWFsIHNpbXBsaWNpdHk6 CgpfXycnc2thbWknJ19fIOKAnHgxIGlzIGEgY29tcHV0ZXIgZm9yIHB1cnBvc2UgeDLigJ0KCl9f JydwaWxubycnX18g4oCceDEgdXNlcyB4MiBhcyBhIHRvb2wgZm9yIGRvaW5nIHgz4oCdCgoKCicn bWkgZmFudmEgdGkgZmknbyBzZSBwaWxubyB7ZmUndX0gbG8gc2thbWkge2t1fXt2YXV9JycgLSDi gJxJIHRyYW5zbGF0ZSB0aGlzIHdpdGggYSBjb21wdXRlcuKAnSBUaGUgeDIgb2YgJydwaWxubycn LCB3aGljaCBpcyB0aGUgeDEgb2YgJydzZSBwaWxubycnIGlzIGEgcGxhY2Ugc3RydWN0dXJlIGZv ciBhIHRvb2wgYmVpbmcgdXNlZCBieSBzb21lb25lLiBUaGlzIHBsYWNlIHN0cnVjdHVyZSBpcyBj YXB0dXJlZCBieSAnJ2ZpJ28gU0VMQlJJIGZlJ3UnJywgYWRkZWQgdG8gdGhlIG1haW4gc2VsYnJp LCBhbmQgdGhlbiBmaWxsZWQgYnkgJydsbyBza2FtaScnLiBUaGUgaWRlYSBvZiAnJ3N1bXRjaXRh JycgaXMgc29tZXRpbWVzIGV4cHJlc3NlZCBpbiBFbmdsaXNoIHVzaW5nIHRoZSBmb2xsb3dpbmcg dHJhbnNsYXRpb246CgrigJxJIHRyYW5zbGF0ZSB0aGlzIHdpdGgtdG9vbDogQSBjb21wdXRlcuKA nQoKCgpBICcnc3VtdGNpdGEnJyBjYW4gb25seSBhYnNvcmIgb25lIHN1bXRpLCB3aGljaCBpcyBh bHdheXMgdGhlIGZvbGxvd2luZyBvbmUuIEFsdGVybmF0aXZlbHksIHRoZSAnJ3N1bXRjaXRhJycg Y29uc3RydWN0IGNhbiBiZSB0ZXJtaW5hdGVkIHdpdGggJydrdScnLCBpbiB3aGljaCBjYXNlIGEg Jyd6bydlJycgaXMgaW1wbGllZCB0byBmaWxsIHRoZSAnJ3N1bXRjaXRhJycuIE9yLCBvbmUgY291 bGQgaW1hZ2luZSBhbiBlbGlkZWQgc3VtdGkgYmVpbmcgdGVybWluYXRlZCB3aXRoIHRoZSAnJ2t1 JycuCgpfXycnenVrdGUnJ19fIOKAnHgxIGlzIGEgdm9saXRpb25hbCBlbnRpdHkgY2Fycnlpbmcg b3V0IGFjdGlvbiB4MiBmb3IgcHVycG9zZSB4M+KAnQoKCgonJ2ZpJ28genVrdGUge2ZlJ3V9IGt1 IGxvIHNrYW1pIHtrdX0gY3UgcGlsbm8gbG8gbG9qYm8ge2t1fXt2YXV9JycgLSDigJxXaXRoIHZv bGl0aW9uLCBhIGNvbXB1dGVyIHVzZWQgc29tZXRoaW5nIExvamJhbmlj4oCdIChwZXJoYXBzIGlt cGx5aW5nIHRoYXQgYSBMb2piYW5pYyBjb21wdXRlciB3ZW50IHNlbnRpZW50PyBUb3VnaCBpdCBk b2VzIG5vdCBzcGVjaWZ5IHdobyBoYWQgdm9saXRpb24uIEl0IGNvdWxkIGp1c3QgYmUgdGhlIHBy b2dyYW1tZXIgd2hvIHByb2dyYW1tZWQgdGhlIGNvbXB1dGVyIC0gaG93IGJvcmluZy4pCgoKCldo YXQgZG9lcyAnJ21pIGppbXBlIGZpIGxhIGxvamJhbiB7a3V9IGZpJ28gc2UgdGF2bGEge2ZlJ3V9 IG1pJycgc3RhdGU/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcSSB1bmRlcnN0YW5kIHNvbWV0 aGluZyBhYm91dCBMb2piYW4sIHNwb2tlbiB0byBtZeKAnX5+CgoKClB1dHRpbmcgdGhlICcnc3Vt dGNpdGEnJyByaWdodCBpbiBmcm9udCBvZiB0aGUgc2VsYnJpIGFsc28gbWFrZXMgaXQgc2VsZi10 ZXJtaW5hdGUsIHNpbmNlIHN1bXRjaXRhIG9ubHkgY2FuIGFic29yYiBzdW10aSwgYW5kIG5vdCBz ZWxicmkuIFRoaXMgZmFjdCB3aWxsIGJlIG9mIGltcG9ydGFuY2UgaW4gbmV4dCBsZXNzb24sIGFz IHlvdSB3aWxsIHNlZS4KCgoKU2FkbHksICcnZmknbycnIGlzIG5vdCB1c2VkIHZlcnkgb2Z0ZW4g ZGVzcGl0ZSBpdHMgZmxleGliaWxpdHkuIFdoYXQgSVMgdXNlZCB2ZXJ5IG9mdGVuLCB0aG91Z2gs IGFyZSBCQUkuIEJBSSBpcyBhIGNsYXNzIG9mIExvamJhbiB3b3Jkcywgd2hpY2ggaW4gdGhlbXNl bHZlcyBhY3QgYXMgJydzdW10Y2l0YScnLiBBbiBleGFtcGxlIG9mIHRoaXMgaXMgJyd6dSdlJycs IHRoZSBCQUkgZm9yICcnenVrdGUnJy4gR3JhbWF0aWNhbGx5LCAnJ3p1J2UnJyBpcyB0aGUgc2Ft ZSBhcyAnJ2ZpJ28genVrdGUgZmUndScnLiBUaHVzLCB0aGUgYWJvdmUgZXhhbXBsZSBjb3VsZCBi ZSByZWR1Y2VkIHRvOgoKJyd6dSdlIGt1IGxvIHNrYW1pIHtrdX0gY3UgcGlsbm8gbG8gbG9qYm8g e2t1fSB7dmF1fScnLiBUaGVyZSBleGlzdCBzb21ldGhpbmcgbGlrZSA2MCBCQUksIGFuZCBhIGxv dCBvZiB0aGVzZSBhcmUgdmVyeSB1c2VmdWwgaW5kZWVkLiBGdXJ0ZXJtb3JlLCBCQUkgY2FuIGFs c28gYmUgY29udmVydGVkIHdpdGggJydzZScnIGFuZCBmcmllbmRzLCBtZWFuaW5nIHRoYXQgJydz ZSB6dSdlJycgaXMgZXF1YWwgdG8gJydmaSdvIHNlIHp1a3RlIGZlJ3UnJywgd2hpY2ggcmVzdWx0 cyBpbiBhIGdyZWF0IGRlYWwgbW9yZSBCQUkuCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24g dGVuIChQVSwgRkFoQSwgWkksIFZBLCBaRWhBLCBWRWhBKQoKSG93IHVuZmFtaWxpYXIgdG8gdGhl IEVuZ2xpc2gtc3BlYWtlciBhIGxhbmd1YWdlIExvamJhbiBpcyB3aGVuIG9uZSBjYW4gcmVhZCB0 aHJvdWdoIG5pbmUgbGVzc29ucyBvZiBMb2piYW4gZ3JhbW1hciB3aXRob3V0IG1lZXRpbmcgYSB0 ZW5zZSBvbmNlLiBUaGlzIGlzIGJlY2F1c2UsIHVubGlrZSBtYW55IG5hdHVyYWwgbGFuZ3VhZ2Vz IChtb3N0IEluZG8tRXVyb3BlYW4gb25lcywgZm9yIGluc3RhbmNlKSwgYWxsIHRlbnNlcyBpbiBM b2piYW4gYXJlIG9wdGlvbmFsLiBTYXlpbmcgJydtaSBjaXRrYSBsbyBjaXJsYSB7a3V9JycgY2Fu IG1lYW4g4oCcSSBlYXQgY2hlZXNl4oCdIG9yIOKAnEkgYXRlIHRoZSBjaGVlc2XigJ0gb3Ig4oCc SSBhbHdheXMgZWF0IGNoZWVzZeKAnSBvciDigJxJbiBhIG1vbWVudCwgaSB3aWxsIGhhdmUganVz dCBmaW5pc2hlZCBlYXRpbmcgY2hlZXNl4oCdLiBDb250ZXh0IHJlc29sdmVzIHdoYXQgaXMgY29y cmVjdCwgYW5kIGluIG1vc3QgY29udmVyc2F0aW9uLCB0ZW5zZXMgYXJlIG5vdCBuZWVkZWQgYXQg YWxsLiBIb3dldmVyLCB3aGVuIGl0J3MgbmVlZGVkIGl0J3MgbmVlZGVkLCBhbmQgaXQgbXVzdCBi ZSB0YXVnaHQuIEZ1cnRoZXJtb3JlLCBMb2piYW4gdGVuc2VzIGFyZSB1bnVzdWFsIGJlY2F1c2Ug dGhleSB0cmVhdCB0aW1lIGFuZCBzcGFjZSBmdW5kYW1lbnRhbGx5IHRoZSBzYW1lIC0gc2F5aW5n IHRoYXQgSSB3b3JrZWQgYSBsb25nIHRpbWUgYWdvIGlzIG5vdCBncmFtbWF0aWNhbGx5IGRpZmZl cmVudCB0aGFuIHNheWluZyBJIHdvcmsgZmFyIGF3YXkgdG8gdGhlIG5vcnRoLgoKTGlrZSBtYW55 IG90aGVyIGxhbmd1YWdlcywgdGhlIExvamJhbiB0ZW5zZSBzeXN0ZW0gaXMgcGVyaGFwcyB0aGUg bW9zdCBkaWZmaWN1bHQgcGFydCBvZiB0aGUgbGFuZ3VhZ2UuIFVubGlrZSBtYW55IG90aGVyIGxh bmd1YWdlcyB0aG91Z2gsIGl0J3MgcGVyZmVjdGx5IHJlZ3VsYXIgYW5kIG1ha2VzIHNlbnNlLiBT byBmZWFyIG5vdCwgZm9yIGl0IHdpbGwgbm90IGludm9sdmUgc3dlYXRpbmcgdG8gbGVhcm4gaG93 IHRvIG1vZGlmeSB0aGUgc2VsYnJpIG9yIGFueXRoaW5nIHNpbGx5IGxpa2UgdGhhdC4KCgoKTm8s IGluIHRoZSBMb2piYW4gdGVuc2Ugc3lzdGVtLCBhbGwgdGVuc2VzIGFyZSBzdW10Y2l0YSwgd2hp Y2ggd2UgaGF2ZSBjb252ZW5pZW50bHkganVzdCBtYWRlIG91cnNlbHZlcyBmYW1pbGlhciB3aXRo LiBPa2F5IG9rYXksIHRlY2huaWNhbGx5LCB0ZW5zZXMgYXJlIHNsaWdodGx5IGRpZmZlcmVudCBm cm9tIG90aGVyIHN1bXRjaXRhLCBidXQgdGhpcyBkaWZmZXJlbmNlIGlzIGFsbW9zdCBpbnNpZ25p ZmljYW50LCBhbmQgd2lsbCBiZSB3b24ndCBiZSBleHBsYWluZWQgdW50aWwgbGF0ZXIuIEluIG1v c3QgYXNwZWN0cyB0aGV5IGFyZSBsaWtlIGFsbCBvdGhlciBzdW10Y2l0YTsgdGhleSBhcmUgdGVy bWluYXRlZCBieSAnJ2t1JycsIG1ha2luZyBpdCBleHBsaWNpdCB0aGF0IFBVIGlzIHRlcm1pbmF0 ZWQgYnkgJydrdScnLgoKVGhlcmUgYXJlIG1hbnkgZGlmZmVyZW50IGtpbmRzIG9mIHRlbnNlLXN1 bXRjaXRhLCBzbyBsZXQncyBzdGFydCBhdCB0aGUgb25lcyBtb3N0IGZhbWlsaWFyIHRvIEVuZ2xp c2gtc3BlYWtlcnMuCgpfXycncHUnJ19fIC0gc3VtdGNpdGE6IGJlZm9yZSB7c3VtdGl9CgpfXycn Y2EnJ19fIC0gc3VtdGNpdGE6IGF0IHRoZSBzYW1lIHRpbWUgYXMge3N1bXRpfQoKX18nJ2JhJydf XyAtIHN1bXRjaXRhOiBhZnRlciB7c3VtdGl9CgoKClRoZXNlIGFyZSBsaWtlIHRoZSBFbmdsaXNo IGNvbmNlcHRzIOKAnGJlZm9yZeKAnSwg4oCcbm934oCdIGFuZCDigJxhZnRlcuKAnS4gSW4gYWN0 dWFsaXR5IHRob3VnaCwgb25lIGNvdWxkIGFyZ3VlIHRoYXQgdHdvIHBvaW50LWxpa2UgZXZlbnRz IGNhbiBuZXZlciBvY2N1ciBleGFjdGx5IHNpbXVsdGFuZW91c2x5LCByZW5kZXJpbmcgJydjYScn IHVzZWxlc3MuIEJ1dCAnJ2NhJycgZXh0ZW5kcyBzbGlnaHRseSBpbnRvIHRoZSBwYXN0IGFuZCB0 aGUgZnV0dXJlLCBtZWFuaW5nIGp1c3Qg4oCcYWJvdXQgbm934oCdLiBUaGlzIGlzIGJlY2F1c2Ug aHVtYW4gYmVpbmdzIGRvbid0IHBlcmNlaXZlIHRpbWUgaW4gYSBwZXJmZWN0bHkgbG9naWNhbCB3 YXksIGFuZCB0aGUgTG9qYmFuIHRlbnNlIHN5c3RlbSByZWZsZWN0cyB0aGF0LgoKCgpTaWRlIG5v dGU6IEl0IHdhcyBhY3R1YWxseSBzdWdnZXN0ZWQgbWFraW5nIHRoZSBMb2piYW4gdGVuc2Ugc3lz dGVtIHJlbGF0aXZpc3RpYy4gVGhhdCBpZGVhLCBob3dldmVyLCB3YXMgZHJvcHBlZCwgYmVjYXVz ZSBpdCBpcyBjb3VudGVyLWludHVpdGl2ZSwgYW5kIHdvdWxkIG1lYW4gdGhhdCB0byBsZWFybiBM b2piYW4sIG9uZSB3b3VsZCBoYXZlIHRvIGxlYXJuIHRoZSB0aGVvcnkgb2YgcmVsYXRpdml0eSBm aXJzdC4gIAoKCgpTbywgaG93IHdvdWxkIHlvdSBzYXkg4oCcSSBleHByZXNzIHRoaXMgYWZ0ZXIg SSBjYW1lIGhlcmU/4oCdIChwb2ludGluZyB0byBhIHBhcGVyKQoKCgpBbnN3ZXI6IH5+Z3JleSxn cmV5OicnbWkgY3Vza3UgdGkgYmEgbG8gbnUgbWkga2xhbWEgdGkge3ZhdX0ge2tlaSB7a3V9IHt2 YXV9Jyd+fgoKCgpVc3VhbGx5IHdoZW4gc3BlYWtpbmcsIHdlIGRvIG5vdCBuZWVkIHRvIHNwZWNp Znkgd2hpY2ggZXZlbnQgdGhpcyBhY3Rpb24gaXMgaW4gdGhlIHBhc3QgcmVsYXRpdmUgdG8uIElu OiDigJxJIGdhdmUgYSBjb21wdXRlciBhd2F54oCdLCB3ZSBjYW4gYXNzdW1lIHRoYXQgdGhlIGFj dGlvbiBoYXBwZW5lZCByZWxhdGl2ZSB0byDigJxub3figJ0sIGFuZCB0aHVzIHdlIGNhbiBlbGlk ZSB0aGUgc3VtdGkgb2YgdGhlIHN1bXRjaXRhLCBiZWNhdXNlIGl0J3Mgb2J2aW91czoKCicncHUg a3UgbWkgZHVuZGEgbG8gc2thbWkge2t1fSB7dmF1fScnIG9yCgonJ21pIGR1bmRhIGxvIHNrYW1p IHtrdX0gcHUge2t1fSB7dmF1fScnIG9yLCBtb3JlIGNvbW1vbmx5CgonJ21pIHB1IHtrdX0gZHVu ZGEgbG8gc2thbWkge2t1fSB7dmF1fScnLiBUaGUgc3VtdGkgd2hpY2ggZmlsbHMgdGhlIHN1bXRj aXRhIGlzIGFuIGltcGxpZWQgJyd6bydlJycsIHdoaWNoIGlzIGFsbW9zdCBhbHdheXMgdW5kZXJz dG9vZCBhcyByZWxhdGl2ZSB0byB0aGUgc3BlYWtlcidzIHRpbWUgYW5kIHBsYWNlICh0aGlzIGlz IGVzcGVjaWFsbHkgaW1wb3J0YW50IHdoZW4gc3BlYWtpbmcgYWJvdXQgbGVmdCBhbmQgcmlnaHQp LiBJZiBzcGVha2luZyBhYm91dCBzb21lIGV2ZW50cyB0aGF0IGhhcHBlbmVkIHNvbWUgb3RoZXIg dGltZSB0aGFuIHRoZSBwcmVzZW50LCBpdCBpcyBzb21ldGltZXMgYXNzdW1lZCB0aGF0IGFsbCB0 ZW5zZXMgYXJlIHJlbGF0aXZlIHRvIHRoYXQgZXZlbnQgd2hpY2ggaXMgYmVpbmcgc3Bva2VuIGFi b3V0LiBJbiBvcmRlciB0byBjbGFyaWZ5IHRoYXQgYWxsIHRlbnNlcyBhcmUgcmVsYXRpdmUgdG8g dGhlIHNwZWFrZXIncyBjdXJyZW50IHBvc2l0aW9uLCB0aGUgd29yZCAnJ25hdScnIGNhbiBiZSB1 c2VkIGF0IGFueSB0aW1lLiBBbm90aGVyIHdvcmQsICcna2knJyBtYXJrcyBhIHRlbnNlIHdoaWNo IGlzIHRoZW4gY29uc2lkZXJlZCB0aGUgbmV3IHN0YW5kYXJkLiBUaGF0IHdpbGwgYmUgdGF1Z2h0 IHdheSBsYXRlci4KCl9fJyduYXUnJ19fIHVwZGF0ZXMgdGVtcG9yYWwgYW5kIHNwYWNpYWwgZnJh bWUgb2YgcmVmZXJlbmNlIHRvIHRoZSBzcGVha2VyJ3MgY3VycmVudCBoZXJlIGFuZCBub3cuCgoK Cl9fJydndWdkZScnX18gPSDigJx4MSBpcyB0aGUgY291bnRyeSBvZiBwZW9wbGUgeDIgd2l0aCBs YW5kL3RlcnJpdG9yeSB4M+KAnQoKCgpBbHNvIG5vdGUgdGhhdCAnJ21pIHB1IHtrdX0ga2xhbWEg bG8gbWVya28gZ3VnZGUge2t1fSB7dmF1fScnLCDigJxJIHdlbnQgdG8gQW1lcmljYeKAnSwgZG9l cyBub3QgaW1wbHkgdGhhdCBJJ20gbm90IHN0aWxsIHRyYXZlbGluZyB0byBVU0EsIG9ubHkgdGhh dCBpdCB3YXMgYWxzbyB0cnVlIHNvbWUgdGltZSBpbiB0aGUgcGFzdCwgZm9yIGluc3RhbmNlIGZp dmUgbWludXRlcyBhZ28uCgoKCkFzIG1lbnRpb25lZCwgc3BhY2lhbCBhbmQgdGVtcG9yYWwgdGlt ZSB0ZW5zZXMgYXJlIHZlcnkgbXVjaCBhbGlrZS4gQ29udHJhc3QgdGhlIHByZXZpb3VzIHRocmVl IHRpbWUgdGVuc2VzIHdpdGggdGhlc2UgZm91ciBzcGFjaWFsIHRlbnNlczoKCl9fJyd6dSdhJydf XyBzdW10Y2l0YTogbGVmdCBvZiB7c3VtdGl9CgpfXycnY2EndScnX18gc3VtdGNpdGE6IGluIGZy b250IG9mIHtzdW10aX0KCl9fJydyaSd1JydfXyBzdW10Y2l0YTogcmlnaHQgb2Yge3N1bXRpfQoK X18nJ2J1J3UnJ19fIHN1bXRjaXRhOiBhdCB0aGUgc2FtZSBwbGFjZSBhcyB7c3VtdGl9IChzcGFj aWFsIGVxdWl2YWxlbnQgb2YgJydjYScnKQoKCgpfXycnbydvJydfXzogYXR0aXR1ZGluYWw6IGNv bXBsZXggcHVyZSBlbW90aW9uOiBwYXRpZW5jZSAtIHRvbGVyYW5jZSAtIGFuZ2VyCgoKCldoYXQg d291bGQgJycubydvbmFpIHJpJ3Uge2t1fSBudSBsbyBwcmVudSB7a3V9IGN1IGRhcnhpIGxvIGdl cmt1IHB1IHtrdX0ge2t1fSB7dmF1fSB7a2VpfSB7dmF1fScnIG1lYW4/IChub3RpY2UgdGhlIGZp cnN0IGVsaWRlZCBrdSEpCgpfXycnZGFyeGknJ19fIHgxIGJlYXRzL2hpdHMgeDIgd2l0aCBpbnN0 cnVtZW50IHgzIGF0IGxvY3VzIHg0CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCce2FuZ2VyIX0g VG8gdGhlIHJpZ2h0IChvZiBzb21ldGhpbmcsIHByb2JhYmx5IG1lKSBhbmQgaW4gdGhlIHBhc3Qg KG9mIHNvbWUgZXZlbnQpLCBzb21ldGhpbmcgaXMgYW4gZXZlbnQgb2YgYSBwZXJzb24gYmVhdGlu ZyBhIGRvZy7igJ0gb3Ig4oCcQSBtYW4gaGl0IGEgZG9nIHRvIG15IHJpZ2h0IeKAnX5+CgoKCklm IHRoZXJlIGFyZSBzZXZlcmFsIHRlbnNlIHN1bXRjaXRhIGluIG9uZSBicmlkaSwgdGhlIHJ1bGUg aXMgdGhhdCB5b3UgcmVhZCB0aGVtIGZyb20gbGVmdCB0byByaWdodCwgdGhpbmtpbmcgaXQgYXMg YSBzbyBjYWxsZWQg4oCcaW1hZ2luYXJ5IGpvdXJuZXnigJ0sIFdoZXJlIHlvdSBiZWdpbiBhdCBh biBpbXBsaWVkIHBvaW50IGluIHRpbWUgYW5kIHNwYWNlIChkZWZhdWx0OiB0aGUgc3BlYWtlcidz IG5vdyBhbmQgaGVyZSksIGFuZCB0aGVuIGZvbGxvdyB0aGUgc3VtdGNpdGEgb25lIGF0IGEgdGlt ZSBmcm9tIGxlZnQgdG8gcmlnaHQuCgpFeGFtcGxlCgonJ21pIHB1IHtrdX0gYmEge2t1fSBqaW1w ZSBmaSBsbyBsb2pibyBmYSdvcm1hJ28ge2t1fSB7dmF1fScnID0g4oCcQXQgc29tZSB0aW1lIGlu IHRoZSBwYXN0LCBJIHdpbGwgYmUgYWJvdXQgdG8ga25vdyBhYm91dCBmYSdvcm1hJ29zLuKAnQoK JydtaSBiYSB7a3V9IHB1IHtrdX0gamltcGUgZmkgbG8gbG9qYm8gZmEnb3JtYSdvIHtrdX0ge3Zh dX0nJyDigJxBdCBzb21lIHBvaW50IGluIHRoZSBmdXR1cmUsIEkgd2lsbCBoYXZlIHVuZGVyc3Rv b2QgYWJvdXQgZmEnb3JtYSdvcy7igJ0KClNpbmNlIHdlIGRvIG5vdCBzcGVjaWZ5IHRoZSBhbW91 bnQgb2YgdGltZSB3ZSBtb3ZlIGJhY2sgb3IgZm9ydGgsIHRoZSB1bmRlcnN0YW5kaW5nIGNvdWxk IGluIGJvdGggY2FzZXMgaGFwcGVuIGluIHRoZSBmdXR1cmUgb3IgdGhlIHBhc3Qgb2YgdGhlIHBv aW50IG9mIHJlZmVyZW5jZS4KCgoKQWxzbywgaWYgc3BhY2lhbCBhbmQgdGVtcG9yYWwgdGVuc2Vz IGFyZSBtaXhlZCwgdGhlIHJ1bGUgaXMgdG8gYWx3YXlzIHB1dCB0ZW1wb3JhbCBiZWZvcmUgc3Bh Y2lhbC4gSWYgdGhpcyBydWxlIGlzIHZpb2xhdGVkLCBpdCBjYW4gc29tZXRpbWVzIHJlc3VsdCBp biBzeW50YWN0aWNhbCBhbWJpZ3VpdHksIHdoaWNoIExvamJhbiBkb2VzIG5vdCB0b2xlcmF0ZS4K CgoKU3VwcG9zZSB3ZSB3YW50IHRvIHNwZWNpZnkgdGhhdCB0aGUgYSBtYW4gaGl0IGEgZG9nIGp1 c3QgYSBtaW51dGUgYWdvLiBUaGUgd29yZHMgJyd6aScnLCAnJ3phJycgYW5kICcnenUnJyBzcGVj aWZpZXMgYSBzaG9ydCwgdW5zcGVjaWZpZWQgKHByZXN1bWFibHkgbWVkaXVtKSBhbmQgbG9uZyBk aXN0YW5jZSBpbiB0aW1lLiBOb3RpY2UgdGhlIHZvd2VsIG9yZGVyICcnaScnLCAnJ2EnJyBhbmQg Jyd1JycuIFRoaXMgb3JkZXIgYXBwZWFycyBhZ2FpbiBhbmQgYWdhaW4gaW4gTG9qYmFuLCBhbmQg bWlnaHQgYmUgd29ydGggdG8gbWVtb3JpemUuIOKAnFNob3J04oCdIGFuZCDigJxsb25n4oCdIGlu IGFyZSBhbHdheXMgY29udGV4dCBkZXBlbmRlbnQsIHJlbGF0aXZlIGFuZCBzdWJqZWN0aXZlLiBU d28gaHVuZHJlZCB5ZWFycyBpcyBhIHNob3J0IHRpbWUgZm9yIGEgc3BlY2llcyB0byBldm9sdmUs IGJ1dCBhIGxvbmcgdGltZSB0byB3YWl0IGZvciB0aGUgYnVzLgoKX18nJ3ppJydfXyBzdW10Y2l0 YTogT2N1cnJpbmcgdGhlIHNtYWxsIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gdGltZSBmcm9tIHBv aW50IG9mIHJlZmVyZW5jZSAKCl9fJyd6YScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSB1bnNw ZWNpZmllZChtZWRpdW0pIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gdGltZSBmcm9tIHBvaW50IG9m IHJlZmVyZW5jZSAKCl9fJyd6dScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSBmYXIgZGlzdGFu Y2Ugb2Yge3N1bXRpfSBpbiB0aW1lIGZyb20gdGhlIHBvaW50IG9mIHJlZmVyZW5jZSAKCgoKU2lt aWxhcmx5LCBzcGFjaWFsIGRpc3RhbmNlIGlzIG1hcmtlZCBieSAnJ3ZpJycsICcndmEnJyBhbmQg Jyd2dScnIGZvciBzaG9ydCwgdW5zcGVjaWZpZWQgKG1lZGl1bSkgYW5kIGxvbmcgZGlzdGFuY2Ug aW4gc3BhY2UuCgpfXycndmknJ19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUgc21hbGwgZGlzdGFu Y2Ugb2Yge3N1bXRpfSBpbiBzcGFjZSBmcm9tIHBvaW50IG9mIHJlZmVyZW5jZSAKCl9fJyd2YScn X18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSB1bnNwZWNpZmllZChtZWRpdW0pIGRpc3RhbmNlIG9m IHtzdW10aX0gaW4gc3BhY2UgZnJvbSBwb2ludCBvZiByZWZlcmVuY2UgCgpfXycndnUnJ19fIHN1 bXRjaXRhOiBPY3VycmluZyB0aGUgZmFyIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gc3BhY2UgZnJv bSB0aGUgcG9pbnQgb2YgcmVmZXJlbmNlIAoKX18nJ2d1bmthJydfXyDigJx4MSB3b3JrcyBhdCB4 MiB3aXRoIG9iamVjdGl2ZSB4M+KAnQoKCgpUcmFuc2xhdGU6ICcnYmEge2t1fSB6YSBrdSBtaSB2 dSB7a3V9IGd1bmthIHt2YXV9JycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxTb21lIHRpbWUg aW4gdGhlIGZ1dHVyZSwgSSB3aWxsIHdvcmsgYSBwbGFjZSBsb25nIGF3YXnigJ1+fgoKTm90ZTog UGVvcGxlIHJhcmVseSB1c2UgJyd6aScnLCAnJ3phJycgb3IgJyd6dScnIHdpdGhvdXQgYSAnJ3B1 Jycgb3IgJydiYScnIGluIGZyb250IG9mIGl0LiBUaGlzIGlzIGJlY2F1c2UgbW9zdCBwZW9wbGUg YWx3YXlzIG5lZWQgdG8gc3BlY2lmeSBwYXN0IG9yIGZ1dHVyZSBpbiB0aGVpciBuYXRpdmUgbGFu Z3VhZ2UuIFdoZW4geW91IHRoaW5rIGFib3V0IGl0IExvamJhbmljYWxseSwgbW9zdCBvZiB0aGUg dGltZSB0aGUgdGltZS1kaXJlY3Rpb24gaXMgb2J2aW91cywgYW5kIHRoZSAnJ3B1Jycgb3IgJydi YScnIHN1cGVyZmx1b3VzIQoKCgpUaGUgb3JkZXIgaW4gd2hpY2ggZGlyZWN0aW9uLXN1bXRjaXRh IGFuZCBkaXN0YW5jZS1zdW10Y2l0YSBhcmUgc2FpZCBtYWtlcyBhIGRpZmZlcmVuY2UuIFJlbWVt YmVyIHRoYXQgdGhlIG1lYW5pbmdzIG9mIHNldmVyYWwgdGVuc2Ugd29yZHMgcGxhY2VkIHRvZ2V0 aGVyIGFyZSBwaWN0dXJlZCBieSBhbiBpbWFnaW5hcnkgam91cm5leSByZWFkaW5nIGZyb20gbGVm dCB0byByaWdodC4gVGh1cyAnJ3B1IHp1JycgaXMg4oCcYSBsb25nIHRpbWUgYWdv4oCdIHdoaWxl ICcnenUgcHUnJyBpcyDigJxpbiB0aGUgcGFzdCBvZiBzb21lIHBvaW50IGluIHRpbWUgd2hpY2gg aXMgYSBsb25nIHRpbWUgdG93YXJkIHRoZSBmdXR1cmUgb3IgdGhlIHBhc3Qgb2Ygbm934oCdLiBJ biB0aGUgZmlyc3QgZXhhbXBsZSwgJydwdScnIHNob3dzIHRoYXQgd2UgYmVnaW4gaW4gdGhlIHBh c3QsICcnenUnJyB0aGVuIHRoYXQgaXQgaXMgYSBsb25nIHRpbWUgYmFja3dhcmRzLiBJbiB0aGUg c2Vjb25kIGV4YW1wbGUsICcnenUnJyBzaG93cyB0aGF0IHdlIGJlZ2luIGF0IHNvbWUgcG9pbnQg ZmFyIGF3YXkgaW4gdGltZSBmcm9tIG5vdywgJydwdScnIHRoZW4sIHRoYXQgd2UgbW92ZSBiYWNr d2FyZHMgZnJvbSB0aGF0IHBvaW50LiBUaHVzICcncHUgenUnJyBpcyBhbHdheXMgaW4gdGhlIHBh c3QuICcnenUgcHUnJyBjb3VsZCBiZSBpbiB0aGUgZnV0dXJlLiBUaGUgZmFjdCB0aGF0IHRoZXNl IHRpbWUgdGVuc2VzIGNvbWJpbmUgaW4gdGhpcyB3YXkgaXMgb25lIG9mIHRoZSBkaWZmZXJlbmNl cyBiZXR3ZWVuIHRlbnNlIHN1bXRjaXRhIGFuZCBvdGhlciBzdW10Y2l0YS4gVGhlIG1lYW5pbmdz IG9mIG90aGVyIHN1bXRjaXRhIGFyZSBub3QgYWx0ZXJlZCBieSB0aGUgcHJlc2VuY2Ugb2YgYWRk aXRpb25hbCBzdW10Y2l0YSBpbiBhIGJyaWRpLgoKCgpBcyBicmllZmx5IGltcGxpZWQgZWFybGll ciwgYWxsIHRoZXNlIGNvbnN0cnVjdHMgYmFzaWNhbGx5IHRyZWF0IGJyaWRpIGFzIGlmIHRoZXkg d2VyZSBwb2ludC1saWtlIGluIHRpbWUgYW5kIHNwYWNlLiBJbiBhY3R1YWxpdHksIG1vc3QgZXZl bnRzIHBsYXkgb3V0IG92ZXIgYSBzcGFuIG9mIHRpbWUgYW5kIHNwYWNlLiBJbiB0aGUgZm9sbG93 aW5nIGZldyBwYXJhZ3JhcGhzLCB3ZSB3aWxsIGxlYXJuIGhvdyB0byBzcGVjaWZ5IGludGVydmFs cyBvZiB0aW1lIGFuZCBzcGFjZS4KCgoKX18nJ3plJ2knJ19fIHN1bXRjaXRhOiBzcGFubmluZyBv dmVyIHRoZSBzaG9ydCB0aW1lIG9mIHtzdW10aX0KCl9fJyd6ZSdhJydfXyBzdW10Y2l0YTogc3Bh bm5pbmcgb3ZlciB0aGUgdW5zcGVjaWZpZWQgKG1lZGl1bSkgdGltZSBvZiB7c3VtdGl9CgpfXycn emUndScnX18gc3VtdGNpdGE6IHNwYW5uaW5nIG92ZXIgdGhlIGxvbmcgdGltZSBvZiB7c3VtdGl9 CgoKCl9fJyd2ZSdpJydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgc2hvcnQgc3BhY2Ug b2Yge3N1bXRpfQoKX18nJ3ZlJ2EnJ19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSB1bnNw ZWNpZmllZCAobWVkaXVtKSBzcGFjZSBvZiB7c3VtdGl9CgpfXycndmUndScnX18gc3VtdGNpdGE6 IHNwYW5uaW5nIG92ZXIgdGhlIGxvbmcgc3BhY2Ugb2Yge3N1bXRpfQoKCgpTaXggd29yZHMgYXQg YSB0aW1lLCBJIGtub3csIGJ1dCByZW1lbWJlcmluZyB0aGUgdm93ZWwgc2VxdWVuY2UgYW5kIHRo ZSBzaW1pbGFyaXR5IG9mIHRoZSBpbml0aWFsIGxldHRlciB6IGZvciB0ZW1wb3JhbCB0ZW5zZXMg YW5kIHYgZm9yIHNwYWNpYWwgdGVuc2VzIG1pZ2h0IGhlbHAgdGhlIG1lbW9yaXppbmcuCgpfXycn Lm9pJydfXyAtIGF0dGl0dWRpbmFsOiBwYWluIC0gcGxlYXN1cmUKCgoKVHJhbnNsYXRlOiAnJy5v aSBkYWkgZG8gdmUndSB7a3V9IGtsYW1hIGxvIGRvdGNvIGd1Z2RlIHtrdX0gemUndSB7a3V9IHt2 YXV9JycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxPdWNoLCB5b3Ugc3BlbmQgYSBsb25nIHRp bWUgdHJhdmVsaW5nIGEgbG9uZyBzcGFjZSB0byBHZXJtYW554oCdIH5+CgoKClRob3VnaCBtb3N0 IHBlb3BsZSBhcmUgbm90IGZhbWlsaWFyIHdpdGggc3BhY2lhbCB0ZW5zZXMsIHRoZXNlIG5ldyB3 b3JkcyBjYW4gb3BlbiB1cCBmb3Igc29tZSBwcmV0dHkgc3dlZXQgdXNlcy4gT25lIGNvdWxkLCBm b3IgaW5zdGFuY2UsIHRyYW5zbGF0ZSDigJxUaGF0J3MgYSBiaWcgZG9n4oCdIGFzICcndGkgdmUn dSB7a3V9IGdlcmt1IHt2YXV9JycuIFNheWluZzog4oCcVGhpcyB0aGluZyBkb2dzIGZvciBhIGxv bmcgc3BhY2XigJ0gbWFrZXMgeW91IHNvdW5kIHJldGFyZGVkIGluIEVuZ2xpc2gsIGJ1dCB3ZWxs LXNwb2tlbiBpbiBMb2piYW4hCgoKCicnemUndScnIGFuZCBpdHMgYnJvdGhlcnMgYWxzbyBjb21i aW5lIHdpdGggb3RoZXIgdGVuc2VzIHRvIGZvcm0gY29tcG91bmQgdGVuc2VzLiBUaGUgcnVsZSBm b3IgJyd6ZSd1JycgYW5kIHRoZSBvdGhlcnMgYXJlIHRoYXQgYW55IHRlbnNlcyBwcmVjZWRpbmcg aXQgbWFya3MgYW4gZW5kcG9pbnQgb2YgdGhlIHByb2Nlc3MgKHJlbGF0aXZlIHRvIHRoZSBwb2lu dCBvZiByZWZlcmVuY2UpIGFuZCBhbnkgdGVuc2VzIGNvbWluZyBhZnRlciBpdCBtYXJrcyB0aGUg b3RoZXIgZW5kcG9pbnQgcmVsYXRpdmUgdG8gdGhlIGZpcnN0LiBUaGlzIHNob3VsZCBiZSBkZW1v bnN0cmF0ZWQgd2l0aCBhIGNvdXBsZSBvZiBleGFtcGxlczoKCicnLm8nb2N1J2kgZG8gY2l0a2Eg cHUge2t1fSB6ZSd1IHtrdX0gYmEge2t1fSB6dSB7a3V9IHt2YXV9JycgLSDigJx7dG9sZXJhbmNl fSB5b3UgZWF0IGJlZ2lubmluZyBpbiB0aGUgcGFzdCBhbmQgZm9yIGEgbG9uZyB0aW1lIGVuZGlu ZyBhdCBzb21lIHBvaW50IGZhciBpbnRvIHRoZSBmdXR1cmUgb2Ygd2hlbiB5b3Ugc3RhcnRlZOKA nSBvciDigJxIbXBmLCB5b3UgYXRlIGZvciBhIGxvbmcgdGltZeKAnS4gT25lIGNhbiBhbHNvIGNv bnRyYXN0ICcnZG8gY2Ege2t1fSB6ZSdpIHtrdX0gcHUge2t1fSBrbGFtYSB7dmF1fScnIHdpdGgg JydkbyBwdSB7a3V9IHplJ2kge2t1fSBjYSB7a3V9IGtsYW1hIHt2YXV9JycuIFRoZSBmaXJzdCBl dmVudCBvZiB0cmF2ZWxpbmcgaGFzIG9uZSBlbmRwb2ludCBpbiB0aGUgcHJlc2VudCBhbmQgZXh0 ZW5kcyBhIGxpdHRsZSB0b3dhcmRzIHRoZSBwYXN0LCB3aGlsZSB0aGUgc2Vjb25kIGV2ZW50IGhh cyBvbmUgZW5kcG9pbnQgaW4gdGhlIHBhc3QgYW5kIGV4dGVuZHMgb25seSB0byB0aGUgcHJlc2Vu dCAodGhhdCBpcywgc2xpZ2h0eSBpbnRvIHRoZSBwYXN0IG9yIGZ1dHVyZSkgb2YgdGhhdCBlbmRw b2ludC4KCl9fJydqbWl2ZScnX18g4oCceDEgaXMgYWxpdmUgYnkgc3RhbmRhcmQgeDLigJ0KCgoK V2hhdCBkb2VzICcnLnVpIG1pIHB1IHtrdX0gemkge2t1fSB6ZSd1IHtrdX0gam1pdmUge3ZhdX0n JyBleHByZXNzPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnHtoYXBwaW5lc3MhfSBJIGxpdmUg ZnJvbSBhIGxpdHRsZSBpbnRvIHRoZSBwYXN0IGFuZCBhIGxvbmcgd2F5IHRvd2FyZHMgdGhlIGZ1 dHVyZSBvciBwYXN0IChvYnZpb3VzbHkgdGhlIGZ1dHVyZSwgaW4gdGhpcyBjYXNlKSBvZiB0aGF0 IGV2ZW504oCdIG9yIOKAnEkgYW0geW91bmcsIGFuZCBoYXZlIG1vc3Qgb2YgbXkgbGlmZSBhaGVh ZCBvZiBtZSA6KeKAnX5+CgoKCkp1c3QgdG8gdW5kZXJsaW5lIHRoZSBzaW1pbGFyaXR5IHdpdGgg c3BhY2lhbCB0ZW5zZXMsIGxldCdzIGhhdmUgYW5vdGhlciBleGFtcGxlLCB0aGlzIHRpbWUgd2l0 aCBzcGFjaWFsIHRlbnNlczoKCl9fJycudSdlJydfXyBhdHRpdHVkaW5hbDogd29uZGVyIC0gY29t bW9ucGxhY2UKCgoKJycudSdlIHphJ2Ege2t1fSBidSd1IHtrdX0gdmUndSB7a3V9IGNhJ3Uge2t1 fSB6ZGFuaSB7dmF1fScnIC0gV2hhdCBkb2VzIGl0IG1lYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdy ZXk6IOKAnHt3b25kZXJ9IHtJIG9ic2VydmUhfSBFeHRlbmRpbmcgYSBsb25nIHNwYWNlIGZyb20g aGVyZSB0byBteSBmcm9udCBpcyBhIGhvbWUu4oCdIG9yIOKAnFdvdywgdGhpcyBob21lIGV4dGVu ZGluZyBhaGVhZCBpcyBodWdlIeKAnX5+CgoKCkJlZm9yZSB3ZSBjb250aW51ZSB3aXRoIHRoaXMg c3ludGF4LWhlYXZ5IHRlbnNlIHN5c3RlbSwgaSByZWNvbW1lbmQgc3BlbmRpbmcgYXQgbGVhc3Qg dGVuIG1pbnV0ZXMgZG9pbmcgc29tZXRoaW5nIHdoaWNoIGRvZXNuJ3Qgb2NjdXB5IHlvdXIgYnJh aW4gaW4gb3JkZXIgdG8gbGV0IHRoZSBpbmZvcm1hdGlvbiBzaW5rIGluLiBTaW5nIGEgc29uZyBv ciBlYXQgYSBjb29raWUgdmVyeSBzbG93bHkgLSB3aGF0ZXZlciwgYXMgbG9uZyBhcyB5b3UgbGV0 IHlvdXIgbWluZCByZXN0LgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIGVsZXZlbiAoWkFo TykKClRob3VnaCB3ZSB3b24ndCBnbyB0aHJvdWdoIGFsbCBMb2piYW4gdGVuc2UgY29uc3RydWN0 cyBmb3Igbm93LCB0aGVyZSBpcyBvbmUgb3RoZXIga2luZCBvZiB0ZW5zZSB0aGF0IEkgdGhpbmsg c2hvdWxkIGJlIHRhdWdodCBub3cuIFRoZXNlIGFyZSBjYWxsZWQg4oCcZXZlbnQgY29udG91cnPi gJ0sIGFuZCByZXByZXNlbnQgYSB2ZXJ5IGRpZmZlcmVudCB3YXkgb2Ygdmlld2luZyB0ZW5zZXMg dGhhdCB3ZSBoYXZlIHNlZW4gc28gZmFyLiBTbyBsZXQncyBnZXQgdG8gaXQ6CgoKClVzaW5nIHRo ZSB0ZW5zZXMgd2UgaGF2ZSBsZWFybmVkIHNvIGZhciwgd2UgY2FuIGltYWdpbmUgYW4gaW5kZWZp bml0ZSB0aW1lIGxpbmUsIGFuZCB3ZSB0aGVuIHBsYWNlIGV2ZW50cyBvbiB0aGF0IGxpbmUgcmVs YXRpdmUgdG8gdGhlIOKAnG5vd+KAnS4gV2l0aCBldmVudCBjb250b3VycywgaG93ZXZlciwgd2Ug dmlldyBlYWNoIGV2ZW50IGFzIGEgcHJvY2Vzcywgd2hpY2ggaGFzIGNlcnRhaW4gc3RhZ2VzOiBB IHRpbWUgYmVmb3JlIGl0IHVuZm9sZHMsIGEgdGltZSB3aGVuIGl0IGJlZ2lucywgYSB0aW1lIHdo ZW4gaXQgaXMgaW4gcHJvY2VzcywgYSB0aW1lIHdoZW4gaXQgZW5kcywgYW5kIGEgdGltZSBhZnRl ciBpdCBoYXMgZW5kZWQuIEV2ZW50IGNvbnRvdXJzIHRoZW4gdGVsbHMgdXMgd2hpY2ggcGFydCBv ZiB0aGUgZXZlbnQncyBwcm9jZXNzIHdhcyBoYXBwZW5pbmcgZHVyaW5nIHRoZSB0aW1lIHNwZWNp ZmllZCBieSB0aGUgb3RoZXIgdGVuc2VzLiBXZSBuZWVkIGEgY291cGxlIG9mIHRlbnNlcyBmaXJz dDoKCgoKX18nJ3B1J28nJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGhhcyBu b3QgeWV0IGhhcHBlbmVkIGR1cmluZyB7c3VtdGl9CgpfXycnY2EnbycnX18gLSBzdW10Y2l0YTog ZXZlbnQgY29udG91cjogQnJpZGkgaXMgaW4gcHJvY2VzcyBkdXJpbmcge3N1bXRpfQoKX18nJ2Jh J28nJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IFRoZSBwcm9jZXNzIG9mIGJyaWRpIGhh cyBlbmRlZCBkdXJpbmcge3N1bXRpfQoKCgpUaGlzIG5lZWRzIHRvIGJlIGRlbW9uc3RyYXRlZCBi eSBzb21lIGV4YW1wbGVzLiBXaGF0J3MgJycudWkgbWkgcHUnbyB7a3V9IHNlIHpkYW5pIHt2YXV9 JycgbWVhbj8KCgoKQW5zd2VyOiDigJxZYXksIEknbGwgYmVnaW4gdG8gaGF2ZSBhIGhvbWXigJ0u CgoKCkJ1dCBoZXksIHlvdSBhc2ssIHdoeSBub3QganVzdCBzYXkgJycudWkgbWkgYmEge2t1fSBz ZSB6ZGFuaSB7dmF1fScnIGFuZCBldmVuIHNhdmUgYSBzeWxsYWJsZT8gQmVjYXVzZSwgcmVtZW1i ZXIsIHNheWluZyB0aGF0IHlvdSB3aWxsIGhhdmUgYSBob21lIGluIHRoZSBmdXR1cmUgc2F5cyBu b3RoaW5nIGFib3V0IHdoZXRoZXIgeW91IGhhdmUgYSBob21lIG5vdy4gVXNpbmcgJydwdSdvJycs IHRob3VnaCwgeW91IHNheSB0aGF0IHlvdSBhcmUgbm93IGluIHRoZSBwYXN0IG9mIHRoZSBwcm9j ZXNzIG9mIHlvdSBoYXZpbmcgYSBob21lLCB3aGljaCBtZWFucyB0aGF0IHlvdSBkb24ndCBoYXZl IG9uZSBub3cuCgpOb3RlLCBieSB0aGUgd2F5LCB0aGF0ICcnbWkgYmEge2t1fSBzZSB6ZGFuaSB7 dmF1fScnIGlzIHNpbWlsYXIgdG8gJydtaSBwdSdvIHtrdX0gc2UgemRhbmkge3ZhdX0nJywgYW5k IGxpa2V3aXNlIHdpdGggJydiYSdvJycgYW5kICcncHUnJy4gV2h5IGRvIHRoZXkgc2VlbSByZXZl cnNlZD8gQmVjYXVzZSBldmVudCBjb250b3VycyB2aWV3IHRoZSBwcmVzZW50IGFzIHNlZW4gZnJv bSB0aGUgdmlld3BvaW50IG9mIHRoZSBwcm9jZXNzLCB3aGVyZWFzIHRoZSBvdGhlciB0ZW5zZXMg dmlldyBldmVudHMgc2VlbiBmcm9tIHRoZSBwcmVzZW50LgoKCgpPZnRlbiwgZXZlbnQgY29udG91 cnMgYXJlIG1vcmUgcHJlY2lzZSB0aGF0IG90aGVyIGtpbmQgb2YgdGVuc2VzLiBFdmVuIG1vcmUg Y2xhcml0eSBpcyBhY2hpZXZlZCBieSBjb21iaW5pbmcgc2V2ZXJhbCB0ZW5zZXM6ICcnLmEnbyBt aSBiYXtrdX0gemkge2t1fSBiYSdvIHtrdX0gZ3Vua2Ege3ZhdX0nJyAtIOKAnEkgaG9wZSBJJ3Zl IHNvb24gZmluaXNoZWQgd29ya2luZy7igJ0KCgoKSW4gTG9qYmFuLCB3ZSBhbHNvIG9wZXJhdGUg d2l0aCBhbiBldmVudCdzIOKAnG5hdHVyYWwgYmVnaW5uaW5n4oCdIGFuZCBpdHMg4oCcbmF0dXJh bCBlbmTigJ0uIFRoZSB0ZXJtIOKAnG5hdHVyYWzigJ0gaXMgaGlnaGx5IHN1YmplY3RpdmUgaW4g dGhpcyBzZW5zZSwgYW5kIHRoZSBuYXR1cmFsIGVuZCByZWZlcnMgdG8gdGhlIHBvaW50IGluIHRo ZSBwcm9jZXNzIHdoZXJlIGl0IHNob3VsZCBlbmQuIFlvdSBjYW4gc2F5IGFib3V0IGEgbGF0ZSB0 cmFpbiwgZm9yIGluc3RhbmNlLCB0aGF0IGl0cyBwcm9jZXNzIG9mIHJlYWNoaW5nIHlvdSBpcyBu b3cgZXh0ZW5kaW5nIGJleW9uZCBpdHMgbmF0dXJhbCBlbmQuIEFuIHVuZGVyY29va2VkLCBidXQg c2VydmVkIG1lYWwsIHNpbWlsYXJseSwgaXMgYmVpbmcgZWF0ZW4gYmVmb3JlIHRoYXQgcHJvY2Vz cycgbmF0dXJhbCBiZWdpbm5pbmcuIFRoZSBldmVudCBjb250b3VycyB1c2VkIGluIHRoZXNlIGV4 YW1wbGVzIGFyZSBhcyBmb2xsb3dzOgoKCgpfXycnemEnbycnX18gLSBzdW10Y2l0YTogZXZlbnQg Y29udG91cjogQnJpZGkgaXMgaW4gcHJvY2VzcyBiZXlvbmQgaXRzIG5hdHVyYWwgZW5kIGR1cmlu ZyB7c3VtdGl9CgpfXycneGEnbycnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkg aXMgaW1tYXR1cmVseSBpbiBwcm9jZXNzIGR1cmluZyB7c3VtdGl9CgoKCl9fJydjaWRqYScnX186 IOKAnHgxIGlzIGZvb2QsIHdoaWNoIGlzIGVkaWJsZSBmb3IgeDLigJ0KCgoKVHJhbnNsYXRlOiAn Jy5vaSBkbyBjaXRrYSB6YSdvIGxvIG51IGRvIGJhJ28ge2t1fSB1J2UgY2l0a2Egem8nZSBub2kg Y2lkamEgZG8ge3ZhdX0ge2t1J299IHt2YXV9IHtrZWl9IHtrdX0nJwoKCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OuKAnE95LCB5b3Uga2VlcCBlYXRpbmcgd2hlbiB5b3UgaGF2ZSBmaW5pc2hlZCwgaW5j cmVkaWJseSwgZWF0aW5nIHNvbWV0aGluZyBlZGlibGUh4oCdfn4KCgoKe2ltZyBmaWxlSWQ9IjIi IHRodW1iPSJ5IiByZWw9ImJveFtnXSJ9CgpJbWFnZSBhYm92ZTogWkFoTyB0ZW5zZXMgKGV2ZW50 IGNvbnRvdXJzKS4gQWxsIHRlbnNlcyBhYm92ZSB0aGUgbGluZSBvZiB0aGUgZXZlbnQgc2lnbmlm eSBzdGFnZXMgY292ZXJpbmcgYW4gYW1vdW50IG9mIHRpbWUuIEFsbCB0ZW5zZXMgYmVsb3cgdGhl IGV2ZW50IGxpbmUgc2lnbmlmeSBzdGFnZXMgd2hpY2ggYXJlIHBvaW50LWxpa2UuCgoKCkFsbCBv ZiB0aGVzZSB0ZW5zZXMgaGF2ZSBiZWVuIGRlc2NyaWJpbmcgc3RhZ2VzIG9mIGEgcHJvY2VzcyB3 aGljaCB0YWtlcyBzb21lIHRpbWUgKGFzIHNob3duIG9uIHRoZSBncmFwaCBhYm92ZTsgdGhvc2Ug dGVuc2VzIGFib3ZlIHRoZSBldmVudCBsaWtlKS4gQnV0IG1hbnkgb2YgdGhlIGV2ZW50IGNvbnRv dXJzIGRlc2NyaWJlcyBwb2ludCBsaWtlIHN0YWdlcyBpbiB0aGUgcHJvY2VzcywgbGlrZSBpdHMg YmVnaW5uaW5nLiBBcyBpcyB0cnVlIG9mICcnY2EnJyBhbmQgJydidSd1JycsIHRoZXkgYWN0dWFs bHkgZXh0ZW5kIHNsaWdodGx5IGludG8gdGhlIHBhc3QgYW5kIGZ1dHVyZSBvZiB0aGF0IHBvaW50 LCBhbmQgbmVlZCBub3QgdG8gYmUgcHJlY2lzZS4KCgoKVGhlIHR3byBtb3N0IGltcG9ydGFudCBw b2ludC1saWtlIGV2ZW50IGNvbnRvdXJzIGFyZToKCl9fJydjbydhJydfXyAtIHN1bXRjaXRhOiBl dmVudCBjb250b3VyOiBCcmlkaSBpcyBhdCBpdHMgYmVnaW5uaW5nIGR1cmluZyB7c3VtdGl9Cgpf XycnY28ndScnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgYXQgaXRzIGVu ZGluZyBkdXJpbmcge3N1bXRpfQoKCgpGdXJ0aGVybW9yZSwgdGhlcmUgaXMgYSBwb2ludCB3aGVy ZSB0aGUgcHJvY2VzcyBpcyBuYXR1cmFsbHkgY29tcGxldGUsIGJ1dCBub3QgbmVjZXNzYXJpbHkg aGFzIGVuZGVkIHlldDoKCl9fJydtbyd1JydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBC cmlkaSBpcyBhdCBpdHMgbmF0dXJhbCBlbmRpbmcgZHVyaW5nIHtzdW10aX0KCk1vc3Qgb2YgdGhl IHRpbWUsIHRob3VnaCwgcHJvY2Vzc2VzIGFjdHVhbGx5IGVuZCBhdCB0aGVpciBuYXR1cmFsIGVu ZGluZzsgdGhpcyBpcyB3aGF0IG1ha2VzIGl0IG5hdHVyYWwuIFRyYWlucyBhcmUgbm90IHVzdWFs bHkgbGF0ZSwgYW5kIHBlb3BsZSB1c3VhbGx5IHJldHJhaW4gdGhlbXNlbHZlcyB0byBlYXQgb25s eSBlZGlibGUgZm9vZC4KCgoKU2luY2UgYSBwcm9jZXNzIGNhbiBiZSBpbnRlcnJ1cHRlZCBhbmQg cmVzdW1lZCwgdGhlc2UgcG9pbnRzIGhhdmUgZWFybmVkIHRoZWlyIG93biBldmVudCBjb250b3Vy IGFsc286CgpfXycnZGUnYScnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMg cGF1c2luZyBkdXJpbmcge3N1bXRpfQoKX18nJ2RpJ2EnJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNv bnRvdXI6IEJyaWRpIGlzIHJlc3VtaW5nIGR1cmluZyB7c3VtdGl9CgoKCkluIGZhY3QsIHNpbmNl ICcnanVuZGknJyBtZWFucyDigJx4MSBwYXlzIGF0dGVudGlvbiB0byB4MuKAnSwgJydkZSdhIGp1 bmRpJycgYW5kICcnZGknYSBqdW5kaScnIGFyZSBjb21tb24gTG9qYmFuIHdheXMgb2Ygc2F5aW5n IOKAnEJSQuKAnSBhbmQg4oCcYmFja+KAnS4gT25lIGNvdWxkIG9mIGNvdXJzZSBhbHNvIHNheSB0 aGUgZXZlbnQgY29udG91cnMgYnkgdGhlbXNlbHZlcyBhbmQgaG9wZSB0aGUgcG9pbnQgZ2V0cyBh Y3Jvc3MuCgoKCkZpbmFsbHksIG9uZSBjYW4gdHJlYXQgYW4gZW50aXJlIGV2ZW50LCBmcm9tIHRo ZSBiZWdpbm5pbmcgdG8gdGhlIGVuZCBhcyBvbmUgc2luZ2xlIHBvaW50IHVzaW5nICcnY28naScn OgoKX18nJ3Blbm1pJydfXyDigJx4MSBtZWV0cyB4MiBhdCBsb2NhdGlvbiB4M+KAnQoKJydtaSBw dSB7a3V9IHppIHtrdX0gY28naSB7a3V9IHBlbm1pIGxvIGRvdGNvIHByZW51IHtrdX0ge3ZhdX0n JyAtIOKAnEEgbGl0dGxlIHdoaWxlIGFnbywgSSB3YXMgYXQgdGhlIHBvaW50IGluIHRpbWUgd2hl cmUgaSBtZXQgYSBHZXJtYW4gcGVyc29u4oCdCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3Nv biB0d2VsdmUgKG9yZGVycyBhbmQgcXVlc3Rpb25zKQoKUGhldywgdGhvc2UgdHdvIGxvbmcgbGVz c29ucyB3aXRoIHN5bnRheCBoZWF2eSBMb2piYW4gZ2l2ZXMgdGhlIGJyYWluIHNvbWV0aGluZyB0 byBwb25kZXIgYWJvdXQuIEVzcGVjaWFsbHkgYmVjYXVzZSBpdCdzIHNvIGRpZmZlcmVudCBmcm9t IEVuZ2xpc2guIFNvIGxldCdzIHR1cm4gdG8gc29tZXRoaW5nIGEgbGl0dGxlIGxpZ2h0ZXI6IE9y ZGVycyBhbmQgcXVlc3Rpb25zLgoKCgpXaGF0IHRoZS4uLiBfX3NpdCB1cCBhbmQgZm9jdXMhX18K CgoKU2luY2UgdGhlIHdheSB0byBleHByZXNzIG9yZGVycyBpbiBFbmdsaXNoIGlzIHRvIGxlYXZl IG91dCB0aGUgc3ViamVjdCBvZiB0aGUgY2xhdXNlLCB3aHkgZGlkIHlvdSBhc3N1bWUgdGhhdCBp dCB3YXMgeW91IEkgd2FzIHNwZWFraW5nIHRvLCBhbmQgbm90IG9yZGVyaW5nIG15c2VsZiwgb3Ig ZXhwcmVzc2luZyB0aGUgb2JsaWdhdGlvbiBzb21lb25lIGVsc2UgaGFzPyBCZWNhdXNlIHRoZSBF bmdsaXNoIGxhbmd1YWdlIHVuZGVyc3RhbmRzIHRoYXQgb3JkZXJzLCBieSB0aGVpciB2ZXJ5IG5h dHVyZSwgYXJlIGFsd2F5cyBkaXJlY3RlZCB0b3dhcmRzIHRoZSBsaXN0ZW5lciAtIHRoZSDigJx5 b3XigJ0sIGFuZCBzbyB0aGUgc3ViamVjdCBpcyBub3QgbmVjZXNzYXJ5LgoKSW4gTG9qYmFuLCBl bGlkaW5nIHRoZSBzdWJqZWN0IHlpZWxkcyAnJ3pvJ2UnJywgc28gdGhhdCBwb3NzaWJpbGl0eSBp cyBzYWRseSBub3Qgb3BlbiB0byB1cy4gSW5zdGVhZCwgd2UgdXNlIHRoZSB3b3JkICcna28nJywg d2hpY2ggaXMgdGhlIGltcGVyYXRpdmUgZm9ybSBvZiAnJ2RvJycuIEdyYW1tYXRpY2FsbHkgYW5k IGJyaWRpLXdpc2UsIGl0J3MgZXF1aXZhbGVudCB0byAnJ2RvJycsIGJ1dCBpdCBhZGRzIGEgbGF5 ZXIgb2Ygc2VtYW50aWNzLCBzaW5jZSBpdCB0dXJucyBldmVyeSBzdGF0ZW1lbnQgd2l0aCAnJ2tv JycgaW4gaXQgaW50byBhbiBvcmRlci4g4oCcRG8gc3VjaCB0aGF0IHRoaXMgc2VudGVuY2UgaXMg dHJ1ZSBmb3IgeW91PScna28nJyHigJ0gRm9yIHRoZSBzYW1lIHJlYXNvbiB3ZSBkb24ndCBuZWVk IHRoZSBzdWJqZWN0IGluIEVuZ2xpc2ggc2VudGVuY2VzLCB3ZSBkb24ndCBuZWVkIG9yZGVyLXdv cmRzIGRlcml2ZWQgZnJvbSBhbnkgb3RoZXIgc3VtdGkgdGhhbiAnJ2RvJycuCgoKCkhvdyBjb3Vs ZCB5b3Ugb3JkZXIgb25lIHRvIGdvIGZhciBhd2F5IGZvciBhIGxvbmcgdGltZSAodXNpbmcgJydr bGFtYScnIGFzIHRoZSBvbmx5IHNlbGJyaT8pCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6a28gdmUn dSB6ZSd1IGtsYW1hfn4KCignJy5pIHphJ2EgZGFpIGEnbyBtaSBjYSBjbyd1IGNpc2thIGxvIGZh J29ybWEnbyAuaSBrbyBqaW1wZSB2YXUgLnVpJycpIC0gbG9vayB1cCBjaXNrYSBhbmQgd29yayBp dCBvdXQuCgoKClF1ZXN0aW9ucyBpbiBMb2piYW4gYXJlIHZlcnkgZWFzeSB0byBsZWFybiwgYW5k IHRoZXkgY29tZSBpbiB0d28ga2luZHM6IEZpbGwgaW4gdGhlIGJsYW5rLCBhbmQgdHJ1ZS9mYWxz ZSBxdWVzdGlvbnMuIExldCdzIGJlZ2luIHdpdGggdGhlIHRydWUtZmFsc2UgcXVlc3Rpb24ga2lu ZCAtIHRoYXQncyBwcmV0dHkgb3ZlcmNvbWVhYmxlLCBzaW5jZSBpdCBvbmx5IGludm9sdmVzIG9u ZSB3b3JkLCAnJ3h1JycuCgonJ3h1Jycgd29ya3MgbGlrZSBhbiBhdHRpdHVkaW5hbCBpbiB0aGUg c2Vuc2UgdGhhdCBpdCBjYW4gZ28gYW55d2hlcmUsIGFuZCBpdCBhcHBsaWVzIHRvIHRoZSBwcmVj ZWRpbmcgd29yZCAob3IgY29uc3RydWN0KS4gSXQgdGhlbiB0cmFuc2Zvcm1zIHRoZSBzZW50ZW5j ZSBpbnRvIGEgcXVlc3Rpb24sIGFza2luZyB3aGV0aGVyIGl0IGlzIHRydWUgb3Igbm90LiBJbiBv cmRlciB0byBhZmZpcm0sIHlvdSBzaW1wbHkgcmVwZWF0IHRoZSBicmlkaToKCicneHUgdmUndSB6 ZGFuaSBkbycnICcnLmkgdmUndSB6ZGFuaSBtaScnLCBvciB5b3UganVzdCByZXBlYXQgdGhlIHRo ZSBzZWxicmksIHdoaWNoIGlzIHRoZSBicmlkaSB3aXRoIGFsbCB0aGUgc3VtdGkgYW5kIHRlbnNl cyBlbGlkZWQ6ICcnemRhbmknJy4KClRoZXJlIGlzIGFuIGV2ZW4gZWFzaWVyIHdheSB0byBhZmZp cm0gdXNpbmcgYnJpa2EnaSwgYnV0IHRob3NlIGFyZSBhIHRhbGUgZm9yIGFub3RoZXIgdGltZS4g VG8gYW5zd2VyIOKAnG5v4oCdIG9yIOKAnGZhbHNl4oCdLCB5b3Ugc2ltcGx5IGFuc3dlciB3aXRo IHRoZSBicmlkaSBuZWdhdGVkLiBUaGF0IHRvbywgd2lsbCBiZSBsZWZ0IGZvciBsYXRlciwgYnV0 IHdlIHdpbGwgcmV0dXJuIHRvIHF1ZXN0aW9uIGFuc3dlcmluZyBieSB0aGVuLgoKCgpUaGUgb3Ro ZXIga2luZCBpcyBmaWxsIGluIHRoZSBibGFuay4gSGVyZSwgeW91IGFzayBmb3IgdGhlIHF1ZXN0 aW9uIHdvcmQgdG8gYmUgcmVwbGFjZWQgZm9yIGEgY29uc3RydWN0LCB3aGljaCBtYWtlcyB0aGUg YnJpZGkgY29ycmVjdC4gVGhlcmUgYXJlIHNldmVyYWwgb2YgdGhlc2Ugd29yZHMsIGRlcGVuZGlu ZyBvbiB3aGF0IHlvdSBhcmUgYXNraW5nIGFib3V0OgoKX18nJ21hJydfXyAtIHN1bXRpIHF1ZXN0 aW9uCgpfXycnbW8nJ19fIC0gc2VsYnJpIHF1ZXN0aW9uCgpfXycneG8nJ19fIC0gbnVtYmVyIHF1 ZXN0aW9uCgpfXycnY3UnZScnX18gLSB0ZW5zZSBxdWVzdGlvbgoKCgpBcyB3ZWxsIGFzIG1hbnkg b3RoZXJzLiBUbyBhc2sgYWJvdXQgYSBzdW10aSwgeW91IHRoZW4ganVzdCBwbGFjZSB0aGUgcXVl c3Rpb24gd29yZCB3aGVyZSB5b3Ugd2FudCB5b3VyIGFuc3dlcjogJydkbyBkdW5kYSBtYSBtaScn IC0gYXNrcyBmb3IgdGhlIHgyIHRvIGJlIGZpbGxlZCB3aXRoIGEgY29ycmVjdCBzdW10aS4g4oCc WW91IGdpdmUgd2hhdCB0byBtZT/igJ0uIFRoZSBjb21iaW5hdGlvbiBvZiAnJ3N1bXRjaXRhJycg KyAnJ21hJycgaXMgdmVyeSB1c2VmdWwgaW5kZWVkOgoKX18nJ211J2knJ19fIC0gc3VtdGNpdGE6 IG1vdGl2YXRlZCBieSB0aGUgYWJzdHJhY3Rpb24gb2Yge3N1bXRpfQoKCgonJy5vaSBkbyBkYXJ4 aSBtaSBtdSdpIG1hJycgLSDigJxPeSwgd2h5IGRvIHlvdSBoaXQgbWU/IeKAnQoKCgpMZXQncyB0 cnkgYW5vdGhlciBvbmUuIFRoaXMgdGltZSwgeW91IHRyYW5zbGF0ZToKCicnLnVpIGRhaSBkbyBj YSB6ZSd1IHB1IG1vJycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxZb3UncmUgaGFwcHksIHdo YXQgaGF2ZSB5b3UgYmVlbiBkb2luZyBhbGwgdGhpcyBsb25nIHRpbWUgdW50aWwgbm93P+KAnSBU ZWNobmljYWxseSwgaXQgY291bGQgYWxzbyBtZWFuIOKAnHdoYXQgaGF2ZSB5b3UgYmVlbj/igJ0s IGJ1dCBhbnN3ZXJpbmcgd2l0aCAnJy51YSBuYWkgbGknYSByZW1uYScnIChVaCwgaHVtYW4sIG9i dmlvdXNseSkgaXMganVzdCBiZWluZyBpbmNyZWRpYmx5IGFubm95aW5nIG9uIHB1cnBvc2Uufn4K CgoKU2luY2UgdG9uZSBvZiB2b2ljZSBvciBzZW50ZW5jZSBzdHJ1Y3R1cmUgZG9lcyBub3QgcmV2 ZWFsIHdoZXRoZXIgYSBzZW50ZW5jZSBpcyBhIHF1ZXN0aW9uIG9yIG5vdCwgb25lIGJldHRlciBu b3QgbWlzcyB0aGUgcXVlc3Rpb24gd29yZC4gVGhlcmVmb3JlLCBzaW5jZSBwZW9wbGUgdGVuZCB0 byBmb2N1cyBtb3JlIG9uIHdvcmRzIGluIHRoZSBiZWdpbm5pbmcgb3IgYXQgdGhlIGVuZCBvZiBz ZW50ZW5jZXMsIGl0J3MgdXN1YWxseSB3b3J0aCB0aGUgd2hpbGUgdG8gcmUtb3JkZXIgdGhlIHNl bnRlbmNlIHNvIHRoYXQgdGhlIHF1ZXN0aW9uIHdvcmRzIGFyZSBhdCB0aG9zZSBwbGFjZXMuIElm IHRoYXQgaXMgbm90IGZlYXNhYmxlLCAnJ3BhdScnIGlzIGFuIGF0dGl0dWRpbmFsIG1hcmtpbmcg dGhhdCB0aGUgc2VudGVuY2UgaXMgYSBxdWVzdGlvbi4gQ29udHJhcnksICcncGF1IG5haScnIGV4 cGxpY2l0bHkgbWFya3MgYW55IHF1ZXN0aW9uIGFzIGJlaW5nIHJoZXRvcmljYWwuCgoKCldoaWxl IHdlIGFyZSBvbiB0aGUgdG9waWMgb2YgcXVlc3Rpb25zLCBpdCdzIGFsc28gYXBwcm9wcmlhdGUg dG8gbWVudGlvbiB0aGUgd29yZCAnJ2thdScnLCB3aGljaCBpcyBhIG1hcmtlciBmb3Ig4oCcaW5k aXJlY3QgcXVlc3Rpb27igJ0uIFdoYXQncyBhbiBpbmRpcmVjdCBxdWVzdGlvbiwgdGhlbj8gV2Vs bCwgdGFrZSBhIGxvb2sgYXQgdGhlIHNlbnRlbmNlOiAnJ21pIGRqdW5vIGxvIGR1J3UgbWEga2F1 IHpkYW5pIGRvJycgLSDigJxJIGtub3cgd2hhdCBpcyB5b3VyIGhvbWUu4oCdCgpfXycnZGp1bm8n J19fIOKAnHgxIGtub3dzIGZhY3QocykgeDIgYXJlIHRydWUgYWJvdXQgeDMgYnkgZXBpc3RlbW9s b2d5IHg04oCdCgpPbmUgY2FuIHRoaW5rIGl0IGFzIHRoZSBhbnN3ZXIgdG8gdGhlIHF1ZXN0aW9u ICcnbWEgemRhbmkgZG8nJy4gTW9yZSByYXJlbHksIG9uZSBjYW4gbWFyayBhIG5vbi1xdWVzdGlv biB3b3JkIHdpdGggJydrYXUnJywgaW4gd2hpY2ggY2FzZSBvbmUgc3RpbGwgY2FuIGltYWdpbmUg aXQgYXMgdGhlIGFuc3dlciB0byBhIHF1ZXN0aW9uOiAnJ21pIGppbXBlIGxvIGR1J3UgZHVuZGEg dGkga2F1IGRvJycgLSDigJxJIGtub3cgd2hhdCB5b3UgaGF2ZSBiZWVuIGdpdmVuLCBpdCBpcyB0 aGlzLuKAnQoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdGhpcnRlZW4gKG1vcnBob2xv Z3kgYW5kIHdvcmQgY2xhc3NlcykKCkJhY2sgdG8gbW9yZSBoZWF2eSAoYW5kIGludGVyZXN0aW5n KSBzdHVmZi4KCklmIHlvdSBoYXZlbid0IGFscmVhZHksIEkgc3Ryb25nbHkgc3VnZ2VzdCB5b3Ug ZmluZCB0aGUgTG9qYmFuaWMgcmVjb3JkaW5nIGNhbGxlZCAiU3RvcnkgVGltZSB3aXRoIFVuY2xl IFJvYmluIiwgb3IgbGlzdGVuIHRvIHNvbWVvbmUgc3BlYWsgTG9qYmFuIG9uIE11bWJsZSwgYW5k IHRoZW4gcHJhY3RpY2UgeW91ciBwcm9udW5jaWF0aW9uLiBIYXZpbmcgYW4gaW50ZXJuYWwgY29u dmVyc2F0aW9uIGluIHlvdXIgaGVhZCBpbiBMb2piYW4gaXMgb25seSBnb29kIGlmIGl0IGlzbid0 IHdpdGggYWxsIHRoZSB3cm9uZyBzb3VuZHMsIGFuZCBsZWFybmluZyBwcm9udW5jaWF0aW9uIGZy b20gd3JpdHRlbiB0ZXh0IGlzIGhhcmQuIFRoZXJlZm9yZSwgdGhpcyBsZXNzb24gd2lsbCBub3Qg YmUgb24gdGhlIExvamJhbiBzb3VuZHMsIGhvd2V2ZXIgaW1wb3J0YW50IHRoZXkgbWlnaHQgYmUs IGJ1dCBhIHNob3J0IGludHJvZHVjdGlvbiB0byB0aGUgTG9qYmFuIG1vcnBob2xvZ3kuCgoKCldo YXQgaXMgbW9ycGhvbG9neT8gVGhlIHdvcmQgaXMgZGVyaXZlZCBmcm9tIEdyZWVrIG1lYW5pbmcg 4oCcdGhlIHN0dWR5IG9mIHNoYXBlc+KAnSwgYW5kIGluIHRoaXMgY29udGV4dCwgd2UgdGFsayBh Ym91dCBob3cgd2UgbWFrZSB3b3JkcyBmcm9tIGxldHRlcnMgYW5kIHNvdW5kcywgYXMgY29udHJh c3RlZCB3aXRoIHN5bnRheCAtIGhvdyB3ZSBtYWtlIHNlbnRlbmNlcyB3aXRoIHdvcmRzLiBMb2pi YW4gb3BlcmF0ZXMgd2l0aCBkaWZmZXJlbnQgbW9ycGhvbG9naWNhbCB3b3JkIGNsYXNzZXMsIHdo aWNoIGFyZSBhbGwgZGVmaW5lZCBieSB0aGVpciBtb3JwaG9sb2d5LiBUbyBtYWtlIGl0IGFsbCBu aWNlIGFuZCBzeXN0ZW1hdGljIHRob3VnaCwgd29yZHMgd2l0aCBjZXJ0YWluIGZ1bmN0aW9ucyB0 ZW5kIHRvIGJlIGdyb3VwZWQgYnkgbW9ycGhvbG9naWNhbCBjbGFzc2VzLCBidXQgZXhjZXB0aW9u cyBtYXkgb2NjdXIuCgp8fCAgIENsYXNzfE1lYW5pbmd8RGVmaW5lZCBCeXxUeXBpY2FsIEZ1bmN0 aW9uCgogICBXb3Jkczp8ICAgfCAgIHwgICAKCiAgIEJyaXZsYXwgICBicmlkaS13b3JkfCAgIEFt b25nIGZpcnN0IDUgbGV0dGVycyAoZXhjbHVkaW5nIOKAnCDigJgg4oCcKSBpcyBhIGNvbnNvbmFu dCBjbHVzdGVyLiBFbmRzIGluIHZvd2VsLiAgIHwgICBBY3RzIGFzIGEgc2VsYnJpIGJ5IGRlZmF1 bHQuIEFsd2F5cyBoYXMgYSBwbGFjZSBzdHJ1Y3R1cmUuCgogICAtLUdpc211fCAgIFJvb3Qtd29y ZHwgNSBsZXR0ZXJzIG9mIHRoZSBmb3JtIENWQ0NWIG9yIENDVkNWICAgfCAgIE9uZSB0byBmaXZl IHN1bXRpIHBsYWNlcy4gQ292ZXJzIGJhc2ljIGNvbmNlcHRzLgoKICAgLS1MdWp2b3wgIENvbXBv dW5kIHdvcmQuIERlcml2ZWQgZnJvbSBmcm9tIOKAnGx1anZsYeKAnSwgbWVhbmluZyDigJxjb21w bGV4IHdvcmTigJ0gfCAgIE1pbi4gNiBsZXR0ZXJzLiBNYWRlIGJ5IHN0cmluZ2luZyByYWZzaSB0 b2dldGhlciB3aXRoIGJpbmRpbmcgbGV0dGVycyBpZiBuZWNlc3NhcnkufCAgIENvdmVycyBtb3Jl IGNvbXBsZXggY29uY2VwdHMgdGhhbiBnaXNtdS4KCiAgIC0tRnUnaXZsYXwgIENvcHktd29yZCB8 IEFzIGJyaXZsYSwgYnV0IGRvIG5vdCBtZWV0IGRlZmluaW5nIGNyaXRlcmlhIG9mIGdpc211IG9y IGx1anZvLCBleDogJydhbmdlbGknJyAgfCAgIENvdmVycyB1bmlxdWUgY29uY2VwdHMgbGlrZSBu YW1lcyBvZiBwbGFjZXMgb3Igb3JnYW5pc21zLgoKICAgQ21ldmxhfCAgTmFtZS13b3JkIHwgICBC ZWdpbm5pbmcgYW5kIGVuZGluZyB3aXRoIHBhdXNlIChmdWxsIHN0b3ApLiBMYXN0IHNvdW5kL2xl dHRlciBpcyBhIGNvbnNvbmFudC58ICAgQWx3YXlzIGFjdHMgYXMgYSBuYW1lIG9yIGFzIHRoZSBj b250ZW50IG9mIGEgcXVvdGUuCgogICBDbWF2b3wgICBHcmFtbWFyLXdvcmQuIEZyb20g4oCcY21h dmxh4oCdLCBtZWFuaW5nIOKAnHNtYWxsIHdvcmTigJ18IE9uZSBjb25zb25hbnQgb3IgemVybywg YWx3YXlzIGF0IHRoZSBiZWdpbm5pbmcuIEVuZHMgaW4gYSB2b3dlbC4gIHwgICBHcmFtbWF0aWNh bCBmdW5jdGlvbnMuIFZhcmllcwoKICAgV29yZC1mcmFnbWVudHM6fCAgIHwgICB8CgogICBSYWZz aXwgICBBZmZpeHwgIENDViwgQ1ZDLCBDVidWLCAtQ1ZDQ1YsIC1DQ1ZDViwgQ1ZDQ3ktIG9yIEND VkN5LSAgfCBOb3QgYWN0dWFsIHdvcmRzLCBidXQgY2FuIGJlIHN0cmluZ2VkIHRvZ2V0aGVyIHRv IGZvcm0gbHVqdm8gfHwKCgoKCgpfXycnY21ldmxhJydfXyBhcmUgdmVyeSBlYXN5IHRvIGlkZW50 aWZ5IGJlY2F1c2UgdGhleSBiZWdpbiBhbmQgZW5kIHdpdGggYSBwYXVzZSwgc2lnbmFsZWQgYnkg YSBmdWxsIHN0b3AgaW4gd3JpdGluZywgYW5kIHRoZSBsYXN0IGxldHRlciBpcyBhIGNvbnNvbmFu dC4gY21ldmxhIGNhbid0IGhhdmUgYW55IG90aGVyIGZ1bmN0aW9uIGJlc2lkZXMgYWN0aW5nIGFz IGEgbmFtZS4gT24gdGhlIG90aGVyIGhhbmQsIG5hbWVzIHdoaWNoIGFyZSBub3Qgc2VsYnJpIGNh bm5vdCBhcHBlYXIgaW4gTG9qYmFuIHdpdGhvdXQgdGhlbSBiZWluZyBjbWV2bGEsIG9yIGVuY2Fz ZWQgYnkgY2VydGFpbiBxdW90ZSB3b3Jkcy4gT25lIGNhbiBtYXJrIHN0cmVzcyBpbiB0aGUgbmFt ZXMgYnkgY2FwaXRhbGl6aW5nIHRoZSBsZXR0ZXJzIHdoaWNoIGFyZSBzdHJlc3NlZC4gRXhhbXBs ZXMgb2YgY21ldmxhIGFyZTogJycuaW9oQU4uJycgKEpvaGFuLCBoIGlzIGNhcGl0YWwgYXBvc3Ry b3BoZSksICcnLm1hdC4nJyAoTWF0dCkgYW5kICcnLmx1dGNpTUlOLicnIChMdWktQ2hpIE1pbiku IE5hbWVzIHdoaWNoIGRvIG5vdCBlbmQgaW4gY29uc29uYW50cyBoYXZlIHRvIGhhdmUgb25lIGFk ZGVkOiAnJy5pdnluLicnIChFdmUpLCBvciAocHJvYmFibHkgYmV0dGVyIGluIHRoaXMgY2FzZSkg cmVtb3ZlZDogJycuaXYuJycKCgoKX18nJ2JyaXZsYScnX18gYXJlIGNhbGxlZCDigJxicmlkaS13 b3Jkc+KAnSBiZWNhdXNlIHRoZXkgYnkgZGVmYXVsdCBhcmUgc2VsYnJpLCBhbmQgdGhlcmVmb3Jl IGFsbW9zdCBhbGwgTG9qYmFuIHdvcmRzIHdpdGggYSBwbGFjZSBzdHJ1Y3R1cmUgYXJlIGJyaXZs YS4gVGhpcyBoYXMgYWxzbyBnaXZlbiB0aGVtIHRoZSBFbmdsaXNoIG5pY2tuYW1lIOKAnGNvbnRl bnQtd29yZHPigJ0uIEl0J3MgbmVhcmx5IGltcG9zc2libGUgdG8gc2F5IGFueXRoaW5nIHVzZWZ1 bCB3aXRob3V0IGJyaXZsYSwgYW5kIGFsbW9zdCBhbGwgd29yZHMgZm9yIGNvbmNlcHRzIG91dHNp ZGUgbG9qYmFuIGdyYW1tYXIgKGFuZCBldmVuIG1vc3Qgb2YgdGhlIHdvcmRzIGZvciB0aGluZ3Mg aW4gdGhlIGxhbmd1YWdlKSBhcmUgY2FwdHVyZWQgYnkgYnJpdmxhLiBBcyBzaG93biBpbiB0aGUg dGFibGUsIGJyaXZsYSBoYXMgdGhyZWUgc3ViY2F0ZWdvcmllczoKCl9fJydnaXNtdScnX18gYXJl IHRoZSByb290IHdvcmRzIG9mIHRoZSBsYW5ndWFnZS4gT25seSBhYm91dCAxNDUwIGV4aXN0cywg YW5kIHZlcnkgZmV3IG5ldyBvbmVzIGFyZSBhZGRlZC4gVGhleSBjb3ZlciB0aGUgbW9zdCBiYXNp YyBjb25jZXB0cyBsaWtlIOKAnGNpcmNsZeKAnSwg4oCcZnJpZW5k4oCdLCDigJx0cmVl4oCdIGFu ZCDigJxkcmVhbeKAnS4gRXhhbXBsZXMgaW5jbHVkZSAnJ3pkYW5pJycsICcncGVseHUnJyBhbmQg JydkdW5kYScnCgpfXycnbHVqdm8nJ19fIGFyZSBtYWRlIGJ5IGNvbWJpbmluZyByYWZzaSAoc2Vl IHVuZGVyIHJhZnNpKSwgcmVzcHJlc2VudGluZyBnaXNtdS4gQnkgY29tYmluaW5nIHJhZnNpLCBv bmUgbmFycm93cyBkb3duIHRoZSBtZWFuaW5nIG9mIHRoZSB3b3JkLiBsdWp2byBhcmUgbWFkZSBi eSBhbiBlbGFib3JhdGUgYWxnb3JpdGhtLCBzbyBtYWtpbmcgdmFsaWQgbHVqdm8gb24gdGhlIGZs eSBpcyBuZWFyIGltcG9zc2libGUsIHdpdGggZmV3IGV4Y2VwdGlvbnMgbGlrZSAnJ3NlbHBhJ2kn JywgZnJvbSAnJ3NlIHByYW1pJycsIHdoaWNoIGNhbiBvbmx5IGhhdmUgb25lIGRlZmluaXRpb24u IEluc3RlYWQsIGx1anZvIGFyZSBtYWRlIG9uY2UsIGl0cyBwbGFjZSBzdHJ1Y3R1cmUgZGVmaW5l ZCwgYW5kIHRoZW4gdGhhdCBkZWZpbml0aW9uIGlzIG1hZGUgb2ZmaWNpYWwgYnkgdGhlIGRpY3Rp b25hcnkuIEV4YW1wbGVzIGluY2x1ZGUgYnJpdmxhIChicmlkaS13b3JkKSwgJydjaW5qaWtjYScn IChzZXh1YWwtc29jaWFsaXppbmcgPSBmbGlydGluZykgYW5kICcnY2FrY2lua2knJyAoc2hlbGwt aW5zZWN0ID0gYmVldGxlKS4KCl9fJydmdSdpdmxhJydfXyBhcmUgbWFkZSBieSBtYWtpbmcgdXAg d29yZHMgd2hpY2ggZml0IHRoZSBkZWZpbml0aW9uIGZvciBicml2bGEsIGJ1dCBub3QgZm9yIGx1 anZvIG9yIGdpc211LiBUaGV5IHRlbmQgdG8gY292ZXIgY29uY2VwdHMgd2hpY2ggaXQncyBoYXJk IHRvIGNvdmVyIGJ5IGx1anZvLCBmb3IgaW5zdGFuY2UgbmFtZXMgb2Ygc3BlY2llcywgbmF0aW9u cyBvciB2ZXJ5IGN1bHR1cmFsIHNwZWNpZmljIGNvbmNlcHRzLiBFeGFtcGxlcyBpbmNsdWRlICcn Z3VnZHJnb2d1cmlvJycgKEtvcmVhKSAnJ2NpZGpycGl0c2EnJyAocGl6emEpIG9yICcnYW5nZWxp JycgKGFuZ2VsKS4KCgoKX18nJ2NtYXZvJydfXyBhcmUgc21hbGwgd29yZHMgd2l0aCBvbmUgb3Ig emVybyBjb25zb25hbnRzLiBUaGV5IHRlbmQgdG8gbm90IHNpZ25pZnkgYW55dGhpbmcgaW4gdGhl IGV4dGVyaW9yIHdvcmxkLCBidXQgdG8gaGF2ZSBvbmx5IGdyYW1tYXRpY2FsIGZ1bmN0aW9uLiBF eGNlcHRpb25zIG9jY3VyLCBhbmQgaXQncyBkZWJhdGFibGUgaG93IG11Y2ggYXR0aXR1ZGluYWxz IGV4aXN0cyBmb3IgdGhlaXIgZ3JhbW1hdGljYWwgZnVuY3Rpb24uIEFub3RoZXIgd2VpcmQgZXhh bXBsZSBhcmUgdGhlIHdvcmRzIG9mIHRoZSBjbGFzcyBHT2hBLCB3aGljaCBhY3QgYXMgYnJpdmxh LiBJdCBpcyB2YWxpZCB0byB0eXBlIHNldmVyYWwgY21hdm8gaW4gYSByb3cgYXMgb25lIHdvcmQs IGJ1dCBpbiB0aGVzZSBsZXNzb25zLCB0aGF0IHdvbid0IGJlIGRvbmUuIEJ5IGdyb3VwaW5nIGNl cnRhaW4gY21hdm8gaW4gZnVuY3Rpb25hbCB1bml0cywgdGhvdWdoLCBpdCBpcyBzb21ldGltZXMg ZWFzaWVyIHRvIHJlYWQuIFRodXMsICcnLnVpcHV6dXZ1a3VtaSBjaXRrYScnIGlzIHZhbGlkLCBh bmQgaXMgcGFyc2VkIGFuZCB1bmRlcnN0b29kIGFzICcnLnVpIHB1IHp1IHZ1IGt1IG1pIGNpdGth JycuIExpa2Ugb3RoZXIgTG9qYmFuIHdvcmRzLCBvbmUgc2hvdWxkIChidXQgbmVlZCBub3QgYWx3 YXlzKSBwbGFjZSBhIGZ1bGwgc3RvcCBiZWZvcmUgYW55IHdvcmRzIGJlZ2lubmluZyB3aXRoIGEg dm93ZWwuCgpjbWF2byBvZiB0aGUgZm9ybSB4VlYsIENWJ1ZWIG9yIFYnVlYgYXJlIGV4cGVyaW1l bnRhbCwgYW5kIGFyZSB3b3JkcyB3aGljaCBhcmUgbm90IGluIHRoZSBmb3JtYWwgZ3JhbW1hciwg YnV0IHdoaWNoIGhhdmUgYmVlbiBhZGRlZCBieSBMb2piYW4gdXNlcnMgdG8gcmVzcG9uZCB0byBh IGNlcnRhaW4gbmVlZC4KCgoKX18nJ3JhZnNpJydfXyBhcmUgbm90IExvamJhbiB3b3JkcywgYW5k IGNhbiBuZXZlciBhcHBlYXIgYWxvbmUuIEhvd2V2ZXIsIHNldmVyYWwgKG1vcmUgdGhhbiBvbmUp IHJhZnNpIGNvbWJpbmUgdG8gZm9ybSBsdWp2by4gVGhlc2UgbXVzdCBzdGlsbCBsaXZlIHVwIHRv IHRoZSBicml2bGEtZGVmaW5pdGlvbiwgZm9yIGluc3RhbmNlICcnbG9qYmFuJycgaXMgaW52YWxp ZCBiZWNhdXNlIGl0IGVuZHMgaW4gYSBjb25zb25hbnQgKHdoaWNoIG1ha2VzIGl0IGEgY21ldmxh KSwgYW5kICcnY2knZWtlaScnIGlzIGludmFsaWQgYmVjYXVzZSBpdCBkb2VzIG5vdCBjb250YWlu IGEgY29uc29uYW50IGNsdXN0ZXIsIGFuZCBpcyB0aHVzIHJlYWQgYXMgdHdvIGNtYXZvIHdyaXR0 ZW4gYXMgb25lIHdvcmQuIE9mdGVuLCBhIDMtNCBsZXR0ZXIgc3RyaW5nIGlzIGJvdGggYSBjbWF2 byBhbmQgYSByYWZzaSwgbGlrZSAnJ3p1J2UnJywgd2hpY2ggaXMgYm90aCB0aGUgQkFJIGFuZCB0 aGUgcmFmc2kgZm9yICcnenVrdGUnJy4gTm90ZSB0aGF0IHRoZXJlIGlzIG5vd2hlcmUgdGhhdCBi b3RoIGEgY21hdm8gYW5kIGEgcmFmc2kgd291bGQgYmUgZ3JhbW1hdGljYWwsIHNvIHRoZXNlIGFy ZSBub3QgY29uc2lkZXJlZCBob21vcGhvbmVzLiBBbGwgZ2lzbXUgY2FuIGRvdWJsZSBhcyByYWZz aSwgaWYgdGhleSBhcmUgcHJlZml4ZWQgd2l0aCBhbm90aGVyIHJhZnNpLiBUaGUgZmlyc3QgZm91 ciBsZXR0ZXIgb2YgYSBnaXNtdSBzdWZmaXhlZCB3aXRoIGFuICJ5IiBjYW4gYWxzbyBhY3QgYXMg YSByYWZzaSwgaWYgdGhleSBhcmUgc3VmZml4ZWQgd2l0aCBhbm90aGVyIHJhZnNpLiBUaGUgdm93 ZWwgInkiIGNhbiBvbmx5IGFwcGVhciBpbiBsdWp2byBvciBjbWV2bGEuIFZhbGlkIHJhZnNpIGxl dHRlciBjb21iaW5hdGlvbnMgYXJlOiBDVlYsIENWJ1YsIENDViwgQ1ZDQ3ktIENDVkN5LSwgLUNW Q0NWIGFuZCAtQ0NWQ1YuCgoKClVzaW5nIHdoYXQgeW91IGtub3cgbm93LCB5b3Ugc2hvdWxkIGJl IGFibGUgdG8gYW5zd2VyIHRoZSB0ZXN0IGkgdGh1cyBwcmVzZW50OgoKQ2F0ZWdvcml6ZSBlYWNo IG9mIHRoZSBmb2xsb3dpbmcgd29yZHMgYXMgY21ldmxhIChDKSwgZ2lzbXUgKGcpLCBsdWp2byAo bCksICcnZnUnaXZsYScnIChmKSBvciBjbWF2byAoYyk6CgpBICkgamFpICAgICAgICBHICkgbXVt YmwKCkIgKSAuaXJjaSAgICAgICAgSCApIC5pJ2kKCkMgKSBib3N0dSAgICAgICAgSSApIGN1CgpE ICkgeGVsbWFuICAgICAgICBKICkgcGxhanZhCgpFICkgcG8nZSAgICAgICAgSyApIGRhbnNla2UK CkYgKSBkamlza3UgICAgICAgIEwgKSAuZXJ0c2EKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTphLWMs IGItZiwgYy1nLCBkLUMsIGUtYywgZi1sLCBnLUMsIGgtYywgaS1jLCBqLWwsIGstZiwgbC1mLiBJ IGxlZnQgb3V0IHRoZSBmdWxsIHN0b3BzIGJlZm9yZSBhbmQgYWZ0ZXIgbmFtZXMgc28gaXQgd291 bGRuJ3QgYmUgdG9vIGVhc3kuCgpOb3RlOiBzb21lIG9mIHRoZXNlIHdvcmRzLCBsaWtlICcnYm9z dHUnJyBkbyBub3QgZXhpc3QgaW4gdGhlIGRpY3Rpb25hcnksIGJ1dCB0aGlzIGlzIGlycmVsZXZh bnQuIFRoZSBtb3JwaG9sb2d5IHN0aWxsIG1ha2VzIGl0IGEgZ2lzbXUsIHNvIGl0J3MganVzdCBh biB1bmRlZmluZWQgZ2lzbXUuIFNpbWlsYXJseSB3aXRoICcnLmVydHNhJyd+fgoKCgoKCiEhTG9q YmFuIExlc3NvbnMgLSBMZXNzb24gZm91cnRlZW4gKHRoZSBMb2piYW4gc3VtdGkgMTogTEUgYW5k IExBKQoKSWYgeW91IGhhdmUgcmVhZCBhbmQgdW5kZXJzdG9vZCB0aGUgY29udGVudCBvZiBhbGwg dGhlIGxlc3NvbnMgdW50aWwgbm93LCB5b3UgaGF2ZSBhbWFzc2VkIGEgbGFyZ2UgZW5vdWdoIGtu b3dsZWRnZSBvZiBMb2piYW4gc28gdGhhdCBpdCBkb2Vzbid0IG1hdHRlciBpbiB3aGljaCBvcmRl ciB5b3UgbGVhcm4gdGhlIHJlc3QuIEFzIGEgcmVzdWx0LCB0aGUgb3JkZXIgb2YgdGhlIG5leHQg bGVzc29ucyB3aWxsIGJlIGEgbWl4dHVyZSBvZiBzb3J0ZWQgYnkgaW5jcmVhc2luZyBkaWZmaWN1 bHR5IGFuZCBzb3J0ZWQgYnkgaW1wb3J0YW5jZSBpbiBvcmRpbmFyeSBMb2piYW4gY29udmVyc2F0 aW9uLgoKCgpPbmUgb2YgdGhlIGJpZ2dlc3QgY29uc3RyYWlucyBvbiB5b3VyIHNwZWFrIG5vdyBp cyB5b3VyIGxpbWl0ZWQga25vd2xlZGdlIG9uIGhvdyB0byBtYWtlIHN1bXRpLiBTbyBmYXIsIHlv dSBvbmx5IGtub3cgJyd0aScnIGFuZCAnJ2xvIFNFTEJSSScnLCB3aGljaCBkb2Vzbid0IHRha2Ug eW91IGZhciBjb25zaWRlcmluZyBob3cgaW1wb3J0YW50IHN1bXRpIGFyZSBpbiBMb2piYW4uIFRo aXMgbGVzc29uIGFzIHdlbGwgYXMgdGhlIGZvbGxvd2luZyB0d28gd2lsbCBiZSBhYm91dCB0aGUg TG9qYmFuIHN1bXRpLiBGb3Igbm93LCB3ZSBmb2N1cyBvbiB0aGUgZGVzY3JpcHRpdmUtbGlrZSBz dW10aSwgdGhlIG9uZXMgbWFkZSB3aXRoIGFydGljbGVzIGxpa2UgJydsbycnCgpBcnRpY2xlcyBh cmUgaW4gbG9qYmFuIGNhbGxlZCAnJ2dhZHJpJycsIGFuZCBhbGwgdGhlIG9uZXMgZGlzY3Vzc2Vk IGluIHRoaXMgbGVzc29uIGFyZSB0ZXJtaW5hdGVkIGJ5ICcna3UnJywgZXhjZXB0IHRoZSBjb21i aW5hdGlvbnMgJydsYSBDTUVWTEEnJywgJydsYWkgQ01FVkxBJycgYW5kICcnbGEnaSBDTUVWTEEn Jy4gV2Ugd2lsbCBiZWdpbiBieSBkZXNjcmliaW5nIHRocmVlIHNpbXBsZSBraW5kcyBvZiBkZXNj cmlwdGl2ZSBzdW10aSwgYW5kIHRoZW4gaW1tZWRpYXRlbHkgZmluZCB0aGF0IHRoZXkgYXJlIG5v dCBzbyBzaW1wbGUgYWZ0ZXIgYWxsOgoKX18nJ2xvJydfXyAtIGdhZHJpOiBHZW5lcmljIHZlcmlk aWNhbCDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gUmVzdWx0IGlzIHZhZ3VlIHdpdGgg cmVnYXJkIHRvIGluZGl2aWR1YWxpdHkvbWFzcy1uZXNzLgoKX18nJ2xlJydfXyAtIGdhZHJpOiBH ZW5lcmljIGRlc2NyaXB0aXZlIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBSZXN1bHQg aXMgdmFndWUgd2l0aCByZWdhcmQgdG8gaW5kaXZpZHVhbGl0eS9tYXNzLW5lc3MuCgpfXycnbGEn J19fIC0gZ2Fkcmk6IE5hbWluZyBhcnRpY2xlOiBDb252ZW50aW9uYWwsIOKAnGNvbnZlcnQgc2Vs YnJpIG9yIGNtZXZsYSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGluZGl2aWR1YWwocyku CgoKCllvdSBhcmUgYWxyZWFkeSBmYW1pbGlhciB3aXRoICcnbG8nJyBhbmQgd2hhdCBpdCBkb2Vz LiBCdXQgd2hhdCBkb2VzIGl0IG1lYW4sIOKAnHZlcmlkaWNhbOKAnSBhbmQg4oCcdmFndWUgd2l0 aCByZWdhcmQgdG8gaW5kaXZpZHVhbGl0eS9tYXNzLW5lc3PigJ0/IFRoZSBsYXR0ZXIgYWJvdXQg aW5kaXZpZHVhbHMgYW5kIG1hc3NlcywgSSdsbCBjb21lIGJhY2sgdG8gbGF0ZXIuIEZvciBub3cs IOKAnHZlcmlkaWNhbOKAnSBpbiB0aGlzIGNvbnRleHQgbWVhbnMgdGhhdCBpbiBvcmRlciBmb3Ig YSB0aGluZyB0byBxdWFsaWZ5IGJlZ2luIGxhYmVsbGVkIGFzICcnbG8ga2xhbWEnJywgaXQgaGFz IHRvIGFjdHVhbGx5ICcna2xhbWEnJy4gVGh1cywgdmVyaWRpY2FsIGdhZHJpIG1ha2VzIGEgY2xh aW0gd2hpY2ggbWF5IGJlIHRydWUgb3IgZmFsc2UgLSB0aGF0IHRoZSBvYmplY3QocykgaW4gcXVl c3Rpb24gYXJlIGFjdHVhbGx5IHRoZSB4MSBvZiB0aGUgc2VsYnJpIGFmdGVyICcnbG8nJy4gCgoK ClRoaXMgbWF5IGJlIGNvbnRyYXN0ZWQgd2l0aCAnJ2xlJycsIHdoaWNoIGlzIGRlc2NyaXB0aXZl LCBhbmQgdGh1cyBub3QgdmVyaWRpY2FsLiBTYXlpbmcgJydsZSBnZXJrdScnIHNheXMgdGhhdCB5 b3UgaGF2ZSBvbmUgb3IgbW9yZSBzcGVjaWZpYyBvYmplY3RzIGluIG1pbmQsIGFuZCB5b3UgdXNl IHRoZSBzZWxicmkgJydnZXJrdScnIHRvIGRlc2NyaWJlIGl0LCBzbyB0aGF0IHRoZSBsaXN0ZW5l ciBtYXkgaWRlbnRpZnkgdGhvc2Ugc3BlY2lmaWMgb2JqZWN0cy4gVGhpcyBtZWFucyB0aGF0ICcn bGUnJyBoYXZlcyB0d28gaW1wb3J0YW50IGRpZmZlcmVuY2VzIGZyb20gJydsbycnOiBGaXJzdGx5 LCBpdCBjYW5ub3QgcmVmZXIgdG8gb2JqZWN0cyBpbiBnZW5lcmFsLCBidXQgYWx3YXlzIHJlZmVy cyB0byBzcGVjaWZpYyBvYmplY3RzLiBTZWNvbmRseSwgd2hpbGUgJydsbyBnZXJrdScnIGRlZmlu aXRlbHkgaXMgb25lIG9yIG1vcmUgZG9ncywgJydsZSBnZXJrdScnLCBiZWNhdXNlIGl0J3Mgbm90 IHZlcmlkaWNhbCwgY2FuIGJlIGFueXRoaW5nLCBhcyBsb25nIGFzIHRoZSBzcGVha2VyIHRoaW5r cyB0aGUgZGVzY3JpcHRpb24gd2lsbCBoZWxwIGlkZW50aWZ5aW5nIHRoZSBjb3JyZWN0IG9iamVj dHMuIFBlcmhhcHMgdGhlIHNwZWFrZXIgaXMgcmVmZXJyaW5nIHRvIGEgaHllbmEsIGJ1dCBhcmUg bm90IGZhbWlsaWFyIHdpdGggdGhlbSBhbmQgdGhpbmsg4oCcZG9n4oCdIGlzIGEgZ29vZCBlbm91 Z2ggYXBwcm94aW1hdGlvbiB0byBiZSB1bmRlcnN0b29kLiBUaGlzIG5vbi12ZXJpZGljYWxpdHkg aXMgcGVyaGFwcyBvdmVyLWVtcGhhc2lzZWQgaW4gbW9zdCBtYW55IHRleHRzOyBUaGUgYmVzdCB3 YXkgdG8gZGVzY3JpYmUgYSBkb2cgaXMgdXN1YWxseSB0byBkZXNjcmliZSBpdCBhcyBiZWluZyBh IGRvZywgYW5kIHVubGVzcyB0aGVyZSBpcyBhIGdvb2QgcmVhc29uIG5vdCB0bywgJydsZSBnZXJr dScnIGlzIHVzdWFsbHkgcHJlc3VtZWQgdG8gcmVmZXIgdG8gc29tZXRoaW5nIHdoaWNoIGlzIGFs c28gJydsbyBnZXJrdScnLgoKSW4gdHJhbnNsYXRpb24sICcnbG8gZ2Vya3UnJyBpcyB1c3VhbGx5 IOKAnGEgZG9n4oCdIG9yIOKAnHNvbWUgZG9nc+KAnSwgd2hpbGUgJydsZSBnZXJrdScnIGlzIOKA nHRoZSBkb2figJ0gb3Ig4oCcdGhlIGRvZ3PigJ0uIEV2ZW4gYmV0dGVyIGZvciAnJ2xlIGdlcmt1 Jycgd291bGQgYmUg4oCcdGhlIOKAnGRvZyhzKeKAnSDigJ0KCgoKTGFzdCBvZiB0aGUgdGhyZWUg YmFzaWMgJydnYWRyaScnLCB0aGVyZSBpcyAnJ2xhJycsIHRoZSBuYW1pbmcgJydnYWRyaScnLCB3 aGljaCBJIGhhdmUgdW5jb252ZW50aW9uYWxseSBjYWxsZWQg4oCcY29udmVudGlvbmFs4oCdLiBX aGF0IEkgbWVhbiBieSB0aGlzIGlzIHRoYXQgaXQncyBuZWl0aGVyIGRlc2NyaXB0aXZlIG5vciB2 ZXJpZGljYWwsIHNpbmNlIGl0IHJlZmVycyB0byBhIHByb3BlciBuYW1lLiBJZiBJIGluIEVuZ2xp c2ggcmVmZXIgdG8gYSBwZXJzb24gY2FsbGVkIElubm9jZW50IGJ5IGhlciBuYW1lLCBJIG5laXRo ZXIgZGVzY3JpYmUgaGVyIGFzIGJlaW5nIGlubm9jZW50LCBub3IgZG8gSSBzdGF0ZSB0aGF0IHNo ZSBpcy4gSSBvbmx5IHN0YXRlIHRoYXQgYnkgY29udmVudGlvbiwgdGhhdCBvYmplY3QgaXMgcmVm ZXJyZWQgdG8gYnkgdGhhdCBzZWxicmkgb3IgY21ldmxhLiBOb3RlIHRoYXQgJydsYScnIGFuZCB0 aGUgZ2FkcmkgZGVyaXZlZCBmcm9tIGl0IGNhbiBjb252ZXJ0IGNtZXZsYSB0byBzdW10aSB1bmxp a2UgYW55IG90aGVyICcnZ2FkcmknJy4gQWxzbzogQmUgY2F1dGlvdXM6IE90aGVyIHRleHRzIGRv IG5vdCBtZW50aW9uIHRoYXQgbmFtZXMgY2FuIGJlIGZvcm1lZCBmcm9tIG9yZGluYXJ5IHNlbGJy aSB1c2luZyB0aGUgZ2FkcmkgJydsYScnLiBCdXQgdGhvc2UgaGVyZXRpY3MgbXVzdCBidXJuOyBz ZWxicmkgbmFtZXMgYXJlIGFzIGdvb2QgYXMgdGhleSBnZXQsIGFuZCBtYW55IGEgcHJvdWQgTG9q YmFuaXN0IGhhdmUgdGhlbS4KCicnbGEnJywgYXMgd2VsbCBhcyAnJ2xhaScnIGFuZCAnJ2xhJ2kn JyBhcmUgYSBiaXQgZWNjZW50cmljLCBzaW5jZSB0aGV5IF9fYWx3YXlzX18gbWFya3MgdGhlIGJl Z2lubmluZyBvZiBhIG5hbWUuIFVubGlrZSB0aGUgb3RoZXIgZ2FkcmksIGFueXRoaW5nIHRoYXQg Y2FuIGJlIGdyYW1tYXRpY2FsbHkgcGxhY2VkIGFmdGVyICcnbGEnJyBhbmQgaXRzIHNpc3RlcnMg YXJlIGNvbnNpZGVyZWQgcGFydCBvZiB0aGUgbmFtZS4gRm9yIGV4YW1wbGUsICcnbGUgbWkgZ2Vy a3UnJyBpcyAibXkgZG9nIiwgYnV0ICcnbGEgbWkgZ2Vya3UnJyBpcyBzb21lb25lIGNhbGxlZCAi TXkgRG9nIi4KCgoKVGhlc2UgdGhyZWUgYmFzaWMgJydnYWRyaScnIGNhbiBiZSBleHBhbmRlZCB3 aXRoIHRocmVlIG1vcmUsIHdoaWNoIGNvcnJlc3BvbmRzIHRvIHRoZSBwcmV2aW91czoKCgoKX18n J2xvaScnX18gLSBnYWRyaTogdmVyaWRpY2FsIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCd LiBUcmVhdCByZXN1bHQgYXMgbWFzcyhlcykuCgpfXycnbGVpJydfXyAtIGdhZHJpOiBEZXNjcmlw dGl2ZSDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGEgbWFz cyhlcykuCgpfXycnbGFpJydfXyAtIGdhZHJpOiBOYW1pbmcgYXJ0aWNsZTogQ29udmVudGlvbmFs LCDigJxjb252ZXJ0IHNlbGJyaSBvciBjbWV2bGEgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBh cyBtYXNzKGVzKS4KCgoKVGhlc2UgYXJlIHRoZSBzYW1lIGluIGFsbCBhc3BlY3RzIGV4Y2VwdCBm b3Igb25lOiBUaGV5IHRyZWF0IHRoZSBzdW10aSBleHBsaWNpdGx5IGFzIG1hc3Nlcy4gSWYgdGhl cmUgaXMgb25seSBvbmUgb2JqZWN0IGluIHF1ZXN0aW9uLCBhbiBpbmRpdmlkdWFsIGFuZCBhIG1h c3MgY29uc2lzdGluZyBvZiBvbmUgb2JqZWN0IGFyZSBlcXVpdmFsZW50LiBUaGUgZGlmZmVyZW5j ZSBiZXR3ZWVuIHRoZXNlIHR3byBjb25jZXB0cyBsaWUgaW4gd2hpY2ggc2VsYnJpIGNhbiBiZSBh c2NyaWJlZCB0byBhIGdyb3VwIG9mIGluZGl2aWR1YWxzIHZlcnN1cyBhIG1hc3MuIEEgZ3JvdXAg b2YgaW5kaXZpZHVhbHMgY2FuIGJlIHNhaWQgdG8gZml0IGEgY2VydGFpbiBzZWxicmkgaWYsIGFu ZCBvbmx5IGlmLCBhbGwgbWVtYmVycyBvZiB0aGUgZ3JvdXAgZWFjaCBmaXQgdGhlIHNlbGJyaS4g SXQgaXMgY29ycmVjdCB0byBkZXNjcmliZSBhIHBhY2sgb2YgJydsbyBnZXJrdScnLCBjb25zaWRl cmVkIGluZGl2aWR1YWxseSwgYXMgYmVpbmcgYmxhY2ssIGlmIGZvciBlYWNoIG9mIHRoZSBkb2dz IGl0J3MgdHJ1ZSB0aGF0IHRoZXkgYXJlIGJsYWNrLiBBIG1hc3MsIG9uIHRoZSBvdGhlciBoYW5k LCBmaXRzIG9ubHkgdGhvc2Ugc2VsYnJpIHdoaWNoIGl0cyBjb21wb25lbnRzIGZpdCBhcyBhIHdo b2xlLCBhcyBhIHRlYW0sIHNvIHRvIHNwZWFrLiBIb3dldmVyLCBhbGwgdGhlIG1lbWJlcnMgb2Yg YSBtYXNzICcnbG9pIGdlcmt1JycgbXVzdCBiZSBkb2dzIGluIG9yZGVyIGZvciAnJ2xvaScnIHRv IGJlIGFwcGxpY2FibGUuIFRoZSBub3Rpb24gb2YgIm1hc3NlcyIgYXJlIHNvcGhpc3RpY2F0ZWQs IGFuZCByZXF1aXJlcyBzb21lIGV4YW1wbGVzIHRvIGRlbW9uc3RyYXRlIHdoaWNoIHByb3BlcnRp ZXMgaXQgY2FuIGhhdmU6CgpfXycnc3J1cmknJ19fOiDigJx4MSBmbGFua3MvZW5jaXJjbGVzL2Vu Y2xvc2VzIHgyIGluIGxpbmUvcGxhbmUvZGlyZWN0aW9ucyB4M+KAnQoKJydsZWkgcHJlbnUgY3Ug c3J1cmkgbG8gemRhbmknJyAtIOKAnFRoZSBwZW9wbGUgc3Vycm91bmRlZCB0aGUgaG9tZS7igJ0g aXMgcGxhdXNpYmxlLCBldmVuIHRob3VnaCwgeW8gbW9tYSBqb2tlcyBub3QgY29uc2lkZXJlZCwg aXQncyBjb21wbGV0ZWx5IGltcGxhdXNpYmxlIHRoYXQgaXQgY291bGQgYmUgdHJ1ZSBmb3IgYW55 IG9uZSBvZiB0aGUgbWVtYmVycyBhbG9uZS4gQW4gRW5nbGlzaCBhbmFsb2d5IGNvdWxkIGJlOiDi gJxIdW1hbnMgZGVmZWF0ZWQgc21hbGxwb3ggaW4gdGhlIDIwdGggY2VudHVyeeKAnS4gU3VyZWx5 IG5vIGh1bWFuIGRpZCBzbywgYnV0IHRoZSBtYXNzIG9mIGh1bWFucyBkaWQsIGFuZCB0aGF0IG1h a2VzIHRoZSBzZW50ZW5jZSB0cnVlIGluIEVuZ2xpc2gsIGFzIHdlbGwgYXMgaW4gTG9qYmFuIGlm IOKAnGh1bWFuc+KAnSBhcmUgYSBtYXNzLiBKdXN0IGxpa2UgdGhlIExvamJhbiBtYXNzLCB0aGUg RW5nbGlzaCBtYXNzIOKAnGh1bWFuc+KAnSBjYW4gb25seSByZWZlciB0byBpbmRpdmlkdWFscyBl YWNoIG9mIHdoaWNoIGFyZSBodW1hbi4gQW5vdGhlciBleGFtcGxlOgoKX18nJ21pdnlzbGUnJ19f OiAieDEgaXMgYSBiaW9sb2dpY2FsIGNlbGwgb2Ygb3JnYW5pc20geDIiCgpfXycncmVtbmEnJ19f OiAieDEgaXMgYSBodW1hbiIKCicnbG9pIG1pdnlzbGUgY3UgcmVtbmEnJyAtICJTb21lIG1hc3Nl cyBvZiBjZWxscyBhcmUgaHVtYW4iLiBBZ2Fpbiwgbm9uZSBvZiB0aGUgY2VsbHMgYXJlIGh1bWFu LiBJbmRlZWQsIHRoZSBjZWxscyBoYXZlIHZlcnkgZmV3IGh1bWFuIHRyYWl0cywgYnV0IHRoZSBj ZWxscyBjb25zaWRlcmVkIGFzIGEgd2hvbGUgbWFrZXMgdXAgYSBodW1hbi4KCgoKQSBtYXNzIG1h ZGUgd2l0aCAnJ2xlaScnLCBzdWNoIGFzICcnbGVpIGdlcmt1JycsIHJlZmVycyB0byBhIG1hc3Mg Zm9ybWVkIGJ5IGEgZ3JvdXAgb2Ygc3BlY2lmaWMgaW5kaXZpZHVhbHMsIGVhY2ggb2Ygd2hpY2gg dGhlIHNwZWFrZXIgcmVmZXJzIHRvIGFzICcnbGUgZ2Vya3UnJy4KCk1hc3MgbmFtZXMgYXMgZGVz Y3JpYmVzIGJ5ICcnbGFpJycgYXJlIG9ubHkgYXBwcm9wcmlhdGUgaWYgdGhlIGdyb3VwIGFzIGEg d2hvbGUgaXMgbmFtZWQgc3VjaCwgYW5kIG5vdCBqdXN0IGlmIGFueSBvZiB0aGUgbWVtYmVycyBh cmUuIEl0IGNhbiwgaG93ZXZlciBiZSB1c2VkIGlmIHRoZSBicmlkaSBpcyB0cnVlIGZvciBvbmx5 IGEgZnJhY3Rpb24gb2YgdGhhdCBncm91cC4KCgoKSXQgaXMgaW1wb3J0YW50IHRvIHJlbWVtYmVy IHRoYXQgJydsbycnIGFuZCAnJ2xlJycgY2FuIGJlIHVzZWQgdG8gZGVzY3JpYmUgYm90aCBpbmRp dmlkdWFscyBhbmQgbWFzc2VzLiBMZXQncyBzYXkgYSBwYWNrIG9mIGRvZ3MsIGNvbnNpZGVyZWQg YXMgYSBtYXNzIG5lZWRzIGRlc2NyaXB0aW9uLiBJIG1pZ2h0IGRlc2NyaWJlIGl0IGFzIGVpdGhl ciAnJ2xvaSBnZXJrdScnIG9yICcnbG8gZ2Vya3UnJy4gSWYgSSB1c2UgJydsbycnLCB0aGlzIGFs bG93cyBtZSB0byBjb3JyZWN0bHkgc3RhdGUgc29tZXRoaW5nIHdoaWNoIGxvb2tzIGxpa2UgYSBj b250cmFkaWN0aW9uLCBidXQgcmVhbGx5IGlzbid0OiAnJ2xvIGdlcmt1IG5hIGdlcmt1JycgLSAi U29tZSBkb2dzIGFyZSBub3QgZG9ncyIuIFNpbmNlIGl0J3MgYmVpbmcgY29uc2lkZXJlZCBhIG1h c3Mgb2YgZG9ncywgdGhlIG1hbnkgZG9ncyBjb25zaWRlcmVzIGFzIGEgd2hvbGUgaXMgbm90IGEg ZG9nLCBidXQgcmF0aGVyIGEgcGFjayBvZiBkb2dzLgoKWW91IG1pZ2h0IGhhdmUgbm90aWNlZCB0 aGF0IHRoZXJlIGlzIG5vIHdvcmQgd2hpY2ggdW5hbWJpZ3VvdXNseSBjb252ZXJ0cyBzZWxicmkg dG8gaW5kaXZpZHVhbChzKS4gSW4gb3JkZXIgdG8gYmUgZXhwbGljaXQgYWJvdXQgaW5kaXZpZHVh bG5lc3MsIG9uZSBuZWVkcyAnJ2xvJycsICcnbGUnJyBvciAnJ2xhJycgd2l0aCBhbiBvdXRlciBx dWFudGlmaWVyLiBUaGUgc3ViamVjdCBvZiBxdWFudGlmaWVycyB3aWxsIGJlIGNvbnNpZGVyZWQg bGF0ZXIsIGluIGxlc3NvbiB0d2VudHktdHdvLiBXaGF0IGlzIHRoZSByZWFzb24gdGhhdCAnJ2xv JycgYW5kICcnbGUnJyB2YWd1ZSwgYW5kIG5vdCBleHBsaWNpdGx5IGluZGl2aWR1YWw/IEl0IGlz IGJlY2F1c2UgdGhlaXIgdmFndWVuZXNzIGVuYWJsZXMgdGhlbSB0byBiZSB1c2VkIGluIGFueSBj b250ZXh0LCB3aXRob3V0IHRoZSBzcGVha2VyIGhhdmluZyB0byB0aGluayBhYm91dCB3aGV0aGVy IGlzIGJlaGF2ZXMgYXMgYSBtYXNzIG9yIGEgZ3JvdXAgb2YgaW5kaXZpZHVhbHMuCgoKClRoaXJk IGluIHRoaXMgc2VyaWVzLCB0aGVyZSBhcmUgdGhyZWUgc2V0LWZvcm1pbmcgJydnYWRyaScnOgoK CgpfXycnbG8naScnX18gLSBnYWRyaTogdmVyaWRpY2FsIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1 bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgYSBzZXQuCgpfXycnbGUnaScnX18gLSBnYWRyaTogRGVz Y3JpcHRpdmUg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBh IHNldC4KCl9fJydsYSdpJydfXyAtIGdhZHJpOiBOYW1pbmcgYXJ0aWNsZTogQ29udmVudGlvbmFs LCDigJxjb252ZXJ0IHNlbGJyaSBvciBjbWV2bGEgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBh cyBhIHNldC4KCgoKVW5saWtlIGdyb3VwcyBvZiBpbmRpdmlkdWFscyBvciwgc29tZXRpbWVzLCBt YXNzZXMsIHNldHMgZG9lcyBub3QgdGFrZSBhbnkgb2YgdGhlIHByb3BlcnRpZXMgZnJvbSB0aGUg b2JqZWN0cyBmcm9tIHdoaWNoIHRoZSBzZXQgaXMgZm9ybWVkLiBBIHNldCBpcyBhIHB1cmVseSBt YXRoZW1hdGljYWwgb3IgbG9naWNhbCBjb25zdHJ1Y3QsIGFuZCBoYXMgcHJvcGVydGllcyBsaWtl IGNhcmRpbmFsaXR5LCBtZW1iZXJzaGlwIGFuZCBzZXQgaW5jbHVzaW9uLiBBZ2Fpbiwgbm90ZSB0 aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGEgc2V0IG9mIHRoaW5ncywgYW5kIHRoZSB0aGluZ3Mgb2Yg d2hpY2ggdGhlIHNldCBpcyBmb3JtZWQ6CgpfXycndGlyeHUnJ19fIOKAnHgxIGlzIGEgdGlnZXIv bGVvcGFyZC9qYWd1YXIgb2Ygc3BlY2llcy9icmVlZCB4MiB3aXRoIGNvYXQgbWFya2luZ3MgeDPi gJ0KCicnbG8naSB0aXJ4dSBjdSBjbWFsdScnIHNheXMgbm90aGluZyBhYm91dCB3aGV0aGVyIGJp ZyBjYXRzIGFyZSBzbWFsbCAod2hpY2ggaXMsIGJ5IHRoZSB3YXksIG9idmlvdXNseSBmYWxzZSks IGJ1dCBpbnN0ZWFkIHNheSB0aGF0IHRoZSBzZXQgb2YgYmlnIGNhdHMgaXMgc21hbGw7IHRoYXQg aXMgLSB0aGVyZSBhcmUgZmV3IG9mIHRoZW0uCgoKCkxhc3RseSwgdGhlcmUgYXJlIHRoZSAob25s eSB0d28pIGdlbmVyYWxpemluZyAnJ2dhZHJpJyc6CgpfXycnbG8nZScnX18gLSBnYWRyaTogdmVy aWRpY2FsIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBTdW10aSByZWZlcnMgdG8gdGhl IGFyY2hldHlwZSBvZiAnJ2xvIHtzZWxicml9JycuCgpfXycnbGUnZScnX18gLSBnYWRyaTogRGVz Y3JpcHRpdmUg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFN1bXRpIHJlZmVycyB0byB0 aGUgZGVzY3JpYmVkL3BlcmNlaXZlZCBhcmNoZXR5cGUgb2YgJydsZSB7c2VsYnJpfScnLgoKT2Yg d2hpY2ggdGhlcmUgaXMgbm8gJydsYScnLWVxdWl2YWxlbnQuCgoKClNvLCB3aGF0IGlzIGFjdHVh bGx5IG1lYW50IGJ5IHRoZSBhcmNoZXR5cGU/IEZvciAnJ2xvJ2UgdGlyeHUnJywgaXQgaXMgYW4g aWRlYWwsIGltYWdpbmVkIGJpZyBjYXQsIHdoaWNoIGhhcyBhbGwgdGhlIHByb3BlcnRpZXMgd2hp Y2ggYmVzdCBleGVtcGxpZmllcyBiaWcgY2F0cy4gSXQgd291bGQgYmUgd3JvbmcgdG8gc2F5IHRo YXQgdGhpcyBpbmNsdWRlcyBoYXZpbmcgYSBzdHJpcGVkIGZ1ciwgc2luY2UgYSBiaWcgc3lzdGVt YXRpYyBzdWJncm91cCBvZiB0aGUgbWVtYmVycyBvZiB0aGUgc2V0IG9mIGJpZyBjYXRzIGRvIG5v dCBoYXZlIHN0cmlwZWQgZnVyLCB0aGUgbGVvcGFyZHMgYW5kIHRoZSBqYWd1YXJzLiBMaWtld2lz ZSwgdGhlIHR5cGljYWwgaHVtYW4gZG9lcyBub3QgbGl2ZSBpbiBBc2lhIGV2ZW4gdGhvdWdoIGEg bG90IG9mIGh1bWFucyBkby4gSG93ZXZlciwgaWYgc3VmZmljaWVudGx5IG1hbnkgaHVtYW5zIGhh dmUgYSB0cmFpdCwgZm9yIGluc3RhbmNlIGJlaW5nIGFibGUgdG8gc3BlYWssIHdlIGNhbiBzYXk6 CgpfXycna2FrbmUnJ19fOiDigJx4MSBpcyBjYXBhYmxlIG9mIGRvaW5nL2JlaW5nIHgyIHVuZGVy IGNpcmN1bXN0YW5jZSB4M+KAnQoKJydsbydlIHJlbW5hIGN1IGtha25lIGxvIG51IHRhdmxhJycg LSDigJxUaGUgdHlwaWNhbCBodW1hbiBiZWluZyBjYW4gc3BlYWvigJ0uCgoKCicnbGUnZScnIHRo ZW4sIGlzIHRoZSBpZGVhbCBvYmplY3QgYXMgcGVyY2VpdmVkIG9yIGRlc2NyaWJlZCBieSB0aGUg c3BlYWtlci4gVGhpcyBuZWVkIG5vdCBiZSBmYWN0dWFsbHkgY29ycmVjdCwgYW5kIGlzIG9mdGVu IHRyYW5zbGF0ZWQgYXMgdGhlIOKAnHN0ZXJlb3R5cGXigJ0sIGV2ZW4gdGhvdWdoIHRoZSBFbmds aXNoIHBocmFzZSBoYXZlIHNvbWUgdW5wbGVhc2FudCBuZWdhdGl2ZSBjb25ub3RhdGlvbnMsIHdo aWNoIHRoZSBMb2piYW4gZG9lcyBub3QuIEluIGZhY3QsIGV2ZXJ5b25lIGhhcyBhIHN0ZXJlb3R5 cGljYWwgYXJjaGV0eXBpY2hhbCBpbWFnZSBvZiBhbnkgY2F0ZWdvcnkuIEluIG90aGVyIHdvcmRz LCAnJ2xvJ2UgcmVtbmEnJyBpcyB0aGUgYXJjaGV0eXBlIHdoaWNoIGJlc3QgZXhlbXBsaWZpZXMg YWxsICcnbG8gcmVtbmEnJywgd2hpbGUgdGhlIGFyY2hldHlwZSAnJ2xlJ2UgcmVtbmEnJyBiZXN0 IGV4ZW1wbGlmaWVzIGFsbCAnJ2xlIHJlbW5hJycuCgoKClRoZSBlbGV2ZW4gZ2FkcmkgY2FuIGJl IHNlZW4gaW4gdGhlIGRpYWdyYW0gYmVsb3cuCgp8fCB8R2VuZXJpY3xNYXNzZXN8U2V0c3xHZW5l cmFsaXppbmcKCnZlcmlkaWNhbHxsb3xsb2l8bG8naXxsbydlCgpEZXNjcmlwdGl2ZXxsZXxsZWl8 bGUnaXxsZSdlCgpOYW1lfGxhfGxhaXxsYSdpfGRvZXMgbm90IGV4aXN0fHwKCgoKTm90ZTogRWFy bGllciwgdGhlcmUgd2FzIGEgd29yZCAnJ3hvJ2UnJyBmb3IgdGhlIGdlbmVyaWMgZ2FkcmkuIEhv d2V2ZXIsIHRoZSBydWxlcyBhbmQgZGVmaW5pdGlvbnMgZm9yIGdhZHJpIHdlcmUgY2hhbmdlZCBp biBsYXRlIDIwMDQsIGFuZCB0aGUgY3VycmVudCBzZXQgb2YgcnVsZXMgb24gdGhpcyB0b3BpYywg bmlja2VkIOKAnHhvcmxv4oCdIGhhcyByZXBsYWNlZCB0aGUgb2xkIHdheS4gTm93LCAnJ2xvJycg aXMgZ2VuZXJpYywgYW5kICcneG8nZScnIGlzIHVzZWQgYXMgYSBlbGxpcHRpY2FsIGRpZ2l0IChs ZXNzb24gbmluZXRlZW4pLgoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gZmlmdGVlbiAo dGhlIExvamJhbiBzdW10aSAyOiBLT2hBMywgS09oQTUgYW5kIEtPaEE2KQoKU2VlIHdoYXQgaGFw cGVucyBpZiBJIHRyeSB0byB0cmFuc2xhdGUgdGhlIHNlbnRlbmNlOiDigJxTdGVyZW90eXBpY2Fs IHBlb3BsZSB3aG8gY2FuIHNwZWFrIExvamJhbiBzcGVhayB0byBlYWNoIG90aGVyIGFib3V0IHRo ZSBsYW5ndWFnZXMgdGhleSBjYW4gc3BlYWvigJ06CgpfXycnYmFuZ3UnJ19fIOKAnHgxIGlzIGEg bGFuZ3VhZ2UgdXNlZCBieSB4MiB0byBleHByZXNzIHgzIChhYnN0cmFjdGlvbinigJ0KCicnbGUn ZSBwcmVudSBwb2kga2UnYSBrYWtuZSBsbyBudSB0YXZsYSBmbyBsYSAubG9qYmFuLiBjdSB0YXZs YSBsZSdlIHByZW51IHBvaSBrZSdhIGtha25lIGxvIG51IHRhdmxhIGZvIGxhIC5sb2piYW4uIGxv IGJhbmd1IHBvaSBsbyBwcmVudSBwb2kga2UnYSB0YXZsYSBmbyBsYSAubG9qYmFuLiBjdSBzZSBi YW5ndSBrZSdhJycKCgoKV2hhdCB3ZSBzZWUgaXMgdGhhdCB0aGUgTG9qYmFuIHZlcnNpb24gaXMg bXVjaCBsb25nZXIgdGhhbiB0aGUgRW5nbGlzaC4gVGhpcyBpcyBwcmltYXJpbHkgYmVjYXVzZSB0 aGUgZmlyc3QsIHJpZGljdWxvdXNseSBsb25nIHN1bXRpIGlzIGJlaW5nIHJlcGVhdGVkIHR3byBt b3JlIHRpbWVzIGluIHRoZSBMb2piYW4gdGV4dCwgd2hpbGUgdGhlIEVuZ2xpc2ggY2FuIHJlZmVy IHRvIGl0IGJ5IOKAnGVhY2ggb3RoZXLigJ0gYW5kIOKAnHRoZXnigJ0gLSBtdWNoIG1vcmUgZWZm aWNpZW50bHkuIFdvdWxkbid0IGl0IGJlIGNsZXZlciBpZiBMb2piYW4gc29tZWhvdyBoYWQgbWVj aGFuaXNtcyBmb3IgZG9pbmcgdGhlIHNhbWU/CgoKCkl0IHR1cm5zIG91dCBpdCBkb2VzLCB3aGF0 IGEgc3VycHJpc2UhIExvamJhbiBoYXMgYSByYW5nZSBvZiB3b3JkcyBjYWxsZWQgJydzdW1rYSdp JycgbWVhbmluZyDigJxzdW10aS1yZXByZXNlbnRhdGl2ZXPigJ0uIEluIEVuZ2xpc2gsIHdlIHJl ZmVyIHRvIHRoZW0gYXMgcHJvLXN1bXRpLCBiZWNhdXNlIHRoZXkgYXJlIGVzc2VudGlhbGx5IHRo ZSBzYW1lIGFzIHRoZSBFbmdsaXNoIHByb25vdW5zLCBidXQgd2l0aCBzdW10aSBpbnN0ZWFkIG9m IG5vdW5zLiBJbiBmYWN0LCB5b3UgYWxyZWFkeSBrbm93ICcndGknJywgJydkbycnIGFuZCAnJ21p JycsIGJ1dCB0aGVyZSBhcmUgbWFueSBtb3JlLCBzbyBsZXQncyBnZXQgbGVhcm5pbmcuIEZpcnN0 LCB3ZSB3YW50IHRvIHB1dCBpdCBpbnRvIHN5c3RlbS4gV2UgY2FuIGJlZ2luIHdpdGggdGhlIG9u ZXMgbW9zdCBmYW1pbGlhciB0byBFbmdsaXNoLCBhbmQgd2hhdCB5b3UndmUgYWxyZWFkeSBsZWFy bmVkOgoKCgpfXycndGknJ19fIC0gc3Vta2EnaTog4oCcaW1tZWRpYXRlIOKAmGl0JzogcmVwcmVz ZW50cyBhIHN1bXRpIHBoeXNpY2FsbHkgbmVhciB0aGUgc3BlYWtlcuKAnQoKX18nJ3RhJydfXyAt IHN1bWthJ2k6IOKAnG5lYXJieSDigJhpdCc6IHJlcHJlc2VudHMgYSBzdW10aSBzb21lIHBoeXNp Y2FsIGRpc3RhbmNlIGZyb20gdGhlIHNwZWFrZXIgT1IgY2xvc2UgdG8gdGhlIGxpc3RlbmVy4oCd CgpfXycndHUnJ19fIC0gc3Vta2EnaTog4oCcZGlzdGFudCDigJhpdCc6IHJlcHJlc2VudHMgYSBz dW10aSBwaHlzaWNhbGx5IGZhciBmcm9tIHRoZSBzcGVha2VyIGFuZCB0aGUgbGlzdGVuZXIu4oCd CgoKCllvdSBjYW4gYWdhaW4gcmVjb2duaXplIHRoZSDigJxpLCBhLCB14oCdLXNlcXVlbmNlIHdo aWNoIHBvcHMgdXAgb3ZlciBhbmQgb3Zlci4gU29tZSB0aGluZ3MgbWlnaHQgdGFrZSBzb21lIGNs ZWFyaW5nIHVwLCB0aG91Z2guIEZpcnN0bHksIHRoZXNlIHN1bXRpIGNhbiByZXByZXNlbnQgYW55 dGhpbmcgd2hpY2ggY2FuIGJlIHNhaWQgdG8gb2NjdXB5IGEgcGh5c2ljYWwgc3BhY2UuIE9iamVj dHMsIGNlcnRhaW5seS4gSWRlYXMsIGNlcnRhaW5seSBub3QuIEV2ZW50cyBhcmUgYWNjZXB0ZWQs IGJ1dCBvbmx5IHRvIHRoZSBleHRlbnQgdGhleSBhcmUgcmVzdHJpY3RlZCB0byBhIHNwZWNpZmlj IHBsYWNlIC0gdGhlIEphc21pbiBSZXZvbHV0aW9uIGNhbm5vdCBiZSBwb2ludGVkIGF0LCBidXQg c29tZSBiYXItZmlnaHQgb3IgYSBraXNzIG1pZ2h0LiBTZWNvbmRseSwgbm90ZSB0aGF0IHRoZSBk aXN0YW5jZSBpcyByZWxhdGl2ZSB0byBkaWZmZXJlbnQgdGhpbmdzIGZvciB0aGUgZGlmZmVyZW50 IHdvcmRzOiAnJ3R1Jycgb25seSBhcHBsaWVzIGlmIGl0J3MgZGlzdGFudCBmcm9tIGJvdGggdGhl IHNwZWFrZXIgYW5kIHRoZSBsaXN0ZW5lci4gSW4gY2FzZXMgd2hlcmUgdGhlIHNwZWFrZXIgYW5k IGxpc3RlbmVyIGlzIGZhciBhcGFydCBhbmQgdGhlIGxpc3RlbmVyIGNhbm5vdCBzZWUgdGhlIHNw ZWFrZXIgdGFsa2luZywgJyd0YScnIHJlZmVycyB0byBzb21ldGhpbmcgY2xvc2UgdG8gdGhlIGxp c3RlbmVyLiBUaGlyZGx5LCBpdCdzIGFsbCByZWxhdGl2ZSBhbmQgY29udGV4dCBkZXBlbmRlbnQu IFRoZXNlIHRocmVlIHdvcmRzIGFyZSBhbGwgcHJvYmxlbWF0aWMgaW4gd3JpdHRlbiB0ZXh0LCBm b3IgaW5zdGFuY2UsIGJlY2F1c2UgdGhlIHBvc2l0aW9uIG9mIHRoZSBzcGVha2VyIGFuZCBsaXN0 ZW5lciBpcyB1bmtub3duIHRvIGVhY2ggb3RoZXIsIGFuZCBjaGFuZ2VzIGFzIHRpbWUgZ29lcyBi eS4gRnVydGhlcm1vcmUsIHRoZSBhdXRob3Igb2YgYSBib29rIGNhbm5vdCBwb2ludCB0byBhbiBv YmplY3QgYW5kIGV4cHJlc3MgdGhlIHBvaW50aW5nIGluIHRoZSBib29rLgoKCgpUaGVuIHRoZXJl IGlzIGEgc2VyaWVzIGNhbGxlZCBLT2hBMywgdG8gd2hpY2ggJydtaScnIGFuZCAnJ2RvJycgKGFu ZCAnJ2tvJycsIGJ1dCBJIHdvbid0IHdyaXRlIHRoYXQgaGVyZSkgYmVsb25nczoKCl9fJydtaScn X18gLSBzdW1rYSdpOiBUaGUgc3BlYWtlcihzKS4KCl9fJydtaSdvJydfXyAtIHN1bWthJ2k6IFRo ZSBtYXNzIG9mIHRoZSBzcGVha2VyKHMpIGFuZCB0aGUgbGlzdGVuZXIocykgLgoKX18nJ21pJ2En J19fIC0gc3Vta2EnaTogVGhlIG1hc3Mgb2YgdGhlIHNwZWFrZXIocykgYW5kIG90aGVycy4KCl9f JydtYSdhJydfXyAtIHN1bWthJ2k6IFRoZSBtYXNzIG9mIHRoZSBzcGVha2VyKHMpLCB0aGUgbGlz dGVuZXIocykgYW5kIG90aGVycy4KCl9fJydkbycnX18gLSBzdW1rYSdpOiBUaGUgbGlzdGVuZXIo cykuCgpfXycnZG8nbycnX18gLSBzdW1rYSdpOiBUaGUgbWFzcyBvZiB0aGUgbGlzdGVuZXIocykg YW5kIG90aGVycy4KCgoKVGhlc2Ugc2l4IHN1bWthJ2kgYXJlIG1vcmUgZWFzaWx5IGdyYXNwZWQg aW4gdGhlIGJlbG93IFZlbm4gZGlhZ3JhbToKCgoKe2ltZyBmaWxlSWQ9IjMiIHRodW1iPSJ5IiBy ZWw9ImJveFtnXSJ9CgpWZW5uIGRpYWdyYW0gb2YgS09oQTMgKCcna28nJyBleGNsdWRlZCkuICcn bGUgZHJhdGEnJyBpcyBub3QgYSBLT2hBMywgYnV0IG1lYW5zIOKAnHRoZSBvdGhlcihzKeKAnQoK CgpJdCBpcyBwb3NzaWJsZSBmb3Igc2V2ZXJhbCBwZW9wbGUgdG8gYmUg4oCcdGhlIHNwZWFrZXJz 4oCdLCBpZiBvbmUgc3RhdGVtZW50IGlzIG1hZGUgb24gdGhlIGJlaGFsZiBvZiBhbGwgb2YgdGhl bS4gVGhlcmVmb3JlLCB3aGlsZSDigJx3ZeKAnSBjYW4gYmUgdHJhbnNsYXRlZCBhcyBlaXRoZXIg JydtaScnLCAnJ21pJ28nJywgJydtaSdhJycgb3IgJydtYSdhJycsIHdoYXQgb25lIHF1aXRlIG9m dGVuIG1lYW5zIGlzIHJlYWxseSBqdXN0ICcnbWknJy4gQWxsIG9mIHRoZXNlIHNpeCwgaWYgdGhl eSByZWZlciB0byBtb3JlIHRoYW4gb25lIGluZGl2aWR1YWwsIHJlcHJlc2VudCBtYXNzZXMuIFdp dGhpbiBicmlkaS1sb2dpYywgdGhlIGJyaWRpICcnbWkgZ2xla2knJyBzYWlkIGJ5IHNwZWFrZXIg QSBpcyBleGFjdGx5IGVxdWl2YWxlbnQgdG8gJydkbyBnbGVraScnIHNhaWQgYnkgc3BlYWtlciBC IHRvIHNwZWFrZXIgQSwgYW5kIGFyZSBjb25zaWRlcmVkIHRoZSBzYW1lIGJyaWRpLiBXZSB3aWxs IGNvbWUgYmFjayB0byB0aGlzIGxhdGVyLCBpbiB0aGUgJydicmlrYSdpJycgKHByby1icmlkaSkg bGVzc29uLgoKCgpBbGwgb2YgdGhlc2UgJydzdW1rYSdpJycgYXJlIHZlcnkgY29udGVudC1zcGVj aWZpYywgYW5kIGNhbm5vdCBiZSB1c2VkLCBmb3IgaW5zdGFuY2UsIHRvIGhlbHAgdXMgd2l0aCB0 aGUgc2VudGVuY2Ugd2hpY2ggdGhpcyBsZXNzb24gYmVnYW4gd2l0aC4gVGhlIGZvbGxvd2luZyBz ZXJpZXMgY2FuIGluIHByaW5jaXBsZSBiZSB1c2VkIHRvIHJlZmVyIHRvIGFueSBzdW10aToKCl9f JydyaScnX18gLSBzdW1rYSdpOiDigJxMYXN0IHN1bXRpIG1lbnRpb25lZOKAnQoKX18nJ3JhJydf XyAtIHN1bWthJ2k6IOKAnEEgcmVjZW50LCBidXQgbm90IHRoZSBsYXN0IHN1bXRpIG1lbnRpb25l ZOKAnQoKX18nJ3J1JydfXyAtIHN1bWthJ2k6IOKAnEEgc3VtdGkgbWVudGlvbmVkIGxvbmcgYWdv 4oCdCgoKClRoZXNlIHN1bXRpIHdpbGwgcmVmZXIgdG8gYW55IHRlcm1pbmF0ZWQgc3VtdGkgZXhj ZXB0IG1vc3Qgb3RoZXIgJydzdW1rYSdpJycuIFRoZSByZWFzb24gdGhhdCBtb3N0IG90aGVyICcn c3Vta2EnaScnIGNhbm5vdCBiZSByZWZlcnJlZCB0byBieSB0aGVzZSBzdW10aSwgaXMgdGhhdCB0 aGV5IGFyZSBzbyBlYXN5IHRvIGp1c3QgcmVwZWF0IGJ5IHRoZW1zZWx2ZXMuIFRoZSBleGNlcHRp b24gdG8gdGhlIHJ1bGUgYXJlICcndGknJywgJyd0YScnIGFuZCAnJ3R1JycsIGJlY2F1c2UgeW91 IGNvdWxkIGhhdmUgY2hhbmdlZCB3aGF0IHlvdSBwb2ludCBhdCwgYW5kIHRodXMgY2Fubm90IGp1 c3QgcmVwZWF0IHRoZSB3b3JkLiBUaGV5IHdpbGwgb25seSByZWZlciB0byB0ZXJtaW5hdGVkIHN1 bXRpLCBhbmQgdGh1cyBjYW5ub3QsIGZvciBpbnN0YW5jZSwgYmUgdXNlZCB0byByZWZlciB0byBh biBhYnN0cmFjdGlvbiBpZiB0aGUgd29yZCBpbiBpcyB0aGF0IGFic3RyYWN0aW9uOiAnJ2xlIHBl bmRvIG5vaSBrZSdhIHBlbmRvIG1pIGN1IGRqaWNhIGxvIG51IHJpIHNlIHpkYW5pJycgLSBoZXJl ICcncmknJyBjYW5ub3QgcmVmZXIgdG8gdGhlIGFic3RyYXRpb24sIHNpbmNlIGl0IGlzIG5vdCB0 ZXJtaW5hdGVkLCBub3IgdG8gJydtaScnIG9yICcna2UnYScnLCBzaW5jZSB0aGV5IGFyZSBzdW1r YSdpLCBzbyBpdCByZWZlcnMgdG8gJydsZSBwZW5kbycnLgoKJydyYScnIGFuZCAnJ3J1JycgYXJl IGNvbnRleHQtZGVwZW5kZW50IGluIHdoYXQgdGhleSByZWZlciB0bywgYnV0IHRoZXkgZm9sbG93 IHRoZSBydWxlcyBtZW50aW9uZWQgYWJvdmUsIGFuZCAnJ3J1JycgYWx3YXlzIHJlZmVyIHRvIGEg bW9yZSBkaXN0YW50IHN1bXRpIHRoYW4gJydyYScnLCB3aGljaCBpcyBhbHdheXMgbW9yZSBkaXN0 YW50IHRoYW4gJydyaScnLgoKCgonJ3JpJycgYW5kIGl0J3MgYnJvdGhlcnMgYXJlIHByZXR0eSB3 ZWxsIHN1aXRlZCBmb3IgZGVhbGluZyB3aXRoIHRoZSBvcmlnaW5hbCBzZW50ZW5jZS4gVHJ5IHNh eWluZyBpdCB1c2luZyB0d28gaW5zdGFuY2VzIG9mICcnc3Vta2EnaScnIQoKCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OicnbGUnZSBwcmVudSBwb2kga2UnYSBrYWtuZSBsbyBudSB0YXZsYSBmbyBsYSAu bG9qYmFuLiBjdSB0YXZsYSBydSBsbyBiYW5ndSBwb2kgcnUgY3Ugc2UgYmFuZ3Uga2UnYScnLiAn J3JpJycgaXMgbm90IGNvcnJlY3QsIGJlY2F1c2UgaXQgcmVmZXJzIHRvICcnbGEgLmxvamJhbi4n Jy4gJydyYScnIGNvdWxkIGJlIHVzZWQsIGJ1dCBjb3VsZCBiZSBtaXN0YWtlbmx5IGJlIHRob3Vn aHQgdG8gcmVmZXIgdG8gJydsbyBudSB0YXZsYSBmbyBsYSAubG9qYmFuLicnLCBidXQgJydydScn IGlzIGFzc3VtZWQgdG8gcmVmZXIgdG8gdGhlIG1vc3QgZGlzdGFudCBzdW10aSAtIHRoZSBtb3N0 IG91dGVyIG9uZS5+fgoKCgpMYXN0bHksIHRoZXJlIGEgc3VtdGNpdGEgd2hpY2ggcmVwcmVzZW50 IHV0dGVyYW5jZXM6IFNvIGNhbGxlZCB1dHRlcmFuY2UgdmFyaWFibGVzLiBUaGV5IG5lZWQgbm90 IGJlIHJlc3RyaWN0ZWQgdG8gb25lIHNlbnRlbmNlIChqdWZyYSksIGJ1dCBjYW4gYmUgc2V2ZXJh bCBzZW50ZW5jZXMsIGlmIHRoZSBjb250ZXh0IGFsbG93cyBpdDoKCl9fJydkYSd1JydfXyBVdHRl cmFuY2UgdmFyaWFibGU6IFJlbW90ZSBwYXN0IHNlbnRlbmNlCgpfXycnZGUndScnX18gVXR0ZXJh bmNlIHZhcmlhYmxlOiBSZWNlbnQgc2VudGVuY2UKCl9fJydkaSd1JydfXyBVdHRlcmFuY2UgdmFy aWFibGU6IFByZXZpb3VzIHNlbnRlbmNlCgpfXycnZGVpJydfXyBVdHRlcmFuY2UgdmFyaWFibGU6 IFRoaXMgc2VudGVuY2UKCl9fJydkaSdlJydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IE5leHQgc2Vu dGVuY2UKCl9fJydkZSdlJydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IE5lYXIgZnV0dXJlIHNlbnRl bmNlCgpfXycnZGEnZScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBSZW1vdGUgZnV0dXJlIHNlbnRl bmNlCgpfXycnZG8naScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBFbGxpcHRpY2FsIHV0dGVyYW5j ZSB2YXJpYWJsZTog4oCcU29tZSBzZW50ZW5jZeKAnQoKVGhlc2UgcmVwcmVzZW50cyBzZW50ZW5j ZXMgYXMgc3VtdGksIGFuZCByZWZlciBvbmx5IHRvIHRoZSBzcG9rZW4gd29yZHMgb3IgdGhlIGxl dHRlcnMsIG5vdCB0byB0aGUgbWVhbmluZyBiZWhpbmQgdGhlbS4KCgoKVGhlcmUgYXJlIG1vcmUg TG9qYmFuICcnc3Vta2EnaScnLCBidXQgZm9yIG5vdyB5b3UgcHJvYmFibHkgbmVlZCBhIGJyZWFr IGZyb20gdGhlbS4gVGhlIG5leHQgbGVzc29uIHdpbGwgYmUgb24gZGVyaXZlZCBzdW10aSwgc3Vt dGkgbWFkZSBmcm9tIG90aGVyIHN1bXRpLgoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24g c2l4dGVlbiAodGhlIExvamJhbiBzdW10aSAzOiBkZXJpdmVkIHN1bXRpKQoKWW91IGNhbiBwcm9i YWJseSBzZWUgdGhhdCB0aGUgc3VtdGkgJydsZSBiYW5ndSBwb2kgbWkgc2UgYmFuZ3Uga2UnYScn IGlzIGEgbGVzcyB0aGFuIGVsZWdhbnQgZXhwcmVzc2lvbiBmb3Ig4oCcbXkgbGFuZ3VhZ2XigJ0u IFRoaXMgaXMgYmVjYXVzZSBpdCdzIHJlYWxseSBhIHdvcmsgYXJvdW5kLiBBIGxhbmd1YWdlIHdo aWNoIEkgc3BlYWsgY2FuIGJlIHNhaWQgdG8gZmlsbCBpbnRvIHRoZSB4MSBvZiB0aGUgYnJpZGkg JydiYW5ndSBtaScnLiBXZSBjYW4ndCBjb252ZXJ0IHRoYXQgdG8gYSBzdW10aSB1c2luZyBhIGdh ZHJpOiAnJ2xlIGJhbmd1IHtrdX0gbWknJyBpcyB0d28gc3VtdGksIGJlY2F1c2UgJydiYW5ndSBt aScnIGlzIGEgYnJpZGksIG5vdCBhIHNlbGJyaS4gTmVpdGhlciBjYW4gd2UgY29udmVydCBpdCB1 c2luZyAnJ2xlIHN1J3UnJywgYmVjYXVzZSB0aGUgc3UndSBnaXZlcyB0aGUgYnJpZGkgYSBuZXcg eDEsIHRoZSBhYnN0cmFjdGlvbiwgYW5kIHRoZSAnJ2xlJycgdGhlbiBleHRyYWN0cyB0aGF0LiBU aGF0IG1ha2VzIGFuIGFic3RyYWN0aW9uIHN1bXRpIG1lYW5pbmcgc29tZXRoaW5nIGxpa2Ug4oCc dGhhdCBzb21ldGhpbmcgaXMgbXkgbGFuZ3VhZ2XigJ0uCgpFbnRlciAnJ2JlJycuICcnYmUnJyBp cyBhIHdvcmQgd2hpY2ggYmluZHMgY29uc3RydWN0cyAoc3VtdGksIHN1bXRjaXRhIGFuZCBvdGhl cnMpIHRvIGEgc2VsYnJpLiBVc2luZyBpdCBpbiBvcmRpbmFyeSBzZWxicmkgaGFzIG5vIGVmZmVj dDogaW4gJydtaSBuZWxjaSBiZSBkbycnLCB0aGUgJydiZScnIGRvZXMgbm90aGluZy4gSG93ZXZl ciwgd2hlbiBhIHN1bXRpIGlzIGJvdW5kIHRvIGEgc2VsYnJpIHRoaXMgd2F5LCB5b3UgY2FuIHVz ZSBhIGdhZHJpIG9uIHRoZSBzZWxicmkgd2l0aG91dCB0aGUgc3VtdGkgc3BsaXR0aW5nIG9mZjog JydsZSBiYW5ndSBiZSBtaScnIGlzIGEgY29ycmVjdCBzb2x1dGlvbiB0byB0aGUgcHJvYmxlbSBh Ym92ZS4gTGlrZXdpc2UsIHlvdSBjYW4gYXR0YWNoIGEgc3VtdGNpdGE6ICcnbGUgbnUgZGFyeGkg a2VpIGJlIGdhdSBkbycnOiDigJxUaGUgZXZlbnQgb2YgaGl0dGluZywgd2hpY2ggaXMgY2F1c2Vk IGJ5IHlvdeKAnS4gTm90ZSB0aGF0IHRoZSBwcmVzZW5jZSBvciBhYnNlbmNlIG9mICcna2VpJycg bWFrZXMgaXQgcGFyc2UgZGlmZmVyZW50bHk6IFdpdGggdGhlIGZhJ29ybWEnbyBwcmVzZW50LCAn J2JlJycgYXR0YWNoZXMgdG8gJydudScnLCB3aXRob3V0IHRoZSBmYSdvcm1hJ28sIGl0IGF0dGFj aGVzIHRvICcnZGFyeGknJy4gU28gaXQgZGVjaWRlcyB3aGF0IGlzIGJlaW5nIGVtcGhhc2lzZWQ6 IElzIHRoZSBoaXR0aW5nLCBvciB0aGUgZXZlbnQgb2YgaGl0dGluZyBjYXVzZWQgYnkgeW91PyBJ biB0aGlzIHNwZWNpZmljIGNhc2UsIHRob3VnaCwgdGhhdCdzIGp1c3QgYWJvdXQgdGhlIHNhbWUg dGhpbmcuCgoKCldoYXQgaWYgSSB3YW50IHRvIGF0dGFjaCBzZXZlcmFsIHN1bXRpIHRvIGEgc2Vs YnJpIGluc2lkZSBhIGdhZHJpPyDigJxUaGUgZ2l2ZXIgb2YgdGhlIGFwcGxlIHRvIHlvdeKAnSBp cyAnJ2xlIGR1bmRhIGJlIGxvIHBsaXNlIGJlIGRvJycsIHJpZ2h0PyBOb3BlLiBUaGUgc2Vjb25k ICcnYmUnJyBhdHRhY2hlcyB0byB0aGUgYXBwbGUsIG1lYW5pbmcgJydsZSBwbGlzZSBiZSBkbycn IC0g4oCcVGhlIGFwcGxlIG9mIHRoZSBzdHJhaW4gb2YgeW914oCdLCB3aGljaCBtYWtlcyBubyBz ZW5zZS4gSW4gb3JkZXIgdG8gc3RyaW5nIHNldmVyYWwgc3VtdGkgdG8gYSBzZWxicmksIHRoZSBh bGwgdGhlIG9uZXMgZm9sbG93aW5nIHRoZSBmaXJzdCBtdXN0IGJlIGJvdW5kIHdpdGggJydiZWkn Jy4gVGhlIOKAnGJpbmRpbmfigJ0gY2FuIGJlIHRlcm1pbmF0ZWQgd2l0aCAnJ2JlJ28nJyAtIG9u ZSBpbnN0YW5jZSBvZiAnJ2JlJ28nJyBmb3IgZWFjaCBzZWxicmkgd2hpY2ggaGFzIHN1bXRpIGJv dW5kIGJ5ICcnYmUnJy4KClRvIGxpc3QgdGhlbToKCl9fJydiZScnX18gYmluZHMgc3VtdGkgb3Ig c3VtdGNpdGEgdG8gc2VsYnJpCgpfXycnYmVpJydfXyBiaW5kcyBhIHNlY29uZCwgdGhpcmQsIGZv dXJ0aCAoZWN0KSBzdW10aSBvciBzdW10Y2l0YSB0byBhIHNlbGJyaQoKX18nJ2JlJ28nJ19fIGVu ZHMgYmluZGluZyB0byBzZWxicmkKCgoKVGhlcmUgaXMgYWxzbyB3YXlzIHRvIGxvb3NlbHkgYXNz b2NpYXRlIGEgc3VtdGkgd2l0aCBhbm90aGVyLiAnJ3BlJycgYW5kICcnbmUnJyBmb3IgcmVzdHJp Y3RpdmUgYW5kIG5vbi1yZXN0cmljdGl2ZSBhc3NvY2lhdGlvbi4gQWN0dWFsbHksICcnbGUgYmFu Z3UgcGUgbWknJyBpcyBhIGJldHRlciB0cmFuc2xhdGlvbiBvZiDigJxteSBsYW5ndWFnZeKAnSwg c2luY2UgdGhpcyBwaHJhc2UsIGxpa2UgdGhlIEVuZ2xpc2gsIGlzIHZhZ3VlIGFzIHRvIGhvdyB0 aGUgdHdvIGFyZSBhc3NvY2lhdGVkIHdpdGggZWFjaCBvdGhlci4KCicncGUnJyBhbmQgJyduZScn IGFyZSB1c2VkIGFzIGxvb3NlIGFzc29jaWF0aW9uIG9ubHksIGxpa2Ugc2F5aW5nIOKAnG15IGNo YWly4oCdIGFib3V0IGEgY2hhaXIgd2hpY2ggeW91IHNpdCBvbi4gSXQncyBub3QgcmVhbGx5IHlv dXJzLCBidXQgaGFzIHNvbWV0aGluZyBkbyB0byB3aXRoIHlvdS4gQSBtb3JlIGludGltYXRlIGNv bm5lY3Rpb24gY2FuIGJlIGVzdGFibGlzaGVkIHdpdGggJydwbycnLCB3aGljaCBtYWtlcyB0aGUg YXNzb2NpYXRpb24gdW5pcXVlIGFuZCBiaW5kaW5nIHRvIGEgcGVyc29uLCBhcyBpbiDigJxteSBj YXLigJ0gZm9yIGEgY2FyIHRoYXQgeW91IGFjdHVhbGx5IG93bi4gVGhlIGxhc3Qga2luZCBvZiBh c3NvY2lhdG9yIGlzICcncG8nZScnLCB3aGljaCBtYWtlcyBhIHNvLWNhbGxlZCAiaW5hbGllbmFi bGUiIGJvbmQgYmV0d2VlbiBzdW10aSwgbWVhbmluZyB0aGF0IHRoZSBib25kIGlzIGlubmF0ZSBi ZXR3ZWVuIHRoZSB0d28gc3VtdGkuIFNvbWUgZXhhbXBsZXMgY291bGQgYmUgIm15IG1vdGhlciIs ICJteSBhcm0iIG9yICJteSBob21lIGNvdW50cnkiOyBub25lIG9mIHRoZXNlICJwb3NzZXNpb25z IiBjYW4gYmUgbG9zdCAoZXZlbiBpZiB5b3Ugc2F3IG9mZiB5b3VyIGFybSwgaXQncyBzdGlsbCBf X3lvdXJfXyBhcm0pLCBhbmQgYXJlIHRoZXJlZm9yZSBpbmFsaWVuYWJsZS4gQWxtb3N0IGFsbCBv ZiB0aGUgdGltZXMgYSAnJ3BvJ2UnJyBpcyBhcHByb3ByaWF0ZSwgdGhvdWdoLCB0aGUgeDIgb2Yg dGhlIHNlbGJyaSBjb250YWlucyB0aGUgb25lIHRvIHdoaWNoIHRoZSB4MSBpcyBjb25uZWN0ZWQs IHNvICcnYmUnJyBpcyBiZXR0ZXIuCgpfXycnbmUnJ19fIG5vbi1yZXN0cmljdGl2ZSByZWxhdGl2 ZSBwaHJhc2UuICJ3aGljaCBpcyBhc3NvY2lhdGVkIHdpdGguLi4iCgpfXycncGUnJ19fIHJlc3Ry aWN0aXZlIHJlbGF0aXZlIHBocmFzZS4gIndoaWNoIGlzIGFzc29jaWF0ZWQgd2l0aC4uLiIKCl9f JydwbycnX18gcG9zc2VzaXZlIHJlbGF0aXZlIHBocmFzZS4gIndoaWNoIGlzIHNwZWNpZmljIHRv Li4uIgoKX18nJ3BvJ2UnJ19fIGluYWxpZW5hYmxlIHJlbGF0aXZlIHBocmFzZS4gIndoaWNoIGJl bG9uZ3MgdG8uLi4iCgoKCkEgdmVyeSB1c2VmdWwgY29uc3RydWN0IHRvIGtub3cgaXMgJyd7Z2Fk cml9IHtzdW10aX0ge3NlbGJyaX0nJy4gdGhpcyBpcyBlcXVpdmFsZW50IHRvICcne2dhZHJpfSB7 c2VsYnJpfSBwZSAge3N1bXRpfScnLiBGb3IgaW5zdGFuY2UgJydsZSBtaSBnZXJrdScnIGlzIGVx dWl2YWxlbnQgdG8gJydsZSBnZXJrdSBwZSBtaScnLiBPbmUgY291bGQgaGF2ZSBkZXNjcmlwdGlv biBzdW10aSBpbnNpZGUgZGVzY3JpcHRpb24gc3VtdGksIHNheWluZyAnJ2xlIGxlIHNlIGNpbmpp a2NhIGJlIG1pIGt1IGdlcmt1JycsID0gJydsZSBnZXJrdSBwZSBsZSBzZSBjaW5qaWtjYSBiZSBt aScnID3igJx0aGUgZG9nIG9mIHRoZSBtYW4gSSdtIGZsaXJ0aW5nIHdpdGjigJ0sIGJ1dCB0aGF0 J3Mgbm90IHZlcnkgZWFzeSB0byByZWFkIChvciB0byB1bmRlcnN0YW5kIHdoZW4gc3Bva2VuKSwg YW5kIGlzIG9mdGVuIGJlaW5nIGF2b2lkZWQuCgoKCk9uZSBuZWVkIGFsc28gdG8gbGVhcm4gJyd0 dSdhJycsIHNpbmNlIGl0IHdpbGwgbWFrZSBhIGxvdCBvZiBzZW50ZW5jZXMgbXVjaCBlYXNpZXIu IEl0IHRha2VzIGEgc3VtdGkgYW5kIGNvbnZlcnRzIGl0IHRvIGFub3RoZXIgc3VtdGkgLSBhbiBl bGxpcHRpY2FsIGFic3RyYWN0aW9uIHdoaWNoIGhhcyBzb21ldGhpbmcgdG8gZG8gd2l0aCB0aGUg Zmlyc3Qgc3VtdGkuIEZvciBleGFtcGxlLCBJIGNvdWxkIHNheSAnJ21pIGRqaWNhIGxvIG51IG1p IGNpdGthIGxvIHBsaXNlJycsIG9yIEkgY291bGQgbGV0IGl0IGJlIHVwIHRvIGNvbnRleHQgd2hh dCBhYnN0cmFjdGlvbiBhYm91dCB0aGUgYXBwbGUgSSBkZXNpcmUgYW5kIGp1c3Qgc2F5ICcnbWkg ZGppY2EgdHUnYSBsbyBwbGlzZScnLiBPbmUgYWx3YXlzIGhhcyB0byBndWVzcyB3aGF0IGFic3Ry YWN0aW9uIHRoZSBzcGVha2VyIG1lYW5zIGJ5ICcndHUnYSBTVU1USScnLCBzbyBpdCBzaG91bGQg b25seSBiZSB1c2VkIHdoZW4gY29udGV4dCBtYWtlcyBpdCBlYXN5IHRvIGd1ZXNzLiBBbm90aGVy IGV4YW1wbGU6CgpfXycnZ2FzbnUnJ19fIOKAnHgxIGRvZXMvYnJpbmdzIGFib3V0IHgyICh2b2xp dGlvbiBub3QgaW1wbGllZCnigJ0KCicnemEnYSBkbyBnYXNudSB0dSdhIGxvIHNrYW1pJycgLSDi gJxJIHNlZSB0aGF0IHlvdSBtYWtlIHRoZSBjb21wdXRlciBkbyBzb21ldGhpbmfigJ0uIE9mZmlj aWFsbHksICcndHUnYSBTVU1USScnIGlzIGVxdWl2YWxlbnQgdG8gJydsZSBzdSd1IFNVTVRJIGNv J2UnJy4gVmFndWUsIGJ1dCB1c2VmdWwuIFRoZXJlIGFyZSBzaXR1YXRpb25zIHdoZXJlIHlvdSBj YW5ub3QgdXNlICcndHUnYScnLCBldmVuIHRob3VnaCBpdCB3b3VsZCBzZWVtIHN1aXRhYmxlLiBU aGVzZSBzaXR1YXRpb25zIGFyZSB3aGVuIEkgZG9uJ3Qgd2FudCB0aGUgcmVzdWx0aW5nIHN1bXRp IHRvIGJlIGFuIGFic3RyYWN0aW9uLCBidXQgYSBjb25jcmV0ZSBzdW10aS4gSW4gdGhpcyBjYXNl LCBvbmUgY2FuIHVzZSAnJ3pvJ2UgcGUnJy4KCl9fJyd0dSdhJydfXyBjb252ZXJ0IHN1bXRpIHRv IHZhZ3VlIGFic3RyYWN0aW9uIGludm9sdmluZyB0aGUgc3VtdGkuIEVxdWl2YWxlbnQgdG8gJyds ZSBzdSd1IFNVTVRJIGNvJ2Uga2VpIGt1JycKCgoKRmluYWxseSwgb25lIGtpbmQgb2Ygc3VtdGkg Y2FuIGJlIHR1cm5lZCBpbnRvIGFub3RoZXIgYnkgdGhlIHdvcmRzIG9mIHRoZSBjbGFzcyBMQWhF LgoKX18nJ2x1J2EnJ19fIC0gQ29udmVydCBpbmRpdmlkdWFsKHMpL21hc3Mvc2VxdWVuY2Uvc2V0 IHRvIGluZGl2aWR1YWxzLgoKX18nJ2x1J2knJ19fIC0gQ29udmVydCBpbmRpdmlkdWFsKHMpL21h c3Mvc2VxdWVuY2Uvc2V0IHRvIGEgc2V0LgoKX18nJ2x1J28nJ19fIC0gQ29udmVydCBpbmRpdmlk dWFsKHMpL21hc3Mvc2VxdWVuY2Uvc2V0IHRvIG1hc3MuCgpfXycndnUnaScnX18gLSBDb252ZXJ0 IGluZGl2aWR1YWwocykvbWFzcy9zZXF1ZW5jZS9zZXQgdG8gc2VxdWVuY2U7IHRoZSBvcmRlciBp cyBub3Qgc3RhdGVkLgoKVGhlIHVzZSBvZiB0aGVzZSB3b3JkcyBpcyBzdHJhaWdodC1mb3J3YXJk bHk6IFBsYWNpbmcgdGhlbSBiZWZvcmUgYSBzdW10aSBvZiBhIGNlcnRhaW4gdHlwZSBtYWtlcyBh IG5ldyBzdW10aSBvZiBhIG5ldyB0eXBlLiBOb3RpY2UsIHRob3VnaCwgdGhhdCBhcyBhIGZvdXJ0 aCBraW5kIG9mIHN1bXRpLCBhIHNlcXVlbmNlIGhhcyBiZWVuIGludHJvZHVjZWQuIFRoaXMgaXMg bm90IHVzZWQgdmVyeSBvZnRlbiAoaXQgZG9lc24ndCBoYXZlIGl0cyBvd24gZ2FkcmksIGZvciBp bnN0YW5jZSksIGJ1dCBqdXN0IGluY2x1ZGVkIGhlcmUgZm9yIGNvbXBsZXRpb24uCgpUaGUgbGFz dCB0d28gbWVtYmVycyBvZiBMQWhFIGRvIG5vdCBjb252ZXJ0IGJldHdlZW4gdHlwZXMgb2Ygc3Vt dGksIGJ1dCBhbGxvd3MgeW91IHRvIHNwZWFrIG9mIGEgYSBzdW10aSBieSBvbmx5IG1lbnRpb25p bmcgc29tZXRoaW5nIHdoaWNoIHJlZmVyZW5jZXMgdG8gaXQ6CgpJZiBvbmUgc3VtdGkgQSByZWZl cnMgdG8gYSBzdW10aSBCLCBmb3IgaW5zdGFuY2UgYmVjYXVzZSBzdW10aSBBIGlzIGEgdGl0bGUg b2YgYSBib29rLCBvciBhIG5hbWUsIG9yIGEgc2VudGVuY2UgKHdoaWNoIGFsd2F5cyByZWZlciB0 byBzb21ldGhpbmcsIGF0IGxlYXN0IGEgYnJpZGkpLCDigJgnbGEnZSBTVU1USSBBJycgcmVmZXJz IHRvIHN1bXRpIEIuIEZvciBpbnN0YW5jZSwg4oCYJ21pIG5lbGNpIGxhJ2UgZGkndScnIGZvciDi gJxJIGxpa2Ugd2hhdCB5b3UganVzdCBzYWlk4oCdIChub3QgJydtaSBuZWxjaSBkaSd1Jycgd2hp Y2gganVzdCBtZWFucyAiSSBsaWtlIHlvdXIgcHJldmlvdXMgc2VudGVuY2UiKSBvciDigJgnbGEn ZSBsZSBjbWFsdSBub2x0cnUnJyBmb3IgdGhlIGJvb2sg4oCcVGhlIExpdHRsZSBQcmluY2XigJ0s IGFuZCBub3Qgc29tZSBsaXR0bGUgcHJpbmNlIGhpbXNlbGYuIFRoZSBjbWF2byDigJgnbHUnZScn IGRvZXMgdGhlIGV4YWN0IHJldmVyc2Ug4oCTIOKAmCdsdSdlIFNVTVRJJycgcmVmZXJzIHRvIGFu IG9iamVjdCB3aGljaCByZWZlcnMgdG8gdGhlIHN1bXRpLiAKCl9fJydsYSdlJydfXyAtIOKAnHRo ZSB0aGluZyByZWZlcnJlZCB0byBieeKAnSAtIGV4dHJhY3RzIGEgc3VtdGkgQSBmcm9tIGEgc3Vt dGkgQiB3aGljaCByZWZlcnMgdG8gQS4gCgpfXycnbHUnZScnX18gLSDigJx0aGUgdGhpbmcgcmVm ZXJyaW5nIHRv4oCdIC0gZXh0cmFjdHMgYSBzdW10aSBCIGZyb20gYSBzdW10aSBBLCB3aGVuIEIg cmVmZXJzIHRvIEEuCgoKCgoKISEhRW5kIG9mIHBhcnQgb25lCgpEdWUgdG8gdGhlIGltcHJhY3Rp Y2FsbHkgbGFyZ2Ugc2l6ZSBvZiB0aGVzZSBsZXNzb25zLCB0aGUgc2Vjb25kIGFuZCB0aGlyZCBp bnN0YWxsbWVudCBjYW4gYmUgZm91bmQgb24gcGFnZXMgZGVkaWNhdGVkIHRvICgod2F2ZWxlc3Nv bnNjb250aW51ZWRwMnx0aGUgZm9ybWVyKSkgYW5kICgod2F2ZWxlc3NvbnNjb250aW51ZWRwM3x0 aGUgbGF0dGVyKSkuIE5vIHdvcnJpZXMsIHRob3VnaCwgY2xpY2tpbmcgb24gInRoZSBmb3JtZXIi IG9yICJ0aGUgbGF0dGVyIiB3aWxsIHRha2UgeW91IHRoZXJlIHBhaW5sZXNzbHkuCgoKCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpXaWtpbmV1cm90aWMg bWFpbGluZyBsaXN0Cldpa2luZXVyb3RpY0Bsb2piYW4ub3JnCmh0dHA6Ly9tYWlsLmxvamJhbi5v cmcvbWFpbG1hbi9saXN0aW5mby93aWtpbmV1cm90aWMK