Received: from localhost ([::1]:59588 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.80.1) (envelope-from ) id 1WBsdX-00079S-2j; Fri, 07 Feb 2014 13:06:59 -0800 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:55562 helo=jukni.digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.80.1) (envelope-from ) id 1WBsdK-00078y-6n for wikichanges@lojban.org; Fri, 07 Feb 2014 13:06:55 -0800 Received: by jukni.digitalkingdom.org (sSMTP sendmail emulation); Fri, 07 Feb 2014 13:06:46 -0800 From: "Apache" Date: Fri, 07 Feb 2014 13:06:46 -0800 To: wikichanges@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 0.4 (/) X-Spam_score: 0.4 X-Spam_score_int: 4 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 asiz at 21:05 UTC Comment: Chapter 8 section 1 erratum; wrong reference 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.4 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikichanges] Wiki page CLL, aka Reference Grammar, Errata changed by asiz X-BeenThere: wikichanges@lojban.org X-Mailman-Version: 2.1.15 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: wikichanges-bounces@lojban.org Content-Length: 64207 VGhlIHBhZ2UgQ0xMLCBha2EgUmVmZXJlbmNlIEdyYW1tYXIsIEVycmF0YSB3YXMgY2hhbmdlZCBi eSBhc2l6IGF0IDIxOjA1IFVUQwpDb21tZW50OiBDaGFwdGVyIDggc2VjdGlvbiAxIGVycmF0dW07 IHdyb25nIHJlZmVyZW5jZQoKWW91IGNhbiB2aWV3IHRoZSBwYWdlIGJ5IGZvbGxvd2luZyB0aGlz IGxpbms6CiAKaHR0cDovL3d3dy5sb2piYW4ub3JnL3Rpa2kvQ0xMJTJDJTIwYWthJTIwUmVmZXJl bmNlJTIwR3JhbW1hciUyQyUyMEVycmF0YQoKWW91IGNhbiB2aWV3IGEgZGlmZiBiYWNrIHRvIHRo ZSBwcmV2aW91cyB2ZXJzaW9uIGJ5IGZvbGxvd2luZyB0aGlzIGxpbms6IApodHRwOi8vd3d3Lmxv amJhbi5vcmcvdGlraS90aWtpLXBhZ2VoaXN0b3J5LnBocD9wYWdlPUNMTCUyQyUyMGFrYSUyMFJl ZmVyZW5jZSUyMEdyYW1tYXIlMkMlMjBFcnJhdGEmY29tcGFyZT0xJm9sZHZlcj0yMjEmbmV3dmVy PTIyMgoKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqClRoZSBjaGFuZ2VzIGluIHRoaXMgdmVyc2lvbiBmb2xsb3cgYmVsb3csIGZvbGxv d2VkIGFmdGVyIGJ5IHRoZSBjdXJyZW50IGZ1bGwgcGFnZSB0ZXh0LgoqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKCistKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCkBAIC1MaW5l czogMjQ5LTI1MiBjaGFuZ2VkIHRvICtMaW5lczogMjQ5LTI1NCBAQAorLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwoKIUNoYXB0ZXIgOAor IAorICogU2VjdGlvbiAxLiBFeGFtcGxlIDEuOCBpcyBzYWlkIHRvIGJlIGVxdWl2YWxlbnQgdG8g RXhhbXBsZSAxLjQsIHdoZW4gaXQgaXMgaW5zdGVhZCBlcXVpdmFsZW50IHRvIEV4YW1wbGUgMS41 LgoKKiBJbiBTZWN0aW9uIDMgdGhlIGV4YW1wbGUgMy4yMCBzaG91bGQgaGF2ZSB7eGFuY2V9IGlu c3RlYWQgb2Yge3hhbmNpfSwgd2hpY2ggaXMgZGVmaW5pdGVseSBhIHR5cG8uIC0taWRvbnRrbncK CgoKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqClRoZSBuZXcgcGFnZSBjb250ZW50IGZvbGxvd3MgYmVsb3cuCioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgpUaGlzIHBhZ2Ug aXMgZm9yIGVycmF0YSBpbiAoKFRoZSBDb21wbGV0ZSBMb2piYW4gTGFuZ3VhZ2UpKSwgdGhhdCBp cyBmb3IgbWlzdGFrZXMgc3VjaCBhcyB0eXBvcywgb3Igc2VsZi1jb250cmFkaWN0aW9ucywgb3Ig Y29udHJhZGljdGlvbnMgd2l0aCBvdGhlciBiYXNlbGluZWQgbGFuZ3VhZ2UgZGVmaW5pdGlvbiBt YXRlcmlhbC4gVGhpcyBpcyBfX25vdF9fIGEgcGFnZSB0byBwdXQgZGVzaWRlcmF0YSAoc3VnZ2Vz dGlvbnMgZm9yIGltcHJvdmVtZW50KTsgc3VjaCBzdWdnZXN0aW9ucyBzaG91bGQgZ28gdG8gKChT dWdnZXN0aW9ucyBmb3IgQ0xMLCBzZWNvbmQgZWRpdGlvbikpLiAgVGhpcyBpcyBhbHNvIG5vdCBh IHBhZ2UgdG8gcHV0IGVycmF0YSByZXN1bHRpbmcgZnJvbSB0aGUgNHRoIEJhc2VsaW5lIEdyYW1t YXIgcHJvcG9zYWwgKGkuZS4sIHRoZSAoKFBFRykpIGdyYW1tYXIpOyBQRUcgZ3JhbW1hciBlcnJh dGEgc2hvdWxkIGdvIHRvICgoQ0xMIFBFRyBFcnJhdGEpKS4KCgoKQW4gb25saW5lIHZlcnNpb24g b2YgdGhlIENMTCBpbmNvcnBvcmF0aW5nIHRoZSBjaGFuZ2VzIG9uIHRoaXMgcGFnZSBbaHR0cDov L2RhZy5naXRodWIuY29tL2NsbC98aXMgYXZhaWxhYmxlXS4KCgoKU2VlIGFsc28gW1doYXQraXMr TG9qYmFuJTNGK2VycmF0YSZibD15fFdoYXQgaXMgTG9qYmFuPyBlcnJhdGFdIChmb3IgdGhlIHB1 Ymxpc2hlZCB2ZXJzaW9uKSwgTGV2ZWwgMCBCb29rbGV0IEVycmF0YSBbdGlraS1lZGl0cGFnZS5w aHA/cGFnZT1MZXZlbCswK0Jvb2tsZXQrRXJyYXRhJmxhbmc9fD9dIChmb3IgdGhlIHByZS1wdWJs aWNhdGlvbiByZXZpZXdzOyBub3cgZmluaXNoZWQpLCBhbmQgW0xlc3NvbnMrRXJyYXRhJmJsPXl8 TGVzc29ucyBFcnJhdGFdIChmb3IgdGhlIGJlZ2lubmVycycgY291cnNlKS4KCgoKVGhlICInJ0lO Q0xVREVEIElOIERBRy1DTEwnJyIgdGFnIG1lYW5zIHRoYXQgaHR0cDovL2RhZy5naXRodWIuY29t L2NsbC8gaW5jbHVkZXMgdGhpcyBmaXgsIHdoaWNoIGFsc28gbWVhbnMgaXQnbGwgcHJvYmFibHkg YmUgaW4gdGhlIG5leHQgQ0xMIHZlcnNpb24uCgoKCi0tLQoKCgohQ2hhcHRlciAxCgoKCiogVGhl cmUgaXMgYSBwYXJhZ3JhcGggYXQgdGhlIHZlcnkgYmVnaW5uaW5nIG9mIENMTCwgb24gcGFnZSA0 LCB3aXRoIHRoZSBzZW50ZW5jZSAnJyJJbiBlc3NlbmNlLCBDaGFwdGVyIDIgZ2l2ZXMgYSBicmll ZiBvdmVydmlldyBvZiB0aGUgbGFuZ3VhZ2UsIENoYXB0ZXIgMjEgZ2l2ZXMgdGhlIGZvcm1hbCBz dHJ1Y3R1cmUgb2YgdGhlIGxhbmd1YWdlLCBhbmQgdGhlIGNoYXB0ZXJzIGluIGJldHdlZW4gcHV0 IHNlbWFudGljIGJvbmVzIG9uIHRoYXQgZm9ybWFsIGZsZXNoLiInJwoKKiogV291bGRuJ3QgaXQg bWFrZSBtb3JlIHNlbnNlIHRvIHNheSAicHV0IHNlbWFudGljIGZsZXNoIG9uIHRob3NlIGZvcm1h bCBib25lcyI/ICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKSAnJ0lOQ0xVREVE IElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gNiwgaXQgc2F5cyAiTGFycnkgSG9ybidzIHdvcmsg JydUaGUgTmF0dXJhbCBIaXN0b3J5IG9mIE5lZ2F0aW9uJyciLiBJdCB3b3VsZCBhcHBlYXIgdGhh dCBldmVyeW9uZSBlbHNlIGNhbGxzIGl0ICcnX19BX18gTmF0dXJhbCBIaXN0b3J5IG9mIE5lZ2F0 aW9uJycsIGJ5IF9fTGF1cmVuY2VfXyAoUi4pIEhvcm4uCgoqKiAnJ0lOQ0xVREVEIElOIERBRy1D TEwnJyAoem9ydCdzIGZvcmsgYXQgbGVhc3QpIGJ1dCBuZWVkcyBhcHByb3ZhbAoKCgotLS0KCiFD aGFwdGVyIDIKCgoKKiBTZWN0aW9uIDUgZXhhbXBsZSA1LjcgdXNlcyAidGkiIHRvIHBvaW50IGF0 IGEgbGFuZ3VhZ2UsIGFuZCBzaG91bGQgaGF2ZSBpdHMgYWNjb21wYW55aW5nIG5vdGUgY2hhbmdl ZCB0byBtb3JlIGFjY3VyYXRlbHkgcmVmbGVjdCB0aGF0IHRoaXMgaXMgbm90IGhvdyAidGkiIHdv cmtzLgoKCgoqIFNlY3Rpb24gNiBFeGFtcGxlIDYuNSBoYXMgImN1IiBhcyBlbGlkYWJsZSwgd2hl biBpbiBmYWN0IGl0IGlzIHNpbXBseSBpbGxlZ2FsIHRoZXJlLiAgUmVtb3ZlZC4gICcnSU5DTFVE RUQgSU4gREFHLUNMTCcnCgoqKiB1YW5haSwgSSBzdGlsbCBzZWUgImN1IiBpbiBEQUctQ0xMLgoK CgoqIFNlY3Rpb24gOCBwYWdlIDE3IGNsYWltcyB0aGF0ICJ4dSIgaXMgZGlzY3Vzc2VkIGluIHNl Y3Rpb24gMS43LCB3aGljaCBoYXBwZW5zIHRvIGxpc3QgdGhlIGNhcHRpb25zIGZvciBhbGwgdGhl IGNoYXB0ZXIgcGljdHVyZXMuCgoqKiBJdCBzaG91bGQgcmVmZXIgdG8gU2VjdGlvbiAxNS4gICgo QXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwn JwoKKioqIFRoZSBsaW5rIGluIHRoZSBjdXJyZW50IERBRy1DTEwgaXMgcG9pbnRpbmcgdG8gIjIv Mi8xNSIgaW5zdGVhZCBvZiB0byAiMi8xNSIuCgoKCiogU2VjdGlvbiAxMCBzYXlzIHRoYXQgZXhh bXBsZSAxMC4zIChtaSB0YXZsYSBkbyBsZSB0YXZsYSBrdSkgbWVhbnMgdGhlIHNhbWUgYXMgKG1p IHRhdmxhIGRvIGxlIHRhdmxhIGt1KS4gRXhhbXBsZSAxMC4zIHNob3VsZCBiZSAibWkgdGF2bGEg ZG8gbGUgdGF2bGEiLCBhcyBpdCBkZXNjcmliZXMgaG93ICJrdSIgbWF5IGJlIG9taXR0ZWQuCgoq KiBJdCBhcHBlYXJzIHRoYXQgZXhhbXBsZSAxMC4zIGlzIGluY29ycmVjdCBvbmx5IGluIHRoZSBv bmxpbmUgdmVyc2lvbiwgbm90IHRoZSBwdWJsaXNoZWQgYm9vay4KCgoKKiBTZWN0aW9uIDE3IHNh eXMgIk5vdGUgdGhhdCBFeGFtcGxlIDE3LjMgIGhhcyBhbmQgcmVxdWlyZXMgYSDigJxjdeKAnSB0 byBwcmV2ZW50IOKAnGJhanJh4oCdIGFuZCDigJxrbGFtYeKAnSBmcm9tIGZvcm1pbmcgYSB0YW5y dSwgYnV0IEV4YW1wbGUgMTcuNCAgYW5kIEV4YW1wbGUgMTcuNSAgbGFjayB0aGUgdW5uZWNlc3Nh cnkg4oCcY3XigJ0uIiwgYnV0IGV4YW1wbGUgMTcuMyBpcyAibGEgZGphbi4gfm5wfltjdV1+L25w fiBrbGFtYSBsZSB6YXJjaSIuCgoqKiBJdCBhcHBlYXJzIHRoYXQgdGhlIG9mZmVuZGluZyBzZW50 ZW5jZSBpcyBwcmVzZW50IG9ubHkgaW4gdGhlIG9ubGluZSB2ZXJzaW9uLCBub3QgdGhlIHB1Ymxp c2hlZCBib29rLgoKCgoqIEV4YW1wbGUgMTcuOSBpcyAibGUgdmkgdGF2bGEga3UgY3UgYmEga2xh bWEiIGluIHRoZSBvbmxpbmUgdmVyc2lvbiwgYW5kIHRvdGFsbHkgYnJva2VuIGluIHRoZSBwdWJs aXNoZWQgYm9vay4KCioqIEdvIHdpdGggdGhlIG9ubGluZSB2ZXJzaW9uLiAgKChBcHByb3ZlZCBF cnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiog RXhhbXBsZSAxNy45IGluIGRhZy1jbGwgYXMgb2YgMjAxMi0wNS0wNSBpcyAibGUgdmkgdGF2bGEg fm5wfltrdV1+L25wfiBjdSBiYSBrbGFtYSIuIFNpbmNlIHRoZSBzYW1lIHNlY3Rpb24gaGFzIGV4 cGxhaW5lZCB0aGF0IHRlbnNlIHRhZ3MgbWFrZSAiY3UiIHVubmVjZXNzYXJ5LCBJIHRoaW5rIHRo ZSBleGFtcGxlIHNob3VsZCBiZSAibGUgdmkgdGF2bGEgfm5wfltrdV0gW2N1XX4vbnB+IGJhIGts YW1hIi4KCgoKLS0tCgoKCiEgQ2hhcHRlciAzCgoKCkEgbG90IG9mIHRoZSBJUEEgZXhhbXBsZXMg dXNlIGEgc3BhY2UgdG8gaW5kaWNhdGUgYSBzeWxsYWJsZSBicmVhay4gVGhpcyBpcyBub3Qgc3Rh bmRhcmQgSVBBIHVzYWdlOyBhY2NvcmRpbmcgdG8gSVBBLCB0aGUgcGVyaW9kIOKAnC7igJ0gc2hv dWxkIGJlIHVzZWQgdG8gaW5kaWNhdGUgYSBzeWxsYWJsZSBkaXZpc2lvbi4KCgoKKiBTZWN0aW9u IDIsIHBhZ2UgMzA6IGluIHRoZSB0YWJsZSB0aGUgZGVzY3JpcHRpb24gb2YgImFwb3N0cm9waGUi IHNob3VsZCByZWFkICJhbiB1bnZvaWNlZCBnbG90dGFsIHNwaXJhbnQiLCBub3QgImEgdW52b2lj ZWQiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVE RUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAyLCBkaWdpdGFsIHZlcnNpb24uICBUaGUgSVBB IHRhYmxlIGdvdCBob3JyaWJseSBtYW5nbGVkIHNvbWV3aGVyZSBhbG9uZyB0aGUgd2F5LiAgSXQg c2hvdWxkIGxvb2sgbGlrZSAoU0FNUEEgY29sdW1uIGFkZGVkKToKCgoKfHwgTGV0dGVyIHwgSVBB ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBTQU1QQSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgRGVzY3JpcHRpb24gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIAoKICcgICAgICB8IFtoXSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgW2hdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8IGFuIHVudm9pY2VkIGdsb3R0YWwgc3BpcmFudCAgICAgICAgICAgICAgICAgICAg ICAKCiAsICAgICAgfCAtLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IC0t LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0aGUgc3lsbGFi bGUgc2VwYXJhdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogLiAgICAgIHwgW8qUXSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgWz9dICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgZ2xvdHRhbCBzdG9wIG9yIGEgcGF1c2UgICAg ICAgICAgICAgICAgICAgICAgICAKCiBhICAgICAgfCBbYV0sIFvJkV0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCBbYV0sIFtBXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgYW4gb3BlbiB2b3dlbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IAoKIGIgICAgICB8IFtiXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW2Jd ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgdm9pY2VkIGJp bGFiaWFsIHN0b3AgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiBjICAgICAgfCBbyoNdLCBb yoJdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW1NdLCBbc2BdICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8IGFuIHVudm9pY2VkIHBvc3RhbHZlb2xhciBmcmlj YXRpdmUgICAgICAgICAgICAgICAgICAgICAKCiBkICAgICAgfCBbZF0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8IFtkXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCBhIHZvaWNlZCBkZW50YWwvYWx2ZW9sYXIgc3RvcCAgICAgICAgICAgICAg ICAgICAgCgogZSAgICAgIHwgW8mbXSwgW2VdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgW0VdLCBbZV0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgZnJv bnQgbWlkIHZvd2VsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiBmICAgICAgfCBb Zl0sIFvJuF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbZl0sIFtwXF0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYW4gdW52b2ljZWQgbGFiaWFsIGZyaWNh dGl2ZSAgICAgICAgICAgICAgICAgICAgIAoKIGcgICAgICB8IFvJoV0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8IFtnXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCBhIHZvaWNlZCB2ZWxhciBzdG9wICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgCgogaSAgICAgIHwgW2ldICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCBbaV0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSBmcm9u dCBjbG9zZSB2b3dlbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKIGogICAgICB8IFvK kl0sIFvKkF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbWl0sIFt6YF0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSB2b2ljZWQgcG9zdGFsdmVvbGFyIGZy aWNhdGl2ZSAgICAgICAgICAgICAgICAgICAgICAgIAoKIGsgICAgICB8IFtrXSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgW2tdICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IGFuIHVudm9pY2VkIHZlbGFyIHN0b3AgICAgICAgICAgICAgICAg ICAgICAgICAgICAKCiBsICAgICAgfCBbbF0sIFtszKldICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgW2xdLCBbbD1dICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 IGEgdm9pY2VkIGxhdGVyYWwgYXBwcm94aW1hbnQgKG1heSBiZSBzeWxsYWJpYykgICAKCiBtICAg ICAgfCBbbV0sIFttzKldICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW21dLCBbbT1d ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgdm9pY2VkIGJpbGFiaWFs IG5hc2FsIChtYXkgYmUgc3lsbGFiaWMpICAgICAgICAKCiBuICAgICAgfCBbbl0sIFtuzKldLCBb xYtdLCBbxYvMqV0gICAgICAgICAgICAgICAgICAgICB8IFtuXSwgW249XSwgW05dLCBbTj1dICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCBhIHZvaWNlZCBkZW50YWwgb3IgdmVsYXIgbmFzYWwg KG1heSBiZSBzeWxsYWJpYykgCgogbyAgICAgIHwgW29dLCBbyZRdICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgW29dLCBbT10gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8IGEgYmFjayBtaWQgdm93ZWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK CiBwICAgICAgfCBbcF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtwXSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhbiB1bnZvaWNlZCBi aWxhYmlhbCBzdG9wICAgICAgICAgICAgICAgICAgICAgICAgCgogciAgICAgIHwgW3JdLCBbybld LCBbyb5dLCBbyoBdLCBbcsypXSwgW8m5zKldLCBbyb7MqV0sIFvKgMypXSB8IFtyXSwgW3JcXSwg WzRdLCBbUlxdLCBbcj1dLCBbclw9XSwgWzQ9XSwgW1JcPV0gfCBhIHJob3RpYyBzb3VuZCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogcyAgICAgIHwgW3NdICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCBbc10gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgYW4gdW52b2ljZWQgYWx2ZW9sYXIgc2liaWxhbnQgICAgICAgICAg ICAgICAgICAgIAoKIHQgICAgICB8IFt0XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgW3RdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGFu IHVudm9pY2VkIGRlbnRhbC9hbHZlb2xhciBzdG9wICAgICAgICAgICAgICAgICAKCiB1ICAgICAg fCBbdV0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFt1XSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhIGJhY2sgY2xvc2Ugdm93ZWwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogdiAgICAgIHwgW3ZdLCBbzrJdICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgW3ZdLCBbQl0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8IGEgdm9pY2VkIGxhYmlhbCBmcmljYXRpdmUgICAgICAgICAgICAgICAg ICAgICAgCgogeCAgICAgIHwgW3hdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCBbeF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYW4gdW52 b2ljZWQgdmVsYXIgZnJpY2F0aXZlICAgICAgICAgICAgICAgICAgICAgIAoKIHkgICAgICB8IFvJ mV0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtAXSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhIGNlbnRyYWwgbWlkIHZvd2VsICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgCgogeiAgICAgIHwgW3pdICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCBbel0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgYSB2b2ljZWQgYWx2ZW9sYXIgc2liaWxhbnQgICAgICAgICAgICAgICAgICAg ICAgIHx8CgoKCioqIFNvcnQtb2YgKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3Zl ZCkpOyB3aGF0IEkgYWN0dWFsbHkgZGlkIGlzIGhhZCBBcm50IHJldmlldyB3aGF0IHNvbWVvbmUg ZW50ZXJlZCBpbiBEQUctQ0xMLCB3aGljaCBwcmVzdW1hYmx5IHdhcyBiYXNlZCBvbiB0aGUgYWJv dmUuICAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMiwgcGFnZSAzMC4gZm9y IHRoZSBzZWNvbmQgZW5nIChpbW1lZGlhdGVseSB0byB0aGUgbGVmdCBvZiAiKG1heSBiZSBzeWxs YWJpYykiKSB0aGUgc3lsbGFiaWNpdHkgbWFya2VyIGlzIGNvbmNlYWxlZCBieSB0aGUgcmlnaHQg dGFpbC4KCioqIEkgY2FuIGp1c3QgYmFyZWx5IHNlZSB0aGUgbWFya2VyIHVuZGVyIGEgZ29vZCBs aWdodC4gICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCioqKiBGb3IgZnV0 dXJlIGVkaXRpb25zIDotKSAsIG5vdGUgdGhhdCB0aGUgSVBBIGFwcHJvdmVzIHB1dHRpbmcgZGlh Y3JpdGljcyBhYm92ZSByYXRoZXIgdGhhbiBiZWxvdyB0aGUgbGV0dGVyIGluIGNhc2VzIGxpa2Ug dGhlc2UuIFVuZm9ydHVuYXRlbHksIHRoZSBmb250cyBoaXRoZXJ0byBhdmFpbGFibGUgaGF2ZSBu b3QgbWFkZSB0aGlzIGZhY2lsaXR5IGF2YWlsYWJsZSwgc28gb3V0c2lkZSB0aGUgam91cm5hbCBv ZiB0aGUgSVBBIGl0c2VsZiwgc3VjaCBvdmVyLWRpYWNyaXRpY3MgYXJlIHNlbGRvbSBzZWVuLiDi gJQgbml0Y2lvbgoKCgoqIEluIHNlY3Rpb24gMy4yLCB0aGUgY29tbWEgc2hvdWxkIChwcm9iYWJs eSkgYmUgcmVwcmVzZW50ZWQgYnkgdGhlIElQQSBub3RhdGlvbiBbLnwuXSwgYXMgdGhlIHBlcmlv ZCBpcyB1c2VkIGluIElQQSB0byBkZW5vdGUgc3lsbGFibGUgYnJlYWtzLiAgKChBcHByb3ZlZCBF cnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAyLCBwYWdlIDMwLiBGb3IgdGhl IExvamJhbiBwaG9uZW1lIC9yLywgdGhlIElQQSBzeW1ib2wgZm9yIGEgZGVudGFsL2FsdmVvbGFy IHZvaWNlZCBhcGljYWwgdGFwIGlzIGdpdmVuIHdpdGggYSBzeWxsYWJpY2l0eSBtYXJrZXIgYmVs b3cuIEEgdGFwIGNhbid0IGJlIHN5bGxhYmljLCBiZWNhdXNlIGl0IGlzIGJ5IGRlZmluaXRpb24g aW5zdGFudGFuZW91cy4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKSBKdXN0 IHJlbW92ZSB0aGF0IGNhc2UgYWx0b2dldGhlci4KCgoKKiBTZWN0aW9uIDIuICBUaGUgZGVzY3Jp cHRpb25zIG9mICcnYycnIGFuZCAnJ2onJyBhcmUgbGlzdGVkIGFzICJjb3JvbmFsIHNpYmlsYW50 InMuICBUaGUgZGVzY3JpcHRpb25zIHNob3VsZCByZWFkICJ2b2ljZWxlc3MgcG9zdGFsdmVvbGFy IGZyaWNhdGl2ZSIgYW5kICJ2b2ljZWQgcG9zdGFsdmVvbGFyIGZyaWNhdGl2ZSIsIHJlc3BlY3Rp dmVseS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24g MywgdGhpcmQgcGFyYWdyYXBoIChwYWdlIDMxKTogImEgdW52b2ljZWQgdm93ZWwgZ2xpZGUiIHNo b3VsZCBiZSAiYW4gdW52b2ljZWQgdm93ZWwgZ2xpZGUiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVt fGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlv biA2LCBwYWdlIDM2LiBJUEEgZm9yIHRoZSB1bmFjY2VwdGFibGUgQW1lcmljYW4gZmxhcCB2YXJp YW50IG9mIGludGVydm9jYWxpYyAnJ3QnJyBzaG93cyB0aGUgR0EgJydyJycgc291bmQgKHVwc2lk ZS1kb3duIHIpIGluc3RlYWQgb2YgdGhlIGZsYXAgKGxpa2UgYW4gciB3aXRoIG5vIHZlcnRpY2Fs IGJpdCBhdCB0aGUgdG9wIOKAlCBzZWUgdGhlIGxpc3Qgb2YgYWNjZXB0aWJsZSAnJ3InJyB2YXJp YW50cyBvbiBvbiBwYWdlIDQ0IHdoZXJlIGl0IGFwcGVhcnMgY29ycmVjdGx5KSAgKChBcHByb3Zl ZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3Vz bWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDYsIHBh Z2UgMzYuIChTYW1lIGFzIHByZXZpb3VzIGVycmF0dW0pIFRoZSBjb25zb25hbnQgaXMgcmVmZXJy ZWQgdG8gYXMgYSBmbGFwLCB3aGlsZSBpdCBpcyBhY3R1YWxseSBhIHRhcC4gICgoQXBwcm92ZWQg RXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gNy4gSW4gYmV0d2VlbiB0aGUg c2hhZGVkIGJveGVzLCAiYSBwYWlyaW5nIG9mIHZvaWNlZCBhbmQgdW52b2ljZWQgZXF1aXZhbGVu dCB2b3dlbHMiIHNob3VsZCByZWFkICJhIHBhaXJpbmcgb2Ygdm9pY2VkIGFuZCB1bnZvaWNlZCBl cXVpdmFsZW50IGNvbnNvbmFudHMiLgoKCgoqIFNlY3Rpb24gOCwgcGFnZSAzOC4gSVBBIGZvciBw cm9udW5jaWF0aW9uIG9mICJ4YXBja2UiIGhhcyBjIHdoZXJlIGl0IHNob3VsZCBoYXZlIFMgKGxv bmcgcykuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9u IDksIHBhZ2UgNDAuIElQQSBmb3IgcHJvbnVuY2lhdGlvbiBvZiAiZGlreWp2byIgaGFzIGogd2hl cmUgaXQgc2hvdWxkIGhhdmUgWiAodGhhdCBsaXR0bGUgc2NyaXB0IHogdGhpbmcpICAoKEFwcHJv dmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1n dXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTIs IHBhZ2UgNDYuIFdoYXQgc2hvdWxkIGJlIHRoZSBDeXJpbGxpYyBsZXR0ZXIgOyBpcyBwcmludGVk IGFzIHNvbWV0aGluZyB0aGF0IGxvb2tzIGxpa2UgdGhlIEdyZWVrIGxldHRlciAuIElzIHRoaXMg b25seSBhIHR5cG9ncmFwaGljYWwgdmFyaWFudCBvZiB0aGUgOywgb3IgaXMgaXQgYSB2YXJpYW50 PwoKCgoqKiBUaGlzIGVycmF0dW0gaXMgaW5kZWNpcGhlcmFibGUgYW5kIHNob3VsZCBiZSBkcm9w cGVkLCB1bmxlc3Mgc29tZW9uZSBjYW4gcmVjb25zdHJ1Y3QgaXQuICBUaGUgQ3lyaWxsaWMgbGV0 dGVycyBsb29rIGZpbmUuICAtLWpjb3dhbgoKCgoqIFNlY3Rpb24gMTIsIHBhZ2UgNDYuIFJlcGxh Y2UgdGhlIHdvcmRzICJ0aGUgaGFyZCBzaWduIiB3aXRoIGFuIGFjdHVhbCBoYXJkIHNpZ24sIFUr MDQ0QSBDWVJJTExJQyBTTUFMTCBMRVRURVIgSEFSRCBTSUdOLgoKCgoqIFNlY3Rpb24gMTIsIHBh Z2UgNDcuICJhcmUvImVzc2UiIHNob3VsZCBwcm9iYWJseSBiZSAiYXJlIi8iZXNzZSIgKHRoZSBh Y3V0ZSBvbiB0aGUgYSBtYXkgb3IgbWF5IG5vdCBoYXZlIGJlZW4gbGVmdCBvZmYsIGJ1dCB0aGUg Y2xvc2luZyBxdW90ZSBhZnRlciBhcmUgaXMgZGVmaW5hdGVseSBtaXNzaW5nLikKCioqIE15IGNv cHkgc2hvd3MgdGhlIGFjdXRlLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHBy b3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCi0tLQoKCgohQ2hhcHRlciA0CgoKCiog U2VjdGlvbiA0LCBwYWdlIDU0LiBUaGUgYm9vayBzdGF0ZXMgdGhhdCBmdSdpdmxhIHdpdGggYSBm b3JtIGxpa2UgJydzcGEnaScnIGFyZSB2YWxpZC4gVGhleSBhcmUgbm90LCB0aGV5IGZhaWwgdGhl IHNsaW5rdSdpIHRlc3QuICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKSAnJ0lO Q0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gNiwgcCA1OCwgIi1sYWMiIGluIHRoZSB0 aGlyZCB0YWJsZSBpbiB0aGF0IHNlY3Rpb24gc2hvdWxkIGJlICItbGFjLSIKCgoKKiBTZWN0aW9u IDYsIGl0IHNheXMgIk1vc3QgY21hdm8gdGhhdCBoYXZlIHJhZnNpIGFyZSBvbmVzIHVzZWQgaW4g Y29tcG9zaW5nIHRhbnJ1IChmb3IgYSBjb21wbGV0ZSBsaXN0LCBzZWUgQ2hhcHRlciAxMikiLCBi dXQgdGhlcmUgaXMgbm8gc3VjaCBsaXN0IGluIENoYXB0ZXIgMTIsIG9yIGFueXdoZXJlIGluIHRo ZSBib29rIChqdSdvc2FpKS4gUGVyaGFwcyBpdCB3YW50cyB0byBwb2ludCB0byB0aGUgbGlzdCBv ZiBQQSByYWZzaSBpbiBDaGFwdGVyIDE4IHNlY3Rpb24gMjU/IE9yIHRvIHRoZSBsaXN0cyBvZiB0 YW5ydSBpbiBDaGFwdGVyIDUgc2VjdGlvbnMgMTQgYW5kIDE1PwoKKiogV2hhdCBJIHByb2JhYmx5 IG1lYW50IHdhcyB0aGF0IENoYXB0ZXIgMTIsIHRha2VuIGFzIGEgd2hvbGUsIGRpc2N1c3NlcyB0 aGUgY21hdm8gdXNlZCBpbiBjb25zdHJ1Y3RpbmcgdGFucnUuICBJIGRvbid0IHRoaW5rIGFueSBz cGVjaWZpYyBsaXN0IGV2ZXIgZXhpc3RlZC4gIEknZCBqdXN0IGRyb3AgdGhlIHBhcmVudGhldGlj YWwgc2VudGVuY2UuCgoKCiogU2VjdGlvbiA2LCBqdXN0IGFmdGVyIGV4YW1wbGUgNi45LiBJdCBz YXlzICJzb21lIG9mIHRoZSB1bnJlZHVjZWQgZm9ybXMgaW4gdGhlIHByZXZpb3VzIGV4YW1wbGUi LCBidXQgaXQgaXMgbm90IHJlZmVycmluZyB0byB0aGUgcHJldmlvdXMgZXhhbXBsZTogaXQgaXMg cmVmZXJyaW5nIGFsbCB0aGUgd2F5IGJhY2sgdG8gZXhhbXBsZXMgNi4xIGFuZCA2LjIsIHNvIGl0 IHNob3VsZCBiZSAic29tZSBvZiB0aGUgdW5yZWR1Y2VkIGZvcm1zIGluIHRoZSBwcmV2aW91cyBl eGFtcGxlX19zX18iLgoKKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycgKHpvcnQncyBmb3JrIGF0 IGxlYXN0KQoKKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkgIFJlZmVyIGV4cGxp Y2l0bHkgdG8gNi4xIGFuZCA2LjIKCgoKKiBTZWN0aW9uIDcsIHBhZ2UgNjAuIEluIGV4YW1wbGUg Ni4xNiwgdGhlIHdvcmQgInhhcm55a2FyY2UiIGlzIGdsb3NzZWQgYXMgIndhci1jYXIiLiBFaXRo ZXIgdGhlIGdsb3NzIHNob3VsZCBiZSB1cGRhdGVkIHRvIHJlZmxlY3QgdGhlIHZlbGp2byAoInN0 dWJib3JuLWNhciIpLCBvciB0aGUgbHVqdm8gc2hvdWxkIGJlIHVwZGF0ZWQgdG8gcmVmbGVjdCB0 aGUgZ2xvc3MgImphbWthcmNlIgoKKiogVGhlIGxhdHRlciAoKEFwcHJvdmVkIEVycmF0dW18Y2Ft Z3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDcs IG1ha2luZyBhIHR5cGUgMyBmdSdpdmxhLCBzdGVwIDUgc2hvdWxkIHJlYWQgInN0ZXBzIDEtNCIs IG5vdCAic3RlcHMgMS01Ii4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoK CgoqIFNlY3Rpb24gNywgc3RlcCA1IG9mIHRoZSBTdGFnZSAzIGZ1J2l2bGE6ICJpZiB0aGUgcmFm c2kgZW5kcyBpbiAnJ3InJyBhbmQgdGhlIHJlc3Qgb2YgdGhlIGZ1J2l2bGEgYmVnaW5zIHdpdGgg JyduJycgKG9yIHZpY2UgdmVyc2EpIHVzZSBhbiAnJ2wnJy1oeXBoZW4iIHNob3VsZCByZWFkICAi aWYgdGhlIHJhZnNpIGVuZHMgaW4gJydyJycgYW5kIHRoZSByZXN0IG9mIHRoZSBmdSdpdmxhIGJl Z2lucyB3aXRoICcnbicnLCAnJ3RjJycsICcndHMnJywgJydkeicnIG9yICcnZGonJywgb3IgdGhl IHJhZnNpIGVuZHMgaW4gJyduJycgYW5kIHRoZSByZXN0IG9mIHRoZSBmdSdpdmxhIGJlZ2lucyB3 aXRoICcncicnIHVzZSBhbiAnJ2wnJy1oeXBoZW4iLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dh biBBcHByb3ZlZCkpCgoKCiogVGhlIGVuZCBvZiBzZWN0aW9uIDcgc2VlbXMgdG8gaW1wbHkgdGhh dCBjbWVuZSBhcmUgZXhlbXB0IGZyb20gdGhlIG5vcm1hbCByZXN0cmljdGlvbnMgb24gY29uc29u YW50IGNsdXN0ZXJzIGFzIGxvbmcgYXMgZWFjaCBjb25zb25hbnQgcGFpciBpcyB2YWxpZC4KCgoK KiBTZWN0aW9uIDguIEV4YW1wbGUgOC4xMCAnJ2RqYW5kam9ueicnIGlzIG5vdCB2YWxpZCBsb2pi YW4gYXMgaXQgY29udGFpbnMgdGhlIGZvcmJpZGRlbiBjb25zb25hbnQgc2VxdWVuY2UgYG5kamAu ICAgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKSAgUmVwbGFjZSB3aXRoIGEg ZGlmZmVyZW50IG5hbWUuCgoqKiBSZXBsYWNpbmcgd2l0aCAiSm9obiBCcm93biIgYXMgImRqYW5i cmF1biIuIC0tcmxwb3dlbGwgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDgs IHBhZ2UgNjYuIEV4YW1wbGUgOC4xMi4gU2F5cyB0aGF0IHRoZSBnaXNtdSAic29scmkiIG1lYW5z ICJhY3R1YWxseSwgJ3BlcnRhaW5pbmcgdG8gdGhlIHN1biciLiBUaGlzIGlzIGZhbHNlLiBBY2Nv cmRpbmcgdG8gdGhlIGdpc211IGxpc3QsIGl0IG1lYW5zICcnaXMnJ2Egc3VuLgoKKiogTGVhdmUg dGhpcyBvbmUgYWxvbmUuICBBcyBhIHNlbHRhdSwgInNvbHJpIiBkb2VzIGluZGVlZCBtZWFuICJz b2xhciIuICAtLWpjb3dhbgoKCgoqIFNlY3Rpb24gMTEsIDVhKSAnJ0V4YW1pbmUgYWxsIHRoZSBD L0MgY29uc29uYW50IHBhaXJzIHRoYXQgam9pbiB0aGUgQ1ZDIHJhZnNpLCBhbmQgYWxzbyB0aGUg cGFpciBiZXR3ZWVuIHRoZSBsYXN0IENWQyBhbmQgdGhlIFggcG9ydGlvbiwgaWdub3JpbmcgYW55 ICJ5Ii1oeXBoZW4gYmVmb3JlIHRoZSBYLicnIHNob3VsZCByZWFkIGluc3RlYWQ6ICcnRXhhbWlu ZSBhbGwgdGhlIEMvQyBjb25zb25hbnQgcGFpcnMgdXAgdG8gdGhlIGZpcnN0ICJ5Ii1oeXBoZW4s IG9yIHVwIHRvIHRoZSBlbmQgb2YgdGhlIHdvcmQgaW4gY2FzZSB0aGVyZSBhcmUgbm8gInkiLWh5 cGhlbnMuJycKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lO Q0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTIuIEluIEV4YW1wbGVzIDEyLjIsIDEy LjMgYW5kIDEyLjQgdGhlIGNhbGN1bGF0aW9ucyBhcmUgZ2l2ZW4gYXMgMzI1MDAgbWludXMgdGhl IHNjb3JlLCBpbnN0ZWFkIG9mIHNpbXBseSB0aGUgc2NvcmUuIChQcm9iYWJseSBmcm9tIHByZXZp b3VzIHZlcnNpb25zIG9mIHRoZSBhbGdvcml0aG0uKSAgICAoKEFwcHJvdmVkIEVycmF0dW18amNv d2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDEzLCBwYWdlIDc0LCB0aGlyZCB0YWJsZTogdGhl cmUgaXMgbm8gc3BhY2UgYmV0d2VlbiAibG9qYmF1Z3JpIiBhbmQgImxvamJhbmd5Z3JpIiwgc28g dGhhdCB0aGV5IGFyZSBydW4gaW50byBvbmUgd29yZCBpbiB0aGUgc2Vjb25kIGNvbHVtbiBvZiB0 aGUgdGFibGUuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0 aW9uIDE1IHN0YXRlcyB0aGF0ICJkemlwbyIgY29tZXMgZnJvbSAiY2FkenUgY2lwbmkiICgid2Fs a2luZyBiaXJkIikuICBUaGlzIGZhaWxzIHRvIG1ha2Ugc2Vuc2UgZWl0aGVyIGV0eW1vbG9naWNh bGx5IG9yIHNlbWFudGljYWxseSAoSWYgdGhlIG5hbWUgcmVmZXJzIHRvIHBlbmd1aW5zLCB0aGVy ZSBhcmUgYSBsb3Qgb2Ygb3RoZXIgZmVhdHVyZXMgb2YgQW50YXJjdGljYSB0aGF0IGFyZSBtb3Jl IHByb21pbmVudCBhbmQgbm90IHNoYXJlZCBieSBvdGhlciBwbGFjZXMpLiAgSSBzdXNwZWN0IHRo YXQgdGhlIHdvcmQgbWF5IGFjdHVhbGx5IGNvbWUgZnJvbSAiZGl6bG8gZGFwbHUiICgibG93IGlz bGFuZCIpLCB3aGljaCBpcyBhIHNvbWV3aGF0IG1vcmUgcmVhc29uYWJsZSBuYW1lLgoKKiogTm90 IGFuIGVycmF0dW0sIHRoZSB3b3JkIHJlYWxseSBkb2VzIGNvbWUgZnJvbSAiY2FEWnUgY0lQbmki LiBUaGF0IGl0IGZhaWxzIHRvIG1ha2Ugc2Vuc2UgZG9lc24ndCBjaGFuZ2UgdGhlIGZhY3QgdGhh dCB0aGF0IGlzIGhvdyB0aGV5IGNvbnN0cnVjdGVkIGl0LiBUaGUgZXR5bW9sb2dpZXMgb2YgImJl bXJvIiBhbmQgImtldGNvIiBtYWtlIGV2ZW4gbGVzcyBzZW5zZSwgYnkgdGhlIHdheS4KCioqKiBD b3JyZWN0LCBidXQgdGhlIGV0eW1vbG9naWVzIGFyZSB3aGF0IHRoZXkgYXJlLiAgLS1qY293YW4K CgoKLS0tCgoKCiFDaGFwdGVyIDUKCgoKKiBTZWN0aW9uIDYsIGV4YW1wbGUgNi4xNTogSXQgc2F5 cyB7eGFtZ3Ugam8gY29ydHUgbnVudGF2bGF9LCBhbmQgdGhlIGdsb3NzIHNheXMgeyhnb29kIGlm LWFuZC1vbmx5LWlmIHNob3J0KSBzcGVlY2h9LCBidXQge2NvcnR1fSBtZWFucyAiaHVydCIsIG5v dCAic2hvcnQiLgoKKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycgIChjaGFuZ2VkIHRvIHt0b3Jk dX0pIChpbiB6b3J0J3MgZm9yayBhdCBsZWFzdCkgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBB cHByb3ZlZCkpCgoKCiogRXhhbXBsZSA2LjE2OiB2YWpuaSBqdSBzZWxwbHVrYSBudW50YXZsYSAs ICAoaW1wb3J0YW50IHdoZXRoZXItb3Itbm90IHBsZWFzaW5nKSBldmVudC1vZi10YWxraW5nCgoq KiBTaG91bGQgYmUgcGx1a2EsIG5vdCBzZWxwbHVrYS4gICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1n dXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gOCBz YXlzICJpbnZvbHZpbmcgc2VsbWEnbyBWT2hBIGFuZCBHT2hJLCBleHBsYWluZWQgaW4gQ2hhcHRl ciA3IiwgYnV0IFZPaEEgZG9lc24ndCBhcHBlYXIgaW4gQ2hhcHRlciA3LiBWT2hBIGRvZXNuJ3Qg ZXZlbiBzZWVtIHRvIGJlIGEgc2VsbWEnbywgZm9yIHRoYXQgbWF0dGVyLiBBbHNvLCBwcm9iYWJs eSBHT2hJIHNob3VsZCBiZSBHT2hBPwoKCgoqIFNlY3Rpb24gOCwgcGFnZSA5Ni85NzogRXhhbXBs ZSA4LjEzIG5lZWRzIHNvbWUga2luZCBvZiB0ZXJtaW5hdG9yIChsaWtlICJiZSdvIikgYmVmb3Jl IHRoZSAiY28iLiAgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIEFs c28sIHRoZSBwcmVjZWRpbmcgcGFyYWdyYXBoIHN1Z2dlc3RzIHRoYXQgImJlIiBpcyB0aGUgb25s eSB3YXkgdG8gZmlsbCBzZWxicmkgcGxhY2VzIG90aGVyIHRoYW4geDEuIFRoaXMgaXMgbm90IHRo ZSBjYXNlOiAibWkgbGUgemFyY2kgY3Uga2xhbWEgY28gc3V0cmEiIHdvdWxkIGFscwoKbyB3b3Jr LgoKKiogSSBkb24ndCBhZ3JlZSB0aGF0IHRoZXJlJ3MgYW55IHN1Y2ggc3VnZ2VzdGlvbiwgYWx0 aG91Z2ggYWRkaW5nIGEgc2Vjb25kIHBvc3NpYmlsaXR5IGlzIGZpbmUgd2l0aCBtZS4gIC0tamNv d2FuCgoKCiogU2VjdGlvbiA5IGxpc3RzICJrZWkiIGFzIHRoZSB0ZXJtaW5hdG9yIGZvciBudSwg YnV0IGl0J3Mgbm90IG9ubHkgZm9yIG51LCBidXQgZm9yIGFsbCBvZiBOVS4gICgoQXBwcm92ZWQg RXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTQsIHBhZ2UgMTA0IHNheXMg ImRhZHlsc2kiIGZvciAiZGFkeXNsaSIuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlz IEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDE0LCBwYWdl IDEwNSB1c2VzICJ6ZGFuaSBsaWpncmkiIGluIHRoZSBleGFtcGxlIGxpc3QsIGJ1dCB0aGUgcGFy YWdyYXBoIGFmdGVyLCBhcyB3ZWxsIGFzIHRoZSBuZXh0IGxpc3QsIHJlZmVyIHRvICJ6ZGFuaSBs aW5qaSIgYW5kICJsaW5qaSB6ZGFuaSIuCgoKCiogU2VjdGlvbiAxNCwgcGFnZSAxMDUgaGFzIHRo ZSBsdWp2byAiY3B1bWknaSIgYnV0IGRlZmluZXMgaXQgYXQgdGhlIGJvdHRvbSBvZiB0aGUgc2V0 IGFzICJjcGFtaSdpIi4KCioqIGN1YW1pJ2kgcyBwdWxsLW1hY2hpbmUsIHNvIHVzaW5nIHRoYXQg KChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFH LUNMTCcnCgoKCiogU2VjdGlvbiAxNCwgcGFnZSAxMDYgc2F5cyAicGxpc2UgdGFwbGEiIGZvciAi YXBwbGUgY2FrZSIuIERvZXMgVHVya2lzaCByZWFsbHkgcmVmZXIgdG8gYSBjYWtlIGFzIGEgdGls ZSwgb3IgaXMgdGhpcyBhIG1pc3VuZGVyc3RhbmRpbmcgb2YgdGhlIGRlZmluaXRpb24gb2YgInRh cGxhIj8KCioqIE5vLCBpdCdzIHRoYXQge3RhcGxhfSBjYW4gbWVhbiBib3RoIGNha2UgYW5kIHRp bGUsIGFzIHRoZSBnaXNtdSBsaXN0IHNob3dzOyBpdCdzIGEgZ2VuZXJpYyB3b3JkIGZvciBhIGZs YXQgMy1EIHNoYXBlLCBvciBzaG9ydCBjeWxpbmRlci4gIFN0ZXQuICAtLWpjb3dhbgoKCgoqIFNl Y3Rpb24gMTQsIHBhZ2UgMTA4IHNheXMgInR1bWxhIHNwaXNhIi4gVGhpcyBzaG91bGQgcHJvYmFi bHkgYmUgInR1bWxhIHBhZ2J1Iiwgc2luY2UgcGllY2VzIG9mIGxhbmQgYXJlIG5vdCBhY3R1YWxs eSBkZXRhY2hlZC4KCioqIFdoYXQgbWFrZXMgeW91IHRoaW5rIHRoYXQgc3Bpc2EgaGF2ZSB0byBi ZSBkZXRhY2hlZD8gIFN0ZXQuICAtLWpjb3dhbgoKCgoqIFNlY3Rpb24gMTQsIHBhZ2UgMTA5IHNh eXMgInJvc3R1IG1vanlzdSdhIi4gInJvc3R1IiBpcyBub3QgYSBMb2piYW4gZ2lzbXUsIG5vciBh biBPbGQgTG9nbGFuIHByaW1pdGl2ZS4gSXQncyBzdXBwb3NlZCB0byBiZSAibXJvc3QKCnUiLgoK KiogIk1yb3N0dSIgaXMgY29ycmVjdCwgYW5kIHRoYXQncyB0aGUgcmVhZGluZyBvZiB0aGUgb25s aW5lIHZlcnNpb24uICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBT ZWN0aW9uIDE0LCAibnVua2lsYnJhIiBpcyBjbGVhcmx5IG5vdCAic2hhcnBlbmVyIiwgYW5kIGV2 ZW4gaWYgaXQgd2FzIHVzaW5nIHRoZSByaWdodCByYWZzaSBmb3IgY2FicmEsIHRoYXQgc3RyaWtl cyBtZSBhcyBhIHByZXR0eSBjcmFwcHkgbHVqdm87IG5lZWRzIHplbmJhIG9yIHptYWR1IG9yIGJp bnhvIG9yIHNvbWV0aGluZy4KCgoKKiBTZWN0aW9uIDE0LCBwYWdlIDExMiBsaXN0cyBudW1lcm91 cyB0YW5ydSBleGFtcGxlcyB3aG9zZSBtZWFuaW5ncyBhcmUgaHlwZXJueW1zIG9mIHRoZSB0ZXJ0 YXUgaW5zdGVhZCBvZiBoeXBvbnltcy4gVGhpcyBjb250cmFkaWN0cyB0aGUgcHJpbWFyaW5lc3Mg b2YgdGhlIHRlcnRhdSBhcyBkZWZpbmVkIG9uIHBhZ2UgODQuIFRoZSB3b3JkICJqYSIgc2hvdWxk IHByb2JhYmx5IGJlIGluc2VydGVkIGJldHdlZW4gdGhlIGNvbnN0aXR1ZW50cywgb3IgdGhlIGVu dGlyZSBzZWN0aW9uIHNob3VsZCBiZSByZW1vdmVkLgoKKiogU3RldC4gIExpb25zIGNhbid0IGJl IG1hZGUgb2Ygc3RvbmUsIGJ1dCB7cm9rY2kgY2luZm99IGlzIGEgbGVnaXRpbWF0ZSB0YW5ydSBu b25ldGhlbGVzcy4gIC0tamNvd2FuCgoKCi0tLQoKCgohQ2hhcHRlciA2CgoKCiogRW5kIG9mIHNl Y3Rpb24gMiwgaXQgc2F5cyAiY29tcG91bmQgbmVnYXRvciBgYG5ha3UnJyAoZGlzY3Vzc2VkIGlu IENoYXB0ZXIgMTUpIiwgYnV0ICJuYWt1IiBpcyBuZXZlciBtZW50aW9uZWQgaW4gY2hhcHRlciAx NTsgaW5kZWVkLCB0aGUgb25seSB1c2VzIG9mIHRoZSB3b3JkIHtrdX0gYXQgYWxsIGFyZSBhZnRl ciB0aGUgd29yZHMge2ppJ3V9IG9yIHtuYSdpfS4gQ2hhcHRlciAxNiB0YWxrcyBhYm91dCB7bmFr dX0uCgoqKiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJyAoem9ydCdzIGZvcmsgYXQgbGVhc3QpIGJ1 dCBuZWVkcyBhcHByb3ZhbAoKCgoqIFNlY3Rpb24gMTIsIHAuIDEzOCBjbGFpbXMgdGhhdCB0aGUg c3VtdGkgaW4gZXhhbXBsZXMgMTIuMiBhbmQgMTIuMyBvcGVyYXRlIGxpa2UgZXhhbXBsZXMgMi41 IGFuZCAzLjYgcmVzcGVjdGl2ZWx5LiAiMi42IGFuZCAzLjYiIGlzIGFsbW9zdCBzdXJlbHkgd2hh dCB3YXMgbWVhbnQuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkgJydJTkNM VURFRCBJTiBEQUctQ0xMJycKCgoKKiBJbiBzZWN0aW9uIDExIEV4YW1wbGUgMTEuMiBvY2N1cnMg dHdpY2UuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNM VURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDIgaGFzIGV4YW1wbGVzIDIuMyBhbmQgMi41 IHRvIHNob3cgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB7bG99IGFuZCB7bGV9LiBFeGFtcGxlIDIu NSBhbmQgdGhlIHN1YnNlcXVlbnQgdGV4dCBzYXkgdGhhdCB7bG8gbmFubXUgY3UgbmlubXV9IGlz IG5lY2Vzc2FyaWx5IGZhbHNlIGluIGxvamJhbiBzaW5jZSB7bm9kYSBuYW5tdSBnaSdlIG5pbm11 fS4gVGhpcyBjb250cmlidXRlcyB0byB0cmFucy1lcmFzdXJlLCBhbmQgc2hvdWxkIGJlIHJldmlz ZWQuCgoKCiogSW4gc2VjdGlvbiA1IGJldHdlZW4gZXhhbXBsZXMgNS4yIGFuZCA1LjMsIGl0IHNh eXMgdGhhdCB0aGUgdHlwaWNhbCBsaW9uIGJlc3QgZXhlbXBsaWZpZXMgdGhlIHNldCBvZiBsaW9u cy4gVGhpcyBpcyBmYWxzZSwgaXQgZXhlbXBsaWZpZXMgbm90IHRoZSBzZXQsIGJ1dCB0aGUgbWVt YmVycyBvZiB0aGF0IHNldC4KCgoKLS0tCgoKCiEgQ2hhcHRlciA3CgoKCiogU2VjdGlvbiA2LCBw YWdlIDE1NSBoYXMgYSBub3RlIGJlbG93IGV4YW1wbGUgNi4xMyB0aGF0IHNheXMsIGluIHBhcnQ6 ICJUaGUgTG9qYmFuIGRvZXMgbm90IGNvbnRhaW4gYW4gZXF1aXZhbGVudCBvZiB0aGUgIm15IiBp biBjb2xsb3F1aWFsIEVuZ2xpc2g7IiBhbmQgdGhlbiBnb2VzIG9uIHRvIGV4cGxhaW4gaG93IGV4 YW1wbGUgNi4xMyBjb3VsZCBiZSBtb2RpZmllZCB0byBpbmNsdWRlICB0aGUgcmVsYXRpb25zaGlw IGJldHdlZW4gdGhlIHNwZWFrZXIgYW5kIHRoZWlyIHNvbiBhbmQgZGF1Z2h0ZXIuICBJIGJlbGll dmUgeW91IGNvdWxkIHNheSAibGUgbWkgYmVyc2EiIG9yICJsZSBiZXJzYSBwZSBtaSIgdG8gZXhw cmVzcyB0aGUgRW5nbGlzaCAibXksIiB0aGVyZWZvciByZW1vdmluZyB0aGUgKHByZXN1bWFibHkg aW5hY2N1cmF0ZSkgbm90ZSBhbmQgbWFraW5nIHRoZSBMb2piYW4gdHJhbnNsYXRpb24gbW9yZSBh Y2N1cmF0ZS4KCioqIFN1cmUgeW91IGNvdWxkLCBidXQgdGhlIHBvaW50IG9mIHRoZSBub3RlICh3 aGljaCBpcyAnJ25vdCcnIGluYWNjdXJhdGUpIGlzIG5vdCB0ZWFjaGluZyBob3cgdG8gdXNlIHJl bGF0aXZlIGNsYXVzZXMsIGJ1dCB0byBjbGFyaWZ5IHRoYXQgdGhlIGlkaW9tYXRpYyBFbmdsaXNo IHZlcnNpb24gY29udGFpbnMgbW9yZSBpbmZvcm1hdGlvbiB0aGFuIHRoZSBMb2piYW4gdmVyc2lv biBkb2VzLiAgU3RldC4KCgoKKiBTZWN0aW9uIDYsIHBhZ2UgMTU2IGhhcyAnJ2thcmNhJycgZm9y ICcna2FyY2UnJy4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIEFm dGVyIGV4YW1wbGUgNi4xOCBpcyBhIHBhcmFncmFwaCB0aGF0IHF1b3RlcyBub24tZXhpc3RlbnQg dGV4dCBmcm9tIGV4YW1wbGUgNi4xMC4gICJnbydlIHJhJ28iIHNob3VsZCByZWFkICJnbydpIHJh J28iIGFuZCAiZG8gZ28nZSIgc2hvdWxkIHJlYWQgIm1pIGdvJ2kiCgoqKiBUaGUgY29ycmVjdCBj b3JyZWN0aW9uIGlzIHRvIHJlcGxhY2UgIkIncyBzdGF0ZW1lbnQiIHdpdGggIkEncyBzZWNvbmQg c3RhdGVtZW50Ii4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKioqIE5v dCByZWFsbHkuICJnbydlIHJhJ28iIGluIEEncyBzZWNvbmQgc3RhdGVtZW50IHdvdWxkIG1lYW4g dGhlIHNhbWUgYXMgImdvJ2UiLCB3aGljaCBpcyB3cm9uZy4gVGhlIG9yaWdpbmFsIGNvcnJlY3Rp b24gaXMgdmFsaWQgdGhvdWdoLgoKCgoqU2VjdGlvbiA2LCB0aGUgZXhjZXB0aW9ucyB0byB0aGUg YW5hcGhvcmEgcnVsZXMgYXJlIGFsbW9zdCBjZXJ0YWlubHkgaW5jb21wbGV0ZS4gSW4gcGFydGlj dWxhciAibWEiIGFuZCAiY2UndSIgZGVmaW5pdGVseSB3YXJyYW50IGV4Y2VwdGlvbnMuCgoKCiog U2VjdGlvbiA3LCBleGFtcGxlIDcuNyBoYXMgIm1pIHpiYXN1IGxvaSBtdWRyaSB6aSdvIiBmb3Ig Im1pIHpiYXN1IGxlIGRpbmp1IHppJ28iCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlz IEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDgsIHAuIDE1 OCBpbXBsaWVzIHRoYXQgJyd2bydhJyctc2VyaWVzIGFuYXBob3JhIHJlZmVyIHRvIHN1bXRpIG9m IHRoZSBicmlkaSB0aGV5IHRoZW1zZWx2ZXMgYXJlIHN1bXRpIG9mLiBUaGlzIGNvbnRyYWRpY3Rz IHRoZSBjbWF2byBsaXN0LCBhbmQgaXMgaW5jb3JyZWN0OiAnJ3ZvJ2EnJy1zZXJpZXMgYW5hcGhv cmEgKGFjY29yZGluZyB0byB0aGUgbWEnb3N0ZSkgcmVmZXIgdG8gc3VtdGkgb2YgdGhlIG91dGVy bW9zdCBicmlkaSB3aXRoaW4gdGhlIGN1cnJlbnQgc2VudGVuY2UuIFRoaXMgbWFrZXMgdGhlbSBs b2dvcGhvcnMvbG9uZyBkaXN0YW5jZSByZWZsZXhpdmVzLCByYXRoZXIgdGhhbiBzaG9ydC1kaXN0 YW5jZSByZWZsZXhpdmVzLCBhcyBpcyBub3JtYWwgaW4gaHVtYW4gbGFuZ3VhZ2UuIFRodXMsIGlu ICcnbWkgbmVsY2kgbGVudSBkbyBwcmFtaSB2bydhJycsICcndm8nYScnbWVhbnMgJydtaScnLCBu b3QgJydkbycnLgoKKipfXy0tPl9fKChXaHkgdGhlIEJvb2sgaXMgUmlnaHQgYW5kIHRoZSBtYSdv c3RlIGlzIFdyb25nKSkKCioqKldoaWNoIG9mIHRoZSB0d28gY2FzZXMgaXMgbm9ybWFsIGluIGh1 bWFuIGxhbmd1YWdlPyBJZiB5b3UnZCB3cml0dGVuIGl0IGluIExvamJhbiwgSSdkIGtub3chCgoq KioqIEknZCBndWVzcyB0aGF0IHNob3J0LWRpc3RhbmNlIGlzIG5vcm1hbCwgYi9jIG90aGVyd2lz ZSBpdCB3b3VsZCBub3QgYmUgd29ydGggY29tcGFyaW5nIHRoZSB0d28uIEJ1dCBvZiBjb3Vyc2Ug aW4gbG9qYmFuIHdlIHdvdWxkbid0IGhhdmUgdG8gZ2xvcmsgdGhhdC4KCioqKioqIFNob3J0LWRp c3RhbmNlIGlzIGluZGVlZCBub3JtYWwsIGJ1dCBMb2piYW5pc3RzIGhhdmUgY29uc2lzdGVudGx5 IHVzZWQgbG9uZy1kaXN0YW5jZS4gIE5pY2sgd3JvdGUgYSBwZWVyLXJldmlld2VkIHBhcGVyIG9u IHRoaXMuICAtLWpjb3dhbgoKCgoqIEV4YW1wbGUgNy44LjUgKHAxNTkpOiBiYWpyYSBvbiB0aGly ZCBsaW5lIHNob3VsZCBiZSBiYWp5a2xhLCBsaWtlIHRoZSBvdGhlcnMuCgoqKiAoKEFwcHJvdmVk IEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoK KiBTZWN0aW9uIDgsIGl0IHNheXMgIkV4YW1wbGUgOS4zIGlzIGEgdHJ1bHkgcHJlZ25hbnQgcXVl c3Rpb24uLi4iIHdoZW4gZXhhbXBsZSA5LjIgaXMgdGhlIHByZWduYW50IHF1ZXN0aW9uLCBhbmQg ZXhhbXBsZSA5LjMgaXMgYSBiZXR0ZXIgd2F5IG9mIGV4cHJlc3NpbmcgIldobyBhcmUgeW91PyIK CgoKKiBTZWN0aW9uIDE1LCBpdCBzYXlzICJGaW5hbGx5LCBsdWp2byBpbnZvbHZpbmcgYGB6aSdv JycgYXJlIGFsc28gcG9zc2libGUsIGFuZCBhcmUgZnVsbHkgZGlzY3Vzc2VkIGluIENoYXB0ZXIg MTIiLCBidXQgbm93aGVyZSBkb2VzIENoYXB0ZXIgMTIgbWVudGlvbiB0aGUgd29yZCB7emknb30s IG11Y2ggbGVzcyBsdWp2byBpbnZvbHZpbmcgaXQuIFRoaXMgaXMgcHJvYmFibHkgYSBDaGFwdGVy IDEyIGVycmF0dW0uCgotLS0KCgoKIUNoYXB0ZXIgOAoKCgoqIFNlY3Rpb24gMS4gRXhhbXBsZSAx LjggaXMgc2FpZCB0byBiZSBlcXVpdmFsZW50IHRvIEV4YW1wbGUgMS40LCB3aGVuIGl0IGlzIGlu c3RlYWQgZXF1aXZhbGVudCB0byBFeGFtcGxlIDEuNS4KCgoKKiBJbiBTZWN0aW9uIDMgdGhlIGV4 YW1wbGUgMy4yMCBzaG91bGQgaGF2ZSB7eGFuY2V9IGluc3RlYWQgb2Yge3hhbmNpfSwgd2hpY2gg aXMgZGVmaW5pdGVseSBhIHR5cG8uIC0taWRvbnRrbncKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxj YW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24g OCwgcC4gMTgxOiAgOC4xKSAnJ2xpIHBhaSBub2kgbmEnZSBmcmludSBuYW1jdScnc2hvdWxkIGJl ICcnbGkgcGFpIG5vaSBuYSdlIGZyaW51IGN1IG5hbWN1JycuICAoKEFwcHJvdmVkIEVycmF0dW18 amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDgsIEV4YW1wbGUgOC42LCB0aGUgdGhpcmQg bGluZSwgIkkgcnVubmluZ2x5LWdvIHRvLXRoaXMgW3JlY2lwcm9jaXR5XSBbeDMgb2YgdGhpcyBi cmlkaV0gZnJvbS10aGF0IiwgaXMgbm90IHRoZSB1c3VhbCBkZWNlbnQgRW5nbGlzaCBvbmUgd291 bGQgZXhwZWN0IGluIHRoYXQgcG9zaXRpb247IHJlcGxhY2VkIHdpdGggIkkgcnVuIHRvIHRoaXMg ZnJvbSB0aGF0IGFuZCB2aWNlIHZlcnNhLiIgaXMgZGFnLWNsbCAnJ0lOQ0xVREVEIElOIERBRy1D TEwnJwoKCgoqIFNlY3Rpb24gOSwgZXhhbXBsZSA5LjIgaXMgJydjbydvIHhpcm1hJycuIFRoZW4s ICcnTm90ZSB0aGF0IEV4YW1wbGUgOS4yIHNheXMgZmFyZXdlbGwgdG8gc29tZXRoaW5nIHdoaWNo IGRvZXNu4oCZdCByZWFsbHkgaGF2ZSB0byBiZSBhIGhvcnNlLCBzb21ldGhpbmcgdGhhdCB0aGUg c3BlYWtlciBzaW1wbHkgdGhpbmtzIG9mIGFzIGJlaW5nIGEgaG9yc2UsIG9yIGV2ZW4gbWlnaHQg YmUgc29tZXRoaW5nIChhIHBlcnNvbiwgZm9yIGV4YW1wbGUpIHdobyBpcyBuYW1lZCAiSG9yc2Ui LiBJbiBhIHNlbnNlLCBFeGFtcGxlIDkuMiBpcyBhbWJpZ3VvdXMgYmV0d2VlbiAiY28nbyBsZSB4 aXJtYSIgYW5kICJjbydvIGxhIHhpcm1hIicnLiBJcyB0aGlzIHRydWU/CgoqKiBZZXMsIGluIHRo ZSBzZW5zZSB0aGF0IGFsbCB1c2VzIG9mICJsZSIgJydtaWdodCcnIG1lYW4gImxhIi4gIEJ1dCBp dCdzIHByb2JhYmx5IG1vcmUgY29uZnVzaW5nIHRoYW4gaXQncyB3b3J0aC4gIFRydW5jYXRlIGFm dGVyICJ0aGlua3Mgb2YgYXMgYmVpbmcgYSBob3JzZSIuICAtLWpjb3dhbgoKCgoqIFNlY3Rpb24g OSBzYXlzICcnSW4gdm9jYXRpdmUgcGhyYXNlcyB3aGljaCBhcmUgc2ltcGxlIG5hbWVzIChhZnRl ciB0aGUgdm9jYXRpdmUgd29yZHMpLCBhbnkgcmVsYXRpdmUgY2xhdXNlcyBtdXN0IGNvbWUganVz dCBhZnRlciB0aGUgbmFtZXMnJy4gVGhpcyBpc24ndCB0cnVlLiBSZWxhdGl2ZSBjbGF1c2VzIGNh biBnbyBiZXR3ZWVuIHRoZSB2b2NhdGl2ZSBhbmQgdGhlIGNtZXZsYS4gICgoQXBwcm92ZWQgRXJy YXR1bXxqY293YW4gQXBwcm92ZWQpKSAgRHJvcCBpdDsgaXQgcmVmbGVjdHMgYW4gZWFybGllciBz dGF0ZSBvZiB0aGUgbGFuZ3VhZ2UuCgoKCiogU2VjdGlvbiAxMCwgZXhhbXBsZSAxMC4zIHVzZXMg ImtlJ2EgZ29pIGtvJ2Ugem8ndSBrbydhIHpiYXN1IGtlJ2EiIGJ1dCBnbG9zc2VzIGl0IGFzICIo SVQgPSBpdDIgOiBpdDEgYnVpbHQgaXQyKSIuIFRoZSBhc3NpZ25lZCAia28nZSIgaXMgbm90IHVz ZWQgYXMgZXhwZWN0ZWQgb3IgZGVzY3JpYmVkLCBhbmQgc2hvdWxkIHByb2JhYmx5IGJlICJrbydh IHpiYXN1IGtvJ2UiLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpICBZZXMs ICJrbydhIHpiYXN1IGtvJ2UiIGlzIGNsZWFybHkgd2hhdCdzIG1lYW50LgoKCgotLS0KCiFDaGFw dGVyIDkKCgoKKiBTZWN0aW9uIDYsIHBsYWNlIHN0cnVjdHVyZSBvZiAnJ3BpbG5vJycgaXMgbWlz c2luZyAiZm9yIHB1cnBvc2UgeDMiLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3Zl ZCkpCgoKCiogU2VjdGlvbiA4LCB0aGUgZXhhbXBsZXMgOC41IGFuZCA4LjYgYXJlIHN1cHBvc2Vk IHRvIG1lYW4gdGhlIHNhbWUgdGhpbmcsIGJ1dCBkbyBub3QuCgoqKiBQbGVhc2UgZWxhYm9yYXRl LiAgLS1qY293YW4KCioqKiA4LjUgbWVhbnMgIkkgZ2F2ZSB0aGUgYm9vayB0byBKb2huLCBiZWNh dXNlIEpvaG4gZ2F2ZSB0aGUgbW9uZXkgdG8gbWUiIGJ1dCA4LjYgbWVhbnMgIkpvaG4gZ2F2ZSB0 aGUgbW9uZXkgdG8gbWUgYmVjYXVzZSBJIGdhdmUgdGhlIGJvb2sgdG8gSm9obi4iCgoqKiAnJ0lO Q0xVREVEIElOIERBRy1DTEwnJyAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkK CgoKKiBTZWN0aW9uIDExLCBkZXNjcmlwdGlvbiBvZiB0aGUgbWVhbmluZyBvZiAiLmlqZSBzZXJp J2EgdHUnZSIgY29udHJhZGljdHMgdGhlIGV4cGxhbmF0aW9uIG9mIEV4YW1wbGUgOS45LCB3aGlj aCB3b3VsZCBzdWdnZXN0ICIuaWplIHJpJ2EgdHUnZSIuCgoKCiogc2VjdGlvbiAxNywgImZyb20g c291cmNlIGFzIGFuIG9yaWdpbiBvZiIgc2hvdWxkIGJlIHR3byBlbnRyaWVzOyAiZnJvbSBzb3Vy Y2UiIGFuZCAiYXMgYW4gb3JpZ2luIG9mIiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgotLS0K CgoKIUNoYXB0ZXIgMTAKCgoKKiBTZWN0aW9uIDQsICJ3aGVuIGJvdGggc3BhdGlhbCBhbmQgdGVt cG9yYWwgdGVuc2UgY21hdm8gYXJlIGdpdmVuIGluIGEgc2luZ2xlIHRlbnNlIGNvbnN0cnVjdCwg dGhlIHRlbXBvcmFsIHRlbnNlIGlzIGV4cHJlc3NlZCBmaXJzdCIgZGlzYWdyZWVzIHdpdGggdGhl IHJ1bGUgc2ltcGxlLXRlbnNlLW1vZGFsLTk3MiBpbiB0aGUgQk5GIGdyYW1tYXIuCgoKCiogU2Vj dGlvbiA5LCBleGFtcGxlIDkuOSBvbiBwYWdlIDIyNyBoYXMgImNpcmxpIiBmb3IgImNpcmxhIi4K CioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElO IERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTIsIGV4YW1wbGUgMTIuNiB0cmFuc2xhdGVzIG1vcnNp IGFzICJkaWUiIHJhdGhlciB0aGFuICJhbSBkZWFkIiBpbiB0aGUgdHJhbnNsYXRpb24gKGFzIG9w cG9zZWQgdG8gdGhlIGdsb3NzKS4KCgoKKiBTZWN0aW9uIDE2LCBhdCB0aGUgZW5kLCB0aGUgWCBh bmQgWSBpbiB0aGUgMyBmb3JtcyBkb24ndCBmaXQgcHJvcGVybHkgKHRoZSAzcmQgZG9lc24ndCBt YXRjaCB0aGUgZmlyc3QgdHdvKS4gSSByZWNvbW1lbmQsIGNvcHlpbmcgZnJvbSBTZWN0aW9uIDIz ICh3aGVyZSB0aGV5IGFyZSB3cml0dGVuIGFnYWluIGNvcnJlY3RseSk6CgogICAgICAgWCAuaSBU RU5TRSBibyBZCgogICAgICAgVEVOU0UgZ2kgWCBnaSBZCgogICAgICAgWSBURU5TRSBsZSBudSBY CgoKCiogU2VjdGlvbiAxNywgZXhhbXBsZSAxNy4xMiBzaG91bGQgbm90IGhhdmUgdGhlIHNlY29u ZCAiYmV2cmkiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcn SU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxOCwgZXhhbXBsZSAxOC45IGlzIHN1 cHBvc2VkIHRvIHNob3cgc2NhbGFyIG5lZ2F0aW9uIG9mIHRlbnNlcyBub3QgbGltaXRlZCB0byBQ VSBhbmQgRkFoQSwgYnV0IHRoZSBleGFtcGxlIHRlbnNlIGlzIHJpJ3UgKEZBaEEyKS4KCgoKKiBT ZWN0aW9uIDE5LCBleGFtcGxlIDE5LjEwIHNob3VsZCBoYXZlICJiYSIsIG5vdCAicHUiLCBhbmQg IltmdXR1cmVdIiwgbm90ICJbcGFzdF0iLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHBy b3ZlZCkpCgoKCiogU2VjdGlvbiAyNSwgZXhhbXBsZXMgMjUuMSBhbmQgMjUuMiBoYXZlICcnbHUn YScnIGZvciAnJ2xhJ3UnJy4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92 ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMjUsIHRoaXMgd2hvbGUg c2VjdGlvbiBpcyBhdCBvZGRzIHdpdGggdGhlIGZvcm1hbCBncmFtbWFyLiBJdCBzYXlzOiAnJ0l0 IGlzIGdyYW1tYXRpY2FsIGZvciBhIHRlcm1zZXQgdG8gYmUgcGxhY2VkIGFmdGVyIGEgdGVuc2Ug b3IgbW9kYWwgdGFnIHJhdGhlciB0aGFuIGEgc3VtdGknJy4gIEJ1dCB0aGF0IGlzIGluIGZhY3Qg aW5jb3JyZWN0LCBpdCBpcyBub3QgZ3JhbW1hdGljYWwgZm9yIGEgdGVybXNldCB0byBiZSB0aGUg YXJndW1lbnQgb2YgYSB0YWcuCgoqKiBVbmZvcnR1bmF0ZWx5IHRydWUuICBUZXJtc2V0cyBzdWNr IHJvY2tzLCBhbmQgc29tZSB3b3JrIHdpbGwgaGF2ZSB0byBiZSBkb25lIHRvIG1ha2UgZXZlcnl0 aGluZyBzYWlkIGFib3V0IHRoZW0gY29uc2lzdGVudCAtLSBpZiBpdCBpcyBldmVuIHBvc3NpYmxl LiAgUGVyc29uYWxseSwgSSdkIGxpa2UgdG8ganVzdCBidXJuIHRoZW0uICAtLWpjb3dhbiAgJycn Tk9GSVgnJycKCgoKKiBTZWN0aW9uIDI3OiBNT2hJIHNlZSBTZWN0aW9uIDI4LCBub3QgMjcuICAo KEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKLS0tCgoKCiFDaGFwdGVyIDEx CgoKCiogU2VjdGlvbiA0OiBUaGUgdXNlIG9mIGthIGluIEV4YW1wbGUgNC40IChwYWdlIDI1OSkg aXMgZXJyb25lb3VzOyBpdCBzaG91bGQgYmUgZHUndS4gLS0oKEpvaG4gQ293YW4pKSAoKEFwcHJv dmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBMYXN0IHBhcmFncmFwaCBvZiBzZWN0 aW9uIDcgcmVmZXJlbmNlcyBjaGFwdGVyIDUgZm9yIGEgZGlzY3Vzc2lvbiBvZiAibHUnZSIuICBs dSdlIGlzbid0IG1lbnRpb25lZCBpbiBjaGFwdGVyIDUuICBQcm9iYWJseSBjaGFwdGVyIDYgaXMg bWVhbnQgaGVyZS4KCioqIFllcywgc2hvdWxkIGJlIFNlY3Rpb24gNS4xMC4gICAgKChBcHByb3Zl ZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiA5LCBwYWdlIDI2NiBoYXMg InNhbydyZHppZmEnYSIgaW5zdGVhZCBvZiAic2Enb3JkemlmYSdhIi4KCioqICgoQXBwcm92ZWQg RXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoq IFRoZSBzYW1lIGV4YW1wbGUgKDkuNikgYWxzbyBoYXMga3VjdHJhIGluc3RlYWQgb2Yga3VjdGFp CgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJ TiBEQUctQ0xMJycKCgoKKiBUaGUgYm9vayB0aXRsZSBpbiBleGFtcGxlIDkuNiBzZWVtcyB0byBi ZSBpbmNvcnJlY3Q6ICJUaGUgQ3J1Y2lmaXhpb24gb2YgSmVzdXMgQ29uc2lkZXJlZCBBcyBBIERv d25oaWxsIEJpY3ljbGUgUmFjZSIgaXMgYWN0dWFsbHkgIltodHRwOi8vd3d3LmV2ZXJncmVlbnJl dmlldy5jb20vMTAyL2ZpY3Rpb24vZHVvLmh0bWx8VGhlIENydWNpZml4aW9uIENvbnNpZGVyZWQg QXMgQW4gVXBoaWxsIEJpY3ljbGUgUmFjZV0uIgoKKiogVW5hcHByb3ZlZAoKCgoqIFNlY3Rpb24g MTA6IFBhcmFncmFwaCBhYm92ZSBleGFtcGxlIDEwLjcgcmVmZXJlbmNlcyAiQ2hhcHRlciAxMSIu IFRoYXQgc2hvdWxkIHJlYWQgIkNoYXB0ZXIgMTAiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNh bWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAx MTogRXhhbXBsZSAxMS41IGlzIHtzdSdvZGEgcG9pIHZlcmJhIGN1IGtsYW1hIHJvZGUgcG9pIGNr dWxlIG5ha3V9LiBJdCBzaG91bGQgYmUge3N1J29kYSBwb2kgdmVyYmEgY3Uga2xhbWEgcm9kZSBw b2kgY2t1bGUga3UnbyBuYWt1fSBvciBhbiBlcXVpdmFsZW50OyBhcyBpdCBzdGFuZHMgdGhlIG5h a3UgaXMgdW5kZXNpcmFibHkgaW4gdGhlIHJlbGF0aXZlIGNsYXVzZS4KCgoKKiBTZWN0aW9uIDEy LCBwYWdlIDI2OSBoYXMgZXhhbXBsZXMgMTMuMSBhbmQgMTMuMiwgdGhvc2Ugc2hvdWxkIGJlIGNh bGxlZCAxMi4xIGFuZCAxMi4yLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkp CgoKCi0tLQoKCgohQ2hhcHRlciAxMgoKCgoqIFNlY3Rpb24gMiwgcGFnZSAyNzUuIFRoZSBwYXJh Z3JhcGggdW5kZXIgRXhhbXBsZSAyLjMgcmVmZXJzIHRvIGl0IGFzIEV4YW1wbGUgMi40ICgyLjQg ZG9lc24ndCBldmVuIGV4aXN0KS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQp KQoKCgoqIFNlY3Rpb24gNSwgcmlnaHQgYWZ0ZXIgZXhhbXBsZSA1LjcuIEl0IHNheXMgImEiIGlu c3RlYWQgb2YgImFuIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoq IFNlY3Rpb24gNiwgcGFnZSAyODAuIEV4YW1wbGUgNi42IHNob3VsZCBoYXZlIGEgc3BhY2UgYmV0 d2VlbiAibGEgc3BhdC4iIGFuZCAibm9pIi4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNt aXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gNywgcGFn ZSAyODIuIEV4YW1wbGUgNy41IGhhcyAiYmFuc29pIiBpbnN0ZWFkIG9mICJiYWxzb2kiLgoKKiog KChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFH LUNMTCcnCgoKCiogU2VjdGlvbiAxMSwgcGFnZSAyODUgaGFzICJ4YXNjYWtjdXJudSIgaW5zdGVh ZCBvZiAieGFzeWNha2N1cm51Ii4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBw cm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTIgcmVmZXJzIHRv ICJudW5rbGFtYSIgYXMgdGhlIHNhbWUgbHVqdm8gYXMgIm51bmtsYSIuICBFdmVuIGlmIHRoZXNl IGFyZSBlcXVpdmFsZW50IGFsdGVybmF0aXZlcyBpdCB3b3VsZCBiZSBsZXNzIGNvbmZ1c2luZyB0 byBiZSBjb25zaXN0ZW50LgoKCgoqIFNlY3Rpb24gMTIgY2xhaW1zIHRoYXQgLWpheC0gaXMgYSBy YWZzaSBmb3Ige2phaX0sIGJ1dCBpdCBpc24ndCBpbiBbaHR0cDovL3d3dy5sb2piYW4ub3JnL3B1 YmxpY2F0aW9ucy93b3JkbGlzdHMvcmFmc2kudHh0fGh0dHA6Ly93d3cubG9qYmFuLm9yZy9wdWJs aWNhdGlvbnMvd29yZGxpc3RzL3JhZnNpLnR4dF0uIERvZXMge2phaX0gaGF2ZSBhIHJhZnNpIG9y IG5vdD8KCioqIEl0IHNob3VsZCwgYnV0IHNvbWVob3cgaXQgbmV2ZXIgZ290IGludG8gdGhlIGdp c211IGxpc3QsIGFuZCBjb25zZXF1ZW50bHkgbm90IGludG8gdGhlIHJhZnNpIGxpc3QgZWl0aGVy LiAgU3RldCwgYW5kIHdlJ2xsIGFkZCBpdCB0byB0aGUgZ2lzbXUgbGlzdC4gIC0tamNvd2FuCgoK CiogU2VjdGlvbiAxMiwgcmlnaHQgYXQgdGhlIGVuZCwgc2F5cyB0aGF0IHtmYWl9IGlzIGV4cGxh aW5lZCBpbiBDaGFwdGVyIDExLCBidXQgQ2hhcHRlciAxMSBtYWtlcyBubyBtZW50aW9uIG9mIHtm YWl9LiBPbmx5IGNoYXB0ZXJzIDkgYW5kIDEwIGRvLgoKKiogJydJTkNMVURFRCBJTiBEQUctQ0xM JycgKHpvcnQncyBmb3JrIGF0IGxlYXN0KSAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHBy b3ZlZCkpCgoKCiogU2VjdGlvbiAxNCwgZXhhbXBsZSAxNC4yLiBNaXNzaW5nIDwgL3ByZSA+IHRh ZywgYW5kIG1pc3NpbmcgPCBwcmU+IHRhZyBmb2xsb3dpbmcgZXhwbGFuYXRvcnkgcGFyYWdyYXBo LgoKCgoqIFNlY3Rpb24gMTQsIHBhZ2UgMjkxLiBUaGUgcGFyYWdyYXBoIHVuZGVyIGV4YW1wbGUg MTQuNyBzYXlzICJzZSB4YW5jZSBtaW5kdSIgaW5zdGVhZCBvZiAic2UgeGFuY2UgbWluZGUiLgoK KiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4g REFHLUNMTCcnCgoKCiogU2VjdGlvbiAxNSwgdHdvIHBhcmFncmFwaHMgYmVmb3JlIGV4YW1wbGUg MTUuNy4gSXQgc2F5cyAiVGhlcmUgYXJlIHNvbWUgY29tcGFyYXRpdmUgY29uY2VwdHMgd2hpY2gg YXJlIGluIHdoaWNoIHRoZSAnc2Ugem1hZHUnIGlzIGRpZmZpY3VsdCB0byBzcGVjaWZ5LiIgVGhl ICJ3aGljaCBhcmUgaW4gd2hpY2giIHNlZW1zIGdyYW1tYXRpY2FsbHkgaW5jb3JyZWN0LgoKKiog RHJvcCAid2hpY2ggYXJlIi4gIC0tamNvd2FuICAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBB cHByb3ZlZCkpCgoKCiogU2VjdGlvbiAxNSwgZXhhbXBsZSAxNS4xLCB0aGUgeDQgb2Yge3ptYWR1 fSBhbmQge21sZWNhfSBzaG91bGQgYmUgImJ5IGFtb3VudCIgb3IgImJ5IHF1YW50aXR5Iiwgbm90 ICJpbiBxdWFudGl0eSIuCgoKCiogU2VjdGlvbiAxNSwgcGFnZSAyOTQsIGV4YW1wbGUgMTUuMTQu ICJsYSBhaW5jdGFpbiIgbmVlZHMgYSBwZXJpb2QgYmVmb3JlIGl0IGJlY2F1c2UgaXQgc3RhcnRz IHdpdGggYSB2b3dlbC4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQp KSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgotLS0KCgoKIUNoYXB0ZXIgMTMKCgoKKiBNYW55 IGluY2lkZW50cyBvZiBub3QgaGF2aW5nIHBlcmlvZHMgaW4gZnJvbnQgb2Ygdm93ZWwtaW5pdGlh bCBjbWF2by4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lO Q0xVREVEIElOIERBRy1DTEwnJwoKCgoqIEluIHNlY3Rpb24gMiwgcC4gMzAwIHJlZmVyZW5jZXMg dG8gdGhlIGV4YW1wbGVzIGZvciAudWUgYW5kIC51ZWN1J2kgYXJlIGZsaXBwZWQuICAoKEFwcHJv dmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDMsIHBhZ2UgMzAzLCBl eGFtcGxlIDMuOS4gImUnZSIgbmVlZHMgYSBwZXJpb2QgYmVmb3JlIGl0LgoKKiogKChBcHByb3Zl ZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoK CiogU2VjdGlvbiAzLCBwYWdlIDMwMywgZXhhbXBsZSAzLjEwLiAidGlzbmEiIG5lZWRzIHRvIGJl IHJlcGxhY2VkIHdpdGggInRpc3lnYXUiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21p cyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA0LCBwYWdl IDMwNS4gVGhlIHNjYWxlIHdpdGggdGhlIGdpc211IG1uZW1vbmljcyBpcyBtaXNhbGlnbmVkIHdp dGggdGhlIHNjYWxlIHdpdGggdGhlIG1lbWJlcnMgb2Ygc2VsbWEnbyBDQUkuICJzYWkiIHNob3Vs ZCBiZSB0YWJiZWQgb25lIHBsYWNlIGxlZnQsIHNvIHRoYXQgaXQgYWxpZ25zIHdpdGggdHNhbGks ICZjLgoKCgoqIFNlY3Rpb24gNywgaXQgc2F5cyAiSXQgaXMgbm90IGNsZWFyIGhvdyBtdWNoIHVz ZSBsb2dpY2FsbHkgY29ubmVjdGVkIGFic3RyYWN0b3JzIHdpbGwgYmU6IHNlZSBDaGFwdGVyIDEz LiIgSXQgc2hvdWxkIGJlICJDaGFwdGVyIDE1LiIKCioqICcnSU5DTFVERUQgSU4gREFHLUNMTCcn ICh6b3J0J3MgZm9yayBhdCBsZWFzdCkgYnV0IG5lZWRzIGFwcHJvdmFsCgoqIFNlY3Rpb24gMTAs IHBhZ2UgMzEzLiBUaGVyZSBpcyBhIG1pc3Npbmcgc3BhY2UgYmV0d2VlbiAiY29udGludWUgZW1v dGlvbiIgYW5kICJlbmQgZW1vdGlvbiIuCgoKCiogU2VjdGlvbiAxNS4gQSBzYW1wbGUgZGlhbG9n dWUgIDE1LjQpIC8gfm5wfltDb21tZW50XSBQYW0gc2F5cywgW1BsZWFzZV0gQWxpY2UsIFtlbmQt b2YtY29tbWVudF0gLyBbQ29tbWVudF0gUGFtIHNheXMsIFtlbmQtb2YtY29tbWVudF0gW1BsZWFz ZV0gQWxpY2UsL34vbnB+ICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiog KChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFH LUNMTCcnCgoKCiogU2VjdGlvbiAxNSwgZXhhbXBsZSAxNS41IC94YW1ndS9nbGVraS8gPwoKKiog KChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFH LUNMTCcnCgoKCiogU2VjdGlvbiAxNSwgZXhhbXBsZSAxNS4xMCkgL2ZpJ2kgcm8genZhdGkga28g cGlueGUgcGEgY2thZmkvZmknaSBybyB6dmF0aSAuaSBrbyBwaW54ZSBwYSBja2FmaS8KCioqIE5v LCB0aGlzIG9uZSBpcyBwZXJmZWN0bHkgZmluZTogImZpJ2kgcm8genZhdGkiIGlzIGEgdm9jYXRp dmUgcGhyYXNlLCB3aGljaCBpcyBhIGZyZWUgbW9kaWZpZXIsIG1lYW5pbmcgdGhhdCBpdCBjYW4g b2NjdXIgYWxtb3N0IGFueXdoZXJlLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3Zl ZCkpCgoKCiogU2VjdGlvbiAxNSwgZXhhbXBsZSAxNS4xMykgL2ZpJ28gc2VscGxlamkgbWkvZmkn byBwbGVqaSBtaS8KCioqIEFuZCAid2l0aCBwYXllciIgcmF0aGVyIHRoYW4gIndpdGggcGF5bWVu dCI7IGV5J3Mgbm90IHBheWluZyB3aXRoIGVtc2VsZiEgLS0gY2FtZ3VzbWlzCgoqKiAoKEFwcHJv dmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycK CgoKKiBTZWN0aW9uIDE1LCBleGFtcGxlIDE1LjEzLiBXcm9uZyB1c2Ugb2Yge3NlbGZ1fS4ge2Jl dnJpfSB3b3VsZCBmaXQgYmV0dGVyLgoKLS0tCgoKCiFDaGFwdGVyIDE0CgoKCiogU2VjdGlvbiA4 LCByaWdodCBiZWZvcmUgZXhhbXBsZSA4LjkgaXMgInByb2R1Y2luZyBleGFtcGxlIDguMTAiIHdo aWNoIHNob3VsZCBpbiBmYWN0IHJlYWQgInByb2R1Y2luZyBleGFtcGxlIDguOSIuICAoKEFwcHJv dmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDk6IGJldHdlZW4gZXhh bXBsZSA5LjEwIGFuZCA5LjExLCAiaWRlbnRpZmllZCIgc2hvdWxkIHJlYWQgImlkZW50aWNhbCIK CioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElO IERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTEsIHJpZ2h0IGJlZm9yZSBzZWN0aW9uIDEyLiBJdCBz YXlzICJ0ZXJtc2V0cy4uLmFyZSBleHBsYWluZWQgaW4gQ2hhcHRlciAxMiBhbmQgQ2hhcHRlciAx NiIgYnV0IGNoYXB0ZXIgMTIgKHdoaWNoIGlzIG9uIGx1anZvKSBtYWtlcyBhYnNvbHV0ZWx5IG5v IG1lbnRpb24gb2YgdGVybXNldHMuIENoYXB0ZXJzIDkgYW5kIDEwIGRpc2N1c3MgdGVybXNldHMu ICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDE0LCBl eGFtcGxlIDE0LjE1IGlzIG5vdCBncmFtbWF0aWNhbCAoYWNjb3JkaW5nIHRvIGpib2ZpJ2UgYW5k IGNhbXhlcykgYmVjYXVzZSBpdCBzYXlzICJwZSdlIC5lIiB3aGVuIGl0IHNob3VsZCBzYXkgInBl J2UgamUiLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlv biAxNCwgZXhhbXBsZSAxNC4xNiBtZW50aW9ucyAic29ybWUiLCB3aGljaCBpcyBwcm9iYWJseSBP bGQgTG9nbGFuLCBhbmQgc2hvdWxkIGJlIHJlcGxhY2VkIGJ5ICJtZW5zaSIuCgoqKiAoKEFwcHJv dmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycK CgoKKiBTZWN0aW9uIDE0LCAidGhlIHN0YXRlZCBnbG9zcyBvZiBURlRUYXMg4oCcb25seSBpZuKA nSB3b3JrcyBuYXR1cmFsbHkgb25seSB3aGVuIHRoZSByaWdodC1oYW5kIGJyaWRpIGlzIHRydWU7 IGlmIGl0IGlzIGZhbHNlLCB0aGUgbGVmdC1oYW5kIGJyaWRpIG1heSBiZSBlaXRoZXIgdHJ1ZSBv ciBmYWxzZS4iIGNoYW5nZWQgdG8gInRoZSBzdGF0ZWQgZ2xvc3Mgb2YgVEZUVGFzIOKAnG9ubHkg aWbigJ0gd29ya3MgbmF0dXJhbGx5IG9ubHkgd2hlbiB0aGUgcmlnaHQtaGFuZCBicmlkaSBpcyBm YWxzZTsgaWYgaXQgaXMgdHJ1ZSwgdGhlIGxlZnQtaGFuZCBicmlkaSBtYXkgYmUgZWl0aGVyIHRy dWUgb3IgZmFsc2UuIgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkp ICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxNSwgcmlnaHQgYWZ0ZXIgMTUu OSwgaXQgc2F5cyAiZXhhbXBsZSAxNC4xNyIgd2hlcmUgaXQgc2hvdWxkIHNheSAiZXhhbXBsZSAx NS45IiAoMTQuMTcgZG9lcyBub3QgZXhpc3QpLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBB cHByb3ZlZCkpCgoKCiogU2VjdGlvbiAxNSwgZXhhbXBsZSAxNS45IGlzIG5vdCBncmFtbWF0aWNh bDsgaXQgc2hvdWxkIGJlICJsYSBkamFuLiBmYSd1IGxhIGZyYW5rLiBjdXNrdSBudSdpIGJhdSBs YSBsb2piYW4uIHBlJ2UgZmEndSBiYWkgbGEgZGpvcmRqLiIuCgoKCiogU2VjdGlvbiAxOSwgZXhh bXBsZSAxOS40IGlzIHRyYW5zbGF0ZWQgYXMgIkkgb3BpbmUgdGhlIGZhY3QtdGhhdCBhLW1hc3Mt b2YgbGl2aW5nLXRoaW5ncyBpcy1hdCBKdXBpdGVyIG9yLWVsc2UgSSBvcGluZSB0aGUgZmFjdC10 aGF0IGEtbWFzcy1vZiBsaXZpbmctdGhpbmdzIGlzbid0LWF0IEp1cGl0ZXIiIGJ1dCByZWFsbHkg aXQncyAiSSBvcGluZSB0aGUgZmFjdC10aGF0IGEtbWFzcy1vZiBsaXZpbmctdGhpbmdzIGlzLWF0 IEp1cGl0ZXIgb3ItZWxzZSBJIF9fZG8tbm90X18gb3BpbmUgdGhlIGZhY3QtdGhhdCBhLW1hc3Mt b2YgbGl2aW5nLXRoaW5ncyBfX2lzLWF0X18gSnVwaXRlciIuIFNvIDE5LjQgaXMgYWN0dWFsbHkg dHJ1ZSwgbm90IGZhbHNlIGFzIGl0IGlzIGNsYWltZWQgdG8gYmUuCgoqKiBDb3JyZWN0LCBzbyB0 aGlzIGV4YW1wbGUgd2lsbCBuZWVkIHJlcGxhY2luZy4gICAgKChBcHByb3ZlZCBFcnJhdHVtfGpj b3dhbiBBcHByb3ZlZCkpCgoKCiogQWxzbyB0aGVyZSBpc24ndCByZWFsbHkgYSByZWFzb24gZm9y IGl0IHRvIHNheSBhIG1hc3Mgb2YgbGl2aW5nIHRoaW5ncyBhbmQgbm90IHNvbWUgaW5kaXZpZHVh bCBsaXZpbmcgdGhpbmdzLgoKKiogU3RldC4gIFRoZSBhdXRob3IgcHJlZmVycyBpdCB0aGF0IHdh eSwgdGhhbmt5b3V2ZXJ5bXVjaC4gIC0tamNvd2FuLgoKCgoKCi0tLQoKCgohIENoYXB0ZXIgMTUK CgoKKiBTZWN0aW9uIDIsIG1pc3NpbmcgPCAvcHJlID4gdGFnIGFmdGVyIGV4YW1wbGUgMi44IGFu ZCA8IHByZT4gdGFnIGJlZm9yZSBleGFtcGxlIDIuOS4KCgoKKiBTZWN0aW9uIDQsIGV4YW1wbGUg NC4xMiAvbmFrZS9uYSdla2UvCgoKCiogU2VjdGlvbiA5LCB0d28gcGFyYWdyYXBocyBhYm92ZSBl eGFtcGxlIDkuNCB0aGUgd29yZCAibmVnYXRpdiIgc2hvdWxkIGJlICJuZWdhdGl2ZSIuICAoKEFw cHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDk6IElzIHRoZXJl IHN1cHBvc2VkIHRvIGJlIGFueSBkaWZmZXJlbmNlIGJldHdlZW4gZXguIDkuNSBhbmQgOS42PwoK KiogVGhhdCBwcm9ibGVtIGlzIG9ubHkgaW4gdGhlIG9ubGluZSB2ZXJzaW9uLgoKCgoqIFNlY3Rp b24gMTAsIHRocmVlIHBhcmFncmFwaHMgYWZ0ZXIgZXhhbXBsZSAxMC4xNCwgdGhlcmUncyBhIHNl bWljb2xvbiB3aGljaCBzaG91bGQgYmUgYSBjb21tYSBhZnRlciAiKHNheSwgYSBzcGVsbGluZyBl cnJvcikiLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlv biAxMCwgaXQgc2F5cyAiJ2ppJ3VuYSdpa3UnIG1ldGFsaW5ndWlzdGljYWxseSBzYXlzIHRoYXQg c29tZXRoaW5nIGlzIHdyb25nIHdpdGggdGhhdCBhc3N1bXB0aW9uLiAoU2VlIENoYXB0ZXIgMTAu KSIuIFNob3VsZG4ndCB0aGF0IGJlIENoYXB0ZXIgOSwgbW9kYWxzPwoKKiogJydJTkNMVURFRCBJ TiBEQUctQ0xMJycgKHpvcnQncyBmb3JrIGF0IGxlYXN0KSAoKEFwcHJvdmVkIEVycmF0dW18amNv d2FuIEFwcHJvdmVkKSkKCi0tLQoKCgohQ2hhcHRlciAxNgoKCgoqIFNlY3Rpb24gNSwgZXhhbXBs ZSA1LjU6IEVuZ2xpc2ggaGFzICJldmVyeSBZIiB3aGVuIGl0IHNob3VsZCByZWFkICJldmVyeSBY IgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQg SU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA2LCBleGFtcGxlIDYuNiBoYXMgYSBtaXNzaW5nICJj dSIgYmVmb3JlICJ2aXNrYSIuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJv dmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDgsIHRoZSBleHBsYW5h dGlvbiBvZiBleGFtcGxlIDguMyBzYXlzICJhbnkgZW50aXR5IHdoaWNoIGlzIG9uZSBpcyBhbHNv IHRoZSBvdGhlciIuIFRoYXQgd291bGQgYmUgdHJ1ZSBpZiB0aGUgZXhhbXBsZSB1c2VkIHtnb30s IGJ1dCBpdCB1c2VzIHtnYW5haX0uIDguMyBkb2VzIG5vdCBjbGFpbSB0aGF0IGlmIHNvbWV0aGlu ZyB3YWxrcyBhY3Jvc3MgdGhlIGZpZWxkIHRoZW4gaXQgZ29lcyB0byB0aGUgc3RvcmUuICAoKEFw cHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkgIENoYW5nZSBpdCB0byB1c2Uge2dvfS4g JydJTkNMVURFRCBJTiBEQUctQ0xMJycKCioqIFNhbWUgcGxhY2U6IG5lZWRzIHRvIGJvIHtkYSBn b30sIG5vdCB7Z28gZGF9ICBBbmQgdGhlIGdsb3NzIHNob3VsZCBiZSAiRm9yLWV2ZXJ5IFg6IFgg aXMtYS1nb2VyLXRvIHRoZSBzdG9yZSBpZi1hbmQtb25seS1pZiBpdCBpcy1hLXdhbGtlci1vbiB0 aGUgZmllbGQuIiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gOCwgZXhhbXBs ZSA4LjMuIEVpdGhlciB0aGUge2RhfSBzaG91bGQgY29tZSBiZWZvcmUgdGhlIHtnYW5haX0gKG9y LCBieSB0aGUgcHJldmlvdXMgXiBlcnJhdHVtLCB7Z299KSBhbmQgdGhlIGdsb3NzIHNob3VsZCBi ZSBjaGFuZ2VkIHRvIG9ubHkgbWVudGlvbiAiWCIgb25jZSwgb3IgYSB7ZGF9IHNob3VsZCBiZSBp bnNlcnRlZCBiZWZvcmUge2NhZHp1fS4KCioqICcnSU5DTFVERUQgSU4gREFHLUNMTCcnICBjaG9z ZSBmaXJzdCBvcHRpb24gc2luY2UgaXQncyB0ZXJzZXIgKHpvcnQncyBmb3JrIGF0IGxlYXN0KSBi dXQgbmVlZHMgYXBwcm92YWwKCgoKKiBUaGlzOiAiQWRqYWNlbnQgbmVnYXRpb24gYm91bmRhcmll cyBpbiB0aGUgcHJlbmV4IGNhbiBiZSBkcm9wcGVkLCIgcmVhZHMgYmV0dGVyIGFzICJBZGphY2Vu dCBwYWlycyBvZiBuZWdhdGlvbiBib3VuZGFyaWVzIGluIHRoZSBwcmVuZXggY2FuIGJlIGRyb3Bw ZWQsIgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVE RUQgSU4gREFHLUNMTCcnCgoqKiogVGhlIG9ubGluZSB2ZXJzaW9uIHNheXMgIkFkamFjZW50IGRv dWJsZSBuZWdhdGlvbiBib3VuZGFyaWVzIiwgYnV0IEknbSBva2F5IHdpdGggZWl0aGVyICJkb3Vi bGUiIG9yICJwYWlycyBvZiIuICAtLWpjb3dhbgoKCgoqIFNlY3Rpb24gMTAsIGV4LiAxMC41IGFu ZCAxMC42IGhhdmUgYSBwcmVuZXgsICJuYWt1IHpvJ3UiLCBhZnRlciBhbiBpamVrLiBUaGlzIGlz IG5vdCBhbGxvd2VkIGJ5IHRoZSBncmFtbWFyLiBJdCBjb3VsZCBiZSBmaXhlZCBieSByZW1vdmlu ZyB0aGUgInpvJ3UiIGFuZCB1c2luZyAibmFrdSIgb3V0c2lkZSB0aGUgcHJlbmV4LCBhbHRob3Vn aCB0aGlzIGlzIG9ubHkgZXhwbGFpbmVkIGluIHRoZSBmb2xsb3dpbmcgU2VjdGlvbiAxMS4KCioq IFRoaXMgaXMgYSBiaWcgcHJvYmxlbSwgYW5kIEknbSBub3Qgc3VyZSB3aGF0IHNob3VsZCBiZSBm aXhlZC4gIC0tamNvd2FuICAnJydOT0ZJWCcnJwoKKiBTZWN0aW9uIDEyLCBleC4gMTIuNyBhbmQg MTIuOSBoYXZlIG1pc3NpbmcgImN1InMuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlz IEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDE0LCBFeGFt cGxlIDE0LjEgaGFzICJibGFjaSIgKGdsYXNzKSBub3QgImJsYWJpIiAod2hpdGUpIGFzIHBlciB0 aGUgRW5nbGlzaC4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAn J0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgotLS0KCgoKIUNoYXB0ZXIgMTcKCgoKKiBTZWN0aW9u IDUsIGFmdGVyIGV4YW1wbGUgNS4xLCBwYXJhZ3JhcGggc3RhcnRpbmcgIkhvd2V2ZXIsICIgaGFz IGluY29ycmVjdCBmb250LiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoK CiogU2VjdGlvbiA1LCBpbiB0aGUgc2Vjb25kIHBhcmFncmFwaCBhZnRlciBleGFtcGxlIDUuMSwg c2F5cyAndGhlIGxlcmZ1IHdvcmQg4oCcdHnigJ0gd291bGQgcmVwcmVzZW50IG5vdCBMYXRpbiDi gJx04oCdIGJ1dCBHcmVlayDigJx0YXXigJ0uJyBTaG91bGRuJ3QgaXQgYmUgInR5LiI/CgoKCiog U2VjdGlvbiA5LCBwYWdlIDQyMS4gbGVyZnUgc3RyaW5ncyBhcmUgd3JpdHRlbiB3aXRob3V0IHBh dXNlcyBvciBzcGFjZXMsIGV2ZW4gdGhvdWdoIEJZIHdvcmRzIGhhdmUgdG8gZW5kIHdpdGggYSBj b25zb25hbnQuCgoqKiBTdGV0LiAgQlkgd29yZHMgZG8gbm90IGVuZCB3aXRoIGEgY29uc29uYW50 LCBhbmQgYSBzdHJpbmcgb2YgdGhlbSBjYW4gbmV2ZXIgYmUgYW1iaWd1b3VzLCBzbyBwYXVzZXMv c3BhY2VzIGFyZSBub3QgcmVxdWlyZWQuICAtLWpjb3dhbgoKCgoqIFNlY3Rpb24gOSwgRXhhbXBs ZSA5LjQ6IHNob3VsZG4ndCAic3lteWp5IiBiZSAic3lteWR5IiAobG9qYmFuIG1vcnBob2xvZ3kp PyAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAxMC4g QWZ0ZXIgRXhhbXBsZSAxMC40LjUsIHRoZSByZWZlcmVuY2UgdG8gRXhhbXBsZSAxMC40IHNob3Vs ZCBiZSBpbnN0ZWFkIHRvIEV4YW1wbGUgMTAuNC41LgoKKipJbiB0aGUgY3VycmVudCBEQUctQ0xM LCB0aGUgZXhhbXBsZXMgbnVtYmVyaW5nIGlzIHNhbmUsIGJ1dCBhZnRlciBFeGFtcGxlIDEwLjMs IHRoZSB0d28gcmVmZXJlbmNlcyB0byBFeGFtcGxlIDEwLjQgc2hvdWxkIGJlIHRvIEV4YW1wbGUg MTAuMy4KCgoKKiBSaWdodCBiZWZvcmUgc2VjdGlvbiAxMiwgdGhlcmUgaXMgYSBsaW5lIGJyZWFr IGluIHRoZSBtaWRkbGUgb2YgdGhlIHBhcmFncmFwaC4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293 YW4gQXBwcm92ZWQpKQoKCgoqIEluIHNlY3Rpb24gMTMsIHRoZSBmaXJzdCBwYXJhZ3JhcGggc3Rh dGVzICJIaXN0b3JpY2FsbHksIHRoZXNlIGNoYXJhY3RlciBzZXRzIGhhdmUgb25seSBjb3ZlcmVk IHRoZSBFbmdsaXNoIGFscGhhYmV0IGFuZCBhIGZldyBzZWxlY3RlZCBwdW5jdHVhdGlvbiBtYXJr cy4iLCB3aGljaCBpcyBpbmNvcnJlY3QuIFRoZXJlIGhhdmUgYmVlbiBtdWx0aXR1ZGVzIG9mIGNo YXJhY3RlciBzZXRzIGZvciB3cml0aW5nIHN5c3RlbXMgb3RoZXIgdGhhbiB0aGUgRW5nbGlzaCBh bHBoYWJldC4KCioqIENoYW5nZSB0byBzb21ldGhpbmcgYWxvbmcgdGhlIGxpbmUgb2YgIkhpc3Rv cmljYWxseSwgZWFjaCBvZiB0aGVzZSBjaGFyYWN0ZXIgc2V0cyBoYXMgb25seSBjb3ZlcmVkIGEg cGFydGljdWxhciB3cml0aW5nIHN5c3RlbS4iCgoKCiogU2VjdGlvbiAxNywgcGFnZSA0MjcuICIu dHZyaXlkb3MuIGJ1IiBiZWdpbnMgd2l0aCB0aGUgY29uc29uYW50IGNsdXN0ZXIsIHdoaWNoIGlz bid0IGV2ZW4gcGVybWlzc2libGUgbWVkaWFsbHkuCgoqKiBjaGFuZ2UgdG8gdHl2cml5ZG9zCgoq KiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4g REFHLUNMTCcnCgoqKioqIEFjdHVhbGx5LCBpdCBzaG91bGQgYmUgInR5dnJkb3MuIGJ1IiAgLS1q Y293YW4KCgoKKiBJbiB0aGUgdGFibGUgaW4gc2VjdGlvbiAxOSwgdGhlIGxlcnZsYSBmb3Igb3Zl ci1kb3QgKCIuZ2FybW9jLiBidSIpIGFuZCBvdmVyLXJpbmcgKCIuZ2FyamluLiBidSIpIHNob3Vs ZCBiZSB1cGRhdGVkIHRvIHRoZWlyIHBvc3QtUmVhbGxvY2F0aW9uIGZvcm1zLCAiLmdhcG1vYy4g YnUiIGFuZCAiLmdhcHlqaW4uIGJ1Ii4KCioqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlz IEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDE5IGhhcyB0 d28gY29sdW1ucyBydW4gdG9nZXRoZXIgaW4gdGhlIHJvdyB0aGF0IHNheXMgIkRhbmlzaC9MYXRp biBhZXRlaSAuYWJ1IC5lYnUgZm9pIgoKCgotLS0KCiFDaGFwdGVyIDE4CgoKCiogU2VjdGlvbiAz LCBleC4gMy4xMCwgc2hvdWxkIHRyYW5zbGF0ZSBhcyAiLjEwMTIwMDEiLiAgKChBcHByb3ZlZCBF cnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogSW4gc2VjdGlvbiA0IGV4YW1wbGUgNC41IGlz IGxpbmtlZCBpbnN0ZWFkIG9mIDQuNyAtICJFeGFtcGxlIDQuNSBpcyBub3QgYGAxIG1pbnVzIDIn JywgWy4uLnwuLi5dIiB3aGVyZSBleGFtcGxlIDQuNSBpcyBqdXN0ICJ0ZSdvIi4gICgoQXBwcm92 ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gNSwgcDQzNyBleDUuOSBb Z2xvc3NdOiBvdXIgLT4gZm91ciAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkK CioqICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA2LCBwNDM4OiBqIHZ1J3Ug LT4gdnUndSAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqKiAnJ0lOQ0xV REVEIElOIERBRy1DTEwnJwoKCgoqIFN0YXJ0IG9mIHNlY3Rpb24gMTEgc2hvdWxkIHJlYWQgdGhl cmUgYXJlIGZpdmUgbWVtYmVycyBvZiBNT0kgKG5vdCBmb3VyKS4gICgoQXBwcm92ZWQgRXJyYXR1 bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIEluIHNlY3Rpb24gMTEsIGV4IDExLjEwIG9uIHZhJ2Ug InNvZmkndXBhbm8iIGluIHRoZSBleGFtcGxlIGlzIGdsb3NzZWQgYXMgIjgvMTAiIGluc3RlYWQg b2YgIjkvMTAiLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqKiAnJ0lO Q0xVREVEIElOIERBRy1DTEwnJwoKCgoqIEluIHNlY3Rpb24gMTEsICJsZWkgcmF0Y3UgcG9pIHp2 YXRpIGxlIHBhbmthIGN1IHNvJ3VtZWkgZm8gbG8naSByYXRjdSIsIGJ1dCB0aGVyZSBpcyBubyA0 dGggcGxhY2Ugb2YgbWVpLgoKKiogUmVtb3ZlIHRoZSAiZm8iOyAoKEFwcHJvdmVkIEVycmF0dW18 amNvd2FuIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBFeGFtcGxlIDE0 LjQgbmVlZHMgYSBzdWItMiBhZnRlciBib3RoIG51bWJlcnMuCgoqKiAoKEFwcHJvdmVkIEVycmF0 dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBJbiBz ZWN0aW9uIDE3LCBhdCB0aGUgYm90dG9tIG9mIHBhZ2UgNDU0LCB0aGUgcXVhZHJhdGljIGZvcm11 bGEgc2hvdWxkIGJlIGRlc2NyaWJlZCBhcyBhIGNsYXNzaWMgZXhhbXBsZSBvZiBvcGVyYXRvciBs b2dpY2FsIGNvbm5lY3Rpb24sIG5vdCBvcGVyYW5kLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dh biBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAyMCwgcDQ1ODogLWVzdGFibGlzaGVkIC0+IGVzdGFi bGlzaGVkICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9u IDIxIHN0YXRlcyB0aGF0IHRoZSByYWZzaSBvZiAiZnJpbnUiIG1heSBiZSB1c2VkIGFzIHJhZnNp IGZvciAiZmkndSI7IGhvd2V2ZXIsICJmcmludSIgbG9zdCBib3RoIG9mIGl0cyBzaG9ydCByYWZz aSBpbiB0aGUgUmVhbGxvY2F0aW9uLCBzbyB0aGlzIHJlYWxseSBpc24ndCB2ZXJ5IHVzZWZ1bC4g VGhlIHRhYmxlIGJlbG93IGxpc3RzICJmaSd1IiBhcyBhIHJhZnNpIHVzYWJsZSBmb3IgImZpJ3Ui LCB0aGVyZWZvcmUgb2YgImZyaW51IjsgdGhlIGdpbXN0ZSBsaXN0cyAiZmkndSIgYXMgYSByYWZz aSBvZiAiY2ZpcHUiLgoKKiogVGhpcyBpcyBhIHNlcmlvdXMgcHJvYmxlbSB3aGljaCBuZWVkcyBz b21lIHRob3VnaHQuICBUaGVyZSBuZWVkcyB0byBiZSBhIHJhZnNpIGZvciBmaSd1IHNvbWVob3cu ICAtLWpjb3dhbiAgJycnTk9GSVgnJycKCgoKKiBTZWN0aW9uIDIyIGV4YW1wbGUgMjIuMywgIm1v J2Ugdm9ib2kgcmVub21laSBzdSdpIHplIiwgZG9lcyBub3QgcGFyc2UuCgoqKiBJdCBuZWVkcyAi dmVpIiBpbiBmcm9udCB0byBiZSBhIHF1YW50aWZpZXIgKGFuIG9wZXJhbmQgYnkgaXRzZWxmIGlz IG5vdCBhIHBlcm1pdHRlZCBmcmFnbWVudCkuIEFsc28sIHRoZSBmb2xsb3dpbmcgdGV4dCBtZW50 aW9ucyAidGUndSIgYnV0IHRoZSBleGFtcGxlIG9taXRzIGl0LgoKKioqIE5vbmUgb2YgdGhvc2Ug ZXhhbXBsZXMgcGFyc2Ugd2l0aG91dCB7bGl9LCB3aGljaCBJIGhhdmUgYWRkZWQgdG8gYWxsLiAg UmVwbGFjZWQgdGhlIG9uZSBpbiBxdWVzdGlvbiB3aXRoICJsaSBtbydlIHZvYm9pIHJlbm9tZWkg dGUndSBzdSdpIHplIiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJ TkNMVURFRCBJTiBEQUctQ0xMJycKCgoKLS0tCgohQ2hhcHRlciAxOQoKCgoqIFNlY3Rpb24gNCwg cDQ2NyBleDQuMzogenUnbyAtPiB6byd1ICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJv dmVkKSkKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xV REVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gNiwgcGFnZSA0NzIuIEV4YW1wbGUgNi42IGVu ZHMgd2l0aCAia2xhbWEiLCBidXQgZm9yIHRoZSBhcmd1bWVudCB0byBtYWtlIHNlbnNlLCBpdCBo YXMgdG8gc2F5ICJudW5rbGEiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHBy b3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA3LCBFeGFtcGxlIDcu MSBoYXMgYXMgdGhlIEVuZ2xpc2g6ICJJIGdvLXRvIChmaXJzdGx5KSB0aGUgc3RvcmUgYW5kIChz ZWNvbmRseSkgdGhlIG1hcmtldC4iICAidGhlIG1hcmtldCIgc2hvdWxkIGJlICJ0aGUgaG91c2Ui LgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQg SU4gREFHLUNMTCcnCgoKCiogRXhhbXBsZSAxMS44LCB0aGVyZSdzIGEgZGVucGFidSBhZnRlciB7 emEnZX0gYW5kIG5vIGRlbnBhYnUgYWZ0ZXIge2FsYmVpbmlhc30uCgoqKiAnJ0lOQ0xVREVEIElO IERBRy1DTEwnJyAoem9ydCdzIGZvcmsgYXQgbGVhc3QpIGJ1dCBuZWVkcyBhcHByb3ZhbAoKCgoq IFNlY3Rpb24gMTEsIHRoZSBwYXJhZ3JhcGggYWZ0ZXIgZXhhbXBsZSAxMS44IHNheXMgImN0aWlw eXJpcyIgYnV0IGl0IHNob3VsZCBiZSAiY2tpaXB5cmlzIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxq Y293YW4gQXBwcm92ZWQpKQoKLS0tCgoKCiFDaGFwdGVyIDIwCgoKCiogU2VjdGlvbiBMRSwgcGFn ZSA0OTguIEluICJsZSBnZXJrdSBrbGFtYSBsZSB6ZGFuaSIsICJjdSIgaXMgbWlzc2luZy4KCioq ICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERB Ry1DTEwnJwoKCgoqIFNlY3Rpb24gVFVoRSwgcGFnZSA1MDUuIEluICJ4YWdtYXUgem8ndSB0dSdl IGdhbmFpIGNpZGphIGdpIGNuaW5vIC5pIGdhbmFpIHZhbmp1IGdpIHRvbGNpJ28gdHUndSIsICJj bmlubyIgc2hvdWxkIGJlIHJlcGxhY2VkIGJ5ICJjaXRubyIuICBBbHNvLCBhIHByZW5leCBjYW4n dCBoYXZlIGEgc2VsYnJpLCBzbyAnJ3hhZ21hdScnIHNob3VsZCBiZSByZXBsYWNlZCBieSAnJ2xv IHhhZ21hdScnLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcn SU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiBTRSwgcGFnZSA1MDQ6IG1pc3Npbmcg ImN1IiBhZnRlciAiemFyY2kiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHBy b3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogSW4gdGhlIHBhc3NhZ2VzIG9uIFZF SSBhbmQgVkVoTywgdGhlICJibyJzIHNob3VsZCBiZSBjaGFuZ2VkIHRvICJiaSdlInMuICAoKEFw cHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKLS0tCgoKCiFDaGFwdGVyIDIxCgoK CiogSW4gdGhlIEJORiBncmFtbWFyLCB0aGUgcnVsZSBzaW1wbGUtdGVuc2UtbW9kYWwtOTcyIGlz IG1pc3NpbmcgYSAifCIgYmVmb3JlIHRoZSBDVWhFLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dh biBBcHByb3ZlZCkpCgoKCiogSW4gdGhlIEJORiBncmFtbWFyLCB0aGUgcnVsZSBzaW1wbGUtdGVu c2UtbW9kYWwtOTcyIGhhcyBhbiBleHRyYSBuZXdsaW5lIGluIHRoZSBzcGFjZS90aW1lIHN1YnBo cmFzZS4KCgoKKiBJbiB0aGUgQk5GIGdyYW1tYXIsIHRoZSBydWxlIHNlbGJyaS0xLTEzMSBpcyBt aXNzaW5nIGEgInwiIGJlZm9yZSB0aGUgTkEuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFw cHJvdmVkKSkKCgoKKiBJbiB0aGUgQk5GIGdyYW1tYXIsIHRoZSBydWxlIHRhbnJ1LXVuaXQtMi0x NTIgaXMgbWlzc2luZyBhICJ8IiBiZWZvcmUgdGhlIEpBSS4gICgoQXBwcm92ZWQgRXJyYXR1bXxq Y293YW4gQXBwcm92ZWQpKQoKCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJv dmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycgOyBiaXphcmVsbHksIHRoZSBXb3JkIGRvYyB0 aGUgYm9vayB3YXMgcHJpbnRlZCBmcm9tIGRvZXMgbm90IGhhdmUgdGhpcyBwcm9ibGVtIGF0IGFs bC4KCgoKKiBJbiB0aGUgQk5GIGdyYW1tYXIsIHRoZSBydWxlIG9wZXJhdG9yLTEtMzcxIGlzIG1p c3NpbmcgdHdvICJ8Ii4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoq IEluIHRoZSBCTkYgZ3JhbW1hciwgdGhlIHJ1bGUgbWV4LW9wZXJhdG9yLTM3NCBpcyBtaXNzaW5n IGEgInwiIGJlZm9yZSB0aGUgTUFoTyBhbmQgYW5vdGhlciBiZWZvcmUgdGhlIFZVaFUuICAoKEFw cHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBJbiB0aGUgQk5GIGdyYW1tYXIs IHRoZSBydWxlIG9wZXJhbmQtMy0zODUgaXMgbWlzc2luZyBhICJ8IiBiZWZvcmUgdGhlIE5JaEUu ICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBJbiB0aGUgQk5GIGdy YW1tYXIsIGluIHRoZSBydWxlIHRpbWVfMTAzMCwgdGhlICJaRWhBIFtQVSBbTkFJXSBdIiBzaG91 bGQgYmUgZW5jbG9zZWQgaW4gcGFyZW50aGVzZXMuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2Fu IEFwcHJvdmVkKSkKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpXaWtpY2hhbmdlcyBtYWlsaW5nIGxpc3QKV2lraWNoYW5nZXNAbG9qYmFuLm9yZwpodHRw Oi8vbWFpbC5sb2piYW4ub3JnL21haWxtYW4vbGlzdGluZm8vd2lraWNoYW5nZXMK