Received: from localhost ([::1]:50179 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.80.1) (envelope-from ) id 1XrSEm-0008Dg-1m; Thu, 20 Nov 2014 05:57:32 -0800 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:43155 helo=jukni.digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.80.1) (envelope-from ) id 1XrSEh-0008Cf-Pa for wikineurotic@lojban.org; Thu, 20 Nov 2014 05:57:30 -0800 Received: by jukni.digitalkingdom.org (sSMTP sendmail emulation); Thu, 20 Nov 2014 05:57:27 -0800 From: "Apache" Date: Thu, 20 Nov 2014 05:57:27 -0800 To: wikineurotic@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 0.5 (/) X-Spam_score: 0.5 X-Spam_score_int: 5 X-Spam_bar: / X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: The page CLL, aka Reference Grammar, Errata was changed by gleki at 13:57 UTC You can view the page by following this link: http://www.lojban.org/tiki/CLL%2C%20aka%20Reference%20Grammar%2C%20Errata [...] Content analysis details: (0.5 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: github.com] 1.4 RCVD_IN_BRBL_LASTEXT RBL: No description available. [173.13.139.235 listed in bb.barracudacentral.org] -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] 1.0 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikineurotic] Wiki page CLL, aka Reference Grammar, Errata changed by gleki X-BeenThere: wikineurotic@lojban.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: webmaster@lojban.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikineurotic-bounces@lojban.org VGhlIHBhZ2UgQ0xMLCBha2EgUmVmZXJlbmNlIEdyYW1tYXIsIEVycmF0YSB3YXMgY2hhbmdlZCBi eSBnbGVraSBhdCAxMzo1NyBVVEMKCllvdSBjYW4gdmlldyB0aGUgcGFnZSBieSBmb2xsb3dpbmcg dGhpcyBsaW5rOgogCmh0dHA6Ly93d3cubG9qYmFuLm9yZy90aWtpL0NMTCUyQyUyMGFrYSUyMFJl ZmVyZW5jZSUyMEdyYW1tYXIlMkMlMjBFcnJhdGEKCllvdSBjYW4gdmlldyBhIGRpZmYgYmFjayB0 byB0aGUgcHJldmlvdXMgdmVyc2lvbiBieSBmb2xsb3dpbmcgdGhpcyBsaW5rOiAKaHR0cDovL3d3 dy5sb2piYW4ub3JnL3Rpa2kvdGlraS1wYWdlaGlzdG9yeS5waHA/cGFnZT1DTEwlMkMlMjBha2El MjBSZWZlcmVuY2UlMjBHcmFtbWFyJTJDJTIwRXJyYXRhJmNvbXBhcmU9MSZvbGR2ZXI9MjI5Jm5l d3Zlcj0yMzAKCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKgpUaGUgY2hhbmdlcyBpbiB0aGlzIHZlcnNpb24gZm9sbG93IGJlbG93LCBm b2xsb3dlZCBhZnRlciBieSB0aGUgY3VycmVudCBmdWxsIHBhZ2UgdGV4dC4KKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCgorLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwpAQCAt TGluZXM6IDUyNC01MjggY2hhbmdlZCB0byArTGluZXM6IDUyNC01MjggQEAKKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKLS0tCiFDaGFw dGVyIDE4Ci0gCisgKiBbaHR0cHM6Ly9sb2piYW4uZ2l0aHViLmlvL2NsbC8xOC8xMC8ganUndV0g aXMgaW4gVlVoVS4gSXQgc2hvdWxkIGJlIG9mIHRoZSB0eXBlIFBBLiBOb3RpY2UgaG93IHtwaX0g YW5kIHtuaSd1fSBhbmQge2thJ299IGFuZCB7Y2knaX0gYW5kIHtmaSd1fSBhcmUgYWxsIG9mIHR5 cGUge3BhfSwgc28gdGhleSBjYW4gZ28gaW4gYSBudW1lcmljYWwgbGl0ZXJhbCBiZXR3ZWVuIGRp Z2l0cy4gZXNwZWNpYWxseSB7a2Enb30sIHdoaWNoIGNhbiBzZXBhcmF0ZSB0aGUgcmVhbCBwYXJ0 IGFuZCBpbWFnaW5hcnkgcGFydCB0byBtYWtlIGEgY29tcGxleCBsaXRlcmFsLCBhbmQgc2ltaWxh cmx5IHtzdSdvfSBhbmQge3N1J2V9IGNhbiBzZXBhcmF0ZSBudW1iZXJzIHRvIG1ha2UgaW50ZXJ2 YWxzLgoqIFNlY3Rpb24gMywgZXguIDMuMTAsIHNob3VsZCB0cmFuc2xhdGUgYXMgIi4xMDEyMDAx Ii4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoKCioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqClRoZSBuZXcg cGFnZSBjb250ZW50IGZvbGxvd3MgYmVsb3cuCioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgpUaGlzIHBhZ2UgaXMgZm9yIGVycmF0YSBp biAoKFRoZSBDb21wbGV0ZSBMb2piYW4gTGFuZ3VhZ2UpKSwgdGhhdCBpcyBmb3IgbWlzdGFrZXMg c3VjaCBhcyB0eXBvcywgb3Igc2VsZi1jb250cmFkaWN0aW9ucywgb3IgY29udHJhZGljdGlvbnMg d2l0aCBvdGhlciBiYXNlbGluZWQgbGFuZ3VhZ2UgZGVmaW5pdGlvbiBtYXRlcmlhbC4gVGhpcyBp cyBfX25vdF9fIGEgcGFnZSB0byBwdXQgZGVzaWRlcmF0YSAoc3VnZ2VzdGlvbnMgZm9yIGltcHJv dmVtZW50KTsgc3VjaCBzdWdnZXN0aW9ucyBzaG91bGQgZ28gdG8gKChTdWdnZXN0aW9ucyBmb3Ig Q0xMLCBzZWNvbmQgZWRpdGlvbikpLiAgVGhpcyBpcyBhbHNvIG5vdCBhIHBhZ2UgdG8gcHV0IGVy cmF0YSByZXN1bHRpbmcgZnJvbSB0aGUgNHRoIEJhc2VsaW5lIEdyYW1tYXIgcHJvcG9zYWwgKGku ZS4sIHRoZSAoKFBFRykpIGdyYW1tYXIpOyBQRUcgZ3JhbW1hciBlcnJhdGEgc2hvdWxkIGdvIHRv ICgoQ0xMIFBFRyBFcnJhdGEpKS4KCgoKQW4gb25saW5lIHZlcnNpb24gb2YgdGhlIENMTCBpbmNv cnBvcmF0aW5nIHRoZSBjaGFuZ2VzIG9uIHRoaXMgcGFnZSBbaHR0cDovL2xvamJhbi5naXRodWIu Y29tL2NsbC98aXMgYXZhaWxhYmxlXS4KCgoKU2VlIGFsc28gW1doYXQraXMrTG9qYmFuJTNGK2Vy cmF0YSZibD15fFdoYXQgaXMgTG9qYmFuPyBlcnJhdGFdIChmb3IgdGhlIHB1Ymxpc2hlZCB2ZXJz aW9uKSwgTGV2ZWwgMCBCb29rbGV0IEVycmF0YSBbdGlraS1lZGl0cGFnZS5waHA/cGFnZT1MZXZl bCswK0Jvb2tsZXQrRXJyYXRhJmxhbmc9fD9dIChmb3IgdGhlIHByZS1wdWJsaWNhdGlvbiByZXZp ZXdzOyBub3cgZmluaXNoZWQpLCBhbmQgW0xlc3NvbnMrRXJyYXRhJmJsPXl8TGVzc29ucyBFcnJh dGFdIChmb3IgdGhlIGJlZ2lubmVycycgY291cnNlKS4KCgoKVGhlICInJ0lOQ0xVREVEIElOIERB Ry1DTEwnJyIgdGFnIG1lYW5zIHRoYXQgaHR0cDovL2xvamJhbi5naXRodWIuY29tL2NsbC8gaW5j bHVkZXMgdGhpcyBmaXgsIHdoaWNoIGFsc28gbWVhbnMgaXQnbGwgcHJvYmFibHkgYmUgaW4gdGhl IG5leHQgQ0xMIHZlcnNpb24uCgoKCi0tLQoKCgohQ2hhcHRlciAxCgoKCiogVGhlcmUgaXMgYSBw YXJhZ3JhcGggYXQgdGhlIHZlcnkgYmVnaW5uaW5nIG9mIENMTCwgb24gcGFnZSA0LCB3aXRoIHRo ZSBzZW50ZW5jZSAnJyJJbiBlc3NlbmNlLCBDaGFwdGVyIDIgZ2l2ZXMgYSBicmllZiBvdmVydmll dyBvZiB0aGUgbGFuZ3VhZ2UsIENoYXB0ZXIgMjEgZ2l2ZXMgdGhlIGZvcm1hbCBzdHJ1Y3R1cmUg b2YgdGhlIGxhbmd1YWdlLCBhbmQgdGhlIGNoYXB0ZXJzIGluIGJldHdlZW4gcHV0IHNlbWFudGlj IGJvbmVzIG9uIHRoYXQgZm9ybWFsIGZsZXNoLiInJwoKKiogV291bGRuJ3QgaXQgbWFrZSBtb3Jl IHNlbnNlIHRvIHNheSAicHV0IHNlbWFudGljIGZsZXNoIG9uIHRob3NlIGZvcm1hbCBib25lcyI/ ICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1D TEwnJwoKCgoqIFNlY3Rpb24gNiwgaXQgc2F5cyAiTGFycnkgSG9ybidzIHdvcmsgJydUaGUgTmF0 dXJhbCBIaXN0b3J5IG9mIE5lZ2F0aW9uJyciLiBJdCB3b3VsZCBhcHBlYXIgdGhhdCBldmVyeW9u ZSBlbHNlIGNhbGxzIGl0ICcnX19BX18gTmF0dXJhbCBIaXN0b3J5IG9mIE5lZ2F0aW9uJycsIGJ5 IF9fTGF1cmVuY2VfXyAoUi4pIEhvcm4uCgoqKiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJyAoem9y dCdzIGZvcmsgYXQgbGVhc3QpIGJ1dCBuZWVkcyBhcHByb3ZhbAoKCgotLS0KCiFDaGFwdGVyIDIK CgoKKiBTZWN0aW9uIDUgZXhhbXBsZSA1LjcgdXNlcyAidGkiIHRvIHBvaW50IGF0IGEgbGFuZ3Vh Z2UsIGFuZCBzaG91bGQgaGF2ZSBpdHMgYWNjb21wYW55aW5nIG5vdGUgY2hhbmdlZCB0byBtb3Jl IGFjY3VyYXRlbHkgcmVmbGVjdCB0aGF0IHRoaXMgaXMgbm90IGhvdyAidGkiIHdvcmtzLgoKCgoq IFNlY3Rpb24gNiBFeGFtcGxlIDYuNSBoYXMgImN1IiBhcyBlbGlkYWJsZSwgd2hlbiBpbiBmYWN0 IGl0IGlzIHNpbXBseSBpbGxlZ2FsIHRoZXJlLiAgUmVtb3ZlZC4gICcnSU5DTFVERUQgSU4gREFH LUNMTCcnCgoqKiB1YW5haSwgSSBzdGlsbCBzZWUgImN1IiBpbiBEQUctQ0xMLgoKCgoqIFNlY3Rp b24gOCBwYWdlIDE3IGNsYWltcyB0aGF0ICJ4dSIgaXMgZGlzY3Vzc2VkIGluIHNlY3Rpb24gMS43 LCB3aGljaCBoYXBwZW5zIHRvIGxpc3QgdGhlIGNhcHRpb25zIGZvciBhbGwgdGhlIGNoYXB0ZXIg cGljdHVyZXMuCgoqKiBJdCBzaG91bGQgcmVmZXIgdG8gU2VjdGlvbiAxNS4gICgoQXBwcm92ZWQg RXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKioqIFRo ZSBsaW5rIGluIHRoZSBjdXJyZW50IERBRy1DTEwgaXMgcG9pbnRpbmcgdG8gIjIvMi8xNSIgaW5z dGVhZCBvZiB0byAiMi8xNSIuCgoKCiogU2VjdGlvbiAxMCBzYXlzIHRoYXQgZXhhbXBsZSAxMC4z IChtaSB0YXZsYSBkbyBsZSB0YXZsYSBrdSkgbWVhbnMgdGhlIHNhbWUgYXMgKG1pIHRhdmxhIGRv IGxlIHRhdmxhIGt1KS4gRXhhbXBsZSAxMC4zIHNob3VsZCBiZSAibWkgdGF2bGEgZG8gbGUgdGF2 bGEiLCBhcyBpdCBkZXNjcmliZXMgaG93ICJrdSIgbWF5IGJlIG9taXR0ZWQuCgoqKiBJdCBhcHBl YXJzIHRoYXQgZXhhbXBsZSAxMC4zIGlzIGluY29ycmVjdCBvbmx5IGluIHRoZSBvbmxpbmUgdmVy c2lvbiwgbm90IHRoZSBwdWJsaXNoZWQgYm9vay4KCgoKKiBTZWN0aW9uIDE3IHNheXMgIk5vdGUg dGhhdCBFeGFtcGxlIDE3LjMgIGhhcyBhbmQgcmVxdWlyZXMgYSDigJxjdeKAnSB0byBwcmV2ZW50 IOKAnGJhanJh4oCdIGFuZCDigJxrbGFtYeKAnSBmcm9tIGZvcm1pbmcgYSB0YW5ydSwgYnV0IEV4 YW1wbGUgMTcuNCAgYW5kIEV4YW1wbGUgMTcuNSAgbGFjayB0aGUgdW5uZWNlc3Nhcnkg4oCcY3Xi gJ0uIiwgYnV0IGV4YW1wbGUgMTcuMyBpcyAibGEgZGphbi4gfm5wfltjdV1+L25wfiBrbGFtYSBs ZSB6YXJjaSIuCgoqKiBJdCBhcHBlYXJzIHRoYXQgdGhlIG9mZmVuZGluZyBzZW50ZW5jZSBpcyBw cmVzZW50IG9ubHkgaW4gdGhlIG9ubGluZSB2ZXJzaW9uLCBub3QgdGhlIHB1Ymxpc2hlZCBib29r LgoKCgoqIEV4YW1wbGUgMTcuOSBpcyAibGUgdmkgdGF2bGEga3UgY3UgYmEga2xhbWEiIGluIHRo ZSBvbmxpbmUgdmVyc2lvbiwgYW5kIHRvdGFsbHkgYnJva2VuIGluIHRoZSBwdWJsaXNoZWQgYm9v ay4KCioqIEdvIHdpdGggdGhlIG9ubGluZSB2ZXJzaW9uLiAgKChBcHByb3ZlZCBFcnJhdHVtfGNh bWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogRXhhbXBsZSAx Ny45IGluIGRhZy1jbGwgYXMgb2YgMjAxMi0wNS0wNSBpcyAibGUgdmkgdGF2bGEgfm5wfltrdV1+ L25wfiBjdSBiYSBrbGFtYSIuIFNpbmNlIHRoZSBzYW1lIHNlY3Rpb24gaGFzIGV4cGxhaW5lZCB0 aGF0IHRlbnNlIHRhZ3MgbWFrZSAiY3UiIHVubmVjZXNzYXJ5LCBJIHRoaW5rIHRoZSBleGFtcGxl IHNob3VsZCBiZSAibGUgdmkgdGF2bGEgfm5wfltrdV0gW2N1XX4vbnB+IGJhIGtsYW1hIi4KCgoK LS0tCgoKCiEgQ2hhcHRlciAzCgoKCkEgbG90IG9mIHRoZSBJUEEgZXhhbXBsZXMgdXNlIGEgc3Bh Y2UgdG8gaW5kaWNhdGUgYSBzeWxsYWJsZSBicmVhay4gVGhpcyBpcyBub3Qgc3RhbmRhcmQgSVBB IHVzYWdlOyBhY2NvcmRpbmcgdG8gSVBBLCB0aGUgcGVyaW9kIOKAnC7igJ0gc2hvdWxkIGJlIHVz ZWQgdG8gaW5kaWNhdGUgYSBzeWxsYWJsZSBkaXZpc2lvbi4KCgoKKiBTZWN0aW9uIDIsIHBhZ2Ug MzA6IGluIHRoZSB0YWJsZSB0aGUgZGVzY3JpcHRpb24gb2YgImFwb3N0cm9waGUiIHNob3VsZCBy ZWFkICJhbiB1bnZvaWNlZCBnbG90dGFsIHNwaXJhbnQiLCBub3QgImEgdW52b2ljZWQiLgoKKiog KChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFH LUNMTCcnCgoKCiogU2VjdGlvbiAyLCBkaWdpdGFsIHZlcnNpb24uICBUaGUgSVBBIHRhYmxlIGdv dCBob3JyaWJseSBtYW5nbGVkIHNvbWV3aGVyZSBhbG9uZyB0aGUgd2F5LiAgSXQgc2hvdWxkIGxv b2sgbGlrZSAoU0FNUEEgY29sdW1uIGFkZGVkKToKCgoKfHwgTGV0dGVyIHwgSVBBICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBTQU1QQSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgRGVzY3JpcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIAoKICcgICAgICB8IFtoXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgW2hdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 IGFuIHVudm9pY2VkIGdsb3R0YWwgc3BpcmFudCAgICAgICAgICAgICAgICAgICAgICAKCiAsICAg ICAgfCAtLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IC0tLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0aGUgc3lsbGFibGUgc2VwYXJh dG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogLiAgICAgIHwgW8qUXSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgWz9dICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IGEgZ2xvdHRhbCBzdG9wIG9yIGEgcGF1c2UgICAgICAgICAgICAg ICAgICAgICAgICAKCiBhICAgICAgfCBbYV0sIFvJkV0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCBbYV0sIFtBXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg YW4gb3BlbiB2b3dlbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKIGIgICAg ICB8IFtiXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW2JdICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgdm9pY2VkIGJpbGFiaWFsIHN0 b3AgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiBjICAgICAgfCBbyoNdLCBbyoJdICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgW1NdLCBbc2BdICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IGFuIHVudm9pY2VkIHBvc3RhbHZlb2xhciBmcmljYXRpdmUgICAg ICAgICAgICAgICAgICAgICAKCiBkICAgICAgfCBbZF0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8IFtkXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCBhIHZvaWNlZCBkZW50YWwvYWx2ZW9sYXIgc3RvcCAgICAgICAgICAgICAgICAgICAgCgog ZSAgICAgIHwgW8mbXSwgW2VdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW0VdLCBb ZV0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgZnJvbnQgbWlkIHZv d2VsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiBmICAgICAgfCBbZl0sIFvJuF0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbZl0sIFtwXF0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgYW4gdW52b2ljZWQgbGFiaWFsIGZyaWNhdGl2ZSAgICAg ICAgICAgICAgICAgICAgIAoKIGcgICAgICB8IFvJoV0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8IFtnXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCBhIHZvaWNlZCB2ZWxhciBzdG9wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgog aSAgICAgIHwgW2ldICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbaV0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSBmcm9udCBjbG9zZSB2 b3dlbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKIGogICAgICB8IFvKkl0sIFvKkF0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbWl0sIFt6YF0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgYSB2b2ljZWQgcG9zdGFsdmVvbGFyIGZyaWNhdGl2ZSAg ICAgICAgICAgICAgICAgICAgICAgIAoKIGsgICAgICB8IFtrXSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgW2tdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8IGFuIHVudm9pY2VkIHZlbGFyIHN0b3AgICAgICAgICAgICAgICAgICAgICAgICAg ICAKCiBsICAgICAgfCBbbF0sIFtszKldICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg W2xdLCBbbD1dICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgdm9pY2Vk IGxhdGVyYWwgYXBwcm94aW1hbnQgKG1heSBiZSBzeWxsYWJpYykgICAKCiBtICAgICAgfCBbbV0s IFttzKldICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW21dLCBbbT1dICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgdm9pY2VkIGJpbGFiaWFsIG5hc2FsICht YXkgYmUgc3lsbGFiaWMpICAgICAgICAKCiBuICAgICAgfCBbbl0sIFtuzKldLCBbxYtdLCBbxYvM qV0gICAgICAgICAgICAgICAgICAgICB8IFtuXSwgW249XSwgW05dLCBbTj1dICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCBhIHZvaWNlZCBkZW50YWwgb3IgdmVsYXIgbmFzYWwgKG1heSBiZSBz eWxsYWJpYykgCgogbyAgICAgIHwgW29dLCBbyZRdICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgW29dLCBbT10gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEg YmFjayBtaWQgdm93ZWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiBwICAgICAg fCBbcF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtwXSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhbiB1bnZvaWNlZCBiaWxhYmlhbCBz dG9wICAgICAgICAgICAgICAgICAgICAgICAgCgogciAgICAgIHwgW3JdLCBbybldLCBbyb5dLCBb yoBdLCBbcsypXSwgW8m5zKldLCBbyb7MqV0sIFvKgMypXSB8IFtyXSwgW3JcXSwgWzRdLCBbUlxd LCBbcj1dLCBbclw9XSwgWzQ9XSwgW1JcPV0gfCBhIHJob3RpYyBzb3VuZCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgCgogcyAgICAgIHwgW3NdICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCBbc10gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgYW4gdW52b2ljZWQgYWx2ZW9sYXIgc2liaWxhbnQgICAgICAgICAgICAgICAgICAg IAoKIHQgICAgICB8IFt0XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW3Rd ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGFuIHVudm9pY2Vk IGRlbnRhbC9hbHZlb2xhciBzdG9wICAgICAgICAgICAgICAgICAKCiB1ICAgICAgfCBbdV0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFt1XSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCBhIGJhY2sgY2xvc2Ugdm93ZWwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgCgogdiAgICAgIHwgW3ZdLCBbzrJdICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgW3ZdLCBbQl0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8IGEgdm9pY2VkIGxhYmlhbCBmcmljYXRpdmUgICAgICAgICAgICAgICAgICAgICAgCgog eCAgICAgIHwgW3hdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbeF0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYW4gdW52b2ljZWQgdmVs YXIgZnJpY2F0aXZlICAgICAgICAgICAgICAgICAgICAgIAoKIHkgICAgICB8IFvJmV0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtAXSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCBhIGNlbnRyYWwgbWlkIHZvd2VsICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgCgogeiAgICAgIHwgW3pdICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCBbel0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgYSB2b2ljZWQgYWx2ZW9sYXIgc2liaWxhbnQgICAgICAgICAgICAgICAgICAgICAgIHx8CgoK CioqIFNvcnQtb2YgKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpOyB3aGF0 IEkgYWN0dWFsbHkgZGlkIGlzIGhhZCBBcm50IHJldmlldyB3aGF0IHNvbWVvbmUgZW50ZXJlZCBp biBEQUctQ0xMLCB3aGljaCBwcmVzdW1hYmx5IHdhcyBiYXNlZCBvbiB0aGUgYWJvdmUuICAnJ0lO Q0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMiwgcGFnZSAzMC4gZm9yIHRoZSBzZWNv bmQgZW5nIChpbW1lZGlhdGVseSB0byB0aGUgbGVmdCBvZiAiKG1heSBiZSBzeWxsYWJpYykiKSB0 aGUgc3lsbGFiaWNpdHkgbWFya2VyIGlzIGNvbmNlYWxlZCBieSB0aGUgcmlnaHQgdGFpbC4KCioq IEkgY2FuIGp1c3QgYmFyZWx5IHNlZSB0aGUgbWFya2VyIHVuZGVyIGEgZ29vZCBsaWdodC4gICAo KEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCioqKiBGb3IgZnV0dXJlIGVkaXRp b25zIDotKSAsIG5vdGUgdGhhdCB0aGUgSVBBIGFwcHJvdmVzIHB1dHRpbmcgZGlhY3JpdGljcyBh Ym92ZSByYXRoZXIgdGhhbiBiZWxvdyB0aGUgbGV0dGVyIGluIGNhc2VzIGxpa2UgdGhlc2UuIFVu Zm9ydHVuYXRlbHksIHRoZSBmb250cyBoaXRoZXJ0byBhdmFpbGFibGUgaGF2ZSBub3QgbWFkZSB0 aGlzIGZhY2lsaXR5IGF2YWlsYWJsZSwgc28gb3V0c2lkZSB0aGUgam91cm5hbCBvZiB0aGUgSVBB IGl0c2VsZiwgc3VjaCBvdmVyLWRpYWNyaXRpY3MgYXJlIHNlbGRvbSBzZWVuLiDigJQgbml0Y2lv bgoKCgoqIEluIHNlY3Rpb24gMy4yLCB0aGUgY29tbWEgc2hvdWxkIChwcm9iYWJseSkgYmUgcmVw cmVzZW50ZWQgYnkgdGhlIElQQSBub3RhdGlvbiBbLnwuXSwgYXMgdGhlIHBlcmlvZCBpcyB1c2Vk IGluIElQQSB0byBkZW5vdGUgc3lsbGFibGUgYnJlYWtzLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpj b3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAyLCBwYWdlIDMwLiBGb3IgdGhlIExvamJhbiBw aG9uZW1lIC9yLywgdGhlIElQQSBzeW1ib2wgZm9yIGEgZGVudGFsL2FsdmVvbGFyIHZvaWNlZCBh cGljYWwgdGFwIGlzIGdpdmVuIHdpdGggYSBzeWxsYWJpY2l0eSBtYXJrZXIgYmVsb3cuIEEgdGFw IGNhbid0IGJlIHN5bGxhYmljLCBiZWNhdXNlIGl0IGlzIGJ5IGRlZmluaXRpb24gaW5zdGFudGFu ZW91cy4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKSBKdXN0IHJlbW92ZSB0 aGF0IGNhc2UgYWx0b2dldGhlci4KCgoKKiBTZWN0aW9uIDIuICBUaGUgZGVzY3JpcHRpb25zIG9m ICcnYycnIGFuZCAnJ2onJyBhcmUgbGlzdGVkIGFzICJjb3JvbmFsIHNpYmlsYW50InMuICBUaGUg ZGVzY3JpcHRpb25zIHNob3VsZCByZWFkICJ2b2ljZWxlc3MgcG9zdGFsdmVvbGFyIGZyaWNhdGl2 ZSIgYW5kICJ2b2ljZWQgcG9zdGFsdmVvbGFyIGZyaWNhdGl2ZSIsIHJlc3BlY3RpdmVseS4gICgo QXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMywgdGhpcmQg cGFyYWdyYXBoIChwYWdlIDMxKTogImEgdW52b2ljZWQgdm93ZWwgZ2xpZGUiIHNob3VsZCBiZSAi YW4gdW52b2ljZWQgdm93ZWwgZ2xpZGUiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21p cyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA2LCBwYWdl IDM2LiBJUEEgZm9yIHRoZSB1bmFjY2VwdGFibGUgQW1lcmljYW4gZmxhcCB2YXJpYW50IG9mIGlu dGVydm9jYWxpYyAnJ3QnJyBzaG93cyB0aGUgR0EgJydyJycgc291bmQgKHVwc2lkZS1kb3duIHIp IGluc3RlYWQgb2YgdGhlIGZsYXAgKGxpa2UgYW4gciB3aXRoIG5vIHZlcnRpY2FsIGJpdCBhdCB0 aGUgdG9wIOKAlCBzZWUgdGhlIGxpc3Qgb2YgYWNjZXB0aWJsZSAnJ3InJyB2YXJpYW50cyBvbiBv biBwYWdlIDQ0IHdoZXJlIGl0IGFwcGVhcnMgY29ycmVjdGx5KSAgKChBcHByb3ZlZCBFcnJhdHVt fGpjb3dhbiBBcHByb3ZlZCkpCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJv dmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDYsIHBhZ2UgMzYuIChT YW1lIGFzIHByZXZpb3VzIGVycmF0dW0pIFRoZSBjb25zb25hbnQgaXMgcmVmZXJyZWQgdG8gYXMg YSBmbGFwLCB3aGlsZSBpdCBpcyBhY3R1YWxseSBhIHRhcC4gICgoQXBwcm92ZWQgRXJyYXR1bXxq Y293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gNy4gSW4gYmV0d2VlbiB0aGUgc2hhZGVkIGJv eGVzLCAiYSBwYWlyaW5nIG9mIHZvaWNlZCBhbmQgdW52b2ljZWQgZXF1aXZhbGVudCB2b3dlbHMi IHNob3VsZCByZWFkICJhIHBhaXJpbmcgb2Ygdm9pY2VkIGFuZCB1bnZvaWNlZCBlcXVpdmFsZW50 IGNvbnNvbmFudHMiLgoKCgoqIFNlY3Rpb24gOCwgcGFnZSAzOC4gSVBBIGZvciBwcm9udW5jaWF0 aW9uIG9mICJ4YXBja2UiIGhhcyBjIHdoZXJlIGl0IHNob3VsZCBoYXZlIFMgKGxvbmcgcykuICAo KEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDksIHBhZ2Ug NDAuIElQQSBmb3IgcHJvbnVuY2lhdGlvbiBvZiAiZGlreWp2byIgaGFzIGogd2hlcmUgaXQgc2hv dWxkIGhhdmUgWiAodGhhdCBsaXR0bGUgc2NyaXB0IHogdGhpbmcpICAoKEFwcHJvdmVkIEVycmF0 dW18amNvd2FuIEFwcHJvdmVkKSkKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBw cm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTIsIHBhZ2UgNDYu IFdoYXQgc2hvdWxkIGJlIHRoZSBDeXJpbGxpYyBsZXR0ZXIgOyBpcyBwcmludGVkIGFzIHNvbWV0 aGluZyB0aGF0IGxvb2tzIGxpa2UgdGhlIEdyZWVrIGxldHRlciAuIElzIHRoaXMgb25seSBhIHR5 cG9ncmFwaGljYWwgdmFyaWFudCBvZiB0aGUgOywgb3IgaXMgaXQgYSB2YXJpYW50PwoKCgoqKiBU aGlzIGVycmF0dW0gaXMgaW5kZWNpcGhlcmFibGUgYW5kIHNob3VsZCBiZSBkcm9wcGVkLCB1bmxl c3Mgc29tZW9uZSBjYW4gcmVjb25zdHJ1Y3QgaXQuICBUaGUgQ3lyaWxsaWMgbGV0dGVycyBsb29r IGZpbmUuICAtLWpjb3dhbgoKCgoqIFNlY3Rpb24gMTIsIHBhZ2UgNDYuIFJlcGxhY2UgdGhlIHdv cmRzICJ0aGUgaGFyZCBzaWduIiB3aXRoIGFuIGFjdHVhbCBoYXJkIHNpZ24sIFUrMDQ0QSBDWVJJ TExJQyBTTUFMTCBMRVRURVIgSEFSRCBTSUdOLgoKCgoqIFNlY3Rpb24gMTIsIHBhZ2UgNDcuICJh cmUvImVzc2UiIHNob3VsZCBwcm9iYWJseSBiZSAiYXJlIi8iZXNzZSIgKHRoZSBhY3V0ZSBvbiB0 aGUgYSBtYXkgb3IgbWF5IG5vdCBoYXZlIGJlZW4gbGVmdCBvZmYsIGJ1dCB0aGUgY2xvc2luZyBx dW90ZSBhZnRlciBhcmUgaXMgZGVmaW5hdGVseSBtaXNzaW5nLikKCioqIE15IGNvcHkgc2hvd3Mg dGhlIGFjdXRlLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcn SU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCi0tLQoKCgohQ2hhcHRlciA0CgoKCiogU2VjdGlvbiA0 LCBwYWdlIDU0LiBUaGUgYm9vayBzdGF0ZXMgdGhhdCBmdSdpdmxhIHdpdGggYSBmb3JtIGxpa2Ug JydzcGEnaScnIGFyZSB2YWxpZC4gVGhleSBhcmUgbm90LCB0aGV5IGZhaWwgdGhlIHNsaW5rdSdp IHRlc3QuICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElO IERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gNiwgcCA1OCwgIi1sYWMiIGluIHRoZSB0aGlyZCB0YWJs ZSBpbiB0aGF0IHNlY3Rpb24gc2hvdWxkIGJlICItbGFjLSIKCgoKKiBTZWN0aW9uIDYsIGl0IHNh eXMgIk1vc3QgY21hdm8gdGhhdCBoYXZlIHJhZnNpIGFyZSBvbmVzIHVzZWQgaW4gY29tcG9zaW5n IHRhbnJ1IChmb3IgYSBjb21wbGV0ZSBsaXN0LCBzZWUgQ2hhcHRlciAxMikiLCBidXQgdGhlcmUg aXMgbm8gc3VjaCBsaXN0IGluIENoYXB0ZXIgMTIsIG9yIGFueXdoZXJlIGluIHRoZSBib29rIChq dSdvc2FpKS4gUGVyaGFwcyBpdCB3YW50cyB0byBwb2ludCB0byB0aGUgbGlzdCBvZiBQQSByYWZz aSBpbiBDaGFwdGVyIDE4IHNlY3Rpb24gMjU/IE9yIHRvIHRoZSBsaXN0cyBvZiB0YW5ydSBpbiBD aGFwdGVyIDUgc2VjdGlvbnMgMTQgYW5kIDE1PwoKKiogV2hhdCBJIHByb2JhYmx5IG1lYW50IHdh cyB0aGF0IENoYXB0ZXIgMTIsIHRha2VuIGFzIGEgd2hvbGUsIGRpc2N1c3NlcyB0aGUgY21hdm8g dXNlZCBpbiBjb25zdHJ1Y3RpbmcgdGFucnUuICBJIGRvbid0IHRoaW5rIGFueSBzcGVjaWZpYyBs aXN0IGV2ZXIgZXhpc3RlZC4gIEknZCBqdXN0IGRyb3AgdGhlIHBhcmVudGhldGljYWwgc2VudGVu Y2UuCgoKCiogU2VjdGlvbiA2LCBqdXN0IGFmdGVyIGV4YW1wbGUgNi45LiBJdCBzYXlzICJzb21l IG9mIHRoZSB1bnJlZHVjZWQgZm9ybXMgaW4gdGhlIHByZXZpb3VzIGV4YW1wbGUiLCBidXQgaXQg aXMgbm90IHJlZmVycmluZyB0byB0aGUgcHJldmlvdXMgZXhhbXBsZTogaXQgaXMgcmVmZXJyaW5n IGFsbCB0aGUgd2F5IGJhY2sgdG8gZXhhbXBsZXMgNi4xIGFuZCA2LjIsIHNvIGl0IHNob3VsZCBi ZSAic29tZSBvZiB0aGUgdW5yZWR1Y2VkIGZvcm1zIGluIHRoZSBwcmV2aW91cyBleGFtcGxlX19z X18iLgoKKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycgKHpvcnQncyBmb3JrIGF0IGxlYXN0KQoK KEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkgIFJlZmVyIGV4cGxpY2l0bHkgdG8g Ni4xIGFuZCA2LjIKCgoKKiBTZWN0aW9uIDcsIHBhZ2UgNjAuIEluIGV4YW1wbGUgNi4xNiwgdGhl IHdvcmQgInhhcm55a2FyY2UiIGlzIGdsb3NzZWQgYXMgIndhci1jYXIiLiBFaXRoZXIgdGhlIGds b3NzIHNob3VsZCBiZSB1cGRhdGVkIHRvIHJlZmxlY3QgdGhlIHZlbGp2byAoInN0dWJib3JuLWNh ciIpLCBvciB0aGUgbHVqdm8gc2hvdWxkIGJlIHVwZGF0ZWQgdG8gcmVmbGVjdCB0aGUgZ2xvc3Mg ImphbWthcmNlIgoKKiogVGhlIGxhdHRlciAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFw cHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDcsIG1ha2luZyBh IHR5cGUgMyBmdSdpdmxhLCBzdGVwIDUgc2hvdWxkIHJlYWQgInN0ZXBzIDEtNCIsIG5vdCAic3Rl cHMgMS01Ii4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rp b24gNywgc3RlcCA1IG9mIHRoZSBTdGFnZSAzIGZ1J2l2bGE6ICJpZiB0aGUgcmFmc2kgZW5kcyBp biAnJ3InJyBhbmQgdGhlIHJlc3Qgb2YgdGhlIGZ1J2l2bGEgYmVnaW5zIHdpdGggJyduJycgKG9y IHZpY2UgdmVyc2EpIHVzZSBhbiAnJ2wnJy1oeXBoZW4iIHNob3VsZCByZWFkICAiaWYgdGhlIHJh ZnNpIGVuZHMgaW4gJydyJycgYW5kIHRoZSByZXN0IG9mIHRoZSBmdSdpdmxhIGJlZ2lucyB3aXRo ICcnbicnLCAnJ3RjJycsICcndHMnJywgJydkeicnIG9yICcnZGonJywgb3IgdGhlIHJhZnNpIGVu ZHMgaW4gJyduJycgYW5kIHRoZSByZXN0IG9mIHRoZSBmdSdpdmxhIGJlZ2lucyB3aXRoICcncicn IHVzZSBhbiAnJ2wnJy1oeXBoZW4iLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3Zl ZCkpCgoKCiogVGhlIGVuZCBvZiBzZWN0aW9uIDcgc2VlbXMgdG8gaW1wbHkgdGhhdCBjbWVuZSBh cmUgZXhlbXB0IGZyb20gdGhlIG5vcm1hbCByZXN0cmljdGlvbnMgb24gY29uc29uYW50IGNsdXN0 ZXJzIGFzIGxvbmcgYXMgZWFjaCBjb25zb25hbnQgcGFpciBpcyB2YWxpZC4KCgoKKiBTZWN0aW9u IDguIEV4YW1wbGUgOC4xMCAnJ2RqYW5kam9ueicnIGlzIG5vdCB2YWxpZCBsb2piYW4gYXMgaXQg Y29udGFpbnMgdGhlIGZvcmJpZGRlbiBjb25zb25hbnQgc2VxdWVuY2UgYG5kamAuICAgICgoQXBw cm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKSAgUmVwbGFjZSB3aXRoIGEgZGlmZmVyZW50 IG5hbWUuCgoqKiBSZXBsYWNpbmcgd2l0aCAiSm9obiBCcm93biIgYXMgImRqYW5icmF1biIuIC0t cmxwb3dlbGwgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDgsIHBhZ2UgNjYu IEV4YW1wbGUgOC4xMi4gU2F5cyB0aGF0IHRoZSBnaXNtdSAic29scmkiIG1lYW5zICJhY3R1YWxs eSwgJ3BlcnRhaW5pbmcgdG8gdGhlIHN1biciLiBUaGlzIGlzIGZhbHNlLiBBY2NvcmRpbmcgdG8g dGhlIGdpc211IGxpc3QsIGl0IG1lYW5zICcnaXMnJ2Egc3VuLgoKKiogTGVhdmUgdGhpcyBvbmUg YWxvbmUuICBBcyBhIHNlbHRhdSwgInNvbHJpIiBkb2VzIGluZGVlZCBtZWFuICJzb2xhciIuICAt LWpjb3dhbgoKCgoqIFNlY3Rpb24gMTEsIDVhKSAnJ0V4YW1pbmUgYWxsIHRoZSBDL0MgY29uc29u YW50IHBhaXJzIHRoYXQgam9pbiB0aGUgQ1ZDIHJhZnNpLCBhbmQgYWxzbyB0aGUgcGFpciBiZXR3 ZWVuIHRoZSBsYXN0IENWQyBhbmQgdGhlIFggcG9ydGlvbiwgaWdub3JpbmcgYW55ICJ5Ii1oeXBo ZW4gYmVmb3JlIHRoZSBYLicnIHNob3VsZCByZWFkIGluc3RlYWQ6ICcnRXhhbWluZSBhbGwgdGhl IEMvQyBjb25zb25hbnQgcGFpcnMgdXAgdG8gdGhlIGZpcnN0ICJ5Ii1oeXBoZW4sIG9yIHVwIHRv IHRoZSBlbmQgb2YgdGhlIHdvcmQgaW4gY2FzZSB0aGVyZSBhcmUgbm8gInkiLWh5cGhlbnMuJycK CioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElO IERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTIuIEluIEV4YW1wbGVzIDEyLjIsIDEyLjMgYW5kIDEy LjQgdGhlIGNhbGN1bGF0aW9ucyBhcmUgZ2l2ZW4gYXMgMzI1MDAgbWludXMgdGhlIHNjb3JlLCBp bnN0ZWFkIG9mIHNpbXBseSB0aGUgc2NvcmUuIChQcm9iYWJseSBmcm9tIHByZXZpb3VzIHZlcnNp b25zIG9mIHRoZSBhbGdvcml0aG0uKSAgICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJv dmVkKSkKCgoKKiBTZWN0aW9uIDEzLCBwYWdlIDc0LCB0aGlyZCB0YWJsZTogdGhlcmUgaXMgbm8g c3BhY2UgYmV0d2VlbiAibG9qYmF1Z3JpIiBhbmQgImxvamJhbmd5Z3JpIiwgc28gdGhhdCB0aGV5 IGFyZSBydW4gaW50byBvbmUgd29yZCBpbiB0aGUgc2Vjb25kIGNvbHVtbiBvZiB0aGUgdGFibGUu ICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDE1IHN0 YXRlcyB0aGF0ICJkemlwbyIgY29tZXMgZnJvbSAiY2FkenUgY2lwbmkiICgid2Fsa2luZyBiaXJk IikuICBUaGlzIGZhaWxzIHRvIG1ha2Ugc2Vuc2UgZWl0aGVyIGV0eW1vbG9naWNhbGx5IG9yIHNl bWFudGljYWxseSAoSWYgdGhlIG5hbWUgcmVmZXJzIHRvIHBlbmd1aW5zLCB0aGVyZSBhcmUgYSBs b3Qgb2Ygb3RoZXIgZmVhdHVyZXMgb2YgQW50YXJjdGljYSB0aGF0IGFyZSBtb3JlIHByb21pbmVu dCBhbmQgbm90IHNoYXJlZCBieSBvdGhlciBwbGFjZXMpLiAgSSBzdXNwZWN0IHRoYXQgdGhlIHdv cmQgbWF5IGFjdHVhbGx5IGNvbWUgZnJvbSAiZGl6bG8gZGFwbHUiICgibG93IGlzbGFuZCIpLCB3 aGljaCBpcyBhIHNvbWV3aGF0IG1vcmUgcmVhc29uYWJsZSBuYW1lLgoKKiogTm90IGFuIGVycmF0 dW0sIHRoZSB3b3JkIHJlYWxseSBkb2VzIGNvbWUgZnJvbSAiY2FEWnUgY0lQbmkiLiBUaGF0IGl0 IGZhaWxzIHRvIG1ha2Ugc2Vuc2UgZG9lc24ndCBjaGFuZ2UgdGhlIGZhY3QgdGhhdCB0aGF0IGlz IGhvdyB0aGV5IGNvbnN0cnVjdGVkIGl0LiBUaGUgZXR5bW9sb2dpZXMgb2YgImJlbXJvIiBhbmQg ImtldGNvIiBtYWtlIGV2ZW4gbGVzcyBzZW5zZSwgYnkgdGhlIHdheS4KCioqKiBDb3JyZWN0LCBi dXQgdGhlIGV0eW1vbG9naWVzIGFyZSB3aGF0IHRoZXkgYXJlLiAgLS1qY293YW4KCgoKLS0tCgoK CiFDaGFwdGVyIDUKCgoKKiBTZWN0aW9uIDYsIGV4YW1wbGUgNi4xNTogSXQgc2F5cyB7eGFtZ3Ug am8gY29ydHUgbnVudGF2bGF9LCBhbmQgdGhlIGdsb3NzIHNheXMgeyhnb29kIGlmLWFuZC1vbmx5 LWlmIHNob3J0KSBzcGVlY2h9LCBidXQge2NvcnR1fSBtZWFucyAiaHVydCIsIG5vdCAic2hvcnQi LgoKKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycgIChjaGFuZ2VkIHRvIHt0b3JkdX0pIChpbiB6 b3J0J3MgZm9yayBhdCBsZWFzdCkgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkp CgoKCiogRXhhbXBsZSA2LjE2OiB2YWpuaSBqdSBzZWxwbHVrYSBudW50YXZsYSAsICAoaW1wb3J0 YW50IHdoZXRoZXItb3Itbm90IHBsZWFzaW5nKSBldmVudC1vZi10YWxraW5nCgoqKiBTaG91bGQg YmUgcGx1a2EsIG5vdCBzZWxwbHVrYS4gICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBw cm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gOCBzYXlzICJpbnZv bHZpbmcgc2VsbWEnbyBWT2hBIGFuZCBHT2hJLCBleHBsYWluZWQgaW4gQ2hhcHRlciA3IiwgYnV0 IFZPaEEgZG9lc24ndCBhcHBlYXIgaW4gQ2hhcHRlciA3LiBWT2hBIGRvZXNuJ3QgZXZlbiBzZWVt IHRvIGJlIGEgc2VsbWEnbywgZm9yIHRoYXQgbWF0dGVyLiBBbHNvLCBwcm9iYWJseSBHT2hJIHNo b3VsZCBiZSBHT2hBPwoKCgoqIFNlY3Rpb24gOCwgcGFnZSA5Ni85NzogRXhhbXBsZSA4LjEzIG5l ZWRzIHNvbWUga2luZCBvZiB0ZXJtaW5hdG9yIChsaWtlICJiZSdvIikgYmVmb3JlIHRoZSAiY28i LiAgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIEFsc28sIHRoZSBw cmVjZWRpbmcgcGFyYWdyYXBoIHN1Z2dlc3RzIHRoYXQgImJlIiBpcyB0aGUgb25seSB3YXkgdG8g ZmlsbCBzZWxicmkgcGxhY2VzIG90aGVyIHRoYW4geDEuIFRoaXMgaXMgbm90IHRoZSBjYXNlOiAi bWkgbGUgemFyY2kgY3Uga2xhbWEgY28gc3V0cmEiIHdvdWxkIGFscwoKbyB3b3JrLgoKKiogSSBk b24ndCBhZ3JlZSB0aGF0IHRoZXJlJ3MgYW55IHN1Y2ggc3VnZ2VzdGlvbiwgYWx0aG91Z2ggYWRk aW5nIGEgc2Vjb25kIHBvc3NpYmlsaXR5IGlzIGZpbmUgd2l0aCBtZS4gIC0tamNvd2FuCgoKCiog U2VjdGlvbiA5IGxpc3RzICJrZWkiIGFzIHRoZSB0ZXJtaW5hdG9yIGZvciBudSwgYnV0IGl0J3Mg bm90IG9ubHkgZm9yIG51LCBidXQgZm9yIGFsbCBvZiBOVS4gICgoQXBwcm92ZWQgRXJyYXR1bXxq Y293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTQsIHBhZ2UgMTA0IHNheXMgImRhZHlsc2ki IGZvciAiZGFkeXNsaSIuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVk KSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDE0LCBwYWdlIDEwNSB1c2Vz ICJ6ZGFuaSBsaWpncmkiIGluIHRoZSBleGFtcGxlIGxpc3QsIGJ1dCB0aGUgcGFyYWdyYXBoIGFm dGVyLCBhcyB3ZWxsIGFzIHRoZSBuZXh0IGxpc3QsIHJlZmVyIHRvICJ6ZGFuaSBsaW5qaSIgYW5k ICJsaW5qaSB6ZGFuaSIuCgoKCiogU2VjdGlvbiAxNCwgcGFnZSAxMDUgaGFzIHRoZSBsdWp2byAi Y3B1bWknaSIgYnV0IGRlZmluZXMgaXQgYXQgdGhlIGJvdHRvbSBvZiB0aGUgc2V0IGFzICJjcGFt aSdpIi4KCioqIGN1YW1pJ2kgcyBwdWxsLW1hY2hpbmUsIHNvIHVzaW5nIHRoYXQgKChBcHByb3Zl ZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoK CiogU2VjdGlvbiAxNCwgcGFnZSAxMDYgc2F5cyAicGxpc2UgdGFwbGEiIGZvciAiYXBwbGUgY2Fr ZSIuIERvZXMgVHVya2lzaCByZWFsbHkgcmVmZXIgdG8gYSBjYWtlIGFzIGEgdGlsZSwgb3IgaXMg dGhpcyBhIG1pc3VuZGVyc3RhbmRpbmcgb2YgdGhlIGRlZmluaXRpb24gb2YgInRhcGxhIj8KCioq IE5vLCBpdCdzIHRoYXQge3RhcGxhfSBjYW4gbWVhbiBib3RoIGNha2UgYW5kIHRpbGUsIGFzIHRo ZSBnaXNtdSBsaXN0IHNob3dzOyBpdCdzIGEgZ2VuZXJpYyB3b3JkIGZvciBhIGZsYXQgMy1EIHNo YXBlLCBvciBzaG9ydCBjeWxpbmRlci4gIFN0ZXQuICAtLWpjb3dhbgoKCgoqIFNlY3Rpb24gMTQs IHBhZ2UgMTA4IHNheXMgInR1bWxhIHNwaXNhIi4gVGhpcyBzaG91bGQgcHJvYmFibHkgYmUgInR1 bWxhIHBhZ2J1Iiwgc2luY2UgcGllY2VzIG9mIGxhbmQgYXJlIG5vdCBhY3R1YWxseSBkZXRhY2hl ZC4KCioqIFdoYXQgbWFrZXMgeW91IHRoaW5rIHRoYXQgc3Bpc2EgaGF2ZSB0byBiZSBkZXRhY2hl ZD8gIFN0ZXQuICAtLWpjb3dhbgoKCgoqIFNlY3Rpb24gMTQsIHBhZ2UgMTA5IHNheXMgInJvc3R1 IG1vanlzdSdhIi4gInJvc3R1IiBpcyBub3QgYSBMb2piYW4gZ2lzbXUsIG5vciBhbiBPbGQgTG9n bGFuIHByaW1pdGl2ZS4gSXQncyBzdXBwb3NlZCB0byBiZSAibXJvc3QKCnUiLgoKKiogIk1yb3N0 dSIgaXMgY29ycmVjdCwgYW5kIHRoYXQncyB0aGUgcmVhZGluZyBvZiB0aGUgb25saW5lIHZlcnNp b24uICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDE0 LCAibnVua2lsYnJhIiBpcyBjbGVhcmx5IG5vdCAic2hhcnBlbmVyIiwgYW5kIGV2ZW4gaWYgaXQg d2FzIHVzaW5nIHRoZSByaWdodCByYWZzaSBmb3IgY2FicmEsIHRoYXQgc3RyaWtlcyBtZSBhcyBh IHByZXR0eSBjcmFwcHkgbHVqdm87IG5lZWRzIHplbmJhIG9yIHptYWR1IG9yIGJpbnhvIG9yIHNv bWV0aGluZy4KCgoKKiBTZWN0aW9uIDE0LCBwYWdlIDExMiBsaXN0cyBudW1lcm91cyB0YW5ydSBl eGFtcGxlcyB3aG9zZSBtZWFuaW5ncyBhcmUgaHlwZXJueW1zIG9mIHRoZSB0ZXJ0YXUgaW5zdGVh ZCBvZiBoeXBvbnltcy4gVGhpcyBjb250cmFkaWN0cyB0aGUgcHJpbWFyaW5lc3Mgb2YgdGhlIHRl cnRhdSBhcyBkZWZpbmVkIG9uIHBhZ2UgODQuIFRoZSB3b3JkICJqYSIgc2hvdWxkIHByb2JhYmx5 IGJlIGluc2VydGVkIGJldHdlZW4gdGhlIGNvbnN0aXR1ZW50cywgb3IgdGhlIGVudGlyZSBzZWN0 aW9uIHNob3VsZCBiZSByZW1vdmVkLgoKKiogU3RldC4gIExpb25zIGNhbid0IGJlIG1hZGUgb2Yg c3RvbmUsIGJ1dCB7cm9rY2kgY2luZm99IGlzIGEgbGVnaXRpbWF0ZSB0YW5ydSBub25ldGhlbGVz cy4gIC0tamNvd2FuCgoKCi0tLQoKCgohQ2hhcHRlciA2CgoKCiogRW5kIG9mIHNlY3Rpb24gMiwg aXQgc2F5cyAiY29tcG91bmQgbmVnYXRvciBgYG5ha3UnJyAoZGlzY3Vzc2VkIGluIENoYXB0ZXIg MTUpIiwgYnV0ICJuYWt1IiBpcyBuZXZlciBtZW50aW9uZWQgaW4gY2hhcHRlciAxNTsgaW5kZWVk LCB0aGUgb25seSB1c2VzIG9mIHRoZSB3b3JkIHtrdX0gYXQgYWxsIGFyZSBhZnRlciB0aGUgd29y ZHMge2ppJ3V9IG9yIHtuYSdpfS4gQ2hhcHRlciAxNiB0YWxrcyBhYm91dCB7bmFrdX0uCgoqKiAn J0lOQ0xVREVEIElOIERBRy1DTEwnJyAoem9ydCdzIGZvcmsgYXQgbGVhc3QpIGJ1dCBuZWVkcyBh cHByb3ZhbAoKCgoqIFNlY3Rpb24gMTIsIHAuIDEzOCBjbGFpbXMgdGhhdCB0aGUgc3VtdGkgaW4g ZXhhbXBsZXMgMTIuMiBhbmQgMTIuMyBvcGVyYXRlIGxpa2UgZXhhbXBsZXMgMi41IGFuZCAzLjYg cmVzcGVjdGl2ZWx5LiAiMi42IGFuZCAzLjYiIGlzIGFsbW9zdCBzdXJlbHkgd2hhdCB3YXMgbWVh bnQuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBE QUctQ0xMJycKCgoKKiBJbiBzZWN0aW9uIDExIEV4YW1wbGUgMTEuMiBvY2N1cnMgdHdpY2UuCgoq KiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBE QUctQ0xMJycKCgoKKiBTZWN0aW9uIDIgaGFzIGV4YW1wbGVzIDIuMyBhbmQgMi41IHRvIHNob3cg dGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB7bG99IGFuZCB7bGV9LiBFeGFtcGxlIDIuNSBhbmQgdGhl IHN1YnNlcXVlbnQgdGV4dCBzYXkgdGhhdCB7bG8gbmFubXUgY3UgbmlubXV9IGlzIG5lY2Vzc2Fy aWx5IGZhbHNlIGluIGxvamJhbiBzaW5jZSB7bm9kYSBuYW5tdSBnaSdlIG5pbm11fS4gVGhpcyBj b250cmlidXRlcyB0byB0cmFucy1lcmFzdXJlLCBhbmQgc2hvdWxkIGJlIHJldmlzZWQuCgoKCiog SW4gc2VjdGlvbiA1IGJldHdlZW4gZXhhbXBsZXMgNS4yIGFuZCA1LjMsIGl0IHNheXMgdGhhdCB0 aGUgdHlwaWNhbCBsaW9uIGJlc3QgZXhlbXBsaWZpZXMgdGhlIHNldCBvZiBsaW9ucy4gVGhpcyBp cyBmYWxzZSwgaXQgZXhlbXBsaWZpZXMgbm90IHRoZSBzZXQsIGJ1dCB0aGUgbWVtYmVycyBvZiB0 aGF0IHNldC4KCgoKLS0tCgoKCiEgQ2hhcHRlciA3CgoqIFNlY3Rpb24gNS4gaHR0cDovL2xvamJh bi5naXRodWIuaW8vY2xsLzcvNi9pbmRleC5odG1sLiA2LjE0IGlzIHVzYWdlIHdpdGggb3V0ZXIg cmVwZWF0aW5nLiBJdCB3b3VsZCBzZWVtIHRoYXQgd2FzIGEgbWlzdGFrZS4gTG9va2luZyBhdCB0 aGF0LCBpdCBzZWVtcyBsaWtlIHRoZSBhdXRob3IgZXhwZWN0cyB7bmVpfSB0byByZXBlYXQgdGhl IGVudGlyZSBvdXRlcm1vc3QgYnJpZGksIGFuZCBleHBlY3RzIHtubydhfSB0byByZXBlYXQgdGhl IG91dGVyIGJyaWRpIGFsb25lLCBzb21laG93IHdpdGhvdXQgdGhlIGN1cnJlbnQgaW5uZXJtb3N0 IGJyaWRpLiBPciBzb21ldGhpbmcuIERlZmluaXRlbHkgc2VlbXMgbWlzdGFrZW4gdG8gbWUuIHNv IHdpdGggem8nZSBpbiBwbGFjZSBvZiB0aGUgYWJzdHJhY3Rpb24gY2xhdXNlLiBJbiB0aGlzIGNh c2UsIG1heWJlIHdpdGgge3ppJ299LCBhY3R1YWxseS4KClRoYXQgd291bGQgYmUgdXNlZnVsIGJ1 dCBpdCB3b3VsZCBiZSBuaWNlIGlmIHRoYXQgaGFkIGJlZW4gZXhwbGljaXQuCgoqIFNlY3Rpb24g NiwgcGFnZSAxNTUgaGFzIGEgbm90ZSBiZWxvdyBleGFtcGxlIDYuMTMgdGhhdCBzYXlzLCBpbiBw YXJ0OiAiVGhlIExvamJhbiBkb2VzIG5vdCBjb250YWluIGFuIGVxdWl2YWxlbnQgb2YgdGhlICJt eSIgaW4gY29sbG9xdWlhbCBFbmdsaXNoOyIgYW5kIHRoZW4gZ29lcyBvbiB0byBleHBsYWluIGhv dyBleGFtcGxlIDYuMTMgY291bGQgYmUgbW9kaWZpZWQgdG8gaW5jbHVkZSAgdGhlIHJlbGF0aW9u c2hpcCBiZXR3ZWVuIHRoZSBzcGVha2VyIGFuZCB0aGVpciBzb24gYW5kIGRhdWdodGVyLiAgSSBi ZWxpZXZlIHlvdSBjb3VsZCBzYXkgImxlIG1pIGJlcnNhIiBvciAibGUgYmVyc2EgcGUgbWkiIHRv IGV4cHJlc3MgdGhlIEVuZ2xpc2ggIm15LCIgdGhlcmVmb3IgcmVtb3ZpbmcgdGhlIChwcmVzdW1h Ymx5IGluYWNjdXJhdGUpIG5vdGUgYW5kIG1ha2luZyB0aGUgTG9qYmFuIHRyYW5zbGF0aW9uIG1v cmUgYWNjdXJhdGUuCgoqKiBTdXJlIHlvdSBjb3VsZCwgYnV0IHRoZSBwb2ludCBvZiB0aGUgbm90 ZSAod2hpY2ggaXMgJydub3QnJyBpbmFjY3VyYXRlKSBpcyBub3QgdGVhY2hpbmcgaG93IHRvIHVz ZSByZWxhdGl2ZSBjbGF1c2VzLCBidXQgdG8gY2xhcmlmeSB0aGF0IHRoZSBpZGlvbWF0aWMgRW5n bGlzaCB2ZXJzaW9uIGNvbnRhaW5zIG1vcmUgaW5mb3JtYXRpb24gdGhhbiB0aGUgTG9qYmFuIHZl cnNpb24gZG9lcy4gIFN0ZXQuCgoKCiogU2VjdGlvbiA2LCBwYWdlIDE1NiBoYXMgJydrYXJjYScn IGZvciAnJ2thcmNlJycuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoK KiBBZnRlciBleGFtcGxlIDYuMTggaXMgYSBwYXJhZ3JhcGggdGhhdCBxdW90ZXMgbm9uLWV4aXN0 ZW50IHRleHQgZnJvbSBleGFtcGxlIDYuMTAuICAiZ28nZSByYSdvIiBzaG91bGQgcmVhZCAiZ28n aSByYSdvIiBhbmQgImRvIGdvJ2UiIHNob3VsZCByZWFkICJtaSBnbydpIgoKKiogVGhlIGNvcnJl Y3QgY29ycmVjdGlvbiBpcyB0byByZXBsYWNlICJCJ3Mgc3RhdGVtZW50IiB3aXRoICJBJ3Mgc2Vj b25kIHN0YXRlbWVudCIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCioq KiBOb3QgcmVhbGx5LiAiZ28nZSByYSdvIiBpbiBBJ3Mgc2Vjb25kIHN0YXRlbWVudCB3b3VsZCBt ZWFuIHRoZSBzYW1lIGFzICJnbydlIiwgd2hpY2ggaXMgd3JvbmcuIFRoZSBvcmlnaW5hbCBjb3Jy ZWN0aW9uIGlzIHZhbGlkIHRob3VnaC4KCgoKKlNlY3Rpb24gNiwgdGhlIGV4Y2VwdGlvbnMgdG8g dGhlIGFuYXBob3JhIHJ1bGVzIGFyZSBhbG1vc3QgY2VydGFpbmx5IGluY29tcGxldGUuIEluIHBh cnRpY3VsYXIgIm1hIiBhbmQgImNlJ3UiIGRlZmluaXRlbHkgd2FycmFudCBleGNlcHRpb25zLgoK CgoqIFNlY3Rpb24gNywgZXhhbXBsZSA3LjcgaGFzICJtaSB6YmFzdSBsb2kgbXVkcmkgemknbyIg Zm9yICJtaSB6YmFzdSBsZSBkaW5qdSB6aSdvIgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1 c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA4LCBw LiAxNTggaW1wbGllcyB0aGF0ICcndm8nYScnLXNlcmllcyBhbmFwaG9yYSByZWZlciB0byBzdW10 aSBvZiB0aGUgYnJpZGkgdGhleSB0aGVtc2VsdmVzIGFyZSBzdW10aSBvZi4gVGhpcyBjb250cmFk aWN0cyB0aGUgY21hdm8gbGlzdCwgYW5kIGlzIGluY29ycmVjdDogJyd2bydhJyctc2VyaWVzIGFu YXBob3JhIChhY2NvcmRpbmcgdG8gdGhlIG1hJ29zdGUpIHJlZmVyIHRvIHN1bXRpIG9mIHRoZSBv dXRlcm1vc3QgYnJpZGkgd2l0aGluIHRoZSBjdXJyZW50IHNlbnRlbmNlLiBUaGlzIG1ha2VzIHRo ZW0gbG9nb3Bob3JzL2xvbmcgZGlzdGFuY2UgcmVmbGV4aXZlcywgcmF0aGVyIHRoYW4gc2hvcnQt ZGlzdGFuY2UgcmVmbGV4aXZlcywgYXMgaXMgbm9ybWFsIGluIGh1bWFuIGxhbmd1YWdlLiBUaHVz LCBpbiAnJ21pIG5lbGNpIGxlbnUgZG8gcHJhbWkgdm8nYScnLCAnJ3ZvJ2EnJ21lYW5zICcnbWkn Jywgbm90ICcnZG8nJy4KCioqX18tLT5fXygoV2h5IHRoZSBCb29rIGlzIFJpZ2h0IGFuZCB0aGUg bWEnb3N0ZSBpcyBXcm9uZykpCgoqKipXaGljaCBvZiB0aGUgdHdvIGNhc2VzIGlzIG5vcm1hbCBp biBodW1hbiBsYW5ndWFnZT8gSWYgeW91J2Qgd3JpdHRlbiBpdCBpbiBMb2piYW4sIEknZCBrbm93 IQoKKioqKiBJJ2QgZ3Vlc3MgdGhhdCBzaG9ydC1kaXN0YW5jZSBpcyBub3JtYWwsIGIvYyBvdGhl cndpc2UgaXQgd291bGQgbm90IGJlIHdvcnRoIGNvbXBhcmluZyB0aGUgdHdvLiBCdXQgb2YgY291 cnNlIGluIGxvamJhbiB3ZSB3b3VsZG4ndCBoYXZlIHRvIGdsb3JrIHRoYXQuCgoqKioqKiBTaG9y dC1kaXN0YW5jZSBpcyBpbmRlZWQgbm9ybWFsLCBidXQgTG9qYmFuaXN0cyBoYXZlIGNvbnNpc3Rl bnRseSB1c2VkIGxvbmctZGlzdGFuY2UuICBOaWNrIHdyb3RlIGEgcGVlci1yZXZpZXdlZCBwYXBl ciBvbiB0aGlzLiAgLS1qY293YW4KCgoKKiBFeGFtcGxlIDcuOC41IChwMTU5KTogYmFqcmEgb24g dGhpcmQgbGluZSBzaG91bGQgYmUgYmFqeWtsYSwgbGlrZSB0aGUgb3RoZXJzLgoKKiogKChBcHBy b3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcn CgoKCiogU2VjdGlvbiA4LCBpdCBzYXlzICJFeGFtcGxlIDkuMyBpcyBhIHRydWx5IHByZWduYW50 IHF1ZXN0aW9uLi4uIiB3aGVuIGV4YW1wbGUgOS4yIGlzIHRoZSBwcmVnbmFudCBxdWVzdGlvbiwg YW5kIGV4YW1wbGUgOS4zIGlzIGEgYmV0dGVyIHdheSBvZiBleHByZXNzaW5nICJXaG8gYXJlIHlv dT8iCgoKCiogU2VjdGlvbiAxNSwgaXQgc2F5cyAiRmluYWxseSwgbHVqdm8gaW52b2x2aW5nIGBg emknbycnIGFyZSBhbHNvIHBvc3NpYmxlLCBhbmQgYXJlIGZ1bGx5IGRpc2N1c3NlZCBpbiBDaGFw dGVyIDEyIiwgYnV0IG5vd2hlcmUgZG9lcyBDaGFwdGVyIDEyIG1lbnRpb24gdGhlIHdvcmQge3pp J299LCBtdWNoIGxlc3MgbHVqdm8gaW52b2x2aW5nIGl0LiBUaGlzIGlzIHByb2JhYmx5IGEgQ2hh cHRlciAxMiBlcnJhdHVtLgoKLS0tCgoKCiFDaGFwdGVyIDgKCgoKKiBTZWN0aW9uIDEuIEV4YW1w bGUgMS44IGlzIHNhaWQgdG8gYmUgZXF1aXZhbGVudCB0byBFeGFtcGxlIDEuNCwgd2hlbiBpdCBp cyBpbnN0ZWFkIGVxdWl2YWxlbnQgdG8gRXhhbXBsZSAxLjUuCgoKCiogSW4gU2VjdGlvbiAzIHRo ZSBleGFtcGxlIDMuMjAgc2hvdWxkIGhhdmUge3hhbmNlfSBpbnN0ZWFkIG9mIHt4YW5jaX0sIHdo aWNoIGlzIGRlZmluaXRlbHkgYSB0eXBvLiAtLWlkb250a253CgoqKiAoKEFwcHJvdmVkIEVycmF0 dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0 aW9uIDgsIHAuIDE4MTogIDguMSkgJydsaSBwYWkgbm9pIG5hJ2UgZnJpbnUgbmFtY3UnJ3Nob3Vs ZCBiZSAnJ2xpIHBhaSBub2kgbmEnZSBmcmludSBjdSBuYW1jdScnLiAgKChBcHByb3ZlZCBFcnJh dHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiA4LCBFeGFtcGxlIDguNiwgdGhlIHRo aXJkIGxpbmUsICJJIHJ1bm5pbmdseS1nbyB0by10aGlzIFtyZWNpcHJvY2l0eV0gW3gzIG9mIHRo aXMgYnJpZGldIGZyb20tdGhhdCIsIGlzIG5vdCB0aGUgdXN1YWwgZGVjZW50IEVuZ2xpc2ggb25l IHdvdWxkIGV4cGVjdCBpbiB0aGF0IHBvc2l0aW9uOyByZXBsYWNlZCB3aXRoICJJIHJ1biB0byB0 aGlzIGZyb20gdGhhdCBhbmQgdmljZSB2ZXJzYS4iIGlzIGRhZy1jbGwgJydJTkNMVURFRCBJTiBE QUctQ0xMJycKCgoKKiBTZWN0aW9uIDksIGV4YW1wbGUgOS4yIGlzICcnY28nbyB4aXJtYScnLiBU aGVuLCAnJ05vdGUgdGhhdCBFeGFtcGxlIDkuMiBzYXlzIGZhcmV3ZWxsIHRvIHNvbWV0aGluZyB3 aGljaCBkb2VzbuKAmXQgcmVhbGx5IGhhdmUgdG8gYmUgYSBob3JzZSwgc29tZXRoaW5nIHRoYXQg dGhlIHNwZWFrZXIgc2ltcGx5IHRoaW5rcyBvZiBhcyBiZWluZyBhIGhvcnNlLCBvciBldmVuIG1p Z2h0IGJlIHNvbWV0aGluZyAoYSBwZXJzb24sIGZvciBleGFtcGxlKSB3aG8gaXMgbmFtZWQgIkhv cnNlIi4gSW4gYSBzZW5zZSwgRXhhbXBsZSA5LjIgaXMgYW1iaWd1b3VzIGJldHdlZW4gImNvJ28g bGUgeGlybWEiIGFuZCAiY28nbyBsYSB4aXJtYSInJy4gSXMgdGhpcyB0cnVlPwoKKiogWWVzLCBp biB0aGUgc2Vuc2UgdGhhdCBhbGwgdXNlcyBvZiAibGUiICcnbWlnaHQnJyBtZWFuICJsYSIuICBC dXQgaXQncyBwcm9iYWJseSBtb3JlIGNvbmZ1c2luZyB0aGFuIGl0J3Mgd29ydGguICBUcnVuY2F0 ZSBhZnRlciAidGhpbmtzIG9mIGFzIGJlaW5nIGEgaG9yc2UiLiAgLS1qY293YW4KCgoKKiBTZWN0 aW9uIDkgc2F5cyAnJ0luIHZvY2F0aXZlIHBocmFzZXMgd2hpY2ggYXJlIHNpbXBsZSBuYW1lcyAo YWZ0ZXIgdGhlIHZvY2F0aXZlIHdvcmRzKSwgYW55IHJlbGF0aXZlIGNsYXVzZXMgbXVzdCBjb21l IGp1c3QgYWZ0ZXIgdGhlIG5hbWVzJycuIFRoaXMgaXNuJ3QgdHJ1ZS4gUmVsYXRpdmUgY2xhdXNl cyBjYW4gZ28gYmV0d2VlbiB0aGUgdm9jYXRpdmUgYW5kIHRoZSBjbWV2bGEuICAoKEFwcHJvdmVk IEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkgIERyb3AgaXQ7IGl0IHJlZmxlY3RzIGFuIGVhcmxp ZXIgc3RhdGUgb2YgdGhlIGxhbmd1YWdlLgoKCgoqIFNlY3Rpb24gMTAsIGV4YW1wbGUgMTAuMyB1 c2VzICJrZSdhIGdvaSBrbydlIHpvJ3Uga28nYSB6YmFzdSBrZSdhIiBidXQgZ2xvc3NlcyBpdCBh cyAiKElUID0gaXQyIDogaXQxIGJ1aWx0IGl0MikiLiBUaGUgYXNzaWduZWQgImtvJ2UiIGlzIG5v dCB1c2VkIGFzIGV4cGVjdGVkIG9yIGRlc2NyaWJlZCwgYW5kIHNob3VsZCBwcm9iYWJseSBiZSAi a28nYSB6YmFzdSBrbydlIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKSAg WWVzLCAia28nYSB6YmFzdSBrbydlIiBpcyBjbGVhcmx5IHdoYXQncyBtZWFudC4KCgoKLS0tCgoh Q2hhcHRlciA5CgoKCiogU2VjdGlvbiA2LCBwbGFjZSBzdHJ1Y3R1cmUgb2YgJydwaWxubycnIGlz IG1pc3NpbmcgImZvciBwdXJwb3NlIHgzIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBw cm92ZWQpKQoKCgoqIFNlY3Rpb24gOCwgdGhlIGV4YW1wbGVzIDguNSBhbmQgOC42IGFyZSBzdXBw b3NlZCB0byBtZWFuIHRoZSBzYW1lIHRoaW5nLCBidXQgZG8gbm90LgoKKiogUGxlYXNlIGVsYWJv cmF0ZS4gIC0tamNvd2FuCgoqKiogOC41IG1lYW5zICJJIGdhdmUgdGhlIGJvb2sgdG8gSm9obiwg YmVjYXVzZSBKb2huIGdhdmUgdGhlIG1vbmV5IHRvIG1lIiBidXQgOC42IG1lYW5zICJKb2huIGdh dmUgdGhlIG1vbmV5IHRvIG1lIGJlY2F1c2UgSSBnYXZlIHRoZSBib29rIHRvIEpvaG4uIgoKKiog JydJTkNMVURFRCBJTiBEQUctQ0xMJycgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3Zl ZCkpCgoKCiogU2VjdGlvbiAxMSwgZGVzY3JpcHRpb24gb2YgdGhlIG1lYW5pbmcgb2YgIi5pamUg c2VyaSdhIHR1J2UiIGNvbnRyYWRpY3RzIHRoZSBleHBsYW5hdGlvbiBvZiBFeGFtcGxlIDkuOSwg d2hpY2ggd291bGQgc3VnZ2VzdCAiLmlqZSByaSdhIHR1J2UiLgoKCgoqIHNlY3Rpb24gMTcsICJw ZXJ0YWluZWQgdG8gYnkgY29uY2VybmluZyIgc2hvdWxkIGJlIHNlcGFyYXRlZCwgd2l0aCAiY29u Y2VybmluZyIgc2hvdWxkIGJlIGluIHRoZSBsYXN0IGNvbHVtbiBvZiB0aGUgdGFibGUKCgoKKiBz ZWN0aW9uIDE3ICJmcm9tIHNvdXJjZSBhcyBhbiBvcmlnaW4gb2YiIHNob3VsZCBiZSB0d28gZW50 cmllczsgImZyb20gc291cmNlIiBhbmQgImFzIGFuIG9yaWdpbiBvZiIgJydJTkNMVURFRCBJTiBE QUctQ0xMJycKCgoKLS0tCgoKCiFDaGFwdGVyIDEwCgoKCiogU2VjdGlvbiA0LCAid2hlbiBib3Ro IHNwYXRpYWwgYW5kIHRlbXBvcmFsIHRlbnNlIGNtYXZvIGFyZSBnaXZlbiBpbiBhIHNpbmdsZSB0 ZW5zZSBjb25zdHJ1Y3QsIHRoZSB0ZW1wb3JhbCB0ZW5zZSBpcyBleHByZXNzZWQgZmlyc3QiIGRp c2FncmVlcyB3aXRoIHRoZSBydWxlIHNpbXBsZS10ZW5zZS1tb2RhbC05NzIgaW4gdGhlIEJORiBn cmFtbWFyLgoKCgoqIFNlY3Rpb24gOSwgZXhhbXBsZSA5Ljkgb24gcGFnZSAyMjcgaGFzICJjaXJs aSIgZm9yICJjaXJsYSIuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVk KSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDEyLCBleGFtcGxlIDEyLjYg dHJhbnNsYXRlcyBtb3JzaSBhcyAiZGllIiByYXRoZXIgdGhhbiAiYW0gZGVhZCIgaW4gdGhlIHRy YW5zbGF0aW9uIChhcyBvcHBvc2VkIHRvIHRoZSBnbG9zcykuCgoKCiogU2VjdGlvbiAxNiwgYXQg dGhlIGVuZCwgdGhlIFggYW5kIFkgaW4gdGhlIDMgZm9ybXMgZG9uJ3QgZml0IHByb3Blcmx5ICh0 aGUgM3JkIGRvZXNuJ3QgbWF0Y2ggdGhlIGZpcnN0IHR3bykuIEkgcmVjb21tZW5kLCBjb3B5aW5n IGZyb20gU2VjdGlvbiAyMyAod2hlcmUgdGhleSBhcmUgd3JpdHRlbiBhZ2FpbiBjb3JyZWN0bHkp OgoKICAgICAgIFggLmkgVEVOU0UgYm8gWQoKICAgICAgIFRFTlNFIGdpIFggZ2kgWQoKICAgICAg IFkgVEVOU0UgbGUgbnUgWAoKCgoqIFNlY3Rpb24gMTcsIGV4YW1wbGUgMTcuMTIgc2hvdWxkIG5v dCBoYXZlIHRoZSBzZWNvbmQgImJldnJpIi4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNt aXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTgsIGV4 YW1wbGUgMTguOSBpcyBzdXBwb3NlZCB0byBzaG93IHNjYWxhciBuZWdhdGlvbiBvZiB0ZW5zZXMg bm90IGxpbWl0ZWQgdG8gUFUgYW5kIEZBaEEsIGJ1dCB0aGUgZXhhbXBsZSB0ZW5zZSBpcyByaSd1 IChGQWhBMikuCgoKCiogU2VjdGlvbiAxOSwgZXhhbXBsZSAxOS4xMCBzaG91bGQgaGF2ZSAiYmEi LCBub3QgInB1IiwgYW5kICJbZnV0dXJlXSIsIG5vdCAiW3Bhc3RdIi4gICgoQXBwcm92ZWQgRXJy YXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMjUsIGV4YW1wbGVzIDI1LjEgYW5k IDI1LjIgaGF2ZSAnJ2x1J2EnJyBmb3IgJydsYSd1JycuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18 Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9u IDI1LCB0aGlzIHdob2xlIHNlY3Rpb24gaXMgYXQgb2RkcyB3aXRoIHRoZSBmb3JtYWwgZ3JhbW1h ci4gSXQgc2F5czogJydJdCBpcyBncmFtbWF0aWNhbCBmb3IgYSB0ZXJtc2V0IHRvIGJlIHBsYWNl ZCBhZnRlciBhIHRlbnNlIG9yIG1vZGFsIHRhZyByYXRoZXIgdGhhbiBhIHN1bXRpJycuICBCdXQg dGhhdCBpcyBpbiBmYWN0IGluY29ycmVjdCwgaXQgaXMgbm90IGdyYW1tYXRpY2FsIGZvciBhIHRl cm1zZXQgdG8gYmUgdGhlIGFyZ3VtZW50IG9mIGEgdGFnLgoKKiogVW5mb3J0dW5hdGVseSB0cnVl LiAgVGVybXNldHMgc3VjayByb2NrcywgYW5kIHNvbWUgd29yayB3aWxsIGhhdmUgdG8gYmUgZG9u ZSB0byBtYWtlIGV2ZXJ5dGhpbmcgc2FpZCBhYm91dCB0aGVtIGNvbnNpc3RlbnQgLS0gaWYgaXQg aXMgZXZlbiBwb3NzaWJsZS4gIFBlcnNvbmFsbHksIEknZCBsaWtlIHRvIGp1c3QgYnVybiB0aGVt LiAgLS1qY293YW4gICcnJ05PRklYJycnCgoKCiogU2VjdGlvbiAyNzogTU9oSSBzZWUgU2VjdGlv biAyOCwgbm90IDI3LiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCi0t LQoKCgohQ2hhcHRlciAxMQoKCgoqIFNlY3Rpb24gNDogVGhlIHVzZSBvZiBrYSBpbiBFeGFtcGxl IDQuNCAocGFnZSAyNTkpIGlzIGVycm9uZW91czsgaXQgc2hvdWxkIGJlIGR1J3UuIC0tKChKb2hu IENvd2FuKSkgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogTGFzdCBw YXJhZ3JhcGggb2Ygc2VjdGlvbiA3IHJlZmVyZW5jZXMgY2hhcHRlciA1IGZvciBhIGRpc2N1c3Np b24gb2YgImx1J2UiLiAgbHUnZSBpc24ndCBtZW50aW9uZWQgaW4gY2hhcHRlciA1LiAgUHJvYmFi bHkgY2hhcHRlciA2IGlzIG1lYW50IGhlcmUuCgoqKiBZZXMsIHNob3VsZCBiZSBTZWN0aW9uIDUu MTAuICAgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24g OSwgcGFnZSAyNjYgaGFzICJzYW8ncmR6aWZhJ2EiIGluc3RlYWQgb2YgInNhJ29yZHppZmEnYSIu CgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJ TiBEQUctQ0xMJycKCgoKKiBUaGUgc2FtZSBleGFtcGxlICg5LjYpIGFsc28gaGFzIGt1Y3RyYSBp bnN0ZWFkIG9mIGt1Y3RhaQoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3Zl ZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogVGhlIGJvb2sgdGl0bGUgaW4gZXhhbXBs ZSA5LjYgc2VlbXMgdG8gYmUgaW5jb3JyZWN0OiAiVGhlIENydWNpZml4aW9uIG9mIEplc3VzIENv bnNpZGVyZWQgQXMgQSBEb3duaGlsbCBCaWN5Y2xlIFJhY2UiIGlzIGFjdHVhbGx5ICJbaHR0cDov L3d3dy5ldmVyZ3JlZW5yZXZpZXcuY29tLzEwMi9maWN0aW9uL2R1by5odG1sfFRoZSBDcnVjaWZp eGlvbiBDb25zaWRlcmVkIEFzIEFuIFVwaGlsbCBCaWN5Y2xlIFJhY2VdLiIKCioqIFVuYXBwcm92 ZWQKCgoKKiBTZWN0aW9uIDEwOiBQYXJhZ3JhcGggYWJvdmUgZXhhbXBsZSAxMC43IHJlZmVyZW5j ZXMgIkNoYXB0ZXIgMTEiLiBUaGF0IHNob3VsZCByZWFkICJDaGFwdGVyIDEwIi4KCioqICgoQXBw cm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwn JwoKCgoqIFNlY3Rpb24gMTE6IEV4YW1wbGUgMTEuNSBpcyB7c3Unb2RhIHBvaSB2ZXJiYSBjdSBr bGFtYSByb2RlIHBvaSBja3VsZSBuYWt1fS4gSXQgc2hvdWxkIGJlIHtzdSdvZGEgcG9pIHZlcmJh IGN1IGtsYW1hIHJvZGUgcG9pIGNrdWxlIGt1J28gbmFrdX0gb3IgYW4gZXF1aXZhbGVudDsgYXMg aXQgc3RhbmRzIHRoZSBuYWt1IGlzIHVuZGVzaXJhYmx5IGluIHRoZSByZWxhdGl2ZSBjbGF1c2Uu CgoKCiogU2VjdGlvbiAxMiwgcGFnZSAyNjkgaGFzIGV4YW1wbGVzIDEzLjEgYW5kIDEzLjIsIHRo b3NlIHNob3VsZCBiZSBjYWxsZWQgMTIuMSBhbmQgMTIuMi4gICgoQXBwcm92ZWQgRXJyYXR1bXxq Y293YW4gQXBwcm92ZWQpKQoKCgotLS0KCgoKIUNoYXB0ZXIgMTIKCgoKKiBTZWN0aW9uIDIsIHBh Z2UgMjc1LiBUaGUgcGFyYWdyYXBoIHVuZGVyIEV4YW1wbGUgMi4zIHJlZmVycyB0byBpdCBhcyBF eGFtcGxlIDIuNCAoMi40IGRvZXNuJ3QgZXZlbiBleGlzdCkuICAoKEFwcHJvdmVkIEVycmF0dW18 amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDUsIHJpZ2h0IGFmdGVyIGV4YW1wbGUgNS43 LiBJdCBzYXlzICJhIiBpbnN0ZWFkIG9mICJhbiIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2Fu IEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDYsIHBhZ2UgMjgwLiBFeGFtcGxlIDYuNiBzaG91bGQg aGF2ZSBhIHNwYWNlIGJldHdlZW4gImxhIHNwYXQuIiBhbmQgIm5vaSIuCgoqKiAoKEFwcHJvdmVk IEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoK KiBTZWN0aW9uIDcsIHBhZ2UgMjgyLiBFeGFtcGxlIDcuNSBoYXMgImJhbnNvaSIgaW5zdGVhZCBv ZiAiYmFsc29pIi4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAn J0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTEsIHBhZ2UgMjg1IGhhcyAieGFz Y2FrY3VybnUiIGluc3RlYWQgb2YgInhhc3ljYWtjdXJudSIuCgoqKiAoKEFwcHJvdmVkIEVycmF0 dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0 aW9uIDEyIHJlZmVycyB0byAibnVua2xhbWEiIGFzIHRoZSBzYW1lIGx1anZvIGFzICJudW5rbGEi LiAgRXZlbiBpZiB0aGVzZSBhcmUgZXF1aXZhbGVudCBhbHRlcm5hdGl2ZXMgaXQgd291bGQgYmUg bGVzcyBjb25mdXNpbmcgdG8gYmUgY29uc2lzdGVudC4KCgoKKiBTZWN0aW9uIDEyIGNsYWltcyB0 aGF0IC1qYXgtIGlzIGEgcmFmc2kgZm9yIHtqYWl9LCBidXQgaXQgaXNuJ3QgaW4gW2h0dHA6Ly93 d3cubG9qYmFuLm9yZy9wdWJsaWNhdGlvbnMvd29yZGxpc3RzL3JhZnNpLnR4dHxodHRwOi8vd3d3 LmxvamJhbi5vcmcvcHVibGljYXRpb25zL3dvcmRsaXN0cy9yYWZzaS50eHRdLiBEb2VzIHtqYWl9 IGhhdmUgYSByYWZzaSBvciBub3Q/CgoqKiBJdCBzaG91bGQsIGJ1dCBzb21laG93IGl0IG5ldmVy IGdvdCBpbnRvIHRoZSBnaXNtdSBsaXN0LCBhbmQgY29uc2VxdWVudGx5IG5vdCBpbnRvIHRoZSBy YWZzaSBsaXN0IGVpdGhlci4gIFN0ZXQsIGFuZCB3ZSdsbCBhZGQgaXQgdG8gdGhlIGdpc211IGxp c3QuICAtLWpjb3dhbgoKCgoqIFNlY3Rpb24gMTIsIHJpZ2h0IGF0IHRoZSBlbmQsIHNheXMgdGhh dCB7ZmFpfSBpcyBleHBsYWluZWQgaW4gQ2hhcHRlciAxMSwgYnV0IENoYXB0ZXIgMTEgbWFrZXMg bm8gbWVudGlvbiBvZiB7ZmFpfS4gT25seSBjaGFwdGVycyA5IGFuZCAxMCBkby4KCioqICcnSU5D TFVERUQgSU4gREFHLUNMTCcnICh6b3J0J3MgZm9yayBhdCBsZWFzdCkgICgoQXBwcm92ZWQgRXJy YXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTQsIGV4YW1wbGUgMTQuMi4gTWlz c2luZyA8IC9wcmUgPiB0YWcsIGFuZCBtaXNzaW5nIDwgcHJlPiB0YWcgZm9sbG93aW5nIGV4cGxh bmF0b3J5IHBhcmFncmFwaC4KCgoKKiBTZWN0aW9uIDE0LCBwYWdlIDI5MS4gVGhlIHBhcmFncmFw aCB1bmRlciBleGFtcGxlIDE0Ljcgc2F5cyAic2UgeGFuY2UgbWluZHUiIGluc3RlYWQgb2YgInNl IHhhbmNlIG1pbmRlIi4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQp KSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTUsIHR3byBwYXJhZ3JhcGhz IGJlZm9yZSBleGFtcGxlIDE1LjcuIEl0IHNheXMgIlRoZXJlIGFyZSBzb21lIGNvbXBhcmF0aXZl IGNvbmNlcHRzIHdoaWNoIGFyZSBpbiB3aGljaCB0aGUgJ3NlIHptYWR1JyBpcyBkaWZmaWN1bHQg dG8gc3BlY2lmeS4iIFRoZSAid2hpY2ggYXJlIGluIHdoaWNoIiBzZWVtcyBncmFtbWF0aWNhbGx5 IGluY29ycmVjdC4KCioqIERyb3AgIndoaWNoIGFyZSIuICAtLWpjb3dhbiAgICgoQXBwcm92ZWQg RXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTUsIGV4YW1wbGUgMTUuMSwg dGhlIHg0IG9mIHt6bWFkdX0gYW5kIHttbGVjYX0gc2hvdWxkIGJlICJieSBhbW91bnQiIG9yICJi eSBxdWFudGl0eSIsIG5vdCAiaW4gcXVhbnRpdHkiLgoKCgoqIFNlY3Rpb24gMTUsIHBhZ2UgMjk0 LCBleGFtcGxlIDE1LjE0LiAibGEgYWluY3RhaW4iIG5lZWRzIGEgcGVyaW9kIGJlZm9yZSBpdCBi ZWNhdXNlIGl0IHN0YXJ0cyB3aXRoIGEgdm93ZWwuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2Ft Z3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKLS0tCgoKCiFDaGFw dGVyIDEzCgoKCiogTWFueSBpbmNpZGVudHMgb2Ygbm90IGhhdmluZyBwZXJpb2RzIGluIGZyb250 IG9mIHZvd2VsLWluaXRpYWwgY21hdm8uCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlz IEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBJbiBzZWN0aW9uIDIsIHAu IDMwMCByZWZlcmVuY2VzIHRvIHRoZSBleGFtcGxlcyBmb3IgLnVlIGFuZCAudWVjdSdpIGFyZSBm bGlwcGVkLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlv biAzLCBwYWdlIDMwMywgZXhhbXBsZSAzLjkuICJlJ2UiIG5lZWRzIGEgcGVyaW9kIGJlZm9yZSBp dC4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVE IElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMywgcGFnZSAzMDMsIGV4YW1wbGUgMy4xMC4gInRp c25hIiBuZWVkcyB0byBiZSByZXBsYWNlZCB3aXRoICJ0aXN5Z2F1Ii4KCioqICgoQXBwcm92ZWQg RXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoq IFNlY3Rpb24gNCwgcGFnZSAzMDUuIFRoZSBzY2FsZSB3aXRoIHRoZSBnaXNtdSBtbmVtb25pY3Mg aXMgbWlzYWxpZ25lZCB3aXRoIHRoZSBzY2FsZSB3aXRoIHRoZSBtZW1iZXJzIG9mIHNlbG1hJ28g Q0FJLiAic2FpIiBzaG91bGQgYmUgdGFiYmVkIG9uZSBwbGFjZSBsZWZ0LCBzbyB0aGF0IGl0IGFs aWducyB3aXRoIHRzYWxpLCAmYy4KCgoKKiBTZWN0aW9uIDcsIGl0IHNheXMgIkl0IGlzIG5vdCBj bGVhciBob3cgbXVjaCB1c2UgbG9naWNhbGx5IGNvbm5lY3RlZCBhYnN0cmFjdG9ycyB3aWxsIGJl OiBzZWUgQ2hhcHRlciAxMy4iIEl0IHNob3VsZCBiZSAiQ2hhcHRlciAxNS4iCgoqKiAnJ0lOQ0xV REVEIElOIERBRy1DTEwnJyAoem9ydCdzIGZvcmsgYXQgbGVhc3QpIGJ1dCBuZWVkcyBhcHByb3Zh bAoKKiBTZWN0aW9uIDEwLCBwYWdlIDMxMy4gVGhlcmUgaXMgYSBtaXNzaW5nIHNwYWNlIGJldHdl ZW4gImNvbnRpbnVlIGVtb3Rpb24iIGFuZCAiZW5kIGVtb3Rpb24iLgoKCgoqIFNlY3Rpb24gMTUu IEEgc2FtcGxlIGRpYWxvZ3VlICAxNS40KSAvIH5ucH5bQ29tbWVudF0gUGFtIHNheXMsIFtQbGVh c2VdIEFsaWNlLCBbZW5kLW9mLWNvbW1lbnRdIC8gW0NvbW1lbnRdIFBhbSBzYXlzLCBbZW5kLW9m LWNvbW1lbnRdIFtQbGVhc2VdIEFsaWNlLC9+L25wfiAoKEFwcHJvdmVkIEVycmF0dW18amNvd2Fu IEFwcHJvdmVkKSkKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAn J0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTUsIGV4YW1wbGUgMTUuNSAveGFt Z3UvZ2xla2kvID8KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAn J0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTUsIGV4YW1wbGUgMTUuMTApIC9m aSdpIHJvIHp2YXRpIGtvIHBpbnhlIHBhIGNrYWZpL2ZpJ2kgcm8genZhdGkgLmkga28gcGlueGUg cGEgY2thZmkvCgoqKiBObywgdGhpcyBvbmUgaXMgcGVyZmVjdGx5IGZpbmU6ICJmaSdpIHJvIHp2 YXRpIiBpcyBhIHZvY2F0aXZlIHBocmFzZSwgd2hpY2ggaXMgYSBmcmVlIG1vZGlmaWVyLCBtZWFu aW5nIHRoYXQgaXQgY2FuIG9jY3VyIGFsbW9zdCBhbnl3aGVyZS4gICgoQXBwcm92ZWQgRXJyYXR1 bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTUsIGV4YW1wbGUgMTUuMTMpIC9maSdv IHNlbHBsZWppIG1pL2ZpJ28gcGxlamkgbWkvCgoqKiBBbmQgIndpdGggcGF5ZXIiIHJhdGhlciB0 aGFuICJ3aXRoIHBheW1lbnQiOyBleSdzIG5vdCBwYXlpbmcgd2l0aCBlbXNlbGYhIC0tIGNhbWd1 c21pcwoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVE RUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxNSwgZXhhbXBsZSAxNS4xMy4gV3JvbmcgdXNl IG9mIHtzZWxmdX0uIHtiZXZyaX0gd291bGQgZml0IGJldHRlci4KCi0tLQoKCgohQ2hhcHRlciAx NAoKCgoqIFNlY3Rpb24gOCwgcmlnaHQgYmVmb3JlIGV4YW1wbGUgOC45IGlzICJwcm9kdWNpbmcg ZXhhbXBsZSA4LjEwIiB3aGljaCBzaG91bGQgaW4gZmFjdCByZWFkICJwcm9kdWNpbmcgZXhhbXBs ZSA4LjkiLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlv biA5OiBiZXR3ZWVuIGV4YW1wbGUgOS4xMCBhbmQgOS4xMSwgImlkZW50aWZpZWQiIHNob3VsZCBy ZWFkICJpZGVudGljYWwiCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVk KSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDExLCByaWdodCBiZWZvcmUg c2VjdGlvbiAxMi4gSXQgc2F5cyAidGVybXNldHMuLi5hcmUgZXhwbGFpbmVkIGluIENoYXB0ZXIg MTIgYW5kIENoYXB0ZXIgMTYiIGJ1dCBjaGFwdGVyIDEyICh3aGljaCBpcyBvbiBsdWp2bykgbWFr ZXMgYWJzb2x1dGVseSBubyBtZW50aW9uIG9mIHRlcm1zZXRzLiBDaGFwdGVycyA5IGFuZCAxMCBk aXNjdXNzIHRlcm1zZXRzLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoK CiogU2VjdGlvbiAxNCwgZXhhbXBsZSAxNC4xNSBpcyBub3QgZ3JhbW1hdGljYWwgKGFjY29yZGlu ZyB0byBqYm9maSdlIGFuZCBjYW14ZXMpIGJlY2F1c2UgaXQgc2F5cyAicGUnZSAuZSIgd2hlbiBp dCBzaG91bGQgc2F5ICJwZSdlIGplIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92 ZWQpKQoKCgoqIFNlY3Rpb24gMTQsIGV4YW1wbGUgMTQuMTYgbWVudGlvbnMgInNvcm1lIiwgd2hp Y2ggaXMgcHJvYmFibHkgT2xkIExvZ2xhbiwgYW5kIHNob3VsZCBiZSByZXBsYWNlZCBieSAibWVu c2kiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVE RUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxNCwgInRoZSBzdGF0ZWQgZ2xvc3Mgb2YgVEZU VGFzIOKAnG9ubHkgaWbigJ0gd29ya3MgbmF0dXJhbGx5IG9ubHkgd2hlbiB0aGUgcmlnaHQtaGFu ZCBicmlkaSBpcyB0cnVlOyBpZiBpdCBpcyBmYWxzZSwgdGhlIGxlZnQtaGFuZCBicmlkaSBtYXkg YmUgZWl0aGVyIHRydWUgb3IgZmFsc2UuIiBjaGFuZ2VkIHRvICJ0aGUgc3RhdGVkIGdsb3NzIG9m IFRGVFRhcyDigJxvbmx5IGlm4oCdIHdvcmtzIG5hdHVyYWxseSBvbmx5IHdoZW4gdGhlIHJpZ2h0 LWhhbmQgYnJpZGkgaXMgZmFsc2U7IGlmIGl0IGlzIHRydWUsIHRoZSBsZWZ0LWhhbmQgYnJpZGkg bWF5IGJlIGVpdGhlciB0cnVlIG9yIGZhbHNlLiIKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1n dXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTUs IHJpZ2h0IGFmdGVyIDE1LjksIGl0IHNheXMgImV4YW1wbGUgMTQuMTciIHdoZXJlIGl0IHNob3Vs ZCBzYXkgImV4YW1wbGUgMTUuOSIgKDE0LjE3IGRvZXMgbm90IGV4aXN0KS4gICgoQXBwcm92ZWQg RXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTUsIGV4YW1wbGUgMTUuOCBp cyBtaXNzaW5nIGEgZG90IGFmdGVyICJsYSBsb2piYW4iLgoKCgoqIFNlY3Rpb24gMTUsIGV4YW1w bGUgMTUuOSBpcyBub3QgZ3JhbW1hdGljYWw7IGl0IHNob3VsZCBiZSAibGEgZGphbi4gZmEndSBs YSBmcmFuay4gY3Vza3UgbnUnaSBiYXUgbGEgbG9qYmFuLiBwZSdlIGZhJ3UgYmFpIGxhIGRqb3Jk ai4iLgoKCgoqIFNlY3Rpb24gMTcsIGV4YW1wbGUgMTcuNCBpcyB3cm9uZy4gIFRoZSBzZWN0aW9u IGV4cGxhaW5zIHRoYXQgbWVrc28gb3BlcmF0b3JzIGNhbiBiZSBsb2dpY2FsbHkgY29ubmVjdGVk IHVzaW5nIHtndSdlIC4uLiBnaSAuLi59LCBidXQgdGhpcyBleGFtcGxlIHRyaWVzIHRvIGNvbm5l Y3QgdGhlbSB3aXRoIHtnZSAuLi4gZ2kgLi4ufS4gIFJlcGxhY2Uge2dlfSB3aXRoIHtndSdlfSBp biB0aGUgZXhhbXBsZSB0byBjb3JyZWN0IGl0LgoKCgoqIFNlY3Rpb24gMTksIGV4YW1wbGUgMTku NCBpcyB0cmFuc2xhdGVkIGFzICJJIG9waW5lIHRoZSBmYWN0LXRoYXQgYS1tYXNzLW9mIGxpdmlu Zy10aGluZ3MgaXMtYXQgSnVwaXRlciBvci1lbHNlIEkgb3BpbmUgdGhlIGZhY3QtdGhhdCBhLW1h c3Mtb2YgbGl2aW5nLXRoaW5ncyBpc24ndC1hdCBKdXBpdGVyIiBidXQgcmVhbGx5IGl0J3MgIkkg b3BpbmUgdGhlIGZhY3QtdGhhdCBhLW1hc3Mtb2YgbGl2aW5nLXRoaW5ncyBpcy1hdCBKdXBpdGVy IG9yLWVsc2UgSSBfX2RvLW5vdF9fIG9waW5lIHRoZSBmYWN0LXRoYXQgYS1tYXNzLW9mIGxpdmlu Zy10aGluZ3MgX19pcy1hdF9fIEp1cGl0ZXIiLiBTbyAxOS40IGlzIGFjdHVhbGx5IHRydWUsIG5v dCBmYWxzZSBhcyBpdCBpcyBjbGFpbWVkIHRvIGJlLgoKKiogQ29ycmVjdCwgc28gdGhpcyBleGFt cGxlIHdpbGwgbmVlZCByZXBsYWNpbmcuICAgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBw cm92ZWQpKQoKCgoqIEFsc28gdGhlcmUgaXNuJ3QgcmVhbGx5IGEgcmVhc29uIGZvciBpdCB0byBz YXkgYSBtYXNzIG9mIGxpdmluZyB0aGluZ3MgYW5kIG5vdCBzb21lIGluZGl2aWR1YWwgbGl2aW5n IHRoaW5ncy4KCioqIFN0ZXQuICBUaGUgYXV0aG9yIHByZWZlcnMgaXQgdGhhdCB3YXksIHRoYW5r eW91dmVyeW11Y2guICAtLWpjb3dhbi4KCgoKCgotLS0KCgoKISBDaGFwdGVyIDE1CgoKCiogU2Vj dGlvbiAyLCBtaXNzaW5nIDwgL3ByZSA+IHRhZyBhZnRlciBleGFtcGxlIDIuOCBhbmQgPCBwcmU+ IHRhZyBiZWZvcmUgZXhhbXBsZSAyLjkuCgoKCiogU2VjdGlvbiA0LCBleGFtcGxlIDQuMTIgL25h a2UvbmEnZWtlLwoKCgoqIFNlY3Rpb24gOSwgdHdvIHBhcmFncmFwaHMgYWJvdmUgZXhhbXBsZSA5 LjQgdGhlIHdvcmQgIm5lZ2F0aXYiIHNob3VsZCBiZSAibmVnYXRpdmUiLiAgKChBcHByb3ZlZCBF cnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiA5OiBJcyB0aGVyZSBzdXBwb3Nl ZCB0byBiZSBhbnkgZGlmZmVyZW5jZSBiZXR3ZWVuIGV4LiA5LjUgYW5kIDkuNj8KCioqIFRoYXQg cHJvYmxlbSBpcyBvbmx5IGluIHRoZSBvbmxpbmUgdmVyc2lvbi4KCgoKKiBTZWN0aW9uIDEwLCB0 aHJlZSBwYXJhZ3JhcGhzIGFmdGVyIGV4YW1wbGUgMTAuMTQsIHRoZXJlJ3MgYSBzZW1pY29sb24g d2hpY2ggc2hvdWxkIGJlIGEgY29tbWEgYWZ0ZXIgIihzYXksIGEgc3BlbGxpbmcgZXJyb3IpIi4g ICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTAsIGl0 IHNheXMgIidqaSd1bmEnaWt1JyBtZXRhbGluZ3Vpc3RpY2FsbHkgc2F5cyB0aGF0IHNvbWV0aGlu ZyBpcyB3cm9uZyB3aXRoIHRoYXQgYXNzdW1wdGlvbi4gKFNlZSBDaGFwdGVyIDEwLikiLiBTaG91 bGRuJ3QgdGhhdCBiZSBDaGFwdGVyIDksIG1vZGFscz8KCioqICcnSU5DTFVERUQgSU4gREFHLUNM TCcnICh6b3J0J3MgZm9yayBhdCBsZWFzdCkgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHBy b3ZlZCkpCgotLS0KCgoKIUNoYXB0ZXIgMTYKCgoKKiBTZWN0aW9uIDUsIGV4YW1wbGUgNS41OiBF bmdsaXNoIGhhcyAiZXZlcnkgWSIgd2hlbiBpdCBzaG91bGQgcmVhZCAiZXZlcnkgWCIKCioqICgo QXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1D TEwnJwoKCgoqIFNlY3Rpb24gNiwgZXhhbXBsZSA2LjYgaGFzIGEgbWlzc2luZyAiY3UiIGJlZm9y ZSAidmlza2EiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcn SU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA4LCB0aGUgZXhwbGFuYXRpb24gb2Yg ZXhhbXBsZSA4LjMgc2F5cyAiYW55IGVudGl0eSB3aGljaCBpcyBvbmUgaXMgYWxzbyB0aGUgb3Ro ZXIiLiBUaGF0IHdvdWxkIGJlIHRydWUgaWYgdGhlIGV4YW1wbGUgdXNlZCB7Z299LCBidXQgaXQg dXNlcyB7Z2FuYWl9LiA4LjMgZG9lcyBub3QgY2xhaW0gdGhhdCBpZiBzb21ldGhpbmcgd2Fsa3Mg YWNyb3NzIHRoZSBmaWVsZCB0aGVuIGl0IGdvZXMgdG8gdGhlIHN0b3JlLiAgKChBcHByb3ZlZCBF cnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpICBDaGFuZ2UgaXQgdG8gdXNlIHtnb30uICcnSU5DTFVE RUQgSU4gREFHLUNMTCcnCgoqKiBTYW1lIHBsYWNlOiBuZWVkcyB0byBibyB7ZGEgZ299LCBub3Qg e2dvIGRhfSAgQW5kIHRoZSBnbG9zcyBzaG91bGQgYmUgIkZvci1ldmVyeSBYOiBYIGlzLWEtZ29l ci10byB0aGUgc3RvcmUgaWYtYW5kLW9ubHktaWYgaXQgaXMtYS13YWxrZXItb24gdGhlIGZpZWxk LiIgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDgsIGV4YW1wbGUgOC4zLiBF aXRoZXIgdGhlIHtkYX0gc2hvdWxkIGNvbWUgYmVmb3JlIHRoZSB7Z2FuYWl9IChvciwgYnkgdGhl IHByZXZpb3VzIF4gZXJyYXR1bSwge2dvfSkgYW5kIHRoZSBnbG9zcyBzaG91bGQgYmUgY2hhbmdl ZCB0byBvbmx5IG1lbnRpb24gIlgiIG9uY2UsIG9yIGEge2RhfSBzaG91bGQgYmUgaW5zZXJ0ZWQg YmVmb3JlIHtjYWR6dX0uCgoqKiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJyAgY2hvc2UgZmlyc3Qg b3B0aW9uIHNpbmNlIGl0J3MgdGVyc2VyICh6b3J0J3MgZm9yayBhdCBsZWFzdCkgYnV0IG5lZWRz IGFwcHJvdmFsCgoKCiogVGhpczogIkFkamFjZW50IG5lZ2F0aW9uIGJvdW5kYXJpZXMgaW4gdGhl IHByZW5leCBjYW4gYmUgZHJvcHBlZCwiIHJlYWRzIGJldHRlciBhcyAiQWRqYWNlbnQgcGFpcnMg b2YgbmVnYXRpb24gYm91bmRhcmllcyBpbiB0aGUgcHJlbmV4IGNhbiBiZSBkcm9wcGVkLCIKCioq ICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERB Ry1DTEwnJwoKKioqIFRoZSBvbmxpbmUgdmVyc2lvbiBzYXlzICJBZGphY2VudCBkb3VibGUgbmVn YXRpb24gYm91bmRhcmllcyIsIGJ1dCBJJ20gb2theSB3aXRoIGVpdGhlciAiZG91YmxlIiBvciAi cGFpcnMgb2YiLiAgLS1qY293YW4KCgoKKiBTZWN0aW9uIDEwLCBleC4gMTAuNSBhbmQgMTAuNiBo YXZlIGEgcHJlbmV4LCAibmFrdSB6byd1IiwgYWZ0ZXIgYW4gaWplay4gVGhpcyBpcyBub3QgYWxs b3dlZCBieSB0aGUgZ3JhbW1hci4gSXQgY291bGQgYmUgZml4ZWQgYnkgcmVtb3ZpbmcgdGhlICJ6 byd1IiBhbmQgdXNpbmcgIm5ha3UiIG91dHNpZGUgdGhlIHByZW5leCwgYWx0aG91Z2ggdGhpcyBp cyBvbmx5IGV4cGxhaW5lZCBpbiB0aGUgZm9sbG93aW5nIFNlY3Rpb24gMTEuCgoqKiBUaGlzIGlz IGEgYmlnIHByb2JsZW0sIGFuZCBJJ20gbm90IHN1cmUgd2hhdCBzaG91bGQgYmUgZml4ZWQuICAt LWpjb3dhbiAgJycnTk9GSVgnJycKCiogU2VjdGlvbiAxMiwgZXguIDEyLjcgYW5kIDEyLjkgaGF2 ZSBtaXNzaW5nICJjdSJzLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3Zl ZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxNCwgRXhhbXBsZSAxNC4x IGhhcyAiYmxhY2kiIChnbGFzcykgbm90ICJibGFiaSIgKHdoaXRlKSBhcyBwZXIgdGhlIEVuZ2xp c2guCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURF RCBJTiBEQUctQ0xMJycKCgoKLS0tCgoKCiFDaGFwdGVyIDE3CgoKCiogU2VjdGlvbiA1LCBhZnRl ciBleGFtcGxlIDUuMSwgcGFyYWdyYXBoIHN0YXJ0aW5nICJIb3dldmVyLCAiIGhhcyBpbmNvcnJl Y3QgZm9udC4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rp b24gNSwgaW4gdGhlIHNlY29uZCBwYXJhZ3JhcGggYWZ0ZXIgZXhhbXBsZSA1LjEsIHNheXMgJ3Ro ZSBsZXJmdSB3b3JkIOKAnHR54oCdIHdvdWxkIHJlcHJlc2VudCBub3QgTGF0aW4g4oCcdOKAnSBi dXQgR3JlZWsg4oCcdGF14oCdLicgU2hvdWxkbid0IGl0IGJlICJ0eS4iPwoKCgoqIFNlY3Rpb24g OSwgcGFnZSA0MjEuIGxlcmZ1IHN0cmluZ3MgYXJlIHdyaXR0ZW4gd2l0aG91dCBwYXVzZXMgb3Ig c3BhY2VzLCBldmVuIHRob3VnaCBCWSB3b3JkcyBoYXZlIHRvIGVuZCB3aXRoIGEgY29uc29uYW50 LgoKKiogU3RldC4gIEJZIHdvcmRzIGRvIG5vdCBlbmQgd2l0aCBhIGNvbnNvbmFudCwgYW5kIGEg c3RyaW5nIG9mIHRoZW0gY2FuIG5ldmVyIGJlIGFtYmlndW91cywgc28gcGF1c2VzL3NwYWNlcyBh cmUgbm90IHJlcXVpcmVkLiAgLS1qY293YW4KCgoKKiBTZWN0aW9uIDksIEV4YW1wbGUgOS40OiBz aG91bGRuJ3QgInN5bXlqeSIgYmUgInN5bXlkeSIgKGxvamJhbiBtb3JwaG9sb2d5KT8gICgoQXBw cm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTAuIEFmdGVyIEV4 YW1wbGUgMTAuNC41LCB0aGUgcmVmZXJlbmNlIHRvIEV4YW1wbGUgMTAuNCBzaG91bGQgYmUgaW5z dGVhZCB0byBFeGFtcGxlIDEwLjQuNS4KCioqSW4gdGhlIGN1cnJlbnQgREFHLUNMTCwgdGhlIGV4 YW1wbGVzIG51bWJlcmluZyBpcyBzYW5lLCBidXQgYWZ0ZXIgRXhhbXBsZSAxMC4zLCB0aGUgdHdv IHJlZmVyZW5jZXMgdG8gRXhhbXBsZSAxMC40IHNob3VsZCBiZSB0byBFeGFtcGxlIDEwLjMuCgoK CiogUmlnaHQgYmVmb3JlIHNlY3Rpb24gMTIsIHRoZXJlIGlzIGEgbGluZSBicmVhayBpbiB0aGUg bWlkZGxlIG9mIHRoZSBwYXJhZ3JhcGguICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJv dmVkKSkKCgoKKiBJbiBzZWN0aW9uIDEzLCB0aGUgZmlyc3QgcGFyYWdyYXBoIHN0YXRlcyAiSGlz dG9yaWNhbGx5LCB0aGVzZSBjaGFyYWN0ZXIgc2V0cyBoYXZlIG9ubHkgY292ZXJlZCB0aGUgRW5n bGlzaCBhbHBoYWJldCBhbmQgYSBmZXcgc2VsZWN0ZWQgcHVuY3R1YXRpb24gbWFya3MuIiwgd2hp Y2ggaXMgaW5jb3JyZWN0LiBUaGVyZSBoYXZlIGJlZW4gbXVsdGl0dWRlcyBvZiBjaGFyYWN0ZXIg c2V0cyBmb3Igd3JpdGluZyBzeXN0ZW1zIG90aGVyIHRoYW4gdGhlIEVuZ2xpc2ggYWxwaGFiZXQu CgoqKiBDaGFuZ2UgdG8gc29tZXRoaW5nIGFsb25nIHRoZSBsaW5lIG9mICJIaXN0b3JpY2FsbHks IGVhY2ggb2YgdGhlc2UgY2hhcmFjdGVyIHNldHMgaGFzIG9ubHkgY292ZXJlZCBhIHBhcnRpY3Vs YXIgd3JpdGluZyBzeXN0ZW0uIgoKCgoqIFNlY3Rpb24gMTcsIHBhZ2UgNDI3LiAiLnR2cml5ZG9z LiBidSIgYmVnaW5zIHdpdGggdGhlIGNvbnNvbmFudCBjbHVzdGVyLCB3aGljaCBpc24ndCBldmVu IHBlcm1pc3NpYmxlIG1lZGlhbGx5LgoKKiogY2hhbmdlIHRvIHR5dnJpeWRvcwoKKioqICgoQXBw cm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwn JwoKKioqKiBBY3R1YWxseSwgaXQgc2hvdWxkIGJlICJ0eXZyZG9zLiBidSIgIC0tamNvd2FuCgoK CiogSW4gdGhlIHRhYmxlIGluIHNlY3Rpb24gMTksIHRoZSBsZXJ2bGEgZm9yIG92ZXItZG90ICgi Lmdhcm1vYy4gYnUiKSBhbmQgb3Zlci1yaW5nICgiLmdhcmppbi4gYnUiKSBzaG91bGQgYmUgdXBk YXRlZCB0byB0aGVpciBwb3N0LVJlYWxsb2NhdGlvbiBmb3JtcywgIi5nYXBtb2MuIGJ1IiBhbmQg Ii5nYXB5amluLiBidSIuCgoqKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3Zl ZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxOSBoYXMgdHdvIGNvbHVt bnMgcnVuIHRvZ2V0aGVyIGluIHRoZSByb3cgdGhhdCBzYXlzICJEYW5pc2gvTGF0aW4gYWV0ZWkg LmFidSAuZWJ1IGZvaSIKCgoKLS0tCgohQ2hhcHRlciAxOAoKKiBbaHR0cHM6Ly9sb2piYW4uZ2l0 aHViLmlvL2NsbC8xOC8xMC8ganUndV0gaXMgaW4gVlVoVS4gSXQgc2hvdWxkIGJlIG9mIHRoZSB0 eXBlIFBBLiBOb3RpY2UgaG93IHtwaX0gYW5kIHtuaSd1fSBhbmQge2thJ299IGFuZCB7Y2knaX0g YW5kIHtmaSd1fSBhcmUgYWxsIG9mIHR5cGUge3BhfSwgc28gdGhleSBjYW4gZ28gaW4gYSBudW1l cmljYWwgbGl0ZXJhbCBiZXR3ZWVuIGRpZ2l0cy4gZXNwZWNpYWxseSB7a2Enb30sIHdoaWNoIGNh biBzZXBhcmF0ZSB0aGUgcmVhbCBwYXJ0IGFuZCBpbWFnaW5hcnkgcGFydCB0byBtYWtlIGEgY29t cGxleCBsaXRlcmFsLCBhbmQgc2ltaWxhcmx5IHtzdSdvfSBhbmQge3N1J2V9IGNhbiBzZXBhcmF0 ZSBudW1iZXJzIHRvIG1ha2UgaW50ZXJ2YWxzLgoKKiBTZWN0aW9uIDMsIGV4LiAzLjEwLCBzaG91 bGQgdHJhbnNsYXRlIGFzICIuMTAxMjAwMSIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFw cHJvdmVkKSkKCgoKKiBJbiBzZWN0aW9uIDQgZXhhbXBsZSA0LjUgaXMgbGlua2VkIGluc3RlYWQg b2YgNC43IC0gIkV4YW1wbGUgNC41IGlzIG5vdCBgYDEgbWludXMgMicnLCBbLi4ufC4uLl0iIHdo ZXJlIGV4YW1wbGUgNC41IGlzIGp1c3QgInRlJ28iLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dh biBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiA1LCBwNDM3IGV4NS45IFtnbG9zc106IG91ciAtPiBm b3VyICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiogJydJTkNMVURFRCBJ TiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDYsIHA0Mzg6IGogdnUndSAtPiB2dSd1ICAoKEFwcHJv dmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCioqICcnSU5DTFVERUQgSU4gREFHLUNMTCcn CgoKCiogU3RhcnQgb2Ygc2VjdGlvbiAxMSBzaG91bGQgcmVhZCB0aGVyZSBhcmUgZml2ZSBtZW1i ZXJzIG9mIE1PSSAobm90IGZvdXIpLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3Zl ZCkpCgoKCiogSW4gc2VjdGlvbiAxMSwgZXggMTEuMTAgb24gdmEnZSAic29maSd1cGFubyIgaW4g dGhlIGV4YW1wbGUgaXMgZ2xvc3NlZCBhcyAiOC8xMCIgaW5zdGVhZCBvZiAiOS8xMCIuICAoKEFw cHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCioqICcnSU5DTFVERUQgSU4gREFHLUNM TCcnCgoKCiogSW4gc2VjdGlvbiAxMSwgImxlaSByYXRjdSBwb2kgenZhdGkgbGUgcGFua2EgY3Ug c28ndW1laSBmbyBsbydpIHJhdGN1IiwgYnV0IHRoZXJlIGlzIG5vIDR0aCBwbGFjZSBvZiBtZWku CgoqKiBSZW1vdmUgdGhlICJmbyI7ICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQp KSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIEV4YW1wbGUgMTQuNCBuZWVkcyBhIHN1Yi0y IGFmdGVyIGJvdGggbnVtYmVycy4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBw cm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIEluIHNlY3Rpb24gMTcsIGV4YW1w bGUgMTcuNSwge2dpfSBzaG91bGQgYmUgcmVwbGFjZWQgYnkge2d1J2V9LCBiZWNhdXNlIG1la3Nv IG9wZXJhdG9ycyBhcmUgdG8gYmUgY29ubmVjdGVkIGJ5IGd1aGVrcy4gIFRoaXMgaXMgZXNzZW50 aWFsbHkgdGhlIHNhbWUgbWlzdGFrZSBhcyBpbiBleGFtcGxlIDE0LzE3LjQuCgoKCiogSW4gc2Vj dGlvbiAxNywgdGhlIEVuZ2xpc2ggdHJhbnNsYXRpb24gZm9yIGV4YW1wbGUgMTcuNiBoYXMgdGhl IGZvcm11bGEgcmVuZGVyZWQgd3JvbmcgaW4gdGhlIEhUTUwgdmVyc2lvbi4gIFRoZSBmcmFjdGlv biBiYXIgc2hvdWxkIGJlIGFkZGVkIChpdCBpcyBpbnZpc2JsZSBjdXJyZW50bHkpLCBhbmQgdGhl IHdvcmRzICJ0aGVuIHggPSIgc2hvdWxkIGJlIHZlcnRpY2FsbHkgYWxpZ25lZCB0byB0aGUgZnJh Y3Rpb24gYmFyICh0aGV5IGFyZSBjdXJyZW50bHkgYWxpZ25lZCB0byB0aGUgbnVtZXJhdG9yKS4K CgoKKiBJbiBzZWN0aW9uIDE3LCBhdCB0aGUgYm90dG9tIG9mIHBhZ2UgNDU0LCB0aGUgcXVhZHJh dGljIGZvcm11bGEgc2hvdWxkIGJlIGRlc2NyaWJlZCBhcyBhIGNsYXNzaWMgZXhhbXBsZSBvZiBv cGVyYXRvciBsb2dpY2FsIGNvbm5lY3Rpb24sIG5vdCBvcGVyYW5kLiAgKChBcHByb3ZlZCBFcnJh dHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAyMCwgcDQ1ODogLWVzdGFibGlzaGVk IC0+IGVzdGFibGlzaGVkICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoK KiBTZWN0aW9uIDIxIHN0YXRlcyB0aGF0IHRoZSByYWZzaSBvZiAiZnJpbnUiIG1heSBiZSB1c2Vk IGFzIHJhZnNpIGZvciAiZmkndSI7IGhvd2V2ZXIsICJmcmludSIgbG9zdCBib3RoIG9mIGl0cyBz aG9ydCByYWZzaSBpbiB0aGUgUmVhbGxvY2F0aW9uLCBzbyB0aGlzIHJlYWxseSBpc24ndCB2ZXJ5 IHVzZWZ1bC4gVGhlIHRhYmxlIGJlbG93IGxpc3RzICJmaSd1IiBhcyBhIHJhZnNpIHVzYWJsZSBm b3IgImZpJ3UiLCB0aGVyZWZvcmUgb2YgImZyaW51IjsgdGhlIGdpbXN0ZSBsaXN0cyAiZmkndSIg YXMgYSByYWZzaSBvZiAiY2ZpcHUiLgoKKiogVGhpcyBpcyBhIHNlcmlvdXMgcHJvYmxlbSB3aGlj aCBuZWVkcyBzb21lIHRob3VnaHQuICBUaGVyZSBuZWVkcyB0byBiZSBhIHJhZnNpIGZvciBmaSd1 IHNvbWVob3cuICAtLWpjb3dhbiAgJycnTk9GSVgnJycKCgoKKiBTZWN0aW9uIDIyIGV4YW1wbGUg MjIuMywgIm1vJ2Ugdm9ib2kgcmVub21laSBzdSdpIHplIiwgZG9lcyBub3QgcGFyc2UuCgoqKiBJ dCBuZWVkcyAidmVpIiBpbiBmcm9udCB0byBiZSBhIHF1YW50aWZpZXIgKGFuIG9wZXJhbmQgYnkg aXRzZWxmIGlzIG5vdCBhIHBlcm1pdHRlZCBmcmFnbWVudCkuIEFsc28sIHRoZSBmb2xsb3dpbmcg dGV4dCBtZW50aW9ucyAidGUndSIgYnV0IHRoZSBleGFtcGxlIG9taXRzIGl0LgoKKioqIE5vbmUg b2YgdGhvc2UgZXhhbXBsZXMgcGFyc2Ugd2l0aG91dCB7bGl9LCB3aGljaCBJIGhhdmUgYWRkZWQg dG8gYWxsLiAgUmVwbGFjZWQgdGhlIG9uZSBpbiBxdWVzdGlvbiB3aXRoICJsaSBtbydlIHZvYm9p IHJlbm9tZWkgdGUndSBzdSdpIHplIiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJv dmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDI1LiAgVGhlIHJhZnNp IGZvciAic28nZSIsIC1zb3AtLCBpcyBtaXNzaW5nLCB0aGUgcmFmc2kgZm9yIHRoZSBmb2xsb3dp bmcgZm91ciB3b3JkcyBhcmUgbGlzdGVkIHVuZGVyIHRoZSB3cm9uZyB3b3JkLiAgVGhhdCBpcywg LXNvci0gaXMgYWN0dWFsbHkgdGhlIHJhZnNpIGZvciAic28naSIsIGFuZCAtZGF6LSBpcyB0aGUg cmFmc2kgZm9yICJkYSdhIi4KCgoKLS0tCgohQ2hhcHRlciAxOQoKCgoqIFNlY3Rpb24gNCwgcDQ2 NyBleDQuMzogenUnbyAtPiB6byd1ICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVk KSkKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVE IElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gNiwgcGFnZSA0NzIuIEV4YW1wbGUgNi42IGVuZHMg d2l0aCAia2xhbWEiLCBidXQgZm9yIHRoZSBhcmd1bWVudCB0byBtYWtlIHNlbnNlLCBpdCBoYXMg dG8gc2F5ICJudW5rbGEiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3Zl ZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA3LCBFeGFtcGxlIDcuMSBo YXMgYXMgdGhlIEVuZ2xpc2g6ICJJIGdvLXRvIChmaXJzdGx5KSB0aGUgc3RvcmUgYW5kIChzZWNv bmRseSkgdGhlIG1hcmtldC4iICAidGhlIG1hcmtldCIgc2hvdWxkIGJlICJ0aGUgaG91c2UiLgoK KiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4g REFHLUNMTCcnCgoKCiogRXhhbXBsZSAxMS44LCB0aGVyZSdzIGEgZGVucGFidSBhZnRlciB7emEn ZX0gYW5kIG5vIGRlbnBhYnUgYWZ0ZXIge2FsYmVpbmlhc30uCgoqKiAnJ0lOQ0xVREVEIElOIERB Ry1DTEwnJyAoem9ydCdzIGZvcmsgYXQgbGVhc3QpIGJ1dCBuZWVkcyBhcHByb3ZhbAoKCgoqIFNl Y3Rpb24gMTEsIHRoZSBwYXJhZ3JhcGggYWZ0ZXIgZXhhbXBsZSAxMS44IHNheXMgImN0aWlweXJp cyIgYnV0IGl0IHNob3VsZCBiZSAiY2tpaXB5cmlzIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293 YW4gQXBwcm92ZWQpKQoKLS0tCgoKCiFDaGFwdGVyIDIwCgoKCiogU2VjdGlvbiBMRSwgcGFnZSA0 OTguIEluICJsZSBnZXJrdSBrbGFtYSBsZSB6ZGFuaSIsICJjdSIgaXMgbWlzc2luZy4KCioqICgo QXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1D TEwnJwoKCgoqIFNlY3Rpb24gVFVoRSwgcGFnZSA1MDUuIEluICJ4YWdtYXUgem8ndSB0dSdlIGdh bmFpIGNpZGphIGdpIGNuaW5vIC5pIGdhbmFpIHZhbmp1IGdpIHRvbGNpJ28gdHUndSIsICJjbmlu byIgc2hvdWxkIGJlIHJlcGxhY2VkIGJ5ICJjaXRubyIuICBBbHNvLCBhIHByZW5leCBjYW4ndCBo YXZlIGEgc2VsYnJpLCBzbyAnJ3hhZ21hdScnIHNob3VsZCBiZSByZXBsYWNlZCBieSAnJ2xvIHhh Z21hdScnLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5D TFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiBTRSwgcGFnZSA1MDQ6IG1pc3NpbmcgImN1 IiBhZnRlciAiemFyY2kiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3Zl ZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogSW4gdGhlIHBhc3NhZ2VzIG9uIFZFSSBh bmQgVkVoTywgdGhlICJibyJzIHNob3VsZCBiZSBjaGFuZ2VkIHRvICJiaSdlInMuICAoKEFwcHJv dmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKLS0tCgoKCiFDaGFwdGVyIDIxCgoKCiog SW4gdGhlIEJORiBncmFtbWFyLCB0aGUgcnVsZSBzaW1wbGUtdGVuc2UtbW9kYWwtOTcyIGlzIG1p c3NpbmcgYSAifCIgYmVmb3JlIHRoZSBDVWhFLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBB cHByb3ZlZCkpCgoKCiogSW4gdGhlIEJORiBncmFtbWFyLCB0aGUgcnVsZSBzaW1wbGUtdGVuc2Ut bW9kYWwtOTcyIGhhcyBhbiBleHRyYSBuZXdsaW5lIGluIHRoZSBzcGFjZS90aW1lIHN1YnBocmFz ZS4KCgoKKiBJbiB0aGUgQk5GIGdyYW1tYXIsIHRoZSBydWxlIHNlbGJyaS0xLTEzMSBpcyBtaXNz aW5nIGEgInwiIGJlZm9yZSB0aGUgTkEuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJv dmVkKSkKCgoKKiBJbiB0aGUgQk5GIGdyYW1tYXIsIHRoZSBydWxlIHRhbnJ1LXVuaXQtMi0xNTIg aXMgbWlzc2luZyBhICJ8IiBiZWZvcmUgdGhlIEpBSS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293 YW4gQXBwcm92ZWQpKQoKCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVk KSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycgOyBiaXphcmVsbHksIHRoZSBXb3JkIGRvYyB0aGUg Ym9vayB3YXMgcHJpbnRlZCBmcm9tIGRvZXMgbm90IGhhdmUgdGhpcyBwcm9ibGVtIGF0IGFsbC4K CgoKKiBJbiB0aGUgQk5GIGdyYW1tYXIsIHRoZSBydWxlIG9wZXJhdG9yLTEtMzcxIGlzIG1pc3Np bmcgdHdvICJ8Ii4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIElu IHRoZSBCTkYgZ3JhbW1hciwgdGhlIHJ1bGUgbWV4LW9wZXJhdG9yLTM3NCBpcyBtaXNzaW5nIGEg InwiIGJlZm9yZSB0aGUgTUFoTyBhbmQgYW5vdGhlciBiZWZvcmUgdGhlIFZVaFUuICAoKEFwcHJv dmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBJbiB0aGUgQk5GIGdyYW1tYXIsIHRo ZSBydWxlIG9wZXJhbmQtMy0zODUgaXMgbWlzc2luZyBhICJ8IiBiZWZvcmUgdGhlIE5JaEUuICAo KEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBJbiB0aGUgQk5GIGdyYW1t YXIsIGluIHRoZSBydWxlIHRpbWVfMTAzMCwgdGhlICJaRWhBIFtQVSBbTkFJXSBdIiBzaG91bGQg YmUgZW5jbG9zZWQgaW4gcGFyZW50aGVzZXMuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFw cHJvdmVkKSkKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpXaWtpbmV1cm90aWMgbWFpbGluZyBsaXN0Cldpa2luZXVyb3RpY0Bsb2piYW4ub3JnCmh0dHA6 Ly9tYWlsLmxvamJhbi5vcmcvbWFpbG1hbi9saXN0aW5mby93aWtpbmV1cm90aWMK