Received: from localhost ([::1]:59471 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1SiHMw-0000TX-BN; Fri, 22 Jun 2012 20:50:42 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:48817 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1SiHMp-0000T9-OE for wikineurotic@lojban.org; Fri, 22 Jun 2012 20:50:40 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Fri, 22 Jun 2012 20:50:32 -0700 From: "Apache" Date: Fri, 22 Jun 2012 20:50:32 -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 CLL, aka Reference Grammar, Errata was changed by Marica Odagaki at 03:49 UTC Comment: Add an erratum: "ty" should be "ty." You can view the page by following this link: http://www.lojban.org/tiki/CLL%2C%20aka%20Reference%20Grammar%2C%20Errata [...] Content analysis details: (2.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikineurotic] Wiki page CLL, aka Reference Grammar, Errata changed by Marica Odagaki 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 VGhlIHBhZ2UgQ0xMLCBha2EgUmVmZXJlbmNlIEdyYW1tYXIsIEVycmF0YSB3YXMgY2hhbmdlZCBi eSBNYXJpY2EgT2RhZ2FraSBhdCAwMzo0OSBVVEMKQ29tbWVudDogQWRkIGFuIGVycmF0dW06ICJ0 eSIgc2hvdWxkIGJlICJ0eS4iCgpZb3UgY2FuIHZpZXcgdGhlIHBhZ2UgYnkgZm9sbG93aW5nIHRo aXMgbGluazoKIApodHRwOi8vd3d3LmxvamJhbi5vcmcvdGlraS9DTEwlMkMlMjBha2ElMjBSZWZl cmVuY2UlMjBHcmFtbWFyJTJDJTIwRXJyYXRhCgpZb3UgY2FuIHZpZXcgYSBkaWZmIGJhY2sgdG8g dGhlIHByZXZpb3VzIHZlcnNpb24gYnkgZm9sbG93aW5nIHRoaXMgbGluazogCmh0dHA6Ly93d3cu bG9qYmFuLm9yZy90aWtpL3Rpa2ktcGFnZWhpc3RvcnkucGhwP3BhZ2U9Q0xMJTJDJTIwYWthJTIw UmVmZXJlbmNlJTIwR3JhbW1hciUyQyUyMEVycmF0YSZjb21wYXJlPTEmb2xkdmVyPTIxNSZuZXd2 ZXI9MjE2CgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioKVGhlIGNoYW5nZXMgaW4gdGhpcyB2ZXJzaW9uIGZvbGxvdyBiZWxvdywgZm9s bG93ZWQgYWZ0ZXIgYnkgdGhlIGN1cnJlbnQgZnVsbCBwYWdlIHRleHQuCioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgoKKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKQEAgLUxp bmVzOiA0NzktNDgyIGNoYW5nZWQgdG8gK0xpbmVzOiA0NzktNDg0IEBACistKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCgoqIFNlY3Rpb24g NSwgYWZ0ZXIgZXhhbXBsZSA1LjEsIHBhcmFncmFwaCBzdGFydGluZyAiSG93ZXZlciwgIiBoYXMg aW5jb3JyZWN0IGZvbnQuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKKyAK KyAqIFNlY3Rpb24gNSwgaW4gdGhlIHNlY29uZCBwYXJhZ3JhcGggYWZ0ZXIgZXhhbXBsZSA1LjEs IHNheXMgJ3RoZSBsZXJmdSB3b3JkIOKAnHR54oCdIHdvdWxkIHJlcHJlc2VudCBub3QgTGF0aW4g 4oCcdOKAnSBidXQgR3JlZWsg4oCcdGF14oCdLicgU2hvdWxkbid0IGl0IGJlICJ0eS4iPwoKKiBT ZWN0aW9uIDksIHBhZ2UgNDIxLiBsZXJmdSBzdHJpbmdzIGFyZSB3cml0dGVuIHdpdGhvdXQgcGF1 c2VzIG9yIHNwYWNlcywgZXZlbiB0aG91Z2ggQlkgd29yZHMgaGF2ZSB0byBlbmQgd2l0aCBhIGNv bnNvbmFudC4KCgoKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqClRoZSBuZXcgcGFnZSBjb250ZW50IGZvbGxvd3MgYmVsb3cuCioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgpU aGlzIHBhZ2UgaXMgZm9yIGVycmF0YSBpbiAoKFRoZSBDb21wbGV0ZSBMb2piYW4gTGFuZ3VhZ2Up KSwgdGhhdCBpcyBmb3IgbWlzdGFrZXMgc3VjaCBhcyB0eXBvcywgb3Igc2VsZi1jb250cmFkaWN0 aW9ucywgb3IgY29udHJhZGljdGlvbnMgd2l0aCBvdGhlciBiYXNlbGluZWQgbGFuZ3VhZ2UgZGVm aW5pdGlvbiBtYXRlcmlhbC4gVGhpcyBpcyBfX25vdF9fIGEgcGFnZSB0byBwdXQgZGVzaWRlcmF0 YSAoc3VnZ2VzdGlvbnMgZm9yIGltcHJvdmVtZW50KTsgc3VjaCBzdWdnZXN0aW9ucyBzaG91bGQg Z28gdG8gKChTdWdnZXN0aW9ucyBmb3IgQ0xMLCBzZWNvbmQgZWRpdGlvbikpLiAgVGhpcyBpcyBh bHNvIG5vdCBhIHBhZ2UgdG8gcHV0IGVycmF0YSByZXN1bHRpbmcgZnJvbSB0aGUgNHRoIEJhc2Vs aW5lIEdyYW1tYXIgcHJvcG9zYWwgKGkuZS4sIHRoZSAoKFBFRykpIGdyYW1tYXIpOyBQRUcgZ3Jh bW1hciBlcnJhdGEgc2hvdWxkIGdvIHRvICgoQ0xMIFBFRyBFcnJhdGEpKS4KCgoKQW4gb25saW5l IHZlcnNpb24gb2YgdGhlIENMTCBpbmNvcnBvcmF0aW5nIHRoZSBjaGFuZ2VzIG9uIHRoaXMgcGFn ZSBbaHR0cDovL2RhZy5naXRodWIuY29tL2NsbC98aXMgYXZhaWxhYmxlXS4KCgoKU2VlIGFsc28g W1doYXQraXMrTG9qYmFuJTNGK2VycmF0YSZibD15fFdoYXQgaXMgTG9qYmFuPyBlcnJhdGFdIChm b3IgdGhlIHB1Ymxpc2hlZCB2ZXJzaW9uKSwgTGV2ZWwgMCBCb29rbGV0IEVycmF0YSBbdGlraS1l ZGl0cGFnZS5waHA/cGFnZT1MZXZlbCswK0Jvb2tsZXQrRXJyYXRhJmxhbmc9fD9dIChmb3IgdGhl IHByZS1wdWJsaWNhdGlvbiByZXZpZXdzOyBub3cgZmluaXNoZWQpLCBhbmQgW0xlc3NvbnMrRXJy YXRhJmJsPXl8TGVzc29ucyBFcnJhdGFdIChmb3IgdGhlIGJlZ2lubmVycycgY291cnNlKS4KCgoK VGhlICInJ0lOQ0xVREVEIElOIERBRy1DTEwnJyIgdGFnIG1lYW5zIHRoYXQgaHR0cDovL2RhZy5n aXRodWIuY29tL2NsbC8gaW5jbHVkZXMgdGhpcyBmaXgsIHdoaWNoIGFsc28gbWVhbnMgaXQnbGwg cHJvYmFibHkgYmUgaW4gdGhlIG5leHQgQ0xMIHZlcnNpb24uCgoKCi0tLQoKCgohQ2hhcHRlciAx CgoKCiogVGhlcmUgaXMgYSBwYXJhZ3JhcGggYXQgdGhlIHZlcnkgYmVnaW5uaW5nIG9mIENMTCwg b24gcGFnZSA0LCB3aXRoIHRoZSBzZW50ZW5jZSAnJyJJbiBlc3NlbmNlLCBDaGFwdGVyIDIgZ2l2 ZXMgYSBicmllZiBvdmVydmlldyBvZiB0aGUgbGFuZ3VhZ2UsIENoYXB0ZXIgMjEgZ2l2ZXMgdGhl IGZvcm1hbCBzdHJ1Y3R1cmUgb2YgdGhlIGxhbmd1YWdlLCBhbmQgdGhlIGNoYXB0ZXJzIGluIGJl dHdlZW4gcHV0IHNlbWFudGljIGJvbmVzIG9uIHRoYXQgZm9ybWFsIGZsZXNoLiInJwoKKiogV291 bGRuJ3QgaXQgbWFrZSBtb3JlIHNlbnNlIHRvIHNheSAicHV0IHNlbWFudGljIGZsZXNoIG9uIHRo b3NlIGZvcm1hbCBib25lcyI/ICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKSAn J0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gNiwgaXQgc2F5cyAiTGFycnkgSG9y bidzIHdvcmsgJydUaGUgTmF0dXJhbCBIaXN0b3J5IG9mIE5lZ2F0aW9uJyciLiBJdCB3b3VsZCBh cHBlYXIgdGhhdCBldmVyeW9uZSBlbHNlIGNhbGxzIGl0ICcnX19BX18gTmF0dXJhbCBIaXN0b3J5 IG9mIE5lZ2F0aW9uJycsIGJ5IF9fTGF1cmVuY2VfXyAoUi4pIEhvcm4uCgoqKiAnJ0lOQ0xVREVE IElOIERBRy1DTEwnJyAoem9ydCdzIGZvcmsgYXQgbGVhc3QpIGJ1dCBuZWVkcyBhcHByb3ZhbAoK CgotLS0KCiFDaGFwdGVyIDIKCgoKKiBTZWN0aW9uIDUgZXhhbXBsZSA1LjcgdXNlcyAidGkiIHRv IHBvaW50IGF0IGEgbGFuZ3VhZ2UsIGFuZCBzaG91bGQgaGF2ZSBpdHMgYWNjb21wYW55aW5nIG5v dGUgY2hhbmdlZCB0byBtb3JlIGFjY3VyYXRlbHkgcmVmbGVjdCB0aGF0IHRoaXMgaXMgbm90IGhv dyAidGkiIHdvcmtzLgoKCgoqIFNlY3Rpb24gNiBFeGFtcGxlIDYuNSBoYXMgImN1IiBhcyBlbGlk YWJsZSwgd2hlbiBpbiBmYWN0IGl0IGlzIHNpbXBseSBpbGxlZ2FsIHRoZXJlLiAgUmVtb3ZlZC4g ICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqKiB1YW5haSwgSSBzdGlsbCBzZWUgImN1IiBpbiBE QUctQ0xMLgoKCgoqIFNlY3Rpb24gOCBwYWdlIDE3IGNsYWltcyB0aGF0ICJ4dSIgaXMgZGlzY3Vz c2VkIGluIHNlY3Rpb24gMS43LCB3aGljaCBoYXBwZW5zIHRvIGxpc3QgdGhlIGNhcHRpb25zIGZv ciBhbGwgdGhlIGNoYXB0ZXIgcGljdHVyZXMuCgoqKiBJdCBzaG91bGQgcmVmZXIgdG8gU2VjdGlv biAxNS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElO IERBRy1DTEwnJwoKKioqIFRoZSBsaW5rIGluIHRoZSBjdXJyZW50IERBRy1DTEwgaXMgcG9pbnRp bmcgdG8gIjIvMi8xNSIgaW5zdGVhZCBvZiB0byAiMi8xNSIuCgoKCiogU2VjdGlvbiAxMCBzYXlz IHRoYXQgZXhhbXBsZSAxMC4zIChtaSB0YXZsYSBkbyBsZSB0YXZsYSBrdSkgbWVhbnMgdGhlIHNh bWUgYXMgKG1pIHRhdmxhIGRvIGxlIHRhdmxhIGt1KS4gRXhhbXBsZSAxMC4zIHNob3VsZCBiZSAi bWkgdGF2bGEgZG8gbGUgdGF2bGEiLCBhcyBpdCBkZXNjcmliZXMgaG93ICJrdSIgbWF5IGJlIG9t aXR0ZWQuCgoqKiBJdCBhcHBlYXJzIHRoYXQgZXhhbXBsZSAxMC4zIGlzIGluY29ycmVjdCBvbmx5 IGluIHRoZSBvbmxpbmUgdmVyc2lvbiwgbm90IHRoZSBwdWJsaXNoZWQgYm9vay4KCgoKKiBTZWN0 aW9uIDE3IHNheXMgIk5vdGUgdGhhdCBFeGFtcGxlIDE3LjMgIGhhcyBhbmQgcmVxdWlyZXMgYSDi gJxjdeKAnSB0byBwcmV2ZW50IOKAnGJhanJh4oCdIGFuZCDigJxrbGFtYeKAnSBmcm9tIGZvcm1p bmcgYSB0YW5ydSwgYnV0IEV4YW1wbGUgMTcuNCAgYW5kIEV4YW1wbGUgMTcuNSAgbGFjayB0aGUg dW5uZWNlc3Nhcnkg4oCcY3XigJ0uIiwgYnV0IGV4YW1wbGUgMTcuMyBpcyAibGEgZGphbi4gfm5w fltjdV1+L25wfiBrbGFtYSBsZSB6YXJjaSIuCgoqKiBJdCBhcHBlYXJzIHRoYXQgdGhlIG9mZmVu ZGluZyBzZW50ZW5jZSBpcyBwcmVzZW50IG9ubHkgaW4gdGhlIG9ubGluZSB2ZXJzaW9uLCBub3Qg dGhlIHB1Ymxpc2hlZCBib29rLgoKCgoqIEV4YW1wbGUgMTcuOSBpcyAibGUgdmkgdGF2bGEga3Ug Y3UgYmEga2xhbWEiIGluIHRoZSBvbmxpbmUgdmVyc2lvbiwgYW5kIHRvdGFsbHkgYnJva2VuIGlu IHRoZSBwdWJsaXNoZWQgYm9vay4KCioqIEdvIHdpdGggdGhlIG9ubGluZSB2ZXJzaW9uLiAgKChB cHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNM TCcnCgoKCiogRXhhbXBsZSAxNy45IGluIGRhZy1jbGwgYXMgb2YgMjAxMi0wNS0wNSBpcyAibGUg dmkgdGF2bGEgfm5wfltrdV1+L25wfiBjdSBiYSBrbGFtYSIuIFNpbmNlIHRoZSBzYW1lIHNlY3Rp b24gaGFzIGV4cGxhaW5lZCB0aGF0IHRlbnNlIHRhZ3MgbWFrZSAiY3UiIHVubmVjZXNzYXJ5LCBJ IHRoaW5rIHRoZSBleGFtcGxlIHNob3VsZCBiZSAibGUgdmkgdGF2bGEgfm5wfltrdV0gW2N1XX4v bnB+IGJhIGtsYW1hIi4KCgoKLS0tCgoKCiEgQ2hhcHRlciAzCgoKCkEgbG90IG9mIHRoZSBJUEEg ZXhhbXBsZXMgdXNlIGEgc3BhY2UgdG8gaW5kaWNhdGUgYSBzeWxsYWJsZSBicmVhay4gVGhpcyBp cyBub3Qgc3RhbmRhcmQgSVBBIHVzYWdlOyBhY2NvcmRpbmcgdG8gSVBBLCB0aGUgcGVyaW9kIOKA nC7igJ0gc2hvdWxkIGJlIHVzZWQgdG8gaW5kaWNhdGUgYSBzeWxsYWJsZSBkaXZpc2lvbi4KCgoK KiBTZWN0aW9uIDIsIHBhZ2UgMzA6IGluIHRoZSB0YWJsZSB0aGUgZGVzY3JpcHRpb24gb2YgImFw b3N0cm9waGUiIHNob3VsZCByZWFkICJhbiB1bnZvaWNlZCBnbG90dGFsIHNwaXJhbnQiLCBub3Qg ImEgdW52b2ljZWQiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkp ICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAyLCBkaWdpdGFsIHZlcnNpb24u ICBUaGUgSVBBIHRhYmxlIGdvdCBob3JyaWJseSBtYW5nbGVkIHNvbWV3aGVyZSBhbG9uZyB0aGUg d2F5LiAgSXQgc2hvdWxkIGxvb2sgbGlrZSAoU0FNUEEgY29sdW1uIGFkZGVkKToKCgoKfHwgTGV0 dGVyIHwgSVBBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBTQU1QQSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgRGVzY3JpcHRpb24gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKICcgICAgICB8IFtoXSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgW2hdICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IGFuIHVudm9pY2VkIGdsb3R0YWwgc3BpcmFudCAgICAgICAgICAg ICAgICAgICAgICAKCiAsICAgICAgfCAtLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8IC0tLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0 aGUgc3lsbGFibGUgc2VwYXJhdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogLiAgICAg IHwgW8qUXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgWz9dICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgZ2xvdHRhbCBzdG9wIG9yIGEg cGF1c2UgICAgICAgICAgICAgICAgICAgICAgICAKCiBhICAgICAgfCBbYV0sIFvJkV0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCBbYV0sIFtBXSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgYW4gb3BlbiB2b3dlbCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIAoKIGIgICAgICB8IFtiXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgW2JdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEg dm9pY2VkIGJpbGFiaWFsIHN0b3AgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiBjICAgICAg fCBbyoNdLCBbyoJdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW1NdLCBbc2BdICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGFuIHVudm9pY2VkIHBvc3RhbHZl b2xhciBmcmljYXRpdmUgICAgICAgICAgICAgICAgICAgICAKCiBkICAgICAgfCBbZF0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtkXSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCBhIHZvaWNlZCBkZW50YWwvYWx2ZW9sYXIgc3RvcCAgICAg ICAgICAgICAgICAgICAgCgogZSAgICAgIHwgW8mbXSwgW2VdICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgW0VdLCBbZV0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8IGEgZnJvbnQgbWlkIHZvd2VsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiBm ICAgICAgfCBbZl0sIFvJuF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbZl0sIFtw XF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYW4gdW52b2ljZWQgbGFi aWFsIGZyaWNhdGl2ZSAgICAgICAgICAgICAgICAgICAgIAoKIGcgICAgICB8IFvJoV0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtnXSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCBhIHZvaWNlZCB2ZWxhciBzdG9wICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgCgogaSAgICAgIHwgW2ldICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCBbaV0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgYSBmcm9udCBjbG9zZSB2b3dlbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKIGog ICAgICB8IFvKkl0sIFvKkF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbWl0sIFt6 YF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSB2b2ljZWQgcG9zdGFs dmVvbGFyIGZyaWNhdGl2ZSAgICAgICAgICAgICAgICAgICAgICAgIAoKIGsgICAgICB8IFtrXSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW2tdICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8IGFuIHVudm9pY2VkIHZlbGFyIHN0b3AgICAgICAg ICAgICAgICAgICAgICAgICAgICAKCiBsICAgICAgfCBbbF0sIFtszKldICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgW2xdLCBbbD1dICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8IGEgdm9pY2VkIGxhdGVyYWwgYXBwcm94aW1hbnQgKG1heSBiZSBzeWxsYWJpYykg ICAKCiBtICAgICAgfCBbbV0sIFttzKldICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg W21dLCBbbT1dICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgdm9pY2Vk IGJpbGFiaWFsIG5hc2FsIChtYXkgYmUgc3lsbGFiaWMpICAgICAgICAKCiBuICAgICAgfCBbbl0s IFtuzKldLCBbxYtdLCBbxYvMqV0gICAgICAgICAgICAgICAgICAgICB8IFtuXSwgW249XSwgW05d LCBbTj1dICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhIHZvaWNlZCBkZW50YWwgb3IgdmVs YXIgbmFzYWwgKG1heSBiZSBzeWxsYWJpYykgCgogbyAgICAgIHwgW29dLCBbyZRdICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgW29dLCBbT10gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8IGEgYmFjayBtaWQgdm93ZWwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAKCiBwICAgICAgfCBbcF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8IFtwXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhbiB1 bnZvaWNlZCBiaWxhYmlhbCBzdG9wICAgICAgICAgICAgICAgICAgICAgICAgCgogciAgICAgIHwg W3JdLCBbybldLCBbyb5dLCBbyoBdLCBbcsypXSwgW8m5zKldLCBbyb7MqV0sIFvKgMypXSB8IFty XSwgW3JcXSwgWzRdLCBbUlxdLCBbcj1dLCBbclw9XSwgWzQ9XSwgW1JcPV0gfCBhIHJob3RpYyBz b3VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogcyAgICAgIHwgW3NdICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbc10gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgYW4gdW52b2ljZWQgYWx2ZW9sYXIgc2liaWxhbnQg ICAgICAgICAgICAgICAgICAgIAoKIHQgICAgICB8IFt0XSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgW3RdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8IGFuIHVudm9pY2VkIGRlbnRhbC9hbHZlb2xhciBzdG9wICAgICAgICAgICAgICAgICAK CiB1ICAgICAgfCBbdV0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFt1XSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhIGJhY2sgY2xvc2Ug dm93ZWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogdiAgICAgIHwgW3ZdLCBbzrJd ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW3ZdLCBbQl0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8IGEgdm9pY2VkIGxhYmlhbCBmcmljYXRpdmUgICAgICAg ICAgICAgICAgICAgICAgCgogeCAgICAgIHwgW3hdICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCBbeF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgYW4gdW52b2ljZWQgdmVsYXIgZnJpY2F0aXZlICAgICAgICAgICAgICAgICAgICAgIAoKIHkg ICAgICB8IFvJmV0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtAXSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhIGNlbnRyYWwgbWlkIHZv d2VsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogeiAgICAgIHwgW3pdICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbel0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgYSB2b2ljZWQgYWx2ZW9sYXIgc2liaWxhbnQgICAgICAgICAg ICAgICAgICAgICAgIHx8CgoKCioqIFNvcnQtb2YgKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21p cyBBcHByb3ZlZCkpOyB3aGF0IEkgYWN0dWFsbHkgZGlkIGlzIGhhZCBBcm50IHJldmlldyB3aGF0 IHNvbWVvbmUgZW50ZXJlZCBpbiBEQUctQ0xMLCB3aGljaCBwcmVzdW1hYmx5IHdhcyBiYXNlZCBv biB0aGUgYWJvdmUuICAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMiwgcGFn ZSAzMC4gZm9yIHRoZSBzZWNvbmQgZW5nIChpbW1lZGlhdGVseSB0byB0aGUgbGVmdCBvZiAiKG1h eSBiZSBzeWxsYWJpYykiKSB0aGUgc3lsbGFiaWNpdHkgbWFya2VyIGlzIGNvbmNlYWxlZCBieSB0 aGUgcmlnaHQgdGFpbC4KCioqIEkgY2FuIGp1c3QgYmFyZWx5IHNlZSB0aGUgbWFya2VyIHVuZGVy IGEgZ29vZCBsaWdodC4gICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCioq KiBGb3IgZnV0dXJlIGVkaXRpb25zIDotKSAsIG5vdGUgdGhhdCB0aGUgSVBBIGFwcHJvdmVzIHB1 dHRpbmcgZGlhY3JpdGljcyBhYm92ZSByYXRoZXIgdGhhbiBiZWxvdyB0aGUgbGV0dGVyIGluIGNh c2VzIGxpa2UgdGhlc2UuIFVuZm9ydHVuYXRlbHksIHRoZSBmb250cyBoaXRoZXJ0byBhdmFpbGFi bGUgaGF2ZSBub3QgbWFkZSB0aGlzIGZhY2lsaXR5IGF2YWlsYWJsZSwgc28gb3V0c2lkZSB0aGUg am91cm5hbCBvZiB0aGUgSVBBIGl0c2VsZiwgc3VjaCBvdmVyLWRpYWNyaXRpY3MgYXJlIHNlbGRv bSBzZWVuLiDigJQgbml0Y2lvbgoKCgoqIEluIHNlY3Rpb24gMy4yLCB0aGUgY29tbWEgc2hvdWxk IChwcm9iYWJseSkgYmUgcmVwcmVzZW50ZWQgYnkgdGhlIElQQSBub3RhdGlvbiBbLnwuXSwgYXMg dGhlIHBlcmlvZCBpcyB1c2VkIGluIElQQSB0byBkZW5vdGUgc3lsbGFibGUgYnJlYWtzLiAgKChB cHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAyLCBwYWdlIDMw LiBGb3IgdGhlIExvamJhbiBwaG9uZW1lIC9yLywgdGhlIElQQSBzeW1ib2wgZm9yIGEgZGVudGFs L2FsdmVvbGFyIHZvaWNlZCBhcGljYWwgdGFwIGlzIGdpdmVuIHdpdGggYSBzeWxsYWJpY2l0eSBt YXJrZXIgYmVsb3cuIEEgdGFwIGNhbid0IGJlIHN5bGxhYmljLCBiZWNhdXNlIGl0IGlzIGJ5IGRl ZmluaXRpb24gaW5zdGFudGFuZW91cy4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92 ZWQpKSBKdXN0IHJlbW92ZSB0aGF0IGNhc2UgYWx0b2dldGhlci4KCgoKKiBTZWN0aW9uIDIuICBU aGUgZGVzY3JpcHRpb25zIG9mICcnYycnIGFuZCAnJ2onJyBhcmUgbGlzdGVkIGFzICJjb3JvbmFs IHNpYmlsYW50InMuICBUaGUgZGVzY3JpcHRpb25zIHNob3VsZCByZWFkICJ2b2ljZWxlc3MgcG9z dGFsdmVvbGFyIGZyaWNhdGl2ZSIgYW5kICJ2b2ljZWQgcG9zdGFsdmVvbGFyIGZyaWNhdGl2ZSIs IHJlc3BlY3RpdmVseS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoq IFNlY3Rpb24gMywgdGhpcmQgcGFyYWdyYXBoIChwYWdlIDMxKTogImEgdW52b2ljZWQgdm93ZWwg Z2xpZGUiIHNob3VsZCBiZSAiYW4gdW52b2ljZWQgdm93ZWwgZ2xpZGUiLgoKKiogKChBcHByb3Zl ZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoK CiogU2VjdGlvbiA2LCBwYWdlIDM2LiBJUEEgZm9yIHRoZSB1bmFjY2VwdGFibGUgQW1lcmljYW4g ZmxhcCB2YXJpYW50IG9mIGludGVydm9jYWxpYyAnJ3QnJyBzaG93cyB0aGUgR0EgJydyJycgc291 bmQgKHVwc2lkZS1kb3duIHIpIGluc3RlYWQgb2YgdGhlIGZsYXAgKGxpa2UgYW4gciB3aXRoIG5v IHZlcnRpY2FsIGJpdCBhdCB0aGUgdG9wIOKAlCBzZWUgdGhlIGxpc3Qgb2YgYWNjZXB0aWJsZSAn J3InJyB2YXJpYW50cyBvbiBvbiBwYWdlIDQ0IHdoZXJlIGl0IGFwcGVhcnMgY29ycmVjdGx5KSAg KChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqKiAoKEFwcHJvdmVkIEVycmF0 dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0 aW9uIDYsIHBhZ2UgMzYuIChTYW1lIGFzIHByZXZpb3VzIGVycmF0dW0pIFRoZSBjb25zb25hbnQg aXMgcmVmZXJyZWQgdG8gYXMgYSBmbGFwLCB3aGlsZSBpdCBpcyBhY3R1YWxseSBhIHRhcC4gICgo QXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gNy4gSW4gYmV0 d2VlbiB0aGUgc2hhZGVkIGJveGVzLCAiYSBwYWlyaW5nIG9mIHZvaWNlZCBhbmQgdW52b2ljZWQg ZXF1aXZhbGVudCB2b3dlbHMiIHNob3VsZCByZWFkICJhIHBhaXJpbmcgb2Ygdm9pY2VkIGFuZCB1 bnZvaWNlZCBlcXVpdmFsZW50IGNvbnNvbmFudHMiLgoKCgoqIFNlY3Rpb24gOCwgcGFnZSAzOC4g SVBBIGZvciBwcm9udW5jaWF0aW9uIG9mICJ4YXBja2UiIGhhcyBjIHdoZXJlIGl0IHNob3VsZCBo YXZlIFMgKGxvbmcgcykuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoK KiBTZWN0aW9uIDksIHBhZ2UgNDAuIElQQSBmb3IgcHJvbnVuY2lhdGlvbiBvZiAiZGlreWp2byIg aGFzIGogd2hlcmUgaXQgc2hvdWxkIGhhdmUgWiAodGhhdCBsaXR0bGUgc2NyaXB0IHogdGhpbmcp ICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCioqICgoQXBwcm92ZWQgRXJy YXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNl Y3Rpb24gMTIsIHBhZ2UgNDYuIFdoYXQgc2hvdWxkIGJlIHRoZSBDeXJpbGxpYyBsZXR0ZXIgOyBp cyBwcmludGVkIGFzIHNvbWV0aGluZyB0aGF0IGxvb2tzIGxpa2UgdGhlIEdyZWVrIGxldHRlciAu IElzIHRoaXMgb25seSBhIHR5cG9ncmFwaGljYWwgdmFyaWFudCBvZiB0aGUgOywgb3IgaXMgaXQg YSB2YXJpYW50PwoKCgoqKiBUaGlzIGVycmF0dW0gaXMgaW5kZWNpcGhlcmFibGUgYW5kIHNob3Vs ZCBiZSBkcm9wcGVkLCB1bmxlc3Mgc29tZW9uZSBjYW4gcmVjb25zdHJ1Y3QgaXQuICBUaGUgQ3ly aWxsaWMgbGV0dGVycyBsb29rIGZpbmUuICAtLWpjb3dhbgoKCgoqIFNlY3Rpb24gMTIsIHBhZ2Ug NDYuIFJlcGxhY2UgdGhlIHdvcmRzICJ0aGUgaGFyZCBzaWduIiB3aXRoIGFuIGFjdHVhbCBoYXJk IHNpZ24sIFUrMDQ0QSBDWVJJTExJQyBTTUFMTCBMRVRURVIgSEFSRCBTSUdOLgoKCgoqIFNlY3Rp b24gMTIsIHBhZ2UgNDcuICJhcmUvImVzc2UiIHNob3VsZCBwcm9iYWJseSBiZSAiYXJlIi8iZXNz ZSIgKHRoZSBhY3V0ZSBvbiB0aGUgYSBtYXkgb3IgbWF5IG5vdCBoYXZlIGJlZW4gbGVmdCBvZmYs IGJ1dCB0aGUgY2xvc2luZyBxdW90ZSBhZnRlciBhcmUgaXMgZGVmaW5hdGVseSBtaXNzaW5nLikK CioqIE15IGNvcHkgc2hvd3MgdGhlIGFjdXRlLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1 c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCi0tLQoKCgohQ2hhcHRl ciA0CgoKCiogU2VjdGlvbiA0LCBwYWdlIDU0LiBUaGUgYm9vayBzdGF0ZXMgdGhhdCBmdSdpdmxh IHdpdGggYSBmb3JtIGxpa2UgJydzcGEnaScnIGFyZSB2YWxpZC4gVGhleSBhcmUgbm90LCB0aGV5 IGZhaWwgdGhlIHNsaW5rdSdpIHRlc3QuICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92 ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gNiwgcCA1OCwgIi1sYWMi IGluIHRoZSB0aGlyZCB0YWJsZSBpbiB0aGF0IHNlY3Rpb24gc2hvdWxkIGJlICItbGFjLSIKCgoK KiBTZWN0aW9uIDYsIGl0IHNheXMgIk1vc3QgY21hdm8gdGhhdCBoYXZlIHJhZnNpIGFyZSBvbmVz IHVzZWQgaW4gY29tcG9zaW5nIHRhbnJ1IChmb3IgYSBjb21wbGV0ZSBsaXN0LCBzZWUgQ2hhcHRl ciAxMikiLCBidXQgdGhlcmUgaXMgbm8gc3VjaCBsaXN0IGluIENoYXB0ZXIgMTIsIG9yIGFueXdo ZXJlIGluIHRoZSBib29rIChqdSdvc2FpKS4gUGVyaGFwcyBpdCB3YW50cyB0byBwb2ludCB0byB0 aGUgbGlzdCBvZiBQQSByYWZzaSBpbiBDaGFwdGVyIDE4IHNlY3Rpb24gMjU/IE9yIHRvIHRoZSBs aXN0cyBvZiB0YW5ydSBpbiBDaGFwdGVyIDUgc2VjdGlvbnMgMTQgYW5kIDE1PwoKKiogV2hhdCBJ IHByb2JhYmx5IG1lYW50IHdhcyB0aGF0IENoYXB0ZXIgMTIsIHRha2VuIGFzIGEgd2hvbGUsIGRp c2N1c3NlcyB0aGUgY21hdm8gdXNlZCBpbiBjb25zdHJ1Y3RpbmcgdGFucnUuICBJIGRvbid0IHRo aW5rIGFueSBzcGVjaWZpYyBsaXN0IGV2ZXIgZXhpc3RlZC4gIEknZCBqdXN0IGRyb3AgdGhlIHBh cmVudGhldGljYWwgc2VudGVuY2UuCgoKCiogU2VjdGlvbiA2LCBqdXN0IGFmdGVyIGV4YW1wbGUg Ni45LiBJdCBzYXlzICJzb21lIG9mIHRoZSB1bnJlZHVjZWQgZm9ybXMgaW4gdGhlIHByZXZpb3Vz IGV4YW1wbGUiLCBidXQgaXQgaXMgbm90IHJlZmVycmluZyB0byB0aGUgcHJldmlvdXMgZXhhbXBs ZTogaXQgaXMgcmVmZXJyaW5nIGFsbCB0aGUgd2F5IGJhY2sgdG8gZXhhbXBsZXMgNi4xIGFuZCA2 LjIsIHNvIGl0IHNob3VsZCBiZSAic29tZSBvZiB0aGUgdW5yZWR1Y2VkIGZvcm1zIGluIHRoZSBw cmV2aW91cyBleGFtcGxlX19zX18iLgoKKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycgKHpvcnQn cyBmb3JrIGF0IGxlYXN0KQoKKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkgIFJl ZmVyIGV4cGxpY2l0bHkgdG8gNi4xIGFuZCA2LjIKCgoKKiBTZWN0aW9uIDcsIHBhZ2UgNjAuIElu IGV4YW1wbGUgNi4xNiwgdGhlIHdvcmQgInhhcm55a2FyY2UiIGlzIGdsb3NzZWQgYXMgIndhci1j YXIiLiBFaXRoZXIgdGhlIGdsb3NzIHNob3VsZCBiZSB1cGRhdGVkIHRvIHJlZmxlY3QgdGhlIHZl bGp2byAoInN0dWJib3JuLWNhciIpLCBvciB0aGUgbHVqdm8gc2hvdWxkIGJlIHVwZGF0ZWQgdG8g cmVmbGVjdCB0aGUgZ2xvc3MgImphbWthcmNlIgoKKiogVGhlIGxhdHRlciAoKEFwcHJvdmVkIEVy cmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBT ZWN0aW9uIDcsIG1ha2luZyBhIHR5cGUgMyBmdSdpdmxhLCBzdGVwIDUgc2hvdWxkIHJlYWQgInN0 ZXBzIDEtNCIsIG5vdCAic3RlcHMgMS01Ii4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBw cm92ZWQpKQoKCgoqIFNlY3Rpb24gNywgc3RlcCA1IG9mIHRoZSBTdGFnZSAzIGZ1J2l2bGE6ICJp ZiB0aGUgcmFmc2kgZW5kcyBpbiAnJ3InJyBhbmQgdGhlIHJlc3Qgb2YgdGhlIGZ1J2l2bGEgYmVn aW5zIHdpdGggJyduJycgKG9yIHZpY2UgdmVyc2EpIHVzZSBhbiAnJ2wnJy1oeXBoZW4iIHNob3Vs ZCByZWFkICAiaWYgdGhlIHJhZnNpIGVuZHMgaW4gJydyJycgYW5kIHRoZSByZXN0IG9mIHRoZSBm dSdpdmxhIGJlZ2lucyB3aXRoICcnbicnLCAnJ3RjJycsICcndHMnJywgJydkeicnIG9yICcnZGon Jywgb3IgdGhlIHJhZnNpIGVuZHMgaW4gJyduJycgYW5kIHRoZSByZXN0IG9mIHRoZSBmdSdpdmxh IGJlZ2lucyB3aXRoICcncicnIHVzZSBhbiAnJ2wnJy1oeXBoZW4iLiAgKChBcHByb3ZlZCBFcnJh dHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogVGhlIGVuZCBvZiBzZWN0aW9uIDcgc2VlbXMgdG8g aW1wbHkgdGhhdCBjbWVuZSBhcmUgZXhlbXB0IGZyb20gdGhlIG5vcm1hbCByZXN0cmljdGlvbnMg b24gY29uc29uYW50IGNsdXN0ZXJzIGFzIGxvbmcgYXMgZWFjaCBjb25zb25hbnQgcGFpciBpcyB2 YWxpZC4KCgoKKiBTZWN0aW9uIDguIEV4YW1wbGUgOC4xMCAnJ2RqYW5kam9ueicnIGlzIG5vdCB2 YWxpZCBsb2piYW4gYXMgaXQgY29udGFpbnMgdGhlIGZvcmJpZGRlbiBjb25zb25hbnQgc2VxdWVu Y2UgYG5kamAuICAgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKSAgUmVwbGFj ZSB3aXRoIGEgZGlmZmVyZW50IG5hbWUuCgoqKiBSZXBsYWNpbmcgd2l0aCAiSm9obiBCcm93biIg YXMgImRqYW5icmF1biIuIC0tcmxwb3dlbGwgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBT ZWN0aW9uIDgsIHBhZ2UgNjYuIEV4YW1wbGUgOC4xMi4gU2F5cyB0aGF0IHRoZSBnaXNtdSAic29s cmkiIG1lYW5zICJhY3R1YWxseSwgJ3BlcnRhaW5pbmcgdG8gdGhlIHN1biciLiBUaGlzIGlzIGZh bHNlLiBBY2NvcmRpbmcgdG8gdGhlIGdpc211IGxpc3QsIGl0IG1lYW5zICcnaXMnJ2Egc3VuLgoK KiogTGVhdmUgdGhpcyBvbmUgYWxvbmUuICBBcyBhIHNlbHRhdSwgInNvbHJpIiBkb2VzIGluZGVl ZCBtZWFuICJzb2xhciIuICAtLWpjb3dhbgoKCgoqIFNlY3Rpb24gMTEsIDVhKSAnJ0V4YW1pbmUg YWxsIHRoZSBDL0MgY29uc29uYW50IHBhaXJzIHRoYXQgam9pbiB0aGUgQ1ZDIHJhZnNpLCBhbmQg YWxzbyB0aGUgcGFpciBiZXR3ZWVuIHRoZSBsYXN0IENWQyBhbmQgdGhlIFggcG9ydGlvbiwgaWdu b3JpbmcgYW55ICJ5Ii1oeXBoZW4gYmVmb3JlIHRoZSBYLicnIHNob3VsZCByZWFkIGluc3RlYWQ6 ICcnRXhhbWluZSBhbGwgdGhlIEMvQyBjb25zb25hbnQgcGFpcnMgdXAgdG8gdGhlIGZpcnN0ICJ5 Ii1oeXBoZW4sIG9yIHVwIHRvIHRoZSBlbmQgb2YgdGhlIHdvcmQgaW4gY2FzZSB0aGVyZSBhcmUg bm8gInkiLWh5cGhlbnMuJycKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92 ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTIuIEluIEV4YW1wbGVz IDEyLjIsIDEyLjMgYW5kIDEyLjQgdGhlIGNhbGN1bGF0aW9ucyBhcmUgZ2l2ZW4gYXMgMzI1MDAg bWludXMgdGhlIHNjb3JlLCBpbnN0ZWFkIG9mIHNpbXBseSB0aGUgc2NvcmUuIChQcm9iYWJseSBm cm9tIHByZXZpb3VzIHZlcnNpb25zIG9mIHRoZSBhbGdvcml0aG0uKSAgICAoKEFwcHJvdmVkIEVy cmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDEzLCBwYWdlIDc0LCB0aGlyZCB0 YWJsZTogdGhlcmUgaXMgbm8gc3BhY2UgYmV0d2VlbiAibG9qYmF1Z3JpIiBhbmQgImxvamJhbmd5 Z3JpIiwgc28gdGhhdCB0aGV5IGFyZSBydW4gaW50byBvbmUgd29yZCBpbiB0aGUgc2Vjb25kIGNv bHVtbiBvZiB0aGUgdGFibGUuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkK CgoKKiBTZWN0aW9uIDE1IHN0YXRlcyB0aGF0ICJkemlwbyIgY29tZXMgZnJvbSAiY2FkenUgY2lw bmkiICgid2Fsa2luZyBiaXJkIikuICBUaGlzIGZhaWxzIHRvIG1ha2Ugc2Vuc2UgZWl0aGVyIGV0 eW1vbG9naWNhbGx5IG9yIHNlbWFudGljYWxseSAoSWYgdGhlIG5hbWUgcmVmZXJzIHRvIHBlbmd1 aW5zLCB0aGVyZSBhcmUgYSBsb3Qgb2Ygb3RoZXIgZmVhdHVyZXMgb2YgQW50YXJjdGljYSB0aGF0 IGFyZSBtb3JlIHByb21pbmVudCBhbmQgbm90IHNoYXJlZCBieSBvdGhlciBwbGFjZXMpLiAgSSBz dXNwZWN0IHRoYXQgdGhlIHdvcmQgbWF5IGFjdHVhbGx5IGNvbWUgZnJvbSAiZGl6bG8gZGFwbHUi ICgibG93IGlzbGFuZCIpLCB3aGljaCBpcyBhIHNvbWV3aGF0IG1vcmUgcmVhc29uYWJsZSBuYW1l LgoKKiogTm90IGFuIGVycmF0dW0sIHRoZSB3b3JkIHJlYWxseSBkb2VzIGNvbWUgZnJvbSAiY2FE WnUgY0lQbmkiLiBUaGF0IGl0IGZhaWxzIHRvIG1ha2Ugc2Vuc2UgZG9lc24ndCBjaGFuZ2UgdGhl IGZhY3QgdGhhdCB0aGF0IGlzIGhvdyB0aGV5IGNvbnN0cnVjdGVkIGl0LiBUaGUgZXR5bW9sb2dp ZXMgb2YgImJlbXJvIiBhbmQgImtldGNvIiBtYWtlIGV2ZW4gbGVzcyBzZW5zZSwgYnkgdGhlIHdh eS4KCioqKiBDb3JyZWN0LCBidXQgdGhlIGV0eW1vbG9naWVzIGFyZSB3aGF0IHRoZXkgYXJlLiAg LS1qY293YW4KCgoKLS0tCgoKCiFDaGFwdGVyIDUKCgoKKiBTZWN0aW9uIDYsIGV4YW1wbGUgNi4x NTogSXQgc2F5cyB7eGFtZ3Ugam8gY29ydHUgbnVudGF2bGF9LCBhbmQgdGhlIGdsb3NzIHNheXMg eyhnb29kIGlmLWFuZC1vbmx5LWlmIHNob3J0KSBzcGVlY2h9LCBidXQge2NvcnR1fSBtZWFucyAi aHVydCIsIG5vdCAic2hvcnQiLgoKKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycgIChjaGFuZ2Vk IHRvIHt0b3JkdX0pIChpbiB6b3J0J3MgZm9yayBhdCBsZWFzdCkgKChBcHByb3ZlZCBFcnJhdHVt fGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogRXhhbXBsZSA2LjE2OiB2YWpuaSBqdSBzZWxwbHVrYSBu dW50YXZsYSAsICAoaW1wb3J0YW50IHdoZXRoZXItb3Itbm90IHBsZWFzaW5nKSBldmVudC1vZi10 YWxraW5nCgoqKiBTaG91bGQgYmUgcGx1a2EsIG5vdCBzZWxwbHVrYS4gICgoQXBwcm92ZWQgRXJy YXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNl Y3Rpb24gOCBzYXlzICJpbnZvbHZpbmcgc2VsbWEnbyBWT2hBIGFuZCBHT2hJLCBleHBsYWluZWQg aW4gQ2hhcHRlciA3IiwgYnV0IFZPaEEgZG9lc24ndCBhcHBlYXIgaW4gQ2hhcHRlciA3LiBWT2hB IGRvZXNuJ3QgZXZlbiBzZWVtIHRvIGJlIGEgc2VsbWEnbywgZm9yIHRoYXQgbWF0dGVyLiBBbHNv LCBwcm9iYWJseSBHT2hJIHNob3VsZCBiZSBHT2hBPwoKCgoqIFNlY3Rpb24gOCwgcGFnZSA5Ni85 NzogRXhhbXBsZSA4LjEzIG5lZWRzIHNvbWUga2luZCBvZiB0ZXJtaW5hdG9yIChsaWtlICJiZSdv IikgYmVmb3JlIHRoZSAiY28iLiAgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQp KQoKCgoqIEFsc28sIHRoZSBwcmVjZWRpbmcgcGFyYWdyYXBoIHN1Z2dlc3RzIHRoYXQgImJlIiBp cyB0aGUgb25seSB3YXkgdG8gZmlsbCBzZWxicmkgcGxhY2VzIG90aGVyIHRoYW4geDEuIFRoaXMg aXMgbm90IHRoZSBjYXNlOiAibWkgbGUgemFyY2kgY3Uga2xhbWEgY28gc3V0cmEiIHdvdWxkIGFs cwoKbyB3b3JrLgoKKiogSSBkb24ndCBhZ3JlZSB0aGF0IHRoZXJlJ3MgYW55IHN1Y2ggc3VnZ2Vz dGlvbiwgYWx0aG91Z2ggYWRkaW5nIGEgc2Vjb25kIHBvc3NpYmlsaXR5IGlzIGZpbmUgd2l0aCBt ZS4gIC0tamNvd2FuCgoKCiogU2VjdGlvbiA5IGxpc3RzICJrZWkiIGFzIHRoZSB0ZXJtaW5hdG9y IGZvciBudSwgYnV0IGl0J3Mgbm90IG9ubHkgZm9yIG51LCBidXQgZm9yIGFsbCBvZiBOVS4gICgo QXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTQsIHBhZ2Ug MTA0IHNheXMgImRhZHlsc2kiIGZvciAiZGFkeXNsaSIuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18 Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9u IDE0LCBwYWdlIDEwNSB1c2VzICJ6ZGFuaSBsaWpncmkiIGluIHRoZSBleGFtcGxlIGxpc3QsIGJ1 dCB0aGUgcGFyYWdyYXBoIGFmdGVyLCBhcyB3ZWxsIGFzIHRoZSBuZXh0IGxpc3QsIHJlZmVyIHRv ICJ6ZGFuaSBsaW5qaSIgYW5kICJsaW5qaSB6ZGFuaSIuCgoKCiogU2VjdGlvbiAxNCwgcGFnZSAx MDUgaGFzIHRoZSBsdWp2byAiY3B1bWknaSIgYnV0IGRlZmluZXMgaXQgYXQgdGhlIGJvdHRvbSBv ZiB0aGUgc2V0IGFzICJjcGFtaSdpIi4KCioqIGN1YW1pJ2kgcyBwdWxsLW1hY2hpbmUsIHNvIHVz aW5nIHRoYXQgKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVE RUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxNCwgcGFnZSAxMDYgc2F5cyAicGxpc2UgdGFw bGEiIGZvciAiYXBwbGUgY2FrZSIuIERvZXMgVHVya2lzaCByZWFsbHkgcmVmZXIgdG8gYSBjYWtl IGFzIGEgdGlsZSwgb3IgaXMgdGhpcyBhIG1pc3VuZGVyc3RhbmRpbmcgb2YgdGhlIGRlZmluaXRp b24gb2YgInRhcGxhIj8KCioqIE5vLCBpdCdzIHRoYXQge3RhcGxhfSBjYW4gbWVhbiBib3RoIGNh a2UgYW5kIHRpbGUsIGFzIHRoZSBnaXNtdSBsaXN0IHNob3dzOyBpdCdzIGEgZ2VuZXJpYyB3b3Jk IGZvciBhIGZsYXQgMy1EIHNoYXBlLCBvciBzaG9ydCBjeWxpbmRlci4gIFN0ZXQuICAtLWpjb3dh bgoKCgoqIFNlY3Rpb24gMTQsIHBhZ2UgMTA4IHNheXMgInR1bWxhIHNwaXNhIi4gVGhpcyBzaG91 bGQgcHJvYmFibHkgYmUgInR1bWxhIHBhZ2J1Iiwgc2luY2UgcGllY2VzIG9mIGxhbmQgYXJlIG5v dCBhY3R1YWxseSBkZXRhY2hlZC4KCioqIFdoYXQgbWFrZXMgeW91IHRoaW5rIHRoYXQgc3Bpc2Eg aGF2ZSB0byBiZSBkZXRhY2hlZD8gIFN0ZXQuICAtLWpjb3dhbgoKCgoqIFNlY3Rpb24gMTQsIHBh Z2UgMTA5IHNheXMgInJvc3R1IG1vanlzdSdhIi4gInJvc3R1IiBpcyBub3QgYSBMb2piYW4gZ2lz bXUsIG5vciBhbiBPbGQgTG9nbGFuIHByaW1pdGl2ZS4gSXQncyBzdXBwb3NlZCB0byBiZSAibXJv c3QKCnUiLgoKKiogIk1yb3N0dSIgaXMgY29ycmVjdCwgYW5kIHRoYXQncyB0aGUgcmVhZGluZyBv ZiB0aGUgb25saW5lIHZlcnNpb24uICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVk KSkKCgoKKiBTZWN0aW9uIDE0LCAibnVua2lsYnJhIiBpcyBjbGVhcmx5IG5vdCAic2hhcnBlbmVy IiwgYW5kIGV2ZW4gaWYgaXQgd2FzIHVzaW5nIHRoZSByaWdodCByYWZzaSBmb3IgY2FicmEsIHRo YXQgc3RyaWtlcyBtZSBhcyBhIHByZXR0eSBjcmFwcHkgbHVqdm87IG5lZWRzIHplbmJhIG9yIHpt YWR1IG9yIGJpbnhvIG9yIHNvbWV0aGluZy4KCgoKKiBTZWN0aW9uIDE0LCBwYWdlIDExMiBsaXN0 cyBudW1lcm91cyB0YW5ydSBleGFtcGxlcyB3aG9zZSBtZWFuaW5ncyBhcmUgaHlwZXJueW1zIG9m IHRoZSB0ZXJ0YXUgaW5zdGVhZCBvZiBoeXBvbnltcy4gVGhpcyBjb250cmFkaWN0cyB0aGUgcHJp bWFyaW5lc3Mgb2YgdGhlIHRlcnRhdSBhcyBkZWZpbmVkIG9uIHBhZ2UgODQuIFRoZSB3b3JkICJq YSIgc2hvdWxkIHByb2JhYmx5IGJlIGluc2VydGVkIGJldHdlZW4gdGhlIGNvbnN0aXR1ZW50cywg b3IgdGhlIGVudGlyZSBzZWN0aW9uIHNob3VsZCBiZSByZW1vdmVkLgoKKiogU3RldC4gIExpb25z IGNhbid0IGJlIG1hZGUgb2Ygc3RvbmUsIGJ1dCB7cm9rY2kgY2luZm99IGlzIGEgbGVnaXRpbWF0 ZSB0YW5ydSBub25ldGhlbGVzcy4gIC0tamNvd2FuCgoKCi0tLQoKCgohQ2hhcHRlciA2CgoKCiog RW5kIG9mIHNlY3Rpb24gMiwgaXQgc2F5cyAiY29tcG91bmQgbmVnYXRvciBgYG5ha3UnJyAoZGlz Y3Vzc2VkIGluIENoYXB0ZXIgMTUpIiwgYnV0ICJuYWt1IiBpcyBuZXZlciBtZW50aW9uZWQgaW4g Y2hhcHRlciAxNTsgaW5kZWVkLCB0aGUgb25seSB1c2VzIG9mIHRoZSB3b3JkIHtrdX0gYXQgYWxs IGFyZSBhZnRlciB0aGUgd29yZHMge2ppJ3V9IG9yIHtuYSdpfS4gQ2hhcHRlciAxNiB0YWxrcyBh Ym91dCB7bmFrdX0uCgoqKiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJyAoem9ydCdzIGZvcmsgYXQg bGVhc3QpIGJ1dCBuZWVkcyBhcHByb3ZhbAoKCgoqIFNlY3Rpb24gMTIsIHAuIDEzOCBjbGFpbXMg dGhhdCB0aGUgc3VtdGkgaW4gZXhhbXBsZXMgMTIuMiBhbmQgMTIuMyBvcGVyYXRlIGxpa2UgZXhh bXBsZXMgMi41IGFuZCAzLjYgcmVzcGVjdGl2ZWx5LiAiMi42IGFuZCAzLjYiIGlzIGFsbW9zdCBz dXJlbHkgd2hhdCB3YXMgbWVhbnQuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVk KSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBJbiBzZWN0aW9uIDExIEV4YW1wbGUgMTEu MiBvY2N1cnMgdHdpY2UuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVk KSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDIgaGFzIGV4YW1wbGVzIDIu MyBhbmQgMi41IHRvIHNob3cgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB7bG99IGFuZCB7bGV9LiBF eGFtcGxlIDIuNSBhbmQgdGhlIHN1YnNlcXVlbnQgdGV4dCBzYXkgdGhhdCB7bG8gbmFubXUgY3Ug bmlubXV9IGlzIG5lY2Vzc2FyaWx5IGZhbHNlIGluIGxvamJhbiBzaW5jZSB7bm9kYSBuYW5tdSBn aSdlIG5pbm11fS4gVGhpcyBjb250cmlidXRlcyB0byB0cmFucy1lcmFzdXJlLCBhbmQgc2hvdWxk IGJlIHJldmlzZWQuCgoKCiogSW4gc2VjdGlvbiA1IGJldHdlZW4gZXhhbXBsZXMgNS4yIGFuZCA1 LjMsIGl0IHNheXMgdGhhdCB0aGUgdHlwaWNhbCBsaW9uIGJlc3QgZXhlbXBsaWZpZXMgdGhlIHNl dCBvZiBsaW9ucy4gVGhpcyBpcyBmYWxzZSwgaXQgZXhlbXBsaWZpZXMgbm90IHRoZSBzZXQsIGJ1 dCB0aGUgbWVtYmVycyBvZiB0aGF0IHNldC4KCgoKLS0tCgoKCiEgQ2hhcHRlciA3CgoKCiogU2Vj dGlvbiA2LCBwYWdlIDE1NSBoYXMgYSBub3RlIGJlbG93IGV4YW1wbGUgNi4xMyB0aGF0IHNheXMs IGluIHBhcnQ6ICJUaGUgTG9qYmFuIGRvZXMgbm90IGNvbnRhaW4gYW4gZXF1aXZhbGVudCBvZiB0 aGUgIm15IiBpbiBjb2xsb3F1aWFsIEVuZ2xpc2g7IiBhbmQgdGhlbiBnb2VzIG9uIHRvIGV4cGxh aW4gaG93IGV4YW1wbGUgNi4xMyBjb3VsZCBiZSBtb2RpZmllZCB0byBpbmNsdWRlICB0aGUgcmVs YXRpb25zaGlwIGJldHdlZW4gdGhlIHNwZWFrZXIgYW5kIHRoZWlyIHNvbiBhbmQgZGF1Z2h0ZXIu ICBJIGJlbGlldmUgeW91IGNvdWxkIHNheSAibGUgbWkgYmVyc2EiIG9yICJsZSBiZXJzYSBwZSBt aSIgdG8gZXhwcmVzcyB0aGUgRW5nbGlzaCAibXksIiB0aGVyZWZvciByZW1vdmluZyB0aGUgKHBy ZXN1bWFibHkgaW5hY2N1cmF0ZSkgbm90ZSBhbmQgbWFraW5nIHRoZSBMb2piYW4gdHJhbnNsYXRp b24gbW9yZSBhY2N1cmF0ZS4KCioqIFN1cmUgeW91IGNvdWxkLCBidXQgdGhlIHBvaW50IG9mIHRo ZSBub3RlICh3aGljaCBpcyAnJ25vdCcnIGluYWNjdXJhdGUpIGlzIG5vdCB0ZWFjaGluZyBob3cg dG8gdXNlIHJlbGF0aXZlIGNsYXVzZXMsIGJ1dCB0byBjbGFyaWZ5IHRoYXQgdGhlIGlkaW9tYXRp YyBFbmdsaXNoIHZlcnNpb24gY29udGFpbnMgbW9yZSBpbmZvcm1hdGlvbiB0aGFuIHRoZSBMb2pi YW4gdmVyc2lvbiBkb2VzLiAgU3RldC4KCgoKKiBTZWN0aW9uIDYsIHBhZ2UgMTU2IGhhcyAnJ2th cmNhJycgZm9yICcna2FyY2UnJy4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQp KQoKCgoqIEFmdGVyIGV4YW1wbGUgNi4xOCBpcyBhIHBhcmFncmFwaCB0aGF0IHF1b3RlcyBub24t ZXhpc3RlbnQgdGV4dCBmcm9tIGV4YW1wbGUgNi4xMC4gICJnbydlIHJhJ28iIHNob3VsZCByZWFk ICJnbydpIHJhJ28iIGFuZCAiZG8gZ28nZSIgc2hvdWxkIHJlYWQgIm1pIGdvJ2kiCgoqKiBUaGUg Y29ycmVjdCBjb3JyZWN0aW9uIGlzIHRvIHJlcGxhY2UgIkIncyBzdGF0ZW1lbnQiIHdpdGggIkEn cyBzZWNvbmQgc3RhdGVtZW50Ii4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQp KQoKKioqIE5vdCByZWFsbHkuICJnbydlIHJhJ28iIGluIEEncyBzZWNvbmQgc3RhdGVtZW50IHdv dWxkIG1lYW4gdGhlIHNhbWUgYXMgImdvJ2UiLCB3aGljaCBpcyB3cm9uZy4gVGhlIG9yaWdpbmFs IGNvcnJlY3Rpb24gaXMgdmFsaWQgdGhvdWdoLgoKCgoqU2VjdGlvbiA2LCB0aGUgZXhjZXB0aW9u cyB0byB0aGUgYW5hcGhvcmEgcnVsZXMgYXJlIGFsbW9zdCBjZXJ0YWlubHkgaW5jb21wbGV0ZS4g SW4gcGFydGljdWxhciAibWEiIGFuZCAiY2UndSIgZGVmaW5pdGVseSB3YXJyYW50IGV4Y2VwdGlv bnMuCgoKCiogU2VjdGlvbiA3LCBleGFtcGxlIDcuNyBoYXMgIm1pIHpiYXN1IGxvaSBtdWRyaSB6 aSdvIiBmb3IgIm1pIHpiYXN1IGxlIGRpbmp1IHppJ28iCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18 Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9u IDgsIHAuIDE1OCBpbXBsaWVzIHRoYXQgJyd2bydhJyctc2VyaWVzIGFuYXBob3JhIHJlZmVyIHRv IHN1bXRpIG9mIHRoZSBicmlkaSB0aGV5IHRoZW1zZWx2ZXMgYXJlIHN1bXRpIG9mLiBUaGlzIGNv bnRyYWRpY3RzIHRoZSBjbWF2byBsaXN0LCBhbmQgaXMgaW5jb3JyZWN0OiAnJ3ZvJ2EnJy1zZXJp ZXMgYW5hcGhvcmEgKGFjY29yZGluZyB0byB0aGUgbWEnb3N0ZSkgcmVmZXIgdG8gc3VtdGkgb2Yg dGhlIG91dGVybW9zdCBicmlkaSB3aXRoaW4gdGhlIGN1cnJlbnQgc2VudGVuY2UuIFRoaXMgbWFr ZXMgdGhlbSBsb2dvcGhvcnMvbG9uZyBkaXN0YW5jZSByZWZsZXhpdmVzLCByYXRoZXIgdGhhbiBz aG9ydC1kaXN0YW5jZSByZWZsZXhpdmVzLCBhcyBpcyBub3JtYWwgaW4gaHVtYW4gbGFuZ3VhZ2Uu IFRodXMsIGluICcnbWkgbmVsY2kgbGVudSBkbyBwcmFtaSB2bydhJycsICcndm8nYScnbWVhbnMg JydtaScnLCBub3QgJydkbycnLgoKKipfXy0tPl9fKChXaHkgdGhlIEJvb2sgaXMgUmlnaHQgYW5k IHRoZSBtYSdvc3RlIGlzIFdyb25nKSkKCioqKldoaWNoIG9mIHRoZSB0d28gY2FzZXMgaXMgbm9y bWFsIGluIGh1bWFuIGxhbmd1YWdlPyBJZiB5b3UnZCB3cml0dGVuIGl0IGluIExvamJhbiwgSSdk IGtub3chCgoqKioqIEknZCBndWVzcyB0aGF0IHNob3J0LWRpc3RhbmNlIGlzIG5vcm1hbCwgYi9j IG90aGVyd2lzZSBpdCB3b3VsZCBub3QgYmUgd29ydGggY29tcGFyaW5nIHRoZSB0d28uIEJ1dCBv ZiBjb3Vyc2UgaW4gbG9qYmFuIHdlIHdvdWxkbid0IGhhdmUgdG8gZ2xvcmsgdGhhdC4KCioqKioq IFNob3J0LWRpc3RhbmNlIGlzIGluZGVlZCBub3JtYWwsIGJ1dCBMb2piYW5pc3RzIGhhdmUgY29u c2lzdGVudGx5IHVzZWQgbG9uZy1kaXN0YW5jZS4gIE5pY2sgd3JvdGUgYSBwZWVyLXJldmlld2Vk IHBhcGVyIG9uIHRoaXMuICAtLWpjb3dhbgoKCgoqIEV4YW1wbGUgNy44LjUgKHAxNTkpOiBiYWpy YSBvbiB0aGlyZCBsaW5lIHNob3VsZCBiZSBiYWp5a2xhLCBsaWtlIHRoZSBvdGhlcnMuCgoqKiAo KEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUct Q0xMJycKCgoKKiBTZWN0aW9uIDgsIGl0IHNheXMgIkV4YW1wbGUgOS4zIGlzIGEgdHJ1bHkgcHJl Z25hbnQgcXVlc3Rpb24uLi4iIHdoZW4gZXhhbXBsZSA5LjIgaXMgdGhlIHByZWduYW50IHF1ZXN0 aW9uLCBhbmQgZXhhbXBsZSA5LjMgaXMgYSBiZXR0ZXIgd2F5IG9mIGV4cHJlc3NpbmcgIldobyBh cmUgeW91PyIKCgoKKiBTZWN0aW9uIDE1LCBpdCBzYXlzICJGaW5hbGx5LCBsdWp2byBpbnZvbHZp bmcgYGB6aSdvJycgYXJlIGFsc28gcG9zc2libGUsIGFuZCBhcmUgZnVsbHkgZGlzY3Vzc2VkIGlu IENoYXB0ZXIgMTIiLCBidXQgbm93aGVyZSBkb2VzIENoYXB0ZXIgMTIgbWVudGlvbiB0aGUgd29y ZCB7emknb30sIG11Y2ggbGVzcyBsdWp2byBpbnZvbHZpbmcgaXQuIFRoaXMgaXMgcHJvYmFibHkg YSBDaGFwdGVyIDEyIGVycmF0dW0uCgotLS0KCgoKIUNoYXB0ZXIgOAoKCgoqIEluIFNlY3Rpb24g MyB0aGUgZXhhbXBsZSAzLjIwIHNob3VsZCBoYXZlIHt4YW5jZX0gaW5zdGVhZCBvZiB7eGFuY2l9 LCB3aGljaCBpcyBkZWZpbml0ZWx5IGEgdHlwby4gLS1pZG9udGtudwoKKiogKChBcHByb3ZlZCBF cnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiog U2VjdGlvbiA4LCBwLiAxODE6ICA4LjEpICcnbGkgcGFpIG5vaSBuYSdlIGZyaW51IG5hbWN1Jydz aG91bGQgYmUgJydsaSBwYWkgbm9pIG5hJ2UgZnJpbnUgY3UgbmFtY3UnJy4gICgoQXBwcm92ZWQg RXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gOCwgRXhhbXBsZSA4LjYsIHRo ZSB0aGlyZCBsaW5lLCAiSSBydW5uaW5nbHktZ28gdG8tdGhpcyBbcmVjaXByb2NpdHldIFt4MyBv ZiB0aGlzIGJyaWRpXSBmcm9tLXRoYXQiLCBpcyBub3QgdGhlIHVzdWFsIGRlY2VudCBFbmdsaXNo IG9uZSB3b3VsZCBleHBlY3QgaW4gdGhhdCBwb3NpdGlvbjsgcmVwbGFjZWQgd2l0aCAiSSBydW4g dG8gdGhpcyBmcm9tIHRoYXQgYW5kIHZpY2UgdmVyc2EuIiBpcyBkYWctY2xsICcnSU5DTFVERUQg SU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA5LCBleGFtcGxlIDkuMiBpcyAnJ2NvJ28geGlybWEn Jy4gVGhlbiwgJydOb3RlIHRoYXQgRXhhbXBsZSA5LjIgc2F5cyBmYXJld2VsbCB0byBzb21ldGhp bmcgd2hpY2ggZG9lc27igJl0IHJlYWxseSBoYXZlIHRvIGJlIGEgaG9yc2UsIHNvbWV0aGluZyB0 aGF0IHRoZSBzcGVha2VyIHNpbXBseSB0aGlua3Mgb2YgYXMgYmVpbmcgYSBob3JzZSwgb3IgZXZl biBtaWdodCBiZSBzb21ldGhpbmcgKGEgcGVyc29uLCBmb3IgZXhhbXBsZSkgd2hvIGlzIG5hbWVk ICJIb3JzZSIuIEluIGEgc2Vuc2UsIEV4YW1wbGUgOS4yIGlzIGFtYmlndW91cyBiZXR3ZWVuICJj bydvIGxlIHhpcm1hIiBhbmQgImNvJ28gbGEgeGlybWEiJycuIElzIHRoaXMgdHJ1ZT8KCioqIFll cywgaW4gdGhlIHNlbnNlIHRoYXQgYWxsIHVzZXMgb2YgImxlIiAnJ21pZ2h0JycgbWVhbiAibGEi LiAgQnV0IGl0J3MgcHJvYmFibHkgbW9yZSBjb25mdXNpbmcgdGhhbiBpdCdzIHdvcnRoLiAgVHJ1 bmNhdGUgYWZ0ZXIgInRoaW5rcyBvZiBhcyBiZWluZyBhIGhvcnNlIi4gIC0tamNvd2FuCgoKCiog U2VjdGlvbiA5IHNheXMgJydJbiB2b2NhdGl2ZSBwaHJhc2VzIHdoaWNoIGFyZSBzaW1wbGUgbmFt ZXMgKGFmdGVyIHRoZSB2b2NhdGl2ZSB3b3JkcyksIGFueSByZWxhdGl2ZSBjbGF1c2VzIG11c3Qg Y29tZSBqdXN0IGFmdGVyIHRoZSBuYW1lcycnLiBUaGlzIGlzbid0IHRydWUuIFJlbGF0aXZlIGNs YXVzZXMgY2FuIGdvIGJldHdlZW4gdGhlIHZvY2F0aXZlIGFuZCB0aGUgY21ldmxhLiAgKChBcHBy b3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpICBEcm9wIGl0OyBpdCByZWZsZWN0cyBhbiBl YXJsaWVyIHN0YXRlIG9mIHRoZSBsYW5ndWFnZS4KCgoKLS0tCgohQ2hhcHRlciA5CgoKCiogU2Vj dGlvbiA2LCBwbGFjZSBzdHJ1Y3R1cmUgb2YgJydwaWxubycnIGlzIG1pc3NpbmcgImZvciBwdXJw b3NlIHgzIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rp b24gOCwgdGhlIGV4YW1wbGVzIDguNSBhbmQgOC42IGFyZSBzdXBwb3NlZCB0byBtZWFuIHRoZSBz YW1lIHRoaW5nLCBidXQgZG8gbm90LgoKKiogUGxlYXNlIGVsYWJvcmF0ZS4gIC0tamNvd2FuCgoq KiogOC41IG1lYW5zICJJIGdhdmUgdGhlIGJvb2sgdG8gSm9obiwgYmVjYXVzZSBKb2huIGdhdmUg dGhlIG1vbmV5IHRvIG1lIiBidXQgOC42IG1lYW5zICJKb2huIGdhdmUgdGhlIG1vbmV5IHRvIG1l IGJlY2F1c2UgSSBnYXZlIHRoZSBib29rIHRvIEpvaG4uIgoKKiogJydJTkNMVURFRCBJTiBEQUct Q0xMJycgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAx MSwgZGVzY3JpcHRpb24gb2YgdGhlIG1lYW5pbmcgb2YgIi5pamUgc2VyaSdhIHR1J2UiIGNvbnRy YWRpY3RzIHRoZSBleHBsYW5hdGlvbiBvZiBFeGFtcGxlIDkuOSwgd2hpY2ggd291bGQgc3VnZ2Vz dCAiLmlqZSByaSdhIHR1J2UiLgoKCgoqIHNlY3Rpb24gMTcsICJmcm9tIHNvdXJjZSBhcyBhbiBv cmlnaW4gb2YiIHNob3VsZCBiZSB0d28gZW50cmllczsgImZyb20gc291cmNlIiBhbmQgImFzIGFu IG9yaWdpbiBvZiIgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKLS0tCgoKCiFDaGFwdGVyIDEw CgoKCiogU2VjdGlvbiA0LCAid2hlbiBib3RoIHNwYXRpYWwgYW5kIHRlbXBvcmFsIHRlbnNlIGNt YXZvIGFyZSBnaXZlbiBpbiBhIHNpbmdsZSB0ZW5zZSBjb25zdHJ1Y3QsIHRoZSB0ZW1wb3JhbCB0 ZW5zZSBpcyBleHByZXNzZWQgZmlyc3QiIGRpc2FncmVlcyB3aXRoIHRoZSBydWxlIHNpbXBsZS10 ZW5zZS1tb2RhbC05NzIgaW4gdGhlIEJORiBncmFtbWFyLgoKCgoqIFNlY3Rpb24gOSwgZXhhbXBs ZSA5Ljkgb24gcGFnZSAyMjcgaGFzICJjaXJsaSIgZm9yICJjaXJsYSIuCgoqKiAoKEFwcHJvdmVk IEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoK KiBTZWN0aW9uIDEyLCBleGFtcGxlIDEyLjYgdHJhbnNsYXRlcyBtb3JzaSBhcyAiZGllIiByYXRo ZXIgdGhhbiAiYW0gZGVhZCIgaW4gdGhlIHRyYW5zbGF0aW9uIChhcyBvcHBvc2VkIHRvIHRoZSBn bG9zcykuCgoKCiogU2VjdGlvbiAxNiwgYXQgdGhlIGVuZCwgdGhlIFggYW5kIFkgaW4gdGhlIDMg Zm9ybXMgZG9uJ3QgZml0IHByb3Blcmx5ICh0aGUgM3JkIGRvZXNuJ3QgbWF0Y2ggdGhlIGZpcnN0 IHR3bykuIEkgcmVjb21tZW5kLCBjb3B5aW5nIGZyb20gU2VjdGlvbiAyMyAod2hlcmUgdGhleSBh cmUgd3JpdHRlbiBhZ2FpbiBjb3JyZWN0bHkpOgoKICAgICAgIFggLmkgVEVOU0UgYm8gWQoKICAg ICAgIFRFTlNFIGdpIFggZ2kgWQoKICAgICAgIFkgVEVOU0UgbGUgbnUgWAoKCgoqIFNlY3Rpb24g MTcsIGV4YW1wbGUgMTcuMTIgc2hvdWxkIG5vdCBoYXZlIHRoZSBzZWNvbmQgImJldnJpIi4KCioq ICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERB Ry1DTEwnJwoKCgoqIFNlY3Rpb24gMTgsIGV4YW1wbGUgMTguOSBpcyBzdXBwb3NlZCB0byBzaG93 IHNjYWxhciBuZWdhdGlvbiBvZiB0ZW5zZXMgbm90IGxpbWl0ZWQgdG8gUFUgYW5kIEZBaEEsIGJ1 dCB0aGUgZXhhbXBsZSB0ZW5zZSBpcyByaSd1IChGQWhBMikuCgoKCiogU2VjdGlvbiAxOSwgZXhh bXBsZSAxOS4xMCBzaG91bGQgaGF2ZSAiYmEiLCBub3QgInB1IiwgYW5kICJbZnV0dXJlXSIsIG5v dCAiW3Bhc3RdIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNl Y3Rpb24gMjUsIGV4YW1wbGVzIDI1LjEgYW5kIDI1LjIgaGF2ZSAnJ2x1J2EnJyBmb3IgJydsYSd1 JycuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURF RCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDI1LCB0aGlzIHdob2xlIHNlY3Rpb24gaXMgYXQg b2RkcyB3aXRoIHRoZSBmb3JtYWwgZ3JhbW1hci4gSXQgc2F5czogJydJdCBpcyBncmFtbWF0aWNh bCBmb3IgYSB0ZXJtc2V0IHRvIGJlIHBsYWNlZCBhZnRlciBhIHRlbnNlIG9yIG1vZGFsIHRhZyBy YXRoZXIgdGhhbiBhIHN1bXRpJycuICBCdXQgdGhhdCBpcyBpbiBmYWN0IGluY29ycmVjdCwgaXQg aXMgbm90IGdyYW1tYXRpY2FsIGZvciBhIHRlcm1zZXQgdG8gYmUgdGhlIGFyZ3VtZW50IG9mIGEg dGFnLgoKKiogVW5mb3J0dW5hdGVseSB0cnVlLiAgVGVybXNldHMgc3VjayByb2NrcywgYW5kIHNv bWUgd29yayB3aWxsIGhhdmUgdG8gYmUgZG9uZSB0byBtYWtlIGV2ZXJ5dGhpbmcgc2FpZCBhYm91 dCB0aGVtIGNvbnNpc3RlbnQgLS0gaWYgaXQgaXMgZXZlbiBwb3NzaWJsZS4gIFBlcnNvbmFsbHks IEknZCBsaWtlIHRvIGp1c3QgYnVybiB0aGVtLiAgLS1qY293YW4gICcnJ05PRklYJycnCgoKCiog U2VjdGlvbiAyNzogTU9oSSBzZWUgU2VjdGlvbiAyOCwgbm90IDI3LiAgKChBcHByb3ZlZCBFcnJh dHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCi0tLQoKCgohQ2hhcHRlciAxMQoKCgoqIFNlY3Rpb24g NDogVGhlIHVzZSBvZiBrYSBpbiBFeGFtcGxlIDQuNCAocGFnZSAyNTkpIGlzIGVycm9uZW91czsg aXQgc2hvdWxkIGJlIGR1J3UuIC0tKChKb2huIENvd2FuKSkgKChBcHByb3ZlZCBFcnJhdHVtfGpj b3dhbiBBcHByb3ZlZCkpCgoKCiogTGFzdCBwYXJhZ3JhcGggb2Ygc2VjdGlvbiA3IHJlZmVyZW5j ZXMgY2hhcHRlciA1IGZvciBhIGRpc2N1c3Npb24gb2YgImx1J2UiLiAgbHUnZSBpc24ndCBtZW50 aW9uZWQgaW4gY2hhcHRlciA1LiAgUHJvYmFibHkgY2hhcHRlciA2IGlzIG1lYW50IGhlcmUuCgoq KiBZZXMsIHNob3VsZCBiZSBTZWN0aW9uIDUuMTAuICAgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293 YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gOSwgcGFnZSAyNjYgaGFzICJzYW8ncmR6aWZhJ2Ei IGluc3RlYWQgb2YgInNhJ29yZHppZmEnYSIuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3Vz bWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBUaGUgc2FtZSBleGFt cGxlICg5LjYpIGFsc28gaGFzIGt1Y3RyYSBpbnN0ZWFkIG9mIGt1Y3RhaQoKKiogKChBcHByb3Zl ZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoK CiogVGhlIGJvb2sgdGl0bGUgaW4gZXhhbXBsZSA5LjYgc2VlbXMgdG8gYmUgaW5jb3JyZWN0OiAi VGhlIENydWNpZml4aW9uIG9mIEplc3VzIENvbnNpZGVyZWQgQXMgQSBEb3duaGlsbCBCaWN5Y2xl IFJhY2UiIGlzIGFjdHVhbGx5ICJbaHR0cDovL3d3dy5ldmVyZ3JlZW5yZXZpZXcuY29tLzEwMi9m aWN0aW9uL2R1by5odG1sfFRoZSBDcnVjaWZpeGlvbiBDb25zaWRlcmVkIEFzIEFuIFVwaGlsbCBC aWN5Y2xlIFJhY2VdLiIKCioqIFVuYXBwcm92ZWQKCgoKKiBTZWN0aW9uIDEwOiBQYXJhZ3JhcGgg YWJvdmUgZXhhbXBsZSAxMC43IHJlZmVyZW5jZXMgIkNoYXB0ZXIgMTEiLiBUaGF0IHNob3VsZCBy ZWFkICJDaGFwdGVyIDEwIi4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92 ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTIsIHBhZ2UgMjY5IGhh cyBleGFtcGxlcyAxMy4xIGFuZCAxMy4yLCB0aG9zZSBzaG91bGQgYmUgY2FsbGVkIDEyLjEgYW5k IDEyLjIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKLS0tCgoKCiFD aGFwdGVyIDEyCgoKCiogU2VjdGlvbiAyLCBwYWdlIDI3NS4gVGhlIHBhcmFncmFwaCB1bmRlciBF eGFtcGxlIDIuMyByZWZlcnMgdG8gaXQgYXMgRXhhbXBsZSAyLjQgKDIuNCBkb2Vzbid0IGV2ZW4g ZXhpc3QpLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlv biA1LCByaWdodCBhZnRlciBleGFtcGxlIDUuNy4gSXQgc2F5cyAiYSIgaW5zdGVhZCBvZiAiYW4i LiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiA2LCBw YWdlIDI4MC4gRXhhbXBsZSA2LjYgc2hvdWxkIGhhdmUgYSBzcGFjZSBiZXR3ZWVuICJsYSBzcGF0 LiIgYW5kICJub2kiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkp ICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA3LCBwYWdlIDI4Mi4gRXhhbXBs ZSA3LjUgaGFzICJiYW5zb2kiIGluc3RlYWQgb2YgImJhbHNvaSIuCgoqKiAoKEFwcHJvdmVkIEVy cmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBT ZWN0aW9uIDExLCBwYWdlIDI4NSBoYXMgInhhc2Nha2N1cm51IiBpbnN0ZWFkIG9mICJ4YXN5Y2Fr Y3VybnUiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5D TFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxMiBjbGFpbXMgdGhhdCAtamF4LSBpcyBh IHJhZnNpIGZvciB7amFpfSwgYnV0IGl0IGlzbid0IGluIFtodHRwOi8vd3d3LmxvamJhbi5vcmcv cHVibGljYXRpb25zL3dvcmRsaXN0cy9yYWZzaS50eHR8aHR0cDovL3d3dy5sb2piYW4ub3JnL3B1 YmxpY2F0aW9ucy93b3JkbGlzdHMvcmFmc2kudHh0XS4gRG9lcyB7amFpfSBoYXZlIGEgcmFmc2kg b3Igbm90PwoKKiogSXQgc2hvdWxkLCBidXQgc29tZWhvdyBpdCBuZXZlciBnb3QgaW50byB0aGUg Z2lzbXUgbGlzdCwgYW5kIGNvbnNlcXVlbnRseSBub3QgaW50byB0aGUgcmFmc2kgbGlzdCBlaXRo ZXIuICBTdGV0LCBhbmQgd2UnbGwgYWRkIGl0IHRvIHRoZSBnaXNtdSBsaXN0LiAgLS1qY293YW4K CgoKKiBTZWN0aW9uIDEyLCByaWdodCBhdCB0aGUgZW5kLCBzYXlzIHRoYXQge2ZhaX0gaXMgZXhw bGFpbmVkIGluIENoYXB0ZXIgMTEsIGJ1dCBDaGFwdGVyIDExIG1ha2VzIG5vIG1lbnRpb24gb2Yg e2ZhaX0uIE9ubHkgY2hhcHRlcnMgOSBhbmQgMTAgZG8uCgoqKiAnJ0lOQ0xVREVEIElOIERBRy1D TEwnJyAoem9ydCdzIGZvcmsgYXQgbGVhc3QpICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFw cHJvdmVkKSkKCgoKKiBTZWN0aW9uIDE0LCBleGFtcGxlIDE0LjIuIE1pc3NpbmcgPCAvcHJlID4g dGFnLCBhbmQgbWlzc2luZyA8IHByZT4gdGFnIGZvbGxvd2luZyBleHBsYW5hdG9yeSBwYXJhZ3Jh cGguCgoKCiogU2VjdGlvbiAxNCwgcGFnZSAyOTEuIFRoZSBwYXJhZ3JhcGggdW5kZXIgZXhhbXBs ZSAxNC43IHNheXMgInNlIHhhbmNlIG1pbmR1IiBpbnN0ZWFkIG9mICJzZSB4YW5jZSBtaW5kZSIu CgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJ TiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDE1LCB0d28gcGFyYWdyYXBocyBiZWZvcmUgZXhhbXBs ZSAxNS43LiBJdCBzYXlzICJUaGVyZSBhcmUgc29tZSBjb21wYXJhdGl2ZSBjb25jZXB0cyB3aGlj aCBhcmUgaW4gd2hpY2ggdGhlICdzZSB6bWFkdScgaXMgZGlmZmljdWx0IHRvIHNwZWNpZnkuIiBU aGUgIndoaWNoIGFyZSBpbiB3aGljaCIgc2VlbXMgZ3JhbW1hdGljYWxseSBpbmNvcnJlY3QuCgoq KiBEcm9wICJ3aGljaCBhcmUiLiAgLS1qY293YW4gICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2Fu IEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDE1LCBwYWdlIDI5NCwgZXhhbXBsZSAxNS4xNC4gImxh IGFpbmN0YWluIiBuZWVkcyBhIHBlcmlvZCBiZWZvcmUgaXQgYmVjYXVzZSBpdCBzdGFydHMgd2l0 aCBhIHZvd2VsLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcn SU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCi0tLQoKCgohQ2hhcHRlciAxMwoKCgoqIE1hbnkgaW5j aWRlbnRzIG9mIG5vdCBoYXZpbmcgcGVyaW9kcyBpbiBmcm9udCBvZiB2b3dlbC1pbml0aWFsIGNt YXZvLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVE RUQgSU4gREFHLUNMTCcnCgoKCiogSW4gc2VjdGlvbiAyLCBwLiAzMDAgcmVmZXJlbmNlcyB0byB0 aGUgZXhhbXBsZXMgZm9yIC51ZSBhbmQgLnVlY3UnaSBhcmUgZmxpcHBlZC4gICgoQXBwcm92ZWQg RXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMywgcGFnZSAzMDMsIGV4YW1w bGUgMy45LiAiZSdlIiBuZWVkcyBhIHBlcmlvZCBiZWZvcmUgaXQuCgoqKiAoKEFwcHJvdmVkIEVy cmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBT ZWN0aW9uIDMsIHBhZ2UgMzAzLCBleGFtcGxlIDMuMTAuICJ0aXNuYSIgbmVlZHMgdG8gYmUgcmVw bGFjZWQgd2l0aCAidGlzeWdhdSIuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFw cHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDQsIHBhZ2UgMzA1 LiBUaGUgc2NhbGUgd2l0aCB0aGUgZ2lzbXUgbW5lbW9uaWNzIGlzIG1pc2FsaWduZWQgd2l0aCB0 aGUgc2NhbGUgd2l0aCB0aGUgbWVtYmVycyBvZiBzZWxtYSdvIENBSS4gInNhaSIgc2hvdWxkIGJl IHRhYmJlZCBvbmUgcGxhY2UgbGVmdCwgc28gdGhhdCBpdCBhbGlnbnMgd2l0aCB0c2FsaSwgJmMu CgoKCiogU2VjdGlvbiA3LCBpdCBzYXlzICJJdCBpcyBub3QgY2xlYXIgaG93IG11Y2ggdXNlIGxv Z2ljYWxseSBjb25uZWN0ZWQgYWJzdHJhY3RvcnMgd2lsbCBiZTogc2VlIENoYXB0ZXIgMTMuIiBJ dCBzaG91bGQgYmUgIkNoYXB0ZXIgMTUuIgoKKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycgKHpv cnQncyBmb3JrIGF0IGxlYXN0KSBidXQgbmVlZHMgYXBwcm92YWwKCiogU2VjdGlvbiAxMCwgcGFn ZSAzMTMuIFRoZXJlIGlzIGEgbWlzc2luZyBzcGFjZSBiZXR3ZWVuICJjb250aW51ZSBlbW90aW9u IiBhbmQgImVuZCBlbW90aW9uIi4KCgoKKiBTZWN0aW9uIDE1LiBBIHNhbXBsZSBkaWFsb2d1ZSAg MTUuNCkgLyB+bnB+W0NvbW1lbnRdIFBhbSBzYXlzLCBbUGxlYXNlXSBBbGljZSwgW2VuZC1vZi1j b21tZW50XSAvIFtDb21tZW50XSBQYW0gc2F5cywgW2VuZC1vZi1jb21tZW50XSBbUGxlYXNlXSBB bGljZSwvfi9ucH4gKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqKiAoKEFw cHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xM JycKCgoKKiBTZWN0aW9uIDE1LCBleGFtcGxlIDE1LjUgL3hhbWd1L2dsZWtpLyA/CgoqKiAoKEFw cHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xM JycKCgoKKiBTZWN0aW9uIDE1LCBleGFtcGxlIDE1LjEwKSAvZmknaSBybyB6dmF0aSBrbyBwaW54 ZSBwYSBja2FmaS9maSdpIHJvIHp2YXRpIC5pIGtvIHBpbnhlIHBhIGNrYWZpLwoKKiogTm8sIHRo aXMgb25lIGlzIHBlcmZlY3RseSBmaW5lOiAiZmknaSBybyB6dmF0aSIgaXMgYSB2b2NhdGl2ZSBw aHJhc2UsIHdoaWNoIGlzIGEgZnJlZSBtb2RpZmllciwgbWVhbmluZyB0aGF0IGl0IGNhbiBvY2N1 ciBhbG1vc3QgYW55d2hlcmUuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkK CgoKKiBTZWN0aW9uIDE1LCBleGFtcGxlIDE1LjEzKSAvZmknbyBzZWxwbGVqaSBtaS9maSdvIHBs ZWppIG1pLwoKKiogQW5kICJ3aXRoIHBheWVyIiByYXRoZXIgdGhhbiAid2l0aCBwYXltZW50Ijsg ZXkncyBub3QgcGF5aW5nIHdpdGggZW1zZWxmISAtLSBjYW1ndXNtaXMKCioqICgoQXBwcm92ZWQg RXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoq IFNlY3Rpb24gMTUsIGV4YW1wbGUgMTUuMTMuIFdyb25nIHVzZSBvZiB7c2VsZnV9LiB7YmV2cml9 IHdvdWxkIGZpdCBiZXR0ZXIuCgotLS0KCgoKIUNoYXB0ZXIgMTQKCgoKKiBTZWN0aW9uIDgsIHJp Z2h0IGJlZm9yZSBleGFtcGxlIDguOSBpcyAicHJvZHVjaW5nIGV4YW1wbGUgOC4xMCIgd2hpY2gg c2hvdWxkIGluIGZhY3QgcmVhZCAicHJvZHVjaW5nIGV4YW1wbGUgOC45Ii4gICgoQXBwcm92ZWQg RXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gOTogYmV0d2VlbiBleGFtcGxl IDkuMTAgYW5kIDkuMTEsICJpZGVudGlmaWVkIiBzaG91bGQgcmVhZCAiaWRlbnRpY2FsIgoKKiog KChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFH LUNMTCcnCgoKCiogU2VjdGlvbiAxMSwgcmlnaHQgYmVmb3JlIHNlY3Rpb24gMTIuIEl0IHNheXMg InRlcm1zZXRzLi4uYXJlIGV4cGxhaW5lZCBpbiBDaGFwdGVyIDEyIGFuZCBDaGFwdGVyIDE2IiBi dXQgY2hhcHRlciAxMiAod2hpY2ggaXMgb24gbHVqdm8pIG1ha2VzIGFic29sdXRlbHkgbm8gbWVu dGlvbiBvZiB0ZXJtc2V0cy4gQ2hhcHRlcnMgOSBhbmQgMTAgZGlzY3VzcyB0ZXJtc2V0cy4gICgo QXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTQsIGV4YW1w bGUgMTQuMTUgaXMgbm90IGdyYW1tYXRpY2FsIChhY2NvcmRpbmcgdG8gamJvZmknZSBhbmQgY2Ft eGVzKSBiZWNhdXNlIGl0IHNheXMgInBlJ2UgLmUiIHdoZW4gaXQgc2hvdWxkIHNheSAicGUnZSBq ZSIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDE0 LCBleGFtcGxlIDE0LjE2IG1lbnRpb25zICJzb3JtZSIsIHdoaWNoIGlzIHByb2JhYmx5IE9sZCBM b2dsYW4sIGFuZCBzaG91bGQgYmUgcmVwbGFjZWQgYnkgIm1lbnNpIi4KCioqICgoQXBwcm92ZWQg RXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoq IFNlY3Rpb24gMTQsICJ0aGUgc3RhdGVkIGdsb3NzIG9mIFRGVFRhcyDigJxvbmx5IGlm4oCdIHdv cmtzIG5hdHVyYWxseSBvbmx5IHdoZW4gdGhlIHJpZ2h0LWhhbmQgYnJpZGkgaXMgdHJ1ZTsgaWYg aXQgaXMgZmFsc2UsIHRoZSBsZWZ0LWhhbmQgYnJpZGkgbWF5IGJlIGVpdGhlciB0cnVlIG9yIGZh bHNlLiIgY2hhbmdlZCB0byAidGhlIHN0YXRlZCBnbG9zcyBvZiBURlRUYXMg4oCcb25seSBpZuKA nSB3b3JrcyBuYXR1cmFsbHkgb25seSB3aGVuIHRoZSByaWdodC1oYW5kIGJyaWRpIGlzIGZhbHNl OyBpZiBpdCBpcyB0cnVlLCB0aGUgbGVmdC1oYW5kIGJyaWRpIG1heSBiZSBlaXRoZXIgdHJ1ZSBv ciBmYWxzZS4iCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJ TkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDE1LCByaWdodCBhZnRlciAxNS45LCBp dCBzYXlzICJleGFtcGxlIDE0LjE3IiB3aGVyZSBpdCBzaG91bGQgc2F5ICJleGFtcGxlIDE1Ljki ICgxNC4xNyBkb2VzIG5vdCBleGlzdCkuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJv dmVkKSkKCgoKKiBTZWN0aW9uIDE1LCBleGFtcGxlIDE1LjkgaXMgbm90IGdyYW1tYXRpY2FsOyBp dCBzaG91bGQgYmUgImxhIGRqYW4uIGZhJ3UgbGEgZnJhbmsuIGN1c2t1IG51J2kgYmF1IGxhIGxv amJhbi4gcGUnZSBmYSd1IGJhaSBsYSBkam9yZGouIi4KCgoKKiBTZWN0aW9uIDE5LCBleGFtcGxl IDE5LjQgaXMgdHJhbnNsYXRlZCBhcyAiSSBvcGluZSB0aGUgZmFjdC10aGF0IGEtbWFzcy1vZiBs aXZpbmctdGhpbmdzIGlzLWF0IEp1cGl0ZXIgb3ItZWxzZSBJIG9waW5lIHRoZSBmYWN0LXRoYXQg YS1tYXNzLW9mIGxpdmluZy10aGluZ3MgaXNuJ3QtYXQgSnVwaXRlciIgYnV0IHJlYWxseSBpdCdz ICJJIG9waW5lIHRoZSBmYWN0LXRoYXQgYS1tYXNzLW9mIGxpdmluZy10aGluZ3MgaXMtYXQgSnVw aXRlciBvci1lbHNlIEkgX19kby1ub3RfXyBvcGluZSB0aGUgZmFjdC10aGF0IGEtbWFzcy1vZiBs aXZpbmctdGhpbmdzIF9faXMtYXRfXyBKdXBpdGVyIi4gU28gMTkuNCBpcyBhY3R1YWxseSB0cnVl LCBub3QgZmFsc2UgYXMgaXQgaXMgY2xhaW1lZCB0byBiZS4KCioqIENvcnJlY3QsIHNvIHRoaXMg ZXhhbXBsZSB3aWxsIG5lZWQgcmVwbGFjaW5nLiAgICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2Fu IEFwcHJvdmVkKSkKCgoKKiBBbHNvIHRoZXJlIGlzbid0IHJlYWxseSBhIHJlYXNvbiBmb3IgaXQg dG8gc2F5IGEgbWFzcyBvZiBsaXZpbmcgdGhpbmdzIGFuZCBub3Qgc29tZSBpbmRpdmlkdWFsIGxp dmluZyB0aGluZ3MuCgoqKiBTdGV0LiAgVGhlIGF1dGhvciBwcmVmZXJzIGl0IHRoYXQgd2F5LCB0 aGFua3lvdXZlcnltdWNoLiAgLS1qY293YW4uCgoKCgoKLS0tCgoKCiEgQ2hhcHRlciAxNQoKCgoq IFNlY3Rpb24gMiwgbWlzc2luZyA8IC9wcmUgPiB0YWcgYWZ0ZXIgZXhhbXBsZSAyLjggYW5kIDwg cHJlPiB0YWcgYmVmb3JlIGV4YW1wbGUgMi45LgoKCgoqIFNlY3Rpb24gNCwgZXhhbXBsZSA0LjEy IC9uYWtlL25hJ2VrZS8KCgoKKiBTZWN0aW9uIDksIHR3byBwYXJhZ3JhcGhzIGFib3ZlIGV4YW1w bGUgOS40IHRoZSB3b3JkICJuZWdhdGl2IiBzaG91bGQgYmUgIm5lZ2F0aXZlIi4gICgoQXBwcm92 ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gOTogSXMgdGhlcmUgc3Vw cG9zZWQgdG8gYmUgYW55IGRpZmZlcmVuY2UgYmV0d2VlbiBleC4gOS41IGFuZCA5LjY/CgoqKiBU aGF0IHByb2JsZW0gaXMgb25seSBpbiB0aGUgb25saW5lIHZlcnNpb24uCgoKCiogU2VjdGlvbiAx MCwgdGhyZWUgcGFyYWdyYXBocyBhZnRlciBleGFtcGxlIDEwLjE0LCB0aGVyZSdzIGEgc2VtaWNv bG9uIHdoaWNoIHNob3VsZCBiZSBhIGNvbW1hIGFmdGVyICIoc2F5LCBhIHNwZWxsaW5nIGVycm9y KSIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDEw LCBpdCBzYXlzICInamkndW5hJ2lrdScgbWV0YWxpbmd1aXN0aWNhbGx5IHNheXMgdGhhdCBzb21l dGhpbmcgaXMgd3Jvbmcgd2l0aCB0aGF0IGFzc3VtcHRpb24uIChTZWUgQ2hhcHRlciAxMC4pIi4g U2hvdWxkbid0IHRoYXQgYmUgQ2hhcHRlciA5LCBtb2RhbHM/CgoqKiAnJ0lOQ0xVREVEIElOIERB Ry1DTEwnJyAoem9ydCdzIGZvcmsgYXQgbGVhc3QpICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4g QXBwcm92ZWQpKQoKLS0tCgoKCiFDaGFwdGVyIDE2CgoKCiogU2VjdGlvbiA1LCBleGFtcGxlIDUu NTogRW5nbGlzaCBoYXMgImV2ZXJ5IFkiIHdoZW4gaXQgc2hvdWxkIHJlYWQgImV2ZXJ5IFgiCgoq KiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBE QUctQ0xMJycKCgoKKiBTZWN0aW9uIDYsIGV4YW1wbGUgNi42IGhhcyBhIG1pc3NpbmcgImN1IiBi ZWZvcmUgInZpc2thIi4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQp KSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gOCwgdGhlIGV4cGxhbmF0aW9u IG9mIGV4YW1wbGUgOC4zIHNheXMgImFueSBlbnRpdHkgd2hpY2ggaXMgb25lIGlzIGFsc28gdGhl IG90aGVyIi4gVGhhdCB3b3VsZCBiZSB0cnVlIGlmIHRoZSBleGFtcGxlIHVzZWQge2dvfSwgYnV0 IGl0IHVzZXMge2dhbmFpfS4gOC4zIGRvZXMgbm90IGNsYWltIHRoYXQgaWYgc29tZXRoaW5nIHdh bGtzIGFjcm9zcyB0aGUgZmllbGQgdGhlbiBpdCBnb2VzIHRvIHRoZSBzdG9yZS4gICgoQXBwcm92 ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKSAgQ2hhbmdlIGl0IHRvIHVzZSB7Z299LiAnJ0lO Q0xVREVEIElOIERBRy1DTEwnJwoKKiogU2FtZSBwbGFjZTogbmVlZHMgdG8gYm8ge2RhIGdvfSwg bm90IHtnbyBkYX0gIEFuZCB0aGUgZ2xvc3Mgc2hvdWxkIGJlICJGb3ItZXZlcnkgWDogWCBpcy1h LWdvZXItdG8gdGhlIHN0b3JlIGlmLWFuZC1vbmx5LWlmIGl0IGlzLWEtd2Fsa2VyLW9uIHRoZSBm aWVsZC4iICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA4LCBleGFtcGxlIDgu My4gRWl0aGVyIHRoZSB7ZGF9IHNob3VsZCBjb21lIGJlZm9yZSB0aGUge2dhbmFpfSAob3IsIGJ5 IHRoZSBwcmV2aW91cyBeIGVycmF0dW0sIHtnb30pIGFuZCB0aGUgZ2xvc3Mgc2hvdWxkIGJlIGNo YW5nZWQgdG8gb25seSBtZW50aW9uICJYIiBvbmNlLCBvciBhIHtkYX0gc2hvdWxkIGJlIGluc2Vy dGVkIGJlZm9yZSB7Y2FkenV9LgoKKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycgIGNob3NlIGZp cnN0IG9wdGlvbiBzaW5jZSBpdCdzIHRlcnNlciAoem9ydCdzIGZvcmsgYXQgbGVhc3QpIGJ1dCBu ZWVkcyBhcHByb3ZhbAoKCgoqIFRoaXM6ICJBZGphY2VudCBuZWdhdGlvbiBib3VuZGFyaWVzIGlu IHRoZSBwcmVuZXggY2FuIGJlIGRyb3BwZWQsIiByZWFkcyBiZXR0ZXIgYXMgIkFkamFjZW50IHBh aXJzIG9mIG5lZ2F0aW9uIGJvdW5kYXJpZXMgaW4gdGhlIHByZW5leCBjYW4gYmUgZHJvcHBlZCwi CgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJ TiBEQUctQ0xMJycKCioqKiBUaGUgb25saW5lIHZlcnNpb24gc2F5cyAiQWRqYWNlbnQgZG91Ymxl IG5lZ2F0aW9uIGJvdW5kYXJpZXMiLCBidXQgSSdtIG9rYXkgd2l0aCBlaXRoZXIgImRvdWJsZSIg b3IgInBhaXJzIG9mIi4gIC0tamNvd2FuCgoKCiogU2VjdGlvbiAxMCwgZXguIDEwLjUgYW5kIDEw LjYgaGF2ZSBhIHByZW5leCwgIm5ha3Ugem8ndSIsIGFmdGVyIGFuIGlqZWsuIFRoaXMgaXMgbm90 IGFsbG93ZWQgYnkgdGhlIGdyYW1tYXIuIEl0IGNvdWxkIGJlIGZpeGVkIGJ5IHJlbW92aW5nIHRo ZSAiem8ndSIgYW5kIHVzaW5nICJuYWt1IiBvdXRzaWRlIHRoZSBwcmVuZXgsIGFsdGhvdWdoIHRo aXMgaXMgb25seSBleHBsYWluZWQgaW4gdGhlIGZvbGxvd2luZyBTZWN0aW9uIDExLgoKKiogVGhp cyBpcyBhIGJpZyBwcm9ibGVtLCBhbmQgSSdtIG5vdCBzdXJlIHdoYXQgc2hvdWxkIGJlIGZpeGVk LiAgLS1qY293YW4gICcnJ05PRklYJycnCgoqIFNlY3Rpb24gMTIsIGV4LiAxMi43IGFuZCAxMi45 IGhhdmUgbWlzc2luZyAiY3Uicy4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBw cm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTQsIEV4YW1wbGUg MTQuMSBoYXMgImJsYWNpIiAoZ2xhc3MpIG5vdCAiYmxhYmkiICh3aGl0ZSkgYXMgcGVyIHRoZSBF bmdsaXNoLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5D TFVERUQgSU4gREFHLUNMTCcnCgoKCi0tLQoKCgohQ2hhcHRlciAxNwoKCgoqIFNlY3Rpb24gNSwg YWZ0ZXIgZXhhbXBsZSA1LjEsIHBhcmFncmFwaCBzdGFydGluZyAiSG93ZXZlciwgIiBoYXMgaW5j b3JyZWN0IGZvbnQuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBT ZWN0aW9uIDUsIGluIHRoZSBzZWNvbmQgcGFyYWdyYXBoIGFmdGVyIGV4YW1wbGUgNS4xLCBzYXlz ICd0aGUgbGVyZnUgd29yZCDigJx0eeKAnSB3b3VsZCByZXByZXNlbnQgbm90IExhdGluIOKAnHTi gJ0gYnV0IEdyZWVrIOKAnHRhdeKAnS4nIFNob3VsZG4ndCBpdCBiZSAidHkuIj8KCgoKKiBTZWN0 aW9uIDksIHBhZ2UgNDIxLiBsZXJmdSBzdHJpbmdzIGFyZSB3cml0dGVuIHdpdGhvdXQgcGF1c2Vz IG9yIHNwYWNlcywgZXZlbiB0aG91Z2ggQlkgd29yZHMgaGF2ZSB0byBlbmQgd2l0aCBhIGNvbnNv bmFudC4KCioqIFN0ZXQuICBCWSB3b3JkcyBkbyBub3QgZW5kIHdpdGggYSBjb25zb25hbnQsIGFu ZCBhIHN0cmluZyBvZiB0aGVtIGNhbiBuZXZlciBiZSBhbWJpZ3VvdXMsIHNvIHBhdXNlcy9zcGFj ZXMgYXJlIG5vdCByZXF1aXJlZC4gIC0tamNvd2FuCgoKCiogU2VjdGlvbiA5LCBFeGFtcGxlIDku NDogc2hvdWxkbid0ICJzeW15ankiIGJlICJzeW15ZHkiIChsb2piYW4gbW9ycGhvbG9neSk/ICAo KEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDEwLiBBZnRl ciBFeGFtcGxlIDEwLjQuNSwgdGhlIHJlZmVyZW5jZSB0byBFeGFtcGxlIDEwLjQgc2hvdWxkIGJl IGluc3RlYWQgdG8gRXhhbXBsZSAxMC40LjUuCgoqKkluIHRoZSBjdXJyZW50IERBRy1DTEwsIHRo ZSBleGFtcGxlcyBudW1iZXJpbmcgaXMgc2FuZSwgYnV0IGFmdGVyIEV4YW1wbGUgMTAuMywgdGhl IHR3byByZWZlcmVuY2VzIHRvIEV4YW1wbGUgMTAuNCBzaG91bGQgYmUgdG8gRXhhbXBsZSAxMC4z LgoKCgoqIFJpZ2h0IGJlZm9yZSBzZWN0aW9uIDEyLCB0aGVyZSBpcyBhIGxpbmUgYnJlYWsgaW4g dGhlIG1pZGRsZSBvZiB0aGUgcGFyYWdyYXBoLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBB cHByb3ZlZCkpCgoKCiogSW4gc2VjdGlvbiAxMywgdGhlIGZpcnN0IHBhcmFncmFwaCBzdGF0ZXMg Ikhpc3RvcmljYWxseSwgdGhlc2UgY2hhcmFjdGVyIHNldHMgaGF2ZSBvbmx5IGNvdmVyZWQgdGhl IEVuZ2xpc2ggYWxwaGFiZXQgYW5kIGEgZmV3IHNlbGVjdGVkIHB1bmN0dWF0aW9uIG1hcmtzLiIs IHdoaWNoIGlzIGluY29ycmVjdC4gVGhlcmUgaGF2ZSBiZWVuIG11bHRpdHVkZXMgb2YgY2hhcmFj dGVyIHNldHMgZm9yIHdyaXRpbmcgc3lzdGVtcyBvdGhlciB0aGFuIHRoZSBFbmdsaXNoIGFscGhh YmV0LgoKKiogQ2hhbmdlIHRvIHNvbWV0aGluZyBhbG9uZyB0aGUgbGluZSBvZiAiSGlzdG9yaWNh bGx5LCBlYWNoIG9mIHRoZXNlIGNoYXJhY3RlciBzZXRzIGhhcyBvbmx5IGNvdmVyZWQgYSBwYXJ0 aWN1bGFyIHdyaXRpbmcgc3lzdGVtLiIKCgoKKiBTZWN0aW9uIDE3LCBwYWdlIDQyNy4gIi50dnJp eWRvcy4gYnUiIGJlZ2lucyB3aXRoIHRoZSBjb25zb25hbnQgY2x1c3Rlciwgd2hpY2ggaXNuJ3Qg ZXZlbiBwZXJtaXNzaWJsZSBtZWRpYWxseS4KCioqIGNoYW5nZSB0byB0eXZyaXlkb3MKCioqKiAo KEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUct Q0xMJycKCioqKiogQWN0dWFsbHksIGl0IHNob3VsZCBiZSAidHl2cmRvcy4gYnUiICAtLWpjb3dh bgoKCgoqIEluIHRoZSB0YWJsZSBpbiBzZWN0aW9uIDE5LCB0aGUgbGVydmxhIGZvciBvdmVyLWRv dCAoIi5nYXJtb2MuIGJ1IikgYW5kIG92ZXItcmluZyAoIi5nYXJqaW4uIGJ1Iikgc2hvdWxkIGJl IHVwZGF0ZWQgdG8gdGhlaXIgcG9zdC1SZWFsbG9jYXRpb24gZm9ybXMsICIuZ2FwbW9jLiBidSIg YW5kICIuZ2FweWppbi4gYnUiLgoKKioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBw cm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTkgaGFzIHR3byBj b2x1bW5zIHJ1biB0b2dldGhlciBpbiB0aGUgcm93IHRoYXQgc2F5cyAiRGFuaXNoL0xhdGluIGFl dGVpIC5hYnUgLmVidSBmb2kiCgoKCi0tLQoKIUNoYXB0ZXIgMTgKCgoKKiBTZWN0aW9uIDMsIGV4 LiAzLjEwLCBzaG91bGQgdHJhbnNsYXRlIGFzICIuMTAxMjAwMSIuICAoKEFwcHJvdmVkIEVycmF0 dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBJbiBzZWN0aW9uIDQgZXhhbXBsZSA0LjUgaXMgbGlu a2VkIGluc3RlYWQgb2YgNC43IC0gIkV4YW1wbGUgNC41IGlzIG5vdCBgYDEgbWludXMgMicnLCBb Li4ufC4uLl0iIHdoZXJlIGV4YW1wbGUgNC41IGlzIGp1c3QgInRlJ28iLiAgKChBcHByb3ZlZCBF cnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiA1LCBwNDM3IGV4NS45IFtnbG9z c106IG91ciAtPiBmb3VyICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiog JydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDYsIHA0Mzg6IGogdnUndSAtPiB2 dSd1ICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCioqICcnSU5DTFVERUQg SU4gREFHLUNMTCcnCgoKCiogU3RhcnQgb2Ygc2VjdGlvbiAxMSBzaG91bGQgcmVhZCB0aGVyZSBh cmUgZml2ZSBtZW1iZXJzIG9mIE1PSSAobm90IGZvdXIpLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpj b3dhbiBBcHByb3ZlZCkpCgoKCiogSW4gc2VjdGlvbiAxMSwgZXggMTEuMTAgb24gdmEnZSAic29m aSd1cGFubyIgaW4gdGhlIGV4YW1wbGUgaXMgZ2xvc3NlZCBhcyAiOC8xMCIgaW5zdGVhZCBvZiAi OS8xMCIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCioqICcnSU5DTFVE RUQgSU4gREFHLUNMTCcnCgoKCiogSW4gc2VjdGlvbiAxMSwgImxlaSByYXRjdSBwb2kgenZhdGkg bGUgcGFua2EgY3Ugc28ndW1laSBmbyBsbydpIHJhdGN1IiwgYnV0IHRoZXJlIGlzIG5vIDR0aCBw bGFjZSBvZiBtZWkuCgoqKiBSZW1vdmUgdGhlICJmbyI7ICgoQXBwcm92ZWQgRXJyYXR1bXxqY293 YW4gQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIEV4YW1wbGUgMTQuNCBu ZWVkcyBhIHN1Yi0yIGFmdGVyIGJvdGggbnVtYmVycy4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxj YW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIEluIHNlY3Rp b24gMTcsIGF0IHRoZSBib3R0b20gb2YgcGFnZSA0NTQsIHRoZSBxdWFkcmF0aWMgZm9ybXVsYSBz aG91bGQgYmUgZGVzY3JpYmVkIGFzIGEgY2xhc3NpYyBleGFtcGxlIG9mIG9wZXJhdG9yIGxvZ2lj YWwgY29ubmVjdGlvbiwgbm90IG9wZXJhbmQuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFw cHJvdmVkKSkKCgoKKiBTZWN0aW9uIDIwLCBwNDU4OiAtZXN0YWJsaXNoZWQgLT4gZXN0YWJsaXNo ZWQgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMjEg c3RhdGVzIHRoYXQgdGhlIHJhZnNpIG9mICJmcmludSIgbWF5IGJlIHVzZWQgYXMgcmFmc2kgZm9y ICJmaSd1IjsgaG93ZXZlciwgImZyaW51IiBsb3N0IGJvdGggb2YgaXRzIHNob3J0IHJhZnNpIGlu IHRoZSBSZWFsbG9jYXRpb24sIHNvIHRoaXMgcmVhbGx5IGlzbid0IHZlcnkgdXNlZnVsLiBUaGUg dGFibGUgYmVsb3cgbGlzdHMgImZpJ3UiIGFzIGEgcmFmc2kgdXNhYmxlIGZvciAiZmkndSIsIHRo ZXJlZm9yZSBvZiAiZnJpbnUiOyB0aGUgZ2ltc3RlIGxpc3RzICJmaSd1IiBhcyBhIHJhZnNpIG9m ICJjZmlwdSIuCgoqKiBUaGlzIGlzIGEgc2VyaW91cyBwcm9ibGVtIHdoaWNoIG5lZWRzIHNvbWUg dGhvdWdodC4gIFRoZXJlIG5lZWRzIHRvIGJlIGEgcmFmc2kgZm9yIGZpJ3Ugc29tZWhvdy4gIC0t amNvd2FuICAnJydOT0ZJWCcnJwoKCgoqIFNlY3Rpb24gMjIgZXhhbXBsZSAyMi4zLCAibW8nZSB2 b2JvaSByZW5vbWVpIHN1J2kgemUiLCBkb2VzIG5vdCBwYXJzZS4KCioqIEl0IG5lZWRzICJ2ZWki IGluIGZyb250IHRvIGJlIGEgcXVhbnRpZmllciAoYW4gb3BlcmFuZCBieSBpdHNlbGYgaXMgbm90 IGEgcGVybWl0dGVkIGZyYWdtZW50KS4gQWxzbywgdGhlIGZvbGxvd2luZyB0ZXh0IG1lbnRpb25z ICJ0ZSd1IiBidXQgdGhlIGV4YW1wbGUgb21pdHMgaXQuCgoqKiogTm9uZSBvZiB0aG9zZSBleGFt cGxlcyBwYXJzZSB3aXRob3V0IHtsaX0sIHdoaWNoIEkgaGF2ZSBhZGRlZCB0byBhbGwuICBSZXBs YWNlZCB0aGUgb25lIGluIHF1ZXN0aW9uIHdpdGggImxpIG1vJ2Ugdm9ib2kgcmVub21laSB0ZSd1 IHN1J2kgemUiICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xV REVEIElOIERBRy1DTEwnJwoKCgotLS0KCiFDaGFwdGVyIDE5CgoKCiogU2VjdGlvbiA0LCBwNDY3 IGV4NC4zOiB6dSdvIC0+IHpvJ3UgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQp KQoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQg SU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA2LCBwYWdlIDQ3Mi4gRXhhbXBsZSA2LjYgZW5kcyB3 aXRoICJrbGFtYSIsIGJ1dCBmb3IgdGhlIGFyZ3VtZW50IHRvIG1ha2Ugc2Vuc2UsIGl0IGhhcyB0 byBzYXkgIm51bmtsYSIuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVk KSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDcsIEV4YW1wbGUgNy4xIGhh cyBhcyB0aGUgRW5nbGlzaDogIkkgZ28tdG8gKGZpcnN0bHkpIHRoZSBzdG9yZSBhbmQgKHNlY29u ZGx5KSB0aGUgbWFya2V0LiIgICJ0aGUgbWFya2V0IiBzaG91bGQgYmUgInRoZSBob3VzZSIuCgoq KiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBE QUctQ0xMJycKCgoKKiBFeGFtcGxlIDExLjgsIHRoZXJlJ3MgYSBkZW5wYWJ1IGFmdGVyIHt6YSdl fSBhbmQgbm8gZGVucGFidSBhZnRlciB7YWxiZWluaWFzfS4KCioqICcnSU5DTFVERUQgSU4gREFH LUNMTCcnICh6b3J0J3MgZm9yayBhdCBsZWFzdCkgYnV0IG5lZWRzIGFwcHJvdmFsCgoKCiogU2Vj dGlvbiAxMSwgdGhlIHBhcmFncmFwaCBhZnRlciBleGFtcGxlIDExLjggc2F5cyAiY3RpaXB5cmlz IiBidXQgaXQgc2hvdWxkIGJlICJja2lpcHlyaXMiLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dh biBBcHByb3ZlZCkpCgotLS0KCgoKIUNoYXB0ZXIgMjAKCgoKKiBTZWN0aW9uIExFLCBwYWdlIDQ5 OC4gSW4gImxlIGdlcmt1IGtsYW1hIGxlIHpkYW5pIiwgImN1IiBpcyBtaXNzaW5nLgoKKiogKChB cHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNM TCcnCgoKCiogU2VjdGlvbiBUVWhFLCBwYWdlIDUwNS4gSW4gInhhZ21hdSB6byd1IHR1J2UgZ2Fu YWkgY2lkamEgZ2kgY25pbm8gLmkgZ2FuYWkgdmFuanUgZ2kgdG9sY2knbyB0dSd1IiwgImNuaW5v IiBzaG91bGQgYmUgcmVwbGFjZWQgYnkgImNpdG5vIi4gIEFsc28sIGEgcHJlbmV4IGNhbid0IGhh dmUgYSBzZWxicmksIHNvICcneGFnbWF1Jycgc2hvdWxkIGJlIHJlcGxhY2VkIGJ5ICcnbG8geGFn bWF1JycuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNM VURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIFNFLCBwYWdlIDUwNDogbWlzc2luZyAiY3Ui IGFmdGVyICJ6YXJjaSIuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVk KSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBJbiB0aGUgcGFzc2FnZXMgb24gVkVJIGFu ZCBWRWhPLCB0aGUgImJvInMgc2hvdWxkIGJlIGNoYW5nZWQgdG8gImJpJ2Uicy4gICgoQXBwcm92 ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgotLS0KCgoKIUNoYXB0ZXIgMjEKCgoKKiBJ biB0aGUgQk5GIGdyYW1tYXIsIHRoZSBydWxlIHNpbXBsZS10ZW5zZS1tb2RhbC05NzIgaXMgbWlz c2luZyBhICJ8IiBiZWZvcmUgdGhlIENVaEUuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFw cHJvdmVkKSkKCgoKKiBJbiB0aGUgQk5GIGdyYW1tYXIsIHRoZSBydWxlIHNpbXBsZS10ZW5zZS1t b2RhbC05NzIgaGFzIGFuIGV4dHJhIG5ld2xpbmUgaW4gdGhlIHNwYWNlL3RpbWUgc3VicGhyYXNl LgoKCgoqIEluIHRoZSBCTkYgZ3JhbW1hciwgdGhlIHJ1bGUgc2VsYnJpLTEtMTMxIGlzIG1pc3Np bmcgYSAifCIgYmVmb3JlIHRoZSBOQS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92 ZWQpKQoKCgoqIEluIHRoZSBCTkYgZ3JhbW1hciwgdGhlIHJ1bGUgdGFucnUtdW5pdC0yLTE1MiBp cyBtaXNzaW5nIGEgInwiIGJlZm9yZSB0aGUgSkFJLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dh biBBcHByb3ZlZCkpCgoKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQp KSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJyA7IGJpemFyZWxseSwgdGhlIFdvcmQgZG9jIHRoZSBi b29rIHdhcyBwcmludGVkIGZyb20gZG9lcyBub3QgaGF2ZSB0aGlzIHByb2JsZW0gYXQgYWxsLgoK CgoqIEluIHRoZSBCTkYgZ3JhbW1hciwgdGhlIHJ1bGUgb3BlcmF0b3ItMS0zNzEgaXMgbWlzc2lu ZyB0d28gInwiLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogSW4g dGhlIEJORiBncmFtbWFyLCB0aGUgcnVsZSBtZXgtb3BlcmF0b3ItMzc0IGlzIG1pc3NpbmcgYSAi fCIgYmVmb3JlIHRoZSBNQWhPIGFuZCBhbm90aGVyIGJlZm9yZSB0aGUgVlVoVS4gICgoQXBwcm92 ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIEluIHRoZSBCTkYgZ3JhbW1hciwgdGhl IHJ1bGUgb3BlcmFuZC0zLTM4NSBpcyBtaXNzaW5nIGEgInwiIGJlZm9yZSB0aGUgTkloRS4gICgo QXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIEluIHRoZSBCTkYgZ3JhbW1h ciwgaW4gdGhlIHJ1bGUgdGltZV8xMDMwLCB0aGUgIlpFaEEgW1BVIFtOQUldIF0iIHNob3VsZCBi ZSBlbmNsb3NlZCBpbiBwYXJlbnRoZXNlcy4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBw cm92ZWQpKQoKCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KV2lraW5ldXJvdGljIG1haWxpbmcgbGlzdApXaWtpbmV1cm90aWNAbG9qYmFuLm9yZwpodHRw Oi8vbWFpbC5sb2piYW4ub3JnL21haWxtYW4vbGlzdGluZm8vd2lraW5ldXJvdGljCg==