Received: from localhost ([::1]:59195 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1THzQZ-0005AP-Iz; Sat, 29 Sep 2012 08:58:03 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:54272 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1THzQN-0005A9-TZ for wikineurotic@lojban.org; Sat, 29 Sep 2012 08:58:01 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Sat, 29 Sep 2012 08:57:51 -0700 From: "Apache" Date: Sat, 29 Sep 2012 08:57:51 -0700 To: wikineurotic@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 dylex at 11:56 EDT Comment: add note on example 8.10.3 "ko'e" 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: [Wikineurotic] Wiki page CLL, aka Reference Grammar, Errata changed by dylex X-BeenThere: wikineurotic@lojban.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikineurotic-bounces@lojban.org VGhlIHBhZ2UgQ0xMLCBha2EgUmVmZXJlbmNlIEdyYW1tYXIsIEVycmF0YSB3YXMgY2hhbmdlZCBi eSBkeWxleCBhdCAxMTo1NiBFRFQKQ29tbWVudDogYWRkIG5vdGUgb24gZXhhbXBsZSA4LjEwLjMg ImtvJ2UiCgpZb3UgY2FuIHZpZXcgdGhlIHBhZ2UgYnkgZm9sbG93aW5nIHRoaXMgbGluazoKIApo dHRwOi8vd3d3LmxvamJhbi5vcmcvdGlraS9DTEwlMkMlMjBha2ElMjBSZWZlcmVuY2UlMjBHcmFt bWFyJTJDJTIwRXJyYXRhCgpZb3UgY2FuIHZpZXcgYSBkaWZmIGJhY2sgdG8gdGhlIHByZXZpb3Vz IHZlcnNpb24gYnkgZm9sbG93aW5nIHRoaXMgbGluazogCmh0dHA6Ly93d3cubG9qYmFuLm9yZy90 aWtpL3Rpa2ktcGFnZWhpc3RvcnkucGhwP3BhZ2U9Q0xMJTJDJTIwYWthJTIwUmVmZXJlbmNlJTIw R3JhbW1hciUyQyUyMEVycmF0YSZjb21wYXJlPTEmb2xkdmVyPTIxNiZuZXd2ZXI9MjE3CgoKKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK VGhlIGNoYW5nZXMgaW4gdGhpcyB2ZXJzaW9uIGZvbGxvdyBiZWxvdywgZm9sbG93ZWQgYWZ0ZXIg YnkgdGhlIGN1cnJlbnQgZnVsbCBwYWdlIHRleHQuCioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgoKKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKQEAgLUxpbmVzOiAyNjEtMjY0 IGNoYW5nZWQgdG8gK0xpbmVzOiAyNjEtMjY2IEBACistKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCgoqIFNlY3Rpb24gOSBzYXlzICcnSW4g dm9jYXRpdmUgcGhyYXNlcyB3aGljaCBhcmUgc2ltcGxlIG5hbWVzIChhZnRlciB0aGUgdm9jYXRp dmUgd29yZHMpLCBhbnkgcmVsYXRpdmUgY2xhdXNlcyBtdXN0IGNvbWUganVzdCBhZnRlciB0aGUg bmFtZXMnJy4gVGhpcyBpc24ndCB0cnVlLiBSZWxhdGl2ZSBjbGF1c2VzIGNhbiBnbyBiZXR3ZWVu IHRoZSB2b2NhdGl2ZSBhbmQgdGhlIGNtZXZsYS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4g QXBwcm92ZWQpKSAgRHJvcCBpdDsgaXQgcmVmbGVjdHMgYW4gZWFybGllciBzdGF0ZSBvZiB0aGUg bGFuZ3VhZ2UuCisgCisgKiBTZWN0aW9uIDEwLCBleGFtcGxlIDEwLjMgdXNlcyAia2UnYSBnb2kg a28nZSB6byd1IGtvJ2EgemJhc3Uga2UnYSIgYnV0IGdsb3NzZXMgaXQgYXMgIihJVCA9IGl0MiA6 IGl0MSBidWlsdCBpdDIpIi4gVGhlIGFzc2lnbmVkICJrbydlIiBpcyBub3QgdXNlZCBhcyBleHBl Y3RlZCBvciBkZXNjcmliZWQsIGFuZCBzaG91bGQgcHJvYmFibHkgYmUgImtvJ2EgemJhc3Uga28n ZSIuCgotLS0KCistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rCkBAIC1MaW5lczogNTkyLTU5NCBjaGFuZ2VkIHRvICtMaW5lczogNTk0LTU5 NSBAQAorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKwoKKiBJbiB0aGUgQk5GIGdyYW1tYXIsIGluIHRoZSBydWxlIHRpbWVfMTAzMCwgdGhl ICJaRWhBIFtQVSBbTkFJXSBdIiBzaG91bGQgYmUgZW5jbG9zZWQgaW4gcGFyZW50aGVzZXMuICAo KEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKLSAKCgoKCioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqClRoZSBuZXcgcGFn ZSBjb250ZW50IGZvbGxvd3MgYmVsb3cuCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqCgpUaGlzIHBhZ2UgaXMgZm9yIGVycmF0YSBpbiAo KFRoZSBDb21wbGV0ZSBMb2piYW4gTGFuZ3VhZ2UpKSwgdGhhdCBpcyBmb3IgbWlzdGFrZXMgc3Vj aCBhcyB0eXBvcywgb3Igc2VsZi1jb250cmFkaWN0aW9ucywgb3IgY29udHJhZGljdGlvbnMgd2l0 aCBvdGhlciBiYXNlbGluZWQgbGFuZ3VhZ2UgZGVmaW5pdGlvbiBtYXRlcmlhbC4gVGhpcyBpcyBf X25vdF9fIGEgcGFnZSB0byBwdXQgZGVzaWRlcmF0YSAoc3VnZ2VzdGlvbnMgZm9yIGltcHJvdmVt ZW50KTsgc3VjaCBzdWdnZXN0aW9ucyBzaG91bGQgZ28gdG8gKChTdWdnZXN0aW9ucyBmb3IgQ0xM LCBzZWNvbmQgZWRpdGlvbikpLiAgVGhpcyBpcyBhbHNvIG5vdCBhIHBhZ2UgdG8gcHV0IGVycmF0 YSByZXN1bHRpbmcgZnJvbSB0aGUgNHRoIEJhc2VsaW5lIEdyYW1tYXIgcHJvcG9zYWwgKGkuZS4s IHRoZSAoKFBFRykpIGdyYW1tYXIpOyBQRUcgZ3JhbW1hciBlcnJhdGEgc2hvdWxkIGdvIHRvICgo Q0xMIFBFRyBFcnJhdGEpKS4KCgoKQW4gb25saW5lIHZlcnNpb24gb2YgdGhlIENMTCBpbmNvcnBv cmF0aW5nIHRoZSBjaGFuZ2VzIG9uIHRoaXMgcGFnZSBbaHR0cDovL2RhZy5naXRodWIuY29tL2Ns bC98aXMgYXZhaWxhYmxlXS4KCgoKU2VlIGFsc28gW1doYXQraXMrTG9qYmFuJTNGK2VycmF0YSZi bD15fFdoYXQgaXMgTG9qYmFuPyBlcnJhdGFdIChmb3IgdGhlIHB1Ymxpc2hlZCB2ZXJzaW9uKSwg TGV2ZWwgMCBCb29rbGV0IEVycmF0YSBbdGlraS1lZGl0cGFnZS5waHA/cGFnZT1MZXZlbCswK0Jv b2tsZXQrRXJyYXRhJmxhbmc9fD9dIChmb3IgdGhlIHByZS1wdWJsaWNhdGlvbiByZXZpZXdzOyBu b3cgZmluaXNoZWQpLCBhbmQgW0xlc3NvbnMrRXJyYXRhJmJsPXl8TGVzc29ucyBFcnJhdGFdIChm b3IgdGhlIGJlZ2lubmVycycgY291cnNlKS4KCgoKVGhlICInJ0lOQ0xVREVEIElOIERBRy1DTEwn JyIgdGFnIG1lYW5zIHRoYXQgaHR0cDovL2RhZy5naXRodWIuY29tL2NsbC8gaW5jbHVkZXMgdGhp cyBmaXgsIHdoaWNoIGFsc28gbWVhbnMgaXQnbGwgcHJvYmFibHkgYmUgaW4gdGhlIG5leHQgQ0xM IHZlcnNpb24uCgoKCi0tLQoKCgohQ2hhcHRlciAxCgoKCiogVGhlcmUgaXMgYSBwYXJhZ3JhcGgg YXQgdGhlIHZlcnkgYmVnaW5uaW5nIG9mIENMTCwgb24gcGFnZSA0LCB3aXRoIHRoZSBzZW50ZW5j ZSAnJyJJbiBlc3NlbmNlLCBDaGFwdGVyIDIgZ2l2ZXMgYSBicmllZiBvdmVydmlldyBvZiB0aGUg bGFuZ3VhZ2UsIENoYXB0ZXIgMjEgZ2l2ZXMgdGhlIGZvcm1hbCBzdHJ1Y3R1cmUgb2YgdGhlIGxh bmd1YWdlLCBhbmQgdGhlIGNoYXB0ZXJzIGluIGJldHdlZW4gcHV0IHNlbWFudGljIGJvbmVzIG9u IHRoYXQgZm9ybWFsIGZsZXNoLiInJwoKKiogV291bGRuJ3QgaXQgbWFrZSBtb3JlIHNlbnNlIHRv IHNheSAicHV0IHNlbWFudGljIGZsZXNoIG9uIHRob3NlIGZvcm1hbCBib25lcyI/ICgoQXBwcm92 ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoq IFNlY3Rpb24gNiwgaXQgc2F5cyAiTGFycnkgSG9ybidzIHdvcmsgJydUaGUgTmF0dXJhbCBIaXN0 b3J5IG9mIE5lZ2F0aW9uJyciLiBJdCB3b3VsZCBhcHBlYXIgdGhhdCBldmVyeW9uZSBlbHNlIGNh bGxzIGl0ICcnX19BX18gTmF0dXJhbCBIaXN0b3J5IG9mIE5lZ2F0aW9uJycsIGJ5IF9fTGF1cmVu Y2VfXyAoUi4pIEhvcm4uCgoqKiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJyAoem9ydCdzIGZvcmsg YXQgbGVhc3QpIGJ1dCBuZWVkcyBhcHByb3ZhbAoKCgotLS0KCiFDaGFwdGVyIDIKCgoKKiBTZWN0 aW9uIDUgZXhhbXBsZSA1LjcgdXNlcyAidGkiIHRvIHBvaW50IGF0IGEgbGFuZ3VhZ2UsIGFuZCBz aG91bGQgaGF2ZSBpdHMgYWNjb21wYW55aW5nIG5vdGUgY2hhbmdlZCB0byBtb3JlIGFjY3VyYXRl bHkgcmVmbGVjdCB0aGF0IHRoaXMgaXMgbm90IGhvdyAidGkiIHdvcmtzLgoKCgoqIFNlY3Rpb24g NiBFeGFtcGxlIDYuNSBoYXMgImN1IiBhcyBlbGlkYWJsZSwgd2hlbiBpbiBmYWN0IGl0IGlzIHNp bXBseSBpbGxlZ2FsIHRoZXJlLiAgUmVtb3ZlZC4gICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoq KiB1YW5haSwgSSBzdGlsbCBzZWUgImN1IiBpbiBEQUctQ0xMLgoKCgoqIFNlY3Rpb24gOCBwYWdl IDE3IGNsYWltcyB0aGF0ICJ4dSIgaXMgZGlzY3Vzc2VkIGluIHNlY3Rpb24gMS43LCB3aGljaCBo YXBwZW5zIHRvIGxpc3QgdGhlIGNhcHRpb25zIGZvciBhbGwgdGhlIGNoYXB0ZXIgcGljdHVyZXMu CgoqKiBJdCBzaG91bGQgcmVmZXIgdG8gU2VjdGlvbiAxNS4gICgoQXBwcm92ZWQgRXJyYXR1bXxq Y293YW4gQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKioqIFRoZSBsaW5rIGlu IHRoZSBjdXJyZW50IERBRy1DTEwgaXMgcG9pbnRpbmcgdG8gIjIvMi8xNSIgaW5zdGVhZCBvZiB0 byAiMi8xNSIuCgoKCiogU2VjdGlvbiAxMCBzYXlzIHRoYXQgZXhhbXBsZSAxMC4zIChtaSB0YXZs YSBkbyBsZSB0YXZsYSBrdSkgbWVhbnMgdGhlIHNhbWUgYXMgKG1pIHRhdmxhIGRvIGxlIHRhdmxh IGt1KS4gRXhhbXBsZSAxMC4zIHNob3VsZCBiZSAibWkgdGF2bGEgZG8gbGUgdGF2bGEiLCBhcyBp dCBkZXNjcmliZXMgaG93ICJrdSIgbWF5IGJlIG9taXR0ZWQuCgoqKiBJdCBhcHBlYXJzIHRoYXQg ZXhhbXBsZSAxMC4zIGlzIGluY29ycmVjdCBvbmx5IGluIHRoZSBvbmxpbmUgdmVyc2lvbiwgbm90 IHRoZSBwdWJsaXNoZWQgYm9vay4KCgoKKiBTZWN0aW9uIDE3IHNheXMgIk5vdGUgdGhhdCBFeGFt cGxlIDE3LjMgIGhhcyBhbmQgcmVxdWlyZXMgYSDigJxjdeKAnSB0byBwcmV2ZW50IOKAnGJhanJh 4oCdIGFuZCDigJxrbGFtYeKAnSBmcm9tIGZvcm1pbmcgYSB0YW5ydSwgYnV0IEV4YW1wbGUgMTcu NCAgYW5kIEV4YW1wbGUgMTcuNSAgbGFjayB0aGUgdW5uZWNlc3Nhcnkg4oCcY3XigJ0uIiwgYnV0 IGV4YW1wbGUgMTcuMyBpcyAibGEgZGphbi4gfm5wfltjdV1+L25wfiBrbGFtYSBsZSB6YXJjaSIu CgoqKiBJdCBhcHBlYXJzIHRoYXQgdGhlIG9mZmVuZGluZyBzZW50ZW5jZSBpcyBwcmVzZW50IG9u bHkgaW4gdGhlIG9ubGluZSB2ZXJzaW9uLCBub3QgdGhlIHB1Ymxpc2hlZCBib29rLgoKCgoqIEV4 YW1wbGUgMTcuOSBpcyAibGUgdmkgdGF2bGEga3UgY3UgYmEga2xhbWEiIGluIHRoZSBvbmxpbmUg dmVyc2lvbiwgYW5kIHRvdGFsbHkgYnJva2VuIGluIHRoZSBwdWJsaXNoZWQgYm9vay4KCioqIEdv IHdpdGggdGhlIG9ubGluZSB2ZXJzaW9uLiAgKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBB cHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogRXhhbXBsZSAxNy45IGluIGRh Zy1jbGwgYXMgb2YgMjAxMi0wNS0wNSBpcyAibGUgdmkgdGF2bGEgfm5wfltrdV1+L25wfiBjdSBi YSBrbGFtYSIuIFNpbmNlIHRoZSBzYW1lIHNlY3Rpb24gaGFzIGV4cGxhaW5lZCB0aGF0IHRlbnNl IHRhZ3MgbWFrZSAiY3UiIHVubmVjZXNzYXJ5LCBJIHRoaW5rIHRoZSBleGFtcGxlIHNob3VsZCBi ZSAibGUgdmkgdGF2bGEgfm5wfltrdV0gW2N1XX4vbnB+IGJhIGtsYW1hIi4KCgoKLS0tCgoKCiEg Q2hhcHRlciAzCgoKCkEgbG90IG9mIHRoZSBJUEEgZXhhbXBsZXMgdXNlIGEgc3BhY2UgdG8gaW5k aWNhdGUgYSBzeWxsYWJsZSBicmVhay4gVGhpcyBpcyBub3Qgc3RhbmRhcmQgSVBBIHVzYWdlOyBh Y2NvcmRpbmcgdG8gSVBBLCB0aGUgcGVyaW9kIOKAnC7igJ0gc2hvdWxkIGJlIHVzZWQgdG8gaW5k aWNhdGUgYSBzeWxsYWJsZSBkaXZpc2lvbi4KCgoKKiBTZWN0aW9uIDIsIHBhZ2UgMzA6IGluIHRo ZSB0YWJsZSB0aGUgZGVzY3JpcHRpb24gb2YgImFwb3N0cm9waGUiIHNob3VsZCByZWFkICJhbiB1 bnZvaWNlZCBnbG90dGFsIHNwaXJhbnQiLCBub3QgImEgdW52b2ljZWQiLgoKKiogKChBcHByb3Zl ZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoK CiogU2VjdGlvbiAyLCBkaWdpdGFsIHZlcnNpb24uICBUaGUgSVBBIHRhYmxlIGdvdCBob3JyaWJs eSBtYW5nbGVkIHNvbWV3aGVyZSBhbG9uZyB0aGUgd2F5LiAgSXQgc2hvdWxkIGxvb2sgbGlrZSAo U0FNUEEgY29sdW1uIGFkZGVkKToKCgoKfHwgTGV0dGVyIHwgSVBBICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCBTQU1QQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgRGVzY3JpcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIAoKICcgICAgICB8IFtoXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg W2hdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGFuIHVudm9p Y2VkIGdsb3R0YWwgc3BpcmFudCAgICAgICAgICAgICAgICAgICAgICAKCiAsICAgICAgfCAtLS0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IC0tLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0aGUgc3lsbGFibGUgc2VwYXJhdG9yICAgICAg ICAgICAgICAgICAgICAgICAgICAgCgogLiAgICAgIHwgW8qUXSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgWz9dICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8IGEgZ2xvdHRhbCBzdG9wIG9yIGEgcGF1c2UgICAgICAgICAgICAgICAgICAgICAg ICAKCiBhICAgICAgfCBbYV0sIFvJkV0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBb YV0sIFtBXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYW4gb3BlbiB2 b3dlbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKIGIgICAgICB8IFtiXSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW2JdICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgdm9pY2VkIGJpbGFiaWFsIHN0b3AgICAgICAg ICAgICAgICAgICAgICAgICAgICAKCiBjICAgICAgfCBbyoNdLCBbyoJdICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgW1NdLCBbc2BdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8IGFuIHVudm9pY2VkIHBvc3RhbHZlb2xhciBmcmljYXRpdmUgICAgICAgICAgICAg ICAgICAgICAKCiBkICAgICAgfCBbZF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8IFtkXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhIHZv aWNlZCBkZW50YWwvYWx2ZW9sYXIgc3RvcCAgICAgICAgICAgICAgICAgICAgCgogZSAgICAgIHwg W8mbXSwgW2VdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW0VdLCBbZV0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgZnJvbnQgbWlkIHZvd2VsICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAKCiBmICAgICAgfCBbZl0sIFvJuF0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCBbZl0sIFtwXF0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgYW4gdW52b2ljZWQgbGFiaWFsIGZyaWNhdGl2ZSAgICAgICAgICAgICAg ICAgICAgIAoKIGcgICAgICB8IFvJoV0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8IFtnXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhIHZv aWNlZCB2ZWxhciBzdG9wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogaSAgICAgIHwg W2ldICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbaV0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSBmcm9udCBjbG9zZSB2b3dlbCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIAoKIGogICAgICB8IFvKkl0sIFvKkF0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCBbWl0sIFt6YF0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgYSB2b2ljZWQgcG9zdGFsdmVvbGFyIGZyaWNhdGl2ZSAgICAgICAgICAg ICAgICAgICAgICAgIAoKIGsgICAgICB8IFtrXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgW2tdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 IGFuIHVudm9pY2VkIHZlbGFyIHN0b3AgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiBsICAg ICAgfCBbbF0sIFtszKldICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW2xdLCBbbD1d ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgdm9pY2VkIGxhdGVyYWwg YXBwcm94aW1hbnQgKG1heSBiZSBzeWxsYWJpYykgICAKCiBtICAgICAgfCBbbV0sIFttzKldICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW21dLCBbbT1dICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8IGEgdm9pY2VkIGJpbGFiaWFsIG5hc2FsIChtYXkgYmUgc3ls bGFiaWMpICAgICAgICAKCiBuICAgICAgfCBbbl0sIFtuzKldLCBbxYtdLCBbxYvMqV0gICAgICAg ICAgICAgICAgICAgICB8IFtuXSwgW249XSwgW05dLCBbTj1dICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCBhIHZvaWNlZCBkZW50YWwgb3IgdmVsYXIgbmFzYWwgKG1heSBiZSBzeWxsYWJpYykg CgogbyAgICAgIHwgW29dLCBbyZRdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW29d LCBbT10gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgYmFjayBtaWQg dm93ZWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiBwICAgICAgfCBbcF0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtwXSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCBhbiB1bnZvaWNlZCBiaWxhYmlhbCBzdG9wICAgICAg ICAgICAgICAgICAgICAgICAgCgogciAgICAgIHwgW3JdLCBbybldLCBbyb5dLCBbyoBdLCBbcsyp XSwgW8m5zKldLCBbyb7MqV0sIFvKgMypXSB8IFtyXSwgW3JcXSwgWzRdLCBbUlxdLCBbcj1dLCBb clw9XSwgWzQ9XSwgW1JcPV0gfCBhIHJob3RpYyBzb3VuZCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgCgogcyAgICAgIHwgW3NdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCBbc10gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg YW4gdW52b2ljZWQgYWx2ZW9sYXIgc2liaWxhbnQgICAgICAgICAgICAgICAgICAgIAoKIHQgICAg ICB8IFt0XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW3RdICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGFuIHVudm9pY2VkIGRlbnRhbC9h bHZlb2xhciBzdG9wICAgICAgICAgICAgICAgICAKCiB1ICAgICAgfCBbdV0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8IFt1XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCBhIGJhY2sgY2xvc2Ugdm93ZWwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgCgogdiAgICAgIHwgW3ZdLCBbzrJdICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgW3ZdLCBbQl0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEg dm9pY2VkIGxhYmlhbCBmcmljYXRpdmUgICAgICAgICAgICAgICAgICAgICAgCgogeCAgICAgIHwg W3hdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbeF0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYW4gdW52b2ljZWQgdmVsYXIgZnJpY2F0 aXZlICAgICAgICAgICAgICAgICAgICAgIAoKIHkgICAgICB8IFvJmV0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8IFtAXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCBhIGNlbnRyYWwgbWlkIHZvd2VsICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgCgogeiAgICAgIHwgW3pdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCBbel0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSB2b2lj ZWQgYWx2ZW9sYXIgc2liaWxhbnQgICAgICAgICAgICAgICAgICAgICAgIHx8CgoKCioqIFNvcnQt b2YgKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpOyB3aGF0IEkgYWN0dWFs bHkgZGlkIGlzIGhhZCBBcm50IHJldmlldyB3aGF0IHNvbWVvbmUgZW50ZXJlZCBpbiBEQUctQ0xM LCB3aGljaCBwcmVzdW1hYmx5IHdhcyBiYXNlZCBvbiB0aGUgYWJvdmUuICAnJ0lOQ0xVREVEIElO IERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMiwgcGFnZSAzMC4gZm9yIHRoZSBzZWNvbmQgZW5nIChp bW1lZGlhdGVseSB0byB0aGUgbGVmdCBvZiAiKG1heSBiZSBzeWxsYWJpYykiKSB0aGUgc3lsbGFi aWNpdHkgbWFya2VyIGlzIGNvbmNlYWxlZCBieSB0aGUgcmlnaHQgdGFpbC4KCioqIEkgY2FuIGp1 c3QgYmFyZWx5IHNlZSB0aGUgbWFya2VyIHVuZGVyIGEgZ29vZCBsaWdodC4gICAoKEFwcHJvdmVk IEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCioqKiBGb3IgZnV0dXJlIGVkaXRpb25zIDotKSAs IG5vdGUgdGhhdCB0aGUgSVBBIGFwcHJvdmVzIHB1dHRpbmcgZGlhY3JpdGljcyBhYm92ZSByYXRo ZXIgdGhhbiBiZWxvdyB0aGUgbGV0dGVyIGluIGNhc2VzIGxpa2UgdGhlc2UuIFVuZm9ydHVuYXRl bHksIHRoZSBmb250cyBoaXRoZXJ0byBhdmFpbGFibGUgaGF2ZSBub3QgbWFkZSB0aGlzIGZhY2ls aXR5IGF2YWlsYWJsZSwgc28gb3V0c2lkZSB0aGUgam91cm5hbCBvZiB0aGUgSVBBIGl0c2VsZiwg c3VjaCBvdmVyLWRpYWNyaXRpY3MgYXJlIHNlbGRvbSBzZWVuLiDigJQgbml0Y2lvbgoKCgoqIElu IHNlY3Rpb24gMy4yLCB0aGUgY29tbWEgc2hvdWxkIChwcm9iYWJseSkgYmUgcmVwcmVzZW50ZWQg YnkgdGhlIElQQSBub3RhdGlvbiBbLnwuXSwgYXMgdGhlIHBlcmlvZCBpcyB1c2VkIGluIElQQSB0 byBkZW5vdGUgc3lsbGFibGUgYnJlYWtzLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHBy b3ZlZCkpCgoKCiogU2VjdGlvbiAyLCBwYWdlIDMwLiBGb3IgdGhlIExvamJhbiBwaG9uZW1lIC9y LywgdGhlIElQQSBzeW1ib2wgZm9yIGEgZGVudGFsL2FsdmVvbGFyIHZvaWNlZCBhcGljYWwgdGFw IGlzIGdpdmVuIHdpdGggYSBzeWxsYWJpY2l0eSBtYXJrZXIgYmVsb3cuIEEgdGFwIGNhbid0IGJl IHN5bGxhYmljLCBiZWNhdXNlIGl0IGlzIGJ5IGRlZmluaXRpb24gaW5zdGFudGFuZW91cy4gICgo QXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKSBKdXN0IHJlbW92ZSB0aGF0IGNhc2Ug YWx0b2dldGhlci4KCgoKKiBTZWN0aW9uIDIuICBUaGUgZGVzY3JpcHRpb25zIG9mICcnYycnIGFu ZCAnJ2onJyBhcmUgbGlzdGVkIGFzICJjb3JvbmFsIHNpYmlsYW50InMuICBUaGUgZGVzY3JpcHRp b25zIHNob3VsZCByZWFkICJ2b2ljZWxlc3MgcG9zdGFsdmVvbGFyIGZyaWNhdGl2ZSIgYW5kICJ2 b2ljZWQgcG9zdGFsdmVvbGFyIGZyaWNhdGl2ZSIsIHJlc3BlY3RpdmVseS4gICgoQXBwcm92ZWQg RXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMywgdGhpcmQgcGFyYWdyYXBo IChwYWdlIDMxKTogImEgdW52b2ljZWQgdm93ZWwgZ2xpZGUiIHNob3VsZCBiZSAiYW4gdW52b2lj ZWQgdm93ZWwgZ2xpZGUiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3Zl ZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA2LCBwYWdlIDM2LiBJUEEg Zm9yIHRoZSB1bmFjY2VwdGFibGUgQW1lcmljYW4gZmxhcCB2YXJpYW50IG9mIGludGVydm9jYWxp YyAnJ3QnJyBzaG93cyB0aGUgR0EgJydyJycgc291bmQgKHVwc2lkZS1kb3duIHIpIGluc3RlYWQg b2YgdGhlIGZsYXAgKGxpa2UgYW4gciB3aXRoIG5vIHZlcnRpY2FsIGJpdCBhdCB0aGUgdG9wIOKA lCBzZWUgdGhlIGxpc3Qgb2YgYWNjZXB0aWJsZSAnJ3InJyB2YXJpYW50cyBvbiBvbiBwYWdlIDQ0 IHdoZXJlIGl0IGFwcGVhcnMgY29ycmVjdGx5KSAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBB cHByb3ZlZCkpCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJ TkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDYsIHBhZ2UgMzYuIChTYW1lIGFzIHBy ZXZpb3VzIGVycmF0dW0pIFRoZSBjb25zb25hbnQgaXMgcmVmZXJyZWQgdG8gYXMgYSBmbGFwLCB3 aGlsZSBpdCBpcyBhY3R1YWxseSBhIHRhcC4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBw cm92ZWQpKQoKCgoqIFNlY3Rpb24gNy4gSW4gYmV0d2VlbiB0aGUgc2hhZGVkIGJveGVzLCAiYSBw YWlyaW5nIG9mIHZvaWNlZCBhbmQgdW52b2ljZWQgZXF1aXZhbGVudCB2b3dlbHMiIHNob3VsZCBy ZWFkICJhIHBhaXJpbmcgb2Ygdm9pY2VkIGFuZCB1bnZvaWNlZCBlcXVpdmFsZW50IGNvbnNvbmFu dHMiLgoKCgoqIFNlY3Rpb24gOCwgcGFnZSAzOC4gSVBBIGZvciBwcm9udW5jaWF0aW9uIG9mICJ4 YXBja2UiIGhhcyBjIHdoZXJlIGl0IHNob3VsZCBoYXZlIFMgKGxvbmcgcykuICAoKEFwcHJvdmVk IEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDksIHBhZ2UgNDAuIElQQSBm b3IgcHJvbnVuY2lhdGlvbiBvZiAiZGlreWp2byIgaGFzIGogd2hlcmUgaXQgc2hvdWxkIGhhdmUg WiAodGhhdCBsaXR0bGUgc2NyaXB0IHogdGhpbmcpICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2Fu IEFwcHJvdmVkKSkKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAn J0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTIsIHBhZ2UgNDYuIFdoYXQgc2hv dWxkIGJlIHRoZSBDeXJpbGxpYyBsZXR0ZXIgOyBpcyBwcmludGVkIGFzIHNvbWV0aGluZyB0aGF0 IGxvb2tzIGxpa2UgdGhlIEdyZWVrIGxldHRlciAuIElzIHRoaXMgb25seSBhIHR5cG9ncmFwaGlj YWwgdmFyaWFudCBvZiB0aGUgOywgb3IgaXMgaXQgYSB2YXJpYW50PwoKCgoqKiBUaGlzIGVycmF0 dW0gaXMgaW5kZWNpcGhlcmFibGUgYW5kIHNob3VsZCBiZSBkcm9wcGVkLCB1bmxlc3Mgc29tZW9u ZSBjYW4gcmVjb25zdHJ1Y3QgaXQuICBUaGUgQ3lyaWxsaWMgbGV0dGVycyBsb29rIGZpbmUuICAt LWpjb3dhbgoKCgoqIFNlY3Rpb24gMTIsIHBhZ2UgNDYuIFJlcGxhY2UgdGhlIHdvcmRzICJ0aGUg aGFyZCBzaWduIiB3aXRoIGFuIGFjdHVhbCBoYXJkIHNpZ24sIFUrMDQ0QSBDWVJJTExJQyBTTUFM TCBMRVRURVIgSEFSRCBTSUdOLgoKCgoqIFNlY3Rpb24gMTIsIHBhZ2UgNDcuICJhcmUvImVzc2Ui IHNob3VsZCBwcm9iYWJseSBiZSAiYXJlIi8iZXNzZSIgKHRoZSBhY3V0ZSBvbiB0aGUgYSBtYXkg b3IgbWF5IG5vdCBoYXZlIGJlZW4gbGVmdCBvZmYsIGJ1dCB0aGUgY2xvc2luZyBxdW90ZSBhZnRl ciBhcmUgaXMgZGVmaW5hdGVseSBtaXNzaW5nLikKCioqIE15IGNvcHkgc2hvd3MgdGhlIGFjdXRl LgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQg SU4gREFHLUNMTCcnCgoKCi0tLQoKCgohQ2hhcHRlciA0CgoKCiogU2VjdGlvbiA0LCBwYWdlIDU0 LiBUaGUgYm9vayBzdGF0ZXMgdGhhdCBmdSdpdmxhIHdpdGggYSBmb3JtIGxpa2UgJydzcGEnaScn IGFyZSB2YWxpZC4gVGhleSBhcmUgbm90LCB0aGV5IGZhaWwgdGhlIHNsaW5rdSdpIHRlc3QuICgo QXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwn JwoKCgoqIFNlY3Rpb24gNiwgcCA1OCwgIi1sYWMiIGluIHRoZSB0aGlyZCB0YWJsZSBpbiB0aGF0 IHNlY3Rpb24gc2hvdWxkIGJlICItbGFjLSIKCgoKKiBTZWN0aW9uIDYsIGl0IHNheXMgIk1vc3Qg Y21hdm8gdGhhdCBoYXZlIHJhZnNpIGFyZSBvbmVzIHVzZWQgaW4gY29tcG9zaW5nIHRhbnJ1IChm b3IgYSBjb21wbGV0ZSBsaXN0LCBzZWUgQ2hhcHRlciAxMikiLCBidXQgdGhlcmUgaXMgbm8gc3Vj aCBsaXN0IGluIENoYXB0ZXIgMTIsIG9yIGFueXdoZXJlIGluIHRoZSBib29rIChqdSdvc2FpKS4g UGVyaGFwcyBpdCB3YW50cyB0byBwb2ludCB0byB0aGUgbGlzdCBvZiBQQSByYWZzaSBpbiBDaGFw dGVyIDE4IHNlY3Rpb24gMjU/IE9yIHRvIHRoZSBsaXN0cyBvZiB0YW5ydSBpbiBDaGFwdGVyIDUg c2VjdGlvbnMgMTQgYW5kIDE1PwoKKiogV2hhdCBJIHByb2JhYmx5IG1lYW50IHdhcyB0aGF0IENo YXB0ZXIgMTIsIHRha2VuIGFzIGEgd2hvbGUsIGRpc2N1c3NlcyB0aGUgY21hdm8gdXNlZCBpbiBj b25zdHJ1Y3RpbmcgdGFucnUuICBJIGRvbid0IHRoaW5rIGFueSBzcGVjaWZpYyBsaXN0IGV2ZXIg ZXhpc3RlZC4gIEknZCBqdXN0IGRyb3AgdGhlIHBhcmVudGhldGljYWwgc2VudGVuY2UuCgoKCiog U2VjdGlvbiA2LCBqdXN0IGFmdGVyIGV4YW1wbGUgNi45LiBJdCBzYXlzICJzb21lIG9mIHRoZSB1 bnJlZHVjZWQgZm9ybXMgaW4gdGhlIHByZXZpb3VzIGV4YW1wbGUiLCBidXQgaXQgaXMgbm90IHJl ZmVycmluZyB0byB0aGUgcHJldmlvdXMgZXhhbXBsZTogaXQgaXMgcmVmZXJyaW5nIGFsbCB0aGUg d2F5IGJhY2sgdG8gZXhhbXBsZXMgNi4xIGFuZCA2LjIsIHNvIGl0IHNob3VsZCBiZSAic29tZSBv ZiB0aGUgdW5yZWR1Y2VkIGZvcm1zIGluIHRoZSBwcmV2aW91cyBleGFtcGxlX19zX18iLgoKKiog JydJTkNMVURFRCBJTiBEQUctQ0xMJycgKHpvcnQncyBmb3JrIGF0IGxlYXN0KQoKKEFwcHJvdmVk IEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkgIFJlZmVyIGV4cGxpY2l0bHkgdG8gNi4xIGFuZCA2 LjIKCgoKKiBTZWN0aW9uIDcsIHBhZ2UgNjAuIEluIGV4YW1wbGUgNi4xNiwgdGhlIHdvcmQgInhh cm55a2FyY2UiIGlzIGdsb3NzZWQgYXMgIndhci1jYXIiLiBFaXRoZXIgdGhlIGdsb3NzIHNob3Vs ZCBiZSB1cGRhdGVkIHRvIHJlZmxlY3QgdGhlIHZlbGp2byAoInN0dWJib3JuLWNhciIpLCBvciB0 aGUgbHVqdm8gc2hvdWxkIGJlIHVwZGF0ZWQgdG8gcmVmbGVjdCB0aGUgZ2xvc3MgImphbWthcmNl IgoKKiogVGhlIGxhdHRlciAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkg JydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDcsIG1ha2luZyBhIHR5cGUgMyBm dSdpdmxhLCBzdGVwIDUgc2hvdWxkIHJlYWQgInN0ZXBzIDEtNCIsIG5vdCAic3RlcHMgMS01Ii4g ICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gNywgc3Rl cCA1IG9mIHRoZSBTdGFnZSAzIGZ1J2l2bGE6ICJpZiB0aGUgcmFmc2kgZW5kcyBpbiAnJ3InJyBh bmQgdGhlIHJlc3Qgb2YgdGhlIGZ1J2l2bGEgYmVnaW5zIHdpdGggJyduJycgKG9yIHZpY2UgdmVy c2EpIHVzZSBhbiAnJ2wnJy1oeXBoZW4iIHNob3VsZCByZWFkICAiaWYgdGhlIHJhZnNpIGVuZHMg aW4gJydyJycgYW5kIHRoZSByZXN0IG9mIHRoZSBmdSdpdmxhIGJlZ2lucyB3aXRoICcnbicnLCAn J3RjJycsICcndHMnJywgJydkeicnIG9yICcnZGonJywgb3IgdGhlIHJhZnNpIGVuZHMgaW4gJydu JycgYW5kIHRoZSByZXN0IG9mIHRoZSBmdSdpdmxhIGJlZ2lucyB3aXRoICcncicnIHVzZSBhbiAn J2wnJy1oeXBoZW4iLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiog VGhlIGVuZCBvZiBzZWN0aW9uIDcgc2VlbXMgdG8gaW1wbHkgdGhhdCBjbWVuZSBhcmUgZXhlbXB0 IGZyb20gdGhlIG5vcm1hbCByZXN0cmljdGlvbnMgb24gY29uc29uYW50IGNsdXN0ZXJzIGFzIGxv bmcgYXMgZWFjaCBjb25zb25hbnQgcGFpciBpcyB2YWxpZC4KCgoKKiBTZWN0aW9uIDguIEV4YW1w bGUgOC4xMCAnJ2RqYW5kam9ueicnIGlzIG5vdCB2YWxpZCBsb2piYW4gYXMgaXQgY29udGFpbnMg dGhlIGZvcmJpZGRlbiBjb25zb25hbnQgc2VxdWVuY2UgYG5kamAuICAgICgoQXBwcm92ZWQgRXJy YXR1bXxqY293YW4gQXBwcm92ZWQpKSAgUmVwbGFjZSB3aXRoIGEgZGlmZmVyZW50IG5hbWUuCgoq KiBSZXBsYWNpbmcgd2l0aCAiSm9obiBCcm93biIgYXMgImRqYW5icmF1biIuIC0tcmxwb3dlbGwg JydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDgsIHBhZ2UgNjYuIEV4YW1wbGUg OC4xMi4gU2F5cyB0aGF0IHRoZSBnaXNtdSAic29scmkiIG1lYW5zICJhY3R1YWxseSwgJ3BlcnRh aW5pbmcgdG8gdGhlIHN1biciLiBUaGlzIGlzIGZhbHNlLiBBY2NvcmRpbmcgdG8gdGhlIGdpc211 IGxpc3QsIGl0IG1lYW5zICcnaXMnJ2Egc3VuLgoKKiogTGVhdmUgdGhpcyBvbmUgYWxvbmUuICBB cyBhIHNlbHRhdSwgInNvbHJpIiBkb2VzIGluZGVlZCBtZWFuICJzb2xhciIuICAtLWpjb3dhbgoK CgoqIFNlY3Rpb24gMTEsIDVhKSAnJ0V4YW1pbmUgYWxsIHRoZSBDL0MgY29uc29uYW50IHBhaXJz IHRoYXQgam9pbiB0aGUgQ1ZDIHJhZnNpLCBhbmQgYWxzbyB0aGUgcGFpciBiZXR3ZWVuIHRoZSBs YXN0IENWQyBhbmQgdGhlIFggcG9ydGlvbiwgaWdub3JpbmcgYW55ICJ5Ii1oeXBoZW4gYmVmb3Jl IHRoZSBYLicnIHNob3VsZCByZWFkIGluc3RlYWQ6ICcnRXhhbWluZSBhbGwgdGhlIEMvQyBjb25z b25hbnQgcGFpcnMgdXAgdG8gdGhlIGZpcnN0ICJ5Ii1oeXBoZW4sIG9yIHVwIHRvIHRoZSBlbmQg b2YgdGhlIHdvcmQgaW4gY2FzZSB0aGVyZSBhcmUgbm8gInkiLWh5cGhlbnMuJycKCioqICgoQXBw cm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwn JwoKCgoqIFNlY3Rpb24gMTIuIEluIEV4YW1wbGVzIDEyLjIsIDEyLjMgYW5kIDEyLjQgdGhlIGNh bGN1bGF0aW9ucyBhcmUgZ2l2ZW4gYXMgMzI1MDAgbWludXMgdGhlIHNjb3JlLCBpbnN0ZWFkIG9m IHNpbXBseSB0aGUgc2NvcmUuIChQcm9iYWJseSBmcm9tIHByZXZpb3VzIHZlcnNpb25zIG9mIHRo ZSBhbGdvcml0aG0uKSAgICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoK KiBTZWN0aW9uIDEzLCBwYWdlIDc0LCB0aGlyZCB0YWJsZTogdGhlcmUgaXMgbm8gc3BhY2UgYmV0 d2VlbiAibG9qYmF1Z3JpIiBhbmQgImxvamJhbmd5Z3JpIiwgc28gdGhhdCB0aGV5IGFyZSBydW4g aW50byBvbmUgd29yZCBpbiB0aGUgc2Vjb25kIGNvbHVtbiBvZiB0aGUgdGFibGUuICAoKEFwcHJv dmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDE1IHN0YXRlcyB0aGF0 ICJkemlwbyIgY29tZXMgZnJvbSAiY2FkenUgY2lwbmkiICgid2Fsa2luZyBiaXJkIikuICBUaGlz IGZhaWxzIHRvIG1ha2Ugc2Vuc2UgZWl0aGVyIGV0eW1vbG9naWNhbGx5IG9yIHNlbWFudGljYWxs eSAoSWYgdGhlIG5hbWUgcmVmZXJzIHRvIHBlbmd1aW5zLCB0aGVyZSBhcmUgYSBsb3Qgb2Ygb3Ro ZXIgZmVhdHVyZXMgb2YgQW50YXJjdGljYSB0aGF0IGFyZSBtb3JlIHByb21pbmVudCBhbmQgbm90 IHNoYXJlZCBieSBvdGhlciBwbGFjZXMpLiAgSSBzdXNwZWN0IHRoYXQgdGhlIHdvcmQgbWF5IGFj dHVhbGx5IGNvbWUgZnJvbSAiZGl6bG8gZGFwbHUiICgibG93IGlzbGFuZCIpLCB3aGljaCBpcyBh IHNvbWV3aGF0IG1vcmUgcmVhc29uYWJsZSBuYW1lLgoKKiogTm90IGFuIGVycmF0dW0sIHRoZSB3 b3JkIHJlYWxseSBkb2VzIGNvbWUgZnJvbSAiY2FEWnUgY0lQbmkiLiBUaGF0IGl0IGZhaWxzIHRv IG1ha2Ugc2Vuc2UgZG9lc24ndCBjaGFuZ2UgdGhlIGZhY3QgdGhhdCB0aGF0IGlzIGhvdyB0aGV5 IGNvbnN0cnVjdGVkIGl0LiBUaGUgZXR5bW9sb2dpZXMgb2YgImJlbXJvIiBhbmQgImtldGNvIiBt YWtlIGV2ZW4gbGVzcyBzZW5zZSwgYnkgdGhlIHdheS4KCioqKiBDb3JyZWN0LCBidXQgdGhlIGV0 eW1vbG9naWVzIGFyZSB3aGF0IHRoZXkgYXJlLiAgLS1qY293YW4KCgoKLS0tCgoKCiFDaGFwdGVy IDUKCgoKKiBTZWN0aW9uIDYsIGV4YW1wbGUgNi4xNTogSXQgc2F5cyB7eGFtZ3Ugam8gY29ydHUg bnVudGF2bGF9LCBhbmQgdGhlIGdsb3NzIHNheXMgeyhnb29kIGlmLWFuZC1vbmx5LWlmIHNob3J0 KSBzcGVlY2h9LCBidXQge2NvcnR1fSBtZWFucyAiaHVydCIsIG5vdCAic2hvcnQiLgoKKiogJydJ TkNMVURFRCBJTiBEQUctQ0xMJycgIChjaGFuZ2VkIHRvIHt0b3JkdX0pIChpbiB6b3J0J3MgZm9y ayBhdCBsZWFzdCkgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogRXhh bXBsZSA2LjE2OiB2YWpuaSBqdSBzZWxwbHVrYSBudW50YXZsYSAsICAoaW1wb3J0YW50IHdoZXRo ZXItb3Itbm90IHBsZWFzaW5nKSBldmVudC1vZi10YWxraW5nCgoqKiBTaG91bGQgYmUgcGx1a2Es IG5vdCBzZWxwbHVrYS4gICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAn J0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gOCBzYXlzICJpbnZvbHZpbmcgc2Vs bWEnbyBWT2hBIGFuZCBHT2hJLCBleHBsYWluZWQgaW4gQ2hhcHRlciA3IiwgYnV0IFZPaEEgZG9l c24ndCBhcHBlYXIgaW4gQ2hhcHRlciA3LiBWT2hBIGRvZXNuJ3QgZXZlbiBzZWVtIHRvIGJlIGEg c2VsbWEnbywgZm9yIHRoYXQgbWF0dGVyLiBBbHNvLCBwcm9iYWJseSBHT2hJIHNob3VsZCBiZSBH T2hBPwoKCgoqIFNlY3Rpb24gOCwgcGFnZSA5Ni85NzogRXhhbXBsZSA4LjEzIG5lZWRzIHNvbWUg a2luZCBvZiB0ZXJtaW5hdG9yIChsaWtlICJiZSdvIikgYmVmb3JlIHRoZSAiY28iLiAgICgoQXBw cm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIEFsc28sIHRoZSBwcmVjZWRpbmcg cGFyYWdyYXBoIHN1Z2dlc3RzIHRoYXQgImJlIiBpcyB0aGUgb25seSB3YXkgdG8gZmlsbCBzZWxi cmkgcGxhY2VzIG90aGVyIHRoYW4geDEuIFRoaXMgaXMgbm90IHRoZSBjYXNlOiAibWkgbGUgemFy Y2kgY3Uga2xhbWEgY28gc3V0cmEiIHdvdWxkIGFscwoKbyB3b3JrLgoKKiogSSBkb24ndCBhZ3Jl ZSB0aGF0IHRoZXJlJ3MgYW55IHN1Y2ggc3VnZ2VzdGlvbiwgYWx0aG91Z2ggYWRkaW5nIGEgc2Vj b25kIHBvc3NpYmlsaXR5IGlzIGZpbmUgd2l0aCBtZS4gIC0tamNvd2FuCgoKCiogU2VjdGlvbiA5 IGxpc3RzICJrZWkiIGFzIHRoZSB0ZXJtaW5hdG9yIGZvciBudSwgYnV0IGl0J3Mgbm90IG9ubHkg Zm9yIG51LCBidXQgZm9yIGFsbCBvZiBOVS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBw cm92ZWQpKQoKCgoqIFNlY3Rpb24gMTQsIHBhZ2UgMTA0IHNheXMgImRhZHlsc2kiIGZvciAiZGFk eXNsaSIuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNM VURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDE0LCBwYWdlIDEwNSB1c2VzICJ6ZGFuaSBs aWpncmkiIGluIHRoZSBleGFtcGxlIGxpc3QsIGJ1dCB0aGUgcGFyYWdyYXBoIGFmdGVyLCBhcyB3 ZWxsIGFzIHRoZSBuZXh0IGxpc3QsIHJlZmVyIHRvICJ6ZGFuaSBsaW5qaSIgYW5kICJsaW5qaSB6 ZGFuaSIuCgoKCiogU2VjdGlvbiAxNCwgcGFnZSAxMDUgaGFzIHRoZSBsdWp2byAiY3B1bWknaSIg YnV0IGRlZmluZXMgaXQgYXQgdGhlIGJvdHRvbSBvZiB0aGUgc2V0IGFzICJjcGFtaSdpIi4KCioq IGN1YW1pJ2kgcyBwdWxsLW1hY2hpbmUsIHNvIHVzaW5nIHRoYXQgKChBcHByb3ZlZCBFcnJhdHVt fGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlv biAxNCwgcGFnZSAxMDYgc2F5cyAicGxpc2UgdGFwbGEiIGZvciAiYXBwbGUgY2FrZSIuIERvZXMg VHVya2lzaCByZWFsbHkgcmVmZXIgdG8gYSBjYWtlIGFzIGEgdGlsZSwgb3IgaXMgdGhpcyBhIG1p c3VuZGVyc3RhbmRpbmcgb2YgdGhlIGRlZmluaXRpb24gb2YgInRhcGxhIj8KCioqIE5vLCBpdCdz IHRoYXQge3RhcGxhfSBjYW4gbWVhbiBib3RoIGNha2UgYW5kIHRpbGUsIGFzIHRoZSBnaXNtdSBs aXN0IHNob3dzOyBpdCdzIGEgZ2VuZXJpYyB3b3JkIGZvciBhIGZsYXQgMy1EIHNoYXBlLCBvciBz aG9ydCBjeWxpbmRlci4gIFN0ZXQuICAtLWpjb3dhbgoKCgoqIFNlY3Rpb24gMTQsIHBhZ2UgMTA4 IHNheXMgInR1bWxhIHNwaXNhIi4gVGhpcyBzaG91bGQgcHJvYmFibHkgYmUgInR1bWxhIHBhZ2J1 Iiwgc2luY2UgcGllY2VzIG9mIGxhbmQgYXJlIG5vdCBhY3R1YWxseSBkZXRhY2hlZC4KCioqIFdo YXQgbWFrZXMgeW91IHRoaW5rIHRoYXQgc3Bpc2EgaGF2ZSB0byBiZSBkZXRhY2hlZD8gIFN0ZXQu ICAtLWpjb3dhbgoKCgoqIFNlY3Rpb24gMTQsIHBhZ2UgMTA5IHNheXMgInJvc3R1IG1vanlzdSdh Ii4gInJvc3R1IiBpcyBub3QgYSBMb2piYW4gZ2lzbXUsIG5vciBhbiBPbGQgTG9nbGFuIHByaW1p dGl2ZS4gSXQncyBzdXBwb3NlZCB0byBiZSAibXJvc3QKCnUiLgoKKiogIk1yb3N0dSIgaXMgY29y cmVjdCwgYW5kIHRoYXQncyB0aGUgcmVhZGluZyBvZiB0aGUgb25saW5lIHZlcnNpb24uICAoKEFw cHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDE0LCAibnVua2ls YnJhIiBpcyBjbGVhcmx5IG5vdCAic2hhcnBlbmVyIiwgYW5kIGV2ZW4gaWYgaXQgd2FzIHVzaW5n IHRoZSByaWdodCByYWZzaSBmb3IgY2FicmEsIHRoYXQgc3RyaWtlcyBtZSBhcyBhIHByZXR0eSBj cmFwcHkgbHVqdm87IG5lZWRzIHplbmJhIG9yIHptYWR1IG9yIGJpbnhvIG9yIHNvbWV0aGluZy4K CgoKKiBTZWN0aW9uIDE0LCBwYWdlIDExMiBsaXN0cyBudW1lcm91cyB0YW5ydSBleGFtcGxlcyB3 aG9zZSBtZWFuaW5ncyBhcmUgaHlwZXJueW1zIG9mIHRoZSB0ZXJ0YXUgaW5zdGVhZCBvZiBoeXBv bnltcy4gVGhpcyBjb250cmFkaWN0cyB0aGUgcHJpbWFyaW5lc3Mgb2YgdGhlIHRlcnRhdSBhcyBk ZWZpbmVkIG9uIHBhZ2UgODQuIFRoZSB3b3JkICJqYSIgc2hvdWxkIHByb2JhYmx5IGJlIGluc2Vy dGVkIGJldHdlZW4gdGhlIGNvbnN0aXR1ZW50cywgb3IgdGhlIGVudGlyZSBzZWN0aW9uIHNob3Vs ZCBiZSByZW1vdmVkLgoKKiogU3RldC4gIExpb25zIGNhbid0IGJlIG1hZGUgb2Ygc3RvbmUsIGJ1 dCB7cm9rY2kgY2luZm99IGlzIGEgbGVnaXRpbWF0ZSB0YW5ydSBub25ldGhlbGVzcy4gIC0tamNv d2FuCgoKCi0tLQoKCgohQ2hhcHRlciA2CgoKCiogRW5kIG9mIHNlY3Rpb24gMiwgaXQgc2F5cyAi Y29tcG91bmQgbmVnYXRvciBgYG5ha3UnJyAoZGlzY3Vzc2VkIGluIENoYXB0ZXIgMTUpIiwgYnV0 ICJuYWt1IiBpcyBuZXZlciBtZW50aW9uZWQgaW4gY2hhcHRlciAxNTsgaW5kZWVkLCB0aGUgb25s eSB1c2VzIG9mIHRoZSB3b3JkIHtrdX0gYXQgYWxsIGFyZSBhZnRlciB0aGUgd29yZHMge2ppJ3V9 IG9yIHtuYSdpfS4gQ2hhcHRlciAxNiB0YWxrcyBhYm91dCB7bmFrdX0uCgoqKiAnJ0lOQ0xVREVE IElOIERBRy1DTEwnJyAoem9ydCdzIGZvcmsgYXQgbGVhc3QpIGJ1dCBuZWVkcyBhcHByb3ZhbAoK CgoqIFNlY3Rpb24gMTIsIHAuIDEzOCBjbGFpbXMgdGhhdCB0aGUgc3VtdGkgaW4gZXhhbXBsZXMg MTIuMiBhbmQgMTIuMyBvcGVyYXRlIGxpa2UgZXhhbXBsZXMgMi41IGFuZCAzLjYgcmVzcGVjdGl2 ZWx5LiAiMi42IGFuZCAzLjYiIGlzIGFsbW9zdCBzdXJlbHkgd2hhdCB3YXMgbWVhbnQuICAoKEFw cHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycK CgoKKiBJbiBzZWN0aW9uIDExIEV4YW1wbGUgMTEuMiBvY2N1cnMgdHdpY2UuCgoqKiAoKEFwcHJv dmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycK CgoKKiBTZWN0aW9uIDIgaGFzIGV4YW1wbGVzIDIuMyBhbmQgMi41IHRvIHNob3cgdGhlIGRpZmZl cmVuY2UgYmV0d2VlbiB7bG99IGFuZCB7bGV9LiBFeGFtcGxlIDIuNSBhbmQgdGhlIHN1YnNlcXVl bnQgdGV4dCBzYXkgdGhhdCB7bG8gbmFubXUgY3UgbmlubXV9IGlzIG5lY2Vzc2FyaWx5IGZhbHNl IGluIGxvamJhbiBzaW5jZSB7bm9kYSBuYW5tdSBnaSdlIG5pbm11fS4gVGhpcyBjb250cmlidXRl cyB0byB0cmFucy1lcmFzdXJlLCBhbmQgc2hvdWxkIGJlIHJldmlzZWQuCgoKCiogSW4gc2VjdGlv biA1IGJldHdlZW4gZXhhbXBsZXMgNS4yIGFuZCA1LjMsIGl0IHNheXMgdGhhdCB0aGUgdHlwaWNh bCBsaW9uIGJlc3QgZXhlbXBsaWZpZXMgdGhlIHNldCBvZiBsaW9ucy4gVGhpcyBpcyBmYWxzZSwg aXQgZXhlbXBsaWZpZXMgbm90IHRoZSBzZXQsIGJ1dCB0aGUgbWVtYmVycyBvZiB0aGF0IHNldC4K CgoKLS0tCgoKCiEgQ2hhcHRlciA3CgoKCiogU2VjdGlvbiA2LCBwYWdlIDE1NSBoYXMgYSBub3Rl IGJlbG93IGV4YW1wbGUgNi4xMyB0aGF0IHNheXMsIGluIHBhcnQ6ICJUaGUgTG9qYmFuIGRvZXMg bm90IGNvbnRhaW4gYW4gZXF1aXZhbGVudCBvZiB0aGUgIm15IiBpbiBjb2xsb3F1aWFsIEVuZ2xp c2g7IiBhbmQgdGhlbiBnb2VzIG9uIHRvIGV4cGxhaW4gaG93IGV4YW1wbGUgNi4xMyBjb3VsZCBi ZSBtb2RpZmllZCB0byBpbmNsdWRlICB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gdGhlIHNwZWFr ZXIgYW5kIHRoZWlyIHNvbiBhbmQgZGF1Z2h0ZXIuICBJIGJlbGlldmUgeW91IGNvdWxkIHNheSAi bGUgbWkgYmVyc2EiIG9yICJsZSBiZXJzYSBwZSBtaSIgdG8gZXhwcmVzcyB0aGUgRW5nbGlzaCAi bXksIiB0aGVyZWZvciByZW1vdmluZyB0aGUgKHByZXN1bWFibHkgaW5hY2N1cmF0ZSkgbm90ZSBh bmQgbWFraW5nIHRoZSBMb2piYW4gdHJhbnNsYXRpb24gbW9yZSBhY2N1cmF0ZS4KCioqIFN1cmUg eW91IGNvdWxkLCBidXQgdGhlIHBvaW50IG9mIHRoZSBub3RlICh3aGljaCBpcyAnJ25vdCcnIGlu YWNjdXJhdGUpIGlzIG5vdCB0ZWFjaGluZyBob3cgdG8gdXNlIHJlbGF0aXZlIGNsYXVzZXMsIGJ1 dCB0byBjbGFyaWZ5IHRoYXQgdGhlIGlkaW9tYXRpYyBFbmdsaXNoIHZlcnNpb24gY29udGFpbnMg bW9yZSBpbmZvcm1hdGlvbiB0aGFuIHRoZSBMb2piYW4gdmVyc2lvbiBkb2VzLiAgU3RldC4KCgoK KiBTZWN0aW9uIDYsIHBhZ2UgMTU2IGhhcyAnJ2thcmNhJycgZm9yICcna2FyY2UnJy4gICgoQXBw cm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIEFmdGVyIGV4YW1wbGUgNi4xOCBp cyBhIHBhcmFncmFwaCB0aGF0IHF1b3RlcyBub24tZXhpc3RlbnQgdGV4dCBmcm9tIGV4YW1wbGUg Ni4xMC4gICJnbydlIHJhJ28iIHNob3VsZCByZWFkICJnbydpIHJhJ28iIGFuZCAiZG8gZ28nZSIg c2hvdWxkIHJlYWQgIm1pIGdvJ2kiCgoqKiBUaGUgY29ycmVjdCBjb3JyZWN0aW9uIGlzIHRvIHJl cGxhY2UgIkIncyBzdGF0ZW1lbnQiIHdpdGggIkEncyBzZWNvbmQgc3RhdGVtZW50Ii4gICgoQXBw cm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKioqIE5vdCByZWFsbHkuICJnbydlIHJh J28iIGluIEEncyBzZWNvbmQgc3RhdGVtZW50IHdvdWxkIG1lYW4gdGhlIHNhbWUgYXMgImdvJ2Ui LCB3aGljaCBpcyB3cm9uZy4gVGhlIG9yaWdpbmFsIGNvcnJlY3Rpb24gaXMgdmFsaWQgdGhvdWdo LgoKCgoqU2VjdGlvbiA2LCB0aGUgZXhjZXB0aW9ucyB0byB0aGUgYW5hcGhvcmEgcnVsZXMgYXJl IGFsbW9zdCBjZXJ0YWlubHkgaW5jb21wbGV0ZS4gSW4gcGFydGljdWxhciAibWEiIGFuZCAiY2Un dSIgZGVmaW5pdGVseSB3YXJyYW50IGV4Y2VwdGlvbnMuCgoKCiogU2VjdGlvbiA3LCBleGFtcGxl IDcuNyBoYXMgIm1pIHpiYXN1IGxvaSBtdWRyaSB6aSdvIiBmb3IgIm1pIHpiYXN1IGxlIGRpbmp1 IHppJ28iCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNM VURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDgsIHAuIDE1OCBpbXBsaWVzIHRoYXQgJyd2 bydhJyctc2VyaWVzIGFuYXBob3JhIHJlZmVyIHRvIHN1bXRpIG9mIHRoZSBicmlkaSB0aGV5IHRo ZW1zZWx2ZXMgYXJlIHN1bXRpIG9mLiBUaGlzIGNvbnRyYWRpY3RzIHRoZSBjbWF2byBsaXN0LCBh bmQgaXMgaW5jb3JyZWN0OiAnJ3ZvJ2EnJy1zZXJpZXMgYW5hcGhvcmEgKGFjY29yZGluZyB0byB0 aGUgbWEnb3N0ZSkgcmVmZXIgdG8gc3VtdGkgb2YgdGhlIG91dGVybW9zdCBicmlkaSB3aXRoaW4g dGhlIGN1cnJlbnQgc2VudGVuY2UuIFRoaXMgbWFrZXMgdGhlbSBsb2dvcGhvcnMvbG9uZyBkaXN0 YW5jZSByZWZsZXhpdmVzLCByYXRoZXIgdGhhbiBzaG9ydC1kaXN0YW5jZSByZWZsZXhpdmVzLCBh cyBpcyBub3JtYWwgaW4gaHVtYW4gbGFuZ3VhZ2UuIFRodXMsIGluICcnbWkgbmVsY2kgbGVudSBk byBwcmFtaSB2bydhJycsICcndm8nYScnbWVhbnMgJydtaScnLCBub3QgJydkbycnLgoKKipfXy0t Pl9fKChXaHkgdGhlIEJvb2sgaXMgUmlnaHQgYW5kIHRoZSBtYSdvc3RlIGlzIFdyb25nKSkKCioq KldoaWNoIG9mIHRoZSB0d28gY2FzZXMgaXMgbm9ybWFsIGluIGh1bWFuIGxhbmd1YWdlPyBJZiB5 b3UnZCB3cml0dGVuIGl0IGluIExvamJhbiwgSSdkIGtub3chCgoqKioqIEknZCBndWVzcyB0aGF0 IHNob3J0LWRpc3RhbmNlIGlzIG5vcm1hbCwgYi9jIG90aGVyd2lzZSBpdCB3b3VsZCBub3QgYmUg d29ydGggY29tcGFyaW5nIHRoZSB0d28uIEJ1dCBvZiBjb3Vyc2UgaW4gbG9qYmFuIHdlIHdvdWxk bid0IGhhdmUgdG8gZ2xvcmsgdGhhdC4KCioqKioqIFNob3J0LWRpc3RhbmNlIGlzIGluZGVlZCBu b3JtYWwsIGJ1dCBMb2piYW5pc3RzIGhhdmUgY29uc2lzdGVudGx5IHVzZWQgbG9uZy1kaXN0YW5j ZS4gIE5pY2sgd3JvdGUgYSBwZWVyLXJldmlld2VkIHBhcGVyIG9uIHRoaXMuICAtLWpjb3dhbgoK CgoqIEV4YW1wbGUgNy44LjUgKHAxNTkpOiBiYWpyYSBvbiB0aGlyZCBsaW5lIHNob3VsZCBiZSBi YWp5a2xhLCBsaWtlIHRoZSBvdGhlcnMuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlz IEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDgsIGl0IHNh eXMgIkV4YW1wbGUgOS4zIGlzIGEgdHJ1bHkgcHJlZ25hbnQgcXVlc3Rpb24uLi4iIHdoZW4gZXhh bXBsZSA5LjIgaXMgdGhlIHByZWduYW50IHF1ZXN0aW9uLCBhbmQgZXhhbXBsZSA5LjMgaXMgYSBi ZXR0ZXIgd2F5IG9mIGV4cHJlc3NpbmcgIldobyBhcmUgeW91PyIKCgoKKiBTZWN0aW9uIDE1LCBp dCBzYXlzICJGaW5hbGx5LCBsdWp2byBpbnZvbHZpbmcgYGB6aSdvJycgYXJlIGFsc28gcG9zc2li bGUsIGFuZCBhcmUgZnVsbHkgZGlzY3Vzc2VkIGluIENoYXB0ZXIgMTIiLCBidXQgbm93aGVyZSBk b2VzIENoYXB0ZXIgMTIgbWVudGlvbiB0aGUgd29yZCB7emknb30sIG11Y2ggbGVzcyBsdWp2byBp bnZvbHZpbmcgaXQuIFRoaXMgaXMgcHJvYmFibHkgYSBDaGFwdGVyIDEyIGVycmF0dW0uCgotLS0K CgoKIUNoYXB0ZXIgOAoKCgoqIEluIFNlY3Rpb24gMyB0aGUgZXhhbXBsZSAzLjIwIHNob3VsZCBo YXZlIHt4YW5jZX0gaW5zdGVhZCBvZiB7eGFuY2l9LCB3aGljaCBpcyBkZWZpbml0ZWx5IGEgdHlw by4gLS1pZG9udGtudwoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkp ICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA4LCBwLiAxODE6ICA4LjEpICcn bGkgcGFpIG5vaSBuYSdlIGZyaW51IG5hbWN1JydzaG91bGQgYmUgJydsaSBwYWkgbm9pIG5hJ2Ug ZnJpbnUgY3UgbmFtY3UnJy4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoK CgoqIFNlY3Rpb24gOCwgRXhhbXBsZSA4LjYsIHRoZSB0aGlyZCBsaW5lLCAiSSBydW5uaW5nbHkt Z28gdG8tdGhpcyBbcmVjaXByb2NpdHldIFt4MyBvZiB0aGlzIGJyaWRpXSBmcm9tLXRoYXQiLCBp cyBub3QgdGhlIHVzdWFsIGRlY2VudCBFbmdsaXNoIG9uZSB3b3VsZCBleHBlY3QgaW4gdGhhdCBw b3NpdGlvbjsgcmVwbGFjZWQgd2l0aCAiSSBydW4gdG8gdGhpcyBmcm9tIHRoYXQgYW5kIHZpY2Ug dmVyc2EuIiBpcyBkYWctY2xsICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA5 LCBleGFtcGxlIDkuMiBpcyAnJ2NvJ28geGlybWEnJy4gVGhlbiwgJydOb3RlIHRoYXQgRXhhbXBs ZSA5LjIgc2F5cyBmYXJld2VsbCB0byBzb21ldGhpbmcgd2hpY2ggZG9lc27igJl0IHJlYWxseSBo YXZlIHRvIGJlIGEgaG9yc2UsIHNvbWV0aGluZyB0aGF0IHRoZSBzcGVha2VyIHNpbXBseSB0aGlu a3Mgb2YgYXMgYmVpbmcgYSBob3JzZSwgb3IgZXZlbiBtaWdodCBiZSBzb21ldGhpbmcgKGEgcGVy c29uLCBmb3IgZXhhbXBsZSkgd2hvIGlzIG5hbWVkICJIb3JzZSIuIEluIGEgc2Vuc2UsIEV4YW1w bGUgOS4yIGlzIGFtYmlndW91cyBiZXR3ZWVuICJjbydvIGxlIHhpcm1hIiBhbmQgImNvJ28gbGEg eGlybWEiJycuIElzIHRoaXMgdHJ1ZT8KCioqIFllcywgaW4gdGhlIHNlbnNlIHRoYXQgYWxsIHVz ZXMgb2YgImxlIiAnJ21pZ2h0JycgbWVhbiAibGEiLiAgQnV0IGl0J3MgcHJvYmFibHkgbW9yZSBj b25mdXNpbmcgdGhhbiBpdCdzIHdvcnRoLiAgVHJ1bmNhdGUgYWZ0ZXIgInRoaW5rcyBvZiBhcyBi ZWluZyBhIGhvcnNlIi4gIC0tamNvd2FuCgoKCiogU2VjdGlvbiA5IHNheXMgJydJbiB2b2NhdGl2 ZSBwaHJhc2VzIHdoaWNoIGFyZSBzaW1wbGUgbmFtZXMgKGFmdGVyIHRoZSB2b2NhdGl2ZSB3b3Jk cyksIGFueSByZWxhdGl2ZSBjbGF1c2VzIG11c3QgY29tZSBqdXN0IGFmdGVyIHRoZSBuYW1lcycn LiBUaGlzIGlzbid0IHRydWUuIFJlbGF0aXZlIGNsYXVzZXMgY2FuIGdvIGJldHdlZW4gdGhlIHZv Y2F0aXZlIGFuZCB0aGUgY21ldmxhLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3Zl ZCkpICBEcm9wIGl0OyBpdCByZWZsZWN0cyBhbiBlYXJsaWVyIHN0YXRlIG9mIHRoZSBsYW5ndWFn ZS4KCgoKKiBTZWN0aW9uIDEwLCBleGFtcGxlIDEwLjMgdXNlcyAia2UnYSBnb2kga28nZSB6byd1 IGtvJ2EgemJhc3Uga2UnYSIgYnV0IGdsb3NzZXMgaXQgYXMgIihJVCA9IGl0MiA6IGl0MSBidWls dCBpdDIpIi4gVGhlIGFzc2lnbmVkICJrbydlIiBpcyBub3QgdXNlZCBhcyBleHBlY3RlZCBvciBk ZXNjcmliZWQsIGFuZCBzaG91bGQgcHJvYmFibHkgYmUgImtvJ2EgemJhc3Uga28nZSIuCgoKCi0t LQoKIUNoYXB0ZXIgOQoKCgoqIFNlY3Rpb24gNiwgcGxhY2Ugc3RydWN0dXJlIG9mICcncGlsbm8n JyBpcyBtaXNzaW5nICJmb3IgcHVycG9zZSB4MyIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2Fu IEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDgsIHRoZSBleGFtcGxlcyA4LjUgYW5kIDguNiBhcmUg c3VwcG9zZWQgdG8gbWVhbiB0aGUgc2FtZSB0aGluZywgYnV0IGRvIG5vdC4KCioqIFBsZWFzZSBl bGFib3JhdGUuICAtLWpjb3dhbgoKKioqIDguNSBtZWFucyAiSSBnYXZlIHRoZSBib29rIHRvIEpv aG4sIGJlY2F1c2UgSm9obiBnYXZlIHRoZSBtb25leSB0byBtZSIgYnV0IDguNiBtZWFucyAiSm9o biBnYXZlIHRoZSBtb25leSB0byBtZSBiZWNhdXNlIEkgZ2F2ZSB0aGUgYm9vayB0byBKb2huLiIK CioqICcnSU5DTFVERUQgSU4gREFHLUNMTCcnICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBw cm92ZWQpKQoKCgoqIFNlY3Rpb24gMTEsIGRlc2NyaXB0aW9uIG9mIHRoZSBtZWFuaW5nIG9mICIu aWplIHNlcmknYSB0dSdlIiBjb250cmFkaWN0cyB0aGUgZXhwbGFuYXRpb24gb2YgRXhhbXBsZSA5 LjksIHdoaWNoIHdvdWxkIHN1Z2dlc3QgIi5pamUgcmknYSB0dSdlIi4KCgoKKiBzZWN0aW9uIDE3 LCAiZnJvbSBzb3VyY2UgYXMgYW4gb3JpZ2luIG9mIiBzaG91bGQgYmUgdHdvIGVudHJpZXM7ICJm cm9tIHNvdXJjZSIgYW5kICJhcyBhbiBvcmlnaW4gb2YiICcnSU5DTFVERUQgSU4gREFHLUNMTCcn CgoKCi0tLQoKCgohQ2hhcHRlciAxMAoKCgoqIFNlY3Rpb24gNCwgIndoZW4gYm90aCBzcGF0aWFs IGFuZCB0ZW1wb3JhbCB0ZW5zZSBjbWF2byBhcmUgZ2l2ZW4gaW4gYSBzaW5nbGUgdGVuc2UgY29u c3RydWN0LCB0aGUgdGVtcG9yYWwgdGVuc2UgaXMgZXhwcmVzc2VkIGZpcnN0IiBkaXNhZ3JlZXMg d2l0aCB0aGUgcnVsZSBzaW1wbGUtdGVuc2UtbW9kYWwtOTcyIGluIHRoZSBCTkYgZ3JhbW1hci4K CgoKKiBTZWN0aW9uIDksIGV4YW1wbGUgOS45IG9uIHBhZ2UgMjI3IGhhcyAiY2lybGkiIGZvciAi Y2lybGEiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5D TFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxMiwgZXhhbXBsZSAxMi42IHRyYW5zbGF0 ZXMgbW9yc2kgYXMgImRpZSIgcmF0aGVyIHRoYW4gImFtIGRlYWQiIGluIHRoZSB0cmFuc2xhdGlv biAoYXMgb3Bwb3NlZCB0byB0aGUgZ2xvc3MpLgoKCgoqIFNlY3Rpb24gMTYsIGF0IHRoZSBlbmQs IHRoZSBYIGFuZCBZIGluIHRoZSAzIGZvcm1zIGRvbid0IGZpdCBwcm9wZXJseSAodGhlIDNyZCBk b2Vzbid0IG1hdGNoIHRoZSBmaXJzdCB0d28pLiBJIHJlY29tbWVuZCwgY29weWluZyBmcm9tIFNl Y3Rpb24gMjMgKHdoZXJlIHRoZXkgYXJlIHdyaXR0ZW4gYWdhaW4gY29ycmVjdGx5KToKCiAgICAg ICBYIC5pIFRFTlNFIGJvIFkKCiAgICAgICBURU5TRSBnaSBYIGdpIFkKCiAgICAgICBZIFRFTlNF IGxlIG51IFgKCgoKKiBTZWN0aW9uIDE3LCBleGFtcGxlIDE3LjEyIHNob3VsZCBub3QgaGF2ZSB0 aGUgc2Vjb25kICJiZXZyaSIuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJv dmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDE4LCBleGFtcGxlIDE4 LjkgaXMgc3VwcG9zZWQgdG8gc2hvdyBzY2FsYXIgbmVnYXRpb24gb2YgdGVuc2VzIG5vdCBsaW1p dGVkIHRvIFBVIGFuZCBGQWhBLCBidXQgdGhlIGV4YW1wbGUgdGVuc2UgaXMgcmkndSAoRkFoQTIp LgoKCgoqIFNlY3Rpb24gMTksIGV4YW1wbGUgMTkuMTAgc2hvdWxkIGhhdmUgImJhIiwgbm90ICJw dSIsIGFuZCAiW2Z1dHVyZV0iLCBub3QgIltwYXN0XSIuICAoKEFwcHJvdmVkIEVycmF0dW18amNv d2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDI1LCBleGFtcGxlcyAyNS4xIGFuZCAyNS4yIGhh dmUgJydsdSdhJycgZm9yICcnbGEndScnLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21p cyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAyNSwgdGhp cyB3aG9sZSBzZWN0aW9uIGlzIGF0IG9kZHMgd2l0aCB0aGUgZm9ybWFsIGdyYW1tYXIuIEl0IHNh eXM6ICcnSXQgaXMgZ3JhbW1hdGljYWwgZm9yIGEgdGVybXNldCB0byBiZSBwbGFjZWQgYWZ0ZXIg YSB0ZW5zZSBvciBtb2RhbCB0YWcgcmF0aGVyIHRoYW4gYSBzdW10aScnLiAgQnV0IHRoYXQgaXMg aW4gZmFjdCBpbmNvcnJlY3QsIGl0IGlzIG5vdCBncmFtbWF0aWNhbCBmb3IgYSB0ZXJtc2V0IHRv IGJlIHRoZSBhcmd1bWVudCBvZiBhIHRhZy4KCioqIFVuZm9ydHVuYXRlbHkgdHJ1ZS4gIFRlcm1z ZXRzIHN1Y2sgcm9ja3MsIGFuZCBzb21lIHdvcmsgd2lsbCBoYXZlIHRvIGJlIGRvbmUgdG8gbWFr ZSBldmVyeXRoaW5nIHNhaWQgYWJvdXQgdGhlbSBjb25zaXN0ZW50IC0tIGlmIGl0IGlzIGV2ZW4g cG9zc2libGUuICBQZXJzb25hbGx5LCBJJ2QgbGlrZSB0byBqdXN0IGJ1cm4gdGhlbS4gIC0tamNv d2FuICAnJydOT0ZJWCcnJwoKCgoqIFNlY3Rpb24gMjc6IE1PaEkgc2VlIFNlY3Rpb24gMjgsIG5v dCAyNy4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgotLS0KCgoKIUNo YXB0ZXIgMTEKCgoKKiBTZWN0aW9uIDQ6IFRoZSB1c2Ugb2Yga2EgaW4gRXhhbXBsZSA0LjQgKHBh Z2UgMjU5KSBpcyBlcnJvbmVvdXM7IGl0IHNob3VsZCBiZSBkdSd1LiAtLSgoSm9obiBDb3dhbikp ICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIExhc3QgcGFyYWdyYXBo IG9mIHNlY3Rpb24gNyByZWZlcmVuY2VzIGNoYXB0ZXIgNSBmb3IgYSBkaXNjdXNzaW9uIG9mICJs dSdlIi4gIGx1J2UgaXNuJ3QgbWVudGlvbmVkIGluIGNoYXB0ZXIgNS4gIFByb2JhYmx5IGNoYXB0 ZXIgNiBpcyBtZWFudCBoZXJlLgoKKiogWWVzLCBzaG91bGQgYmUgU2VjdGlvbiA1LjEwLiAgICAo KEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDksIHBhZ2Ug MjY2IGhhcyAic2FvJ3JkemlmYSdhIiBpbnN0ZWFkIG9mICJzYSdvcmR6aWZhJ2EiLgoKKiogKChB cHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNM TCcnCgoKCiogVGhlIHNhbWUgZXhhbXBsZSAoOS42KSBhbHNvIGhhcyBrdWN0cmEgaW5zdGVhZCBv ZiBrdWN0YWkKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lO Q0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFRoZSBib29rIHRpdGxlIGluIGV4YW1wbGUgOS42IHNl ZW1zIHRvIGJlIGluY29ycmVjdDogIlRoZSBDcnVjaWZpeGlvbiBvZiBKZXN1cyBDb25zaWRlcmVk IEFzIEEgRG93bmhpbGwgQmljeWNsZSBSYWNlIiBpcyBhY3R1YWxseSAiW2h0dHA6Ly93d3cuZXZl cmdyZWVucmV2aWV3LmNvbS8xMDIvZmljdGlvbi9kdW8uaHRtbHxUaGUgQ3J1Y2lmaXhpb24gQ29u c2lkZXJlZCBBcyBBbiBVcGhpbGwgQmljeWNsZSBSYWNlXS4iCgoqKiBVbmFwcHJvdmVkCgoKCiog U2VjdGlvbiAxMDogUGFyYWdyYXBoIGFib3ZlIGV4YW1wbGUgMTAuNyByZWZlcmVuY2VzICJDaGFw dGVyIDExIi4gVGhhdCBzaG91bGQgcmVhZCAiQ2hhcHRlciAxMCIuCgoqKiAoKEFwcHJvdmVkIEVy cmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBT ZWN0aW9uIDEyLCBwYWdlIDI2OSBoYXMgZXhhbXBsZXMgMTMuMSBhbmQgMTMuMiwgdGhvc2Ugc2hv dWxkIGJlIGNhbGxlZCAxMi4xIGFuZCAxMi4yLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBB cHByb3ZlZCkpCgoKCi0tLQoKCgohQ2hhcHRlciAxMgoKCgoqIFNlY3Rpb24gMiwgcGFnZSAyNzUu IFRoZSBwYXJhZ3JhcGggdW5kZXIgRXhhbXBsZSAyLjMgcmVmZXJzIHRvIGl0IGFzIEV4YW1wbGUg Mi40ICgyLjQgZG9lc24ndCBldmVuIGV4aXN0KS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4g QXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gNSwgcmlnaHQgYWZ0ZXIgZXhhbXBsZSA1LjcuIEl0IHNh eXMgImEiIGluc3RlYWQgb2YgImFuIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92 ZWQpKQoKCgoqIFNlY3Rpb24gNiwgcGFnZSAyODAuIEV4YW1wbGUgNi42IHNob3VsZCBoYXZlIGEg c3BhY2UgYmV0d2VlbiAibGEgc3BhdC4iIGFuZCAibm9pIi4KCioqICgoQXBwcm92ZWQgRXJyYXR1 bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rp b24gNywgcGFnZSAyODIuIEV4YW1wbGUgNy41IGhhcyAiYmFuc29pIiBpbnN0ZWFkIG9mICJiYWxz b2kiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVE RUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxMSwgcGFnZSAyODUgaGFzICJ4YXNjYWtjdXJu dSIgaW5zdGVhZCBvZiAieGFzeWNha2N1cm51Ii4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1n dXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTIg Y2xhaW1zIHRoYXQgLWpheC0gaXMgYSByYWZzaSBmb3Ige2phaX0sIGJ1dCBpdCBpc24ndCBpbiBb aHR0cDovL3d3dy5sb2piYW4ub3JnL3B1YmxpY2F0aW9ucy93b3JkbGlzdHMvcmFmc2kudHh0fGh0 dHA6Ly93d3cubG9qYmFuLm9yZy9wdWJsaWNhdGlvbnMvd29yZGxpc3RzL3JhZnNpLnR4dF0uIERv ZXMge2phaX0gaGF2ZSBhIHJhZnNpIG9yIG5vdD8KCioqIEl0IHNob3VsZCwgYnV0IHNvbWVob3cg aXQgbmV2ZXIgZ290IGludG8gdGhlIGdpc211IGxpc3QsIGFuZCBjb25zZXF1ZW50bHkgbm90IGlu dG8gdGhlIHJhZnNpIGxpc3QgZWl0aGVyLiAgU3RldCwgYW5kIHdlJ2xsIGFkZCBpdCB0byB0aGUg Z2lzbXUgbGlzdC4gIC0tamNvd2FuCgoKCiogU2VjdGlvbiAxMiwgcmlnaHQgYXQgdGhlIGVuZCwg c2F5cyB0aGF0IHtmYWl9IGlzIGV4cGxhaW5lZCBpbiBDaGFwdGVyIDExLCBidXQgQ2hhcHRlciAx MSBtYWtlcyBubyBtZW50aW9uIG9mIHtmYWl9LiBPbmx5IGNoYXB0ZXJzIDkgYW5kIDEwIGRvLgoK KiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycgKHpvcnQncyBmb3JrIGF0IGxlYXN0KSAgKChBcHBy b3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAxNCwgZXhhbXBsZSAx NC4yLiBNaXNzaW5nIDwgL3ByZSA+IHRhZywgYW5kIG1pc3NpbmcgPCBwcmU+IHRhZyBmb2xsb3dp bmcgZXhwbGFuYXRvcnkgcGFyYWdyYXBoLgoKCgoqIFNlY3Rpb24gMTQsIHBhZ2UgMjkxLiBUaGUg cGFyYWdyYXBoIHVuZGVyIGV4YW1wbGUgMTQuNyBzYXlzICJzZSB4YW5jZSBtaW5kdSIgaW5zdGVh ZCBvZiAic2UgeGFuY2UgbWluZGUiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBB cHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxNSwgdHdvIHBh cmFncmFwaHMgYmVmb3JlIGV4YW1wbGUgMTUuNy4gSXQgc2F5cyAiVGhlcmUgYXJlIHNvbWUgY29t cGFyYXRpdmUgY29uY2VwdHMgd2hpY2ggYXJlIGluIHdoaWNoIHRoZSAnc2Ugem1hZHUnIGlzIGRp ZmZpY3VsdCB0byBzcGVjaWZ5LiIgVGhlICJ3aGljaCBhcmUgaW4gd2hpY2giIHNlZW1zIGdyYW1t YXRpY2FsbHkgaW5jb3JyZWN0LgoKKiogRHJvcCAid2hpY2ggYXJlIi4gIC0tamNvd2FuICAgKChB cHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAxNSwgcGFnZSAy OTQsIGV4YW1wbGUgMTUuMTQuICJsYSBhaW5jdGFpbiIgbmVlZHMgYSBwZXJpb2QgYmVmb3JlIGl0 IGJlY2F1c2UgaXQgc3RhcnRzIHdpdGggYSB2b3dlbC4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxj YW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgotLS0KCgoKIUNo YXB0ZXIgMTMKCgoKKiBNYW55IGluY2lkZW50cyBvZiBub3QgaGF2aW5nIHBlcmlvZHMgaW4gZnJv bnQgb2Ygdm93ZWwtaW5pdGlhbCBjbWF2by4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNt aXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIEluIHNlY3Rpb24gMiwg cC4gMzAwIHJlZmVyZW5jZXMgdG8gdGhlIGV4YW1wbGVzIGZvciAudWUgYW5kIC51ZWN1J2kgYXJl IGZsaXBwZWQuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0 aW9uIDMsIHBhZ2UgMzAzLCBleGFtcGxlIDMuOS4gImUnZSIgbmVlZHMgYSBwZXJpb2QgYmVmb3Jl IGl0LgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVE RUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAzLCBwYWdlIDMwMywgZXhhbXBsZSAzLjEwLiAi dGlzbmEiIG5lZWRzIHRvIGJlIHJlcGxhY2VkIHdpdGggInRpc3lnYXUiLgoKKiogKChBcHByb3Zl ZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoK CiogU2VjdGlvbiA0LCBwYWdlIDMwNS4gVGhlIHNjYWxlIHdpdGggdGhlIGdpc211IG1uZW1vbmlj cyBpcyBtaXNhbGlnbmVkIHdpdGggdGhlIHNjYWxlIHdpdGggdGhlIG1lbWJlcnMgb2Ygc2VsbWEn byBDQUkuICJzYWkiIHNob3VsZCBiZSB0YWJiZWQgb25lIHBsYWNlIGxlZnQsIHNvIHRoYXQgaXQg YWxpZ25zIHdpdGggdHNhbGksICZjLgoKCgoqIFNlY3Rpb24gNywgaXQgc2F5cyAiSXQgaXMgbm90 IGNsZWFyIGhvdyBtdWNoIHVzZSBsb2dpY2FsbHkgY29ubmVjdGVkIGFic3RyYWN0b3JzIHdpbGwg YmU6IHNlZSBDaGFwdGVyIDEzLiIgSXQgc2hvdWxkIGJlICJDaGFwdGVyIDE1LiIKCioqICcnSU5D TFVERUQgSU4gREFHLUNMTCcnICh6b3J0J3MgZm9yayBhdCBsZWFzdCkgYnV0IG5lZWRzIGFwcHJv dmFsCgoqIFNlY3Rpb24gMTAsIHBhZ2UgMzEzLiBUaGVyZSBpcyBhIG1pc3Npbmcgc3BhY2UgYmV0 d2VlbiAiY29udGludWUgZW1vdGlvbiIgYW5kICJlbmQgZW1vdGlvbiIuCgoKCiogU2VjdGlvbiAx NS4gQSBzYW1wbGUgZGlhbG9ndWUgIDE1LjQpIC8gfm5wfltDb21tZW50XSBQYW0gc2F5cywgW1Bs ZWFzZV0gQWxpY2UsIFtlbmQtb2YtY29tbWVudF0gLyBbQ29tbWVudF0gUGFtIHNheXMsIFtlbmQt b2YtY29tbWVudF0gW1BsZWFzZV0gQWxpY2UsL34vbnB+ICgoQXBwcm92ZWQgRXJyYXR1bXxqY293 YW4gQXBwcm92ZWQpKQoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkp ICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxNSwgZXhhbXBsZSAxNS41IC94 YW1ndS9nbGVraS8gPwoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkp ICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxNSwgZXhhbXBsZSAxNS4xMCkg L2ZpJ2kgcm8genZhdGkga28gcGlueGUgcGEgY2thZmkvZmknaSBybyB6dmF0aSAuaSBrbyBwaW54 ZSBwYSBja2FmaS8KCioqIE5vLCB0aGlzIG9uZSBpcyBwZXJmZWN0bHkgZmluZTogImZpJ2kgcm8g enZhdGkiIGlzIGEgdm9jYXRpdmUgcGhyYXNlLCB3aGljaCBpcyBhIGZyZWUgbW9kaWZpZXIsIG1l YW5pbmcgdGhhdCBpdCBjYW4gb2NjdXIgYWxtb3N0IGFueXdoZXJlLiAgKChBcHByb3ZlZCBFcnJh dHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAxNSwgZXhhbXBsZSAxNS4xMykgL2Zp J28gc2VscGxlamkgbWkvZmknbyBwbGVqaSBtaS8KCioqIEFuZCAid2l0aCBwYXllciIgcmF0aGVy IHRoYW4gIndpdGggcGF5bWVudCI7IGV5J3Mgbm90IHBheWluZyB3aXRoIGVtc2VsZiEgLS0gY2Ft Z3VzbWlzCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNM VURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDE1LCBleGFtcGxlIDE1LjEzLiBXcm9uZyB1 c2Ugb2Yge3NlbGZ1fS4ge2JldnJpfSB3b3VsZCBmaXQgYmV0dGVyLgoKLS0tCgoKCiFDaGFwdGVy IDE0CgoKCiogU2VjdGlvbiA4LCByaWdodCBiZWZvcmUgZXhhbXBsZSA4LjkgaXMgInByb2R1Y2lu ZyBleGFtcGxlIDguMTAiIHdoaWNoIHNob3VsZCBpbiBmYWN0IHJlYWQgInByb2R1Y2luZyBleGFt cGxlIDguOSIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0 aW9uIDk6IGJldHdlZW4gZXhhbXBsZSA5LjEwIGFuZCA5LjExLCAiaWRlbnRpZmllZCIgc2hvdWxk IHJlYWQgImlkZW50aWNhbCIKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92 ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTEsIHJpZ2h0IGJlZm9y ZSBzZWN0aW9uIDEyLiBJdCBzYXlzICJ0ZXJtc2V0cy4uLmFyZSBleHBsYWluZWQgaW4gQ2hhcHRl ciAxMiBhbmQgQ2hhcHRlciAxNiIgYnV0IGNoYXB0ZXIgMTIgKHdoaWNoIGlzIG9uIGx1anZvKSBt YWtlcyBhYnNvbHV0ZWx5IG5vIG1lbnRpb24gb2YgdGVybXNldHMuIENoYXB0ZXJzIDkgYW5kIDEw IGRpc2N1c3MgdGVybXNldHMuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkK CgoKKiBTZWN0aW9uIDE0LCBleGFtcGxlIDE0LjE1IGlzIG5vdCBncmFtbWF0aWNhbCAoYWNjb3Jk aW5nIHRvIGpib2ZpJ2UgYW5kIGNhbXhlcykgYmVjYXVzZSBpdCBzYXlzICJwZSdlIC5lIiB3aGVu IGl0IHNob3VsZCBzYXkgInBlJ2UgamUiLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHBy b3ZlZCkpCgoKCiogU2VjdGlvbiAxNCwgZXhhbXBsZSAxNC4xNiBtZW50aW9ucyAic29ybWUiLCB3 aGljaCBpcyBwcm9iYWJseSBPbGQgTG9nbGFuLCBhbmQgc2hvdWxkIGJlIHJlcGxhY2VkIGJ5ICJt ZW5zaSIuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNM VURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDE0LCAidGhlIHN0YXRlZCBnbG9zcyBvZiBU RlRUYXMg4oCcb25seSBpZuKAnSB3b3JrcyBuYXR1cmFsbHkgb25seSB3aGVuIHRoZSByaWdodC1o YW5kIGJyaWRpIGlzIHRydWU7IGlmIGl0IGlzIGZhbHNlLCB0aGUgbGVmdC1oYW5kIGJyaWRpIG1h eSBiZSBlaXRoZXIgdHJ1ZSBvciBmYWxzZS4iIGNoYW5nZWQgdG8gInRoZSBzdGF0ZWQgZ2xvc3Mg b2YgVEZUVGFzIOKAnG9ubHkgaWbigJ0gd29ya3MgbmF0dXJhbGx5IG9ubHkgd2hlbiB0aGUgcmln aHQtaGFuZCBicmlkaSBpcyBmYWxzZTsgaWYgaXQgaXMgdHJ1ZSwgdGhlIGxlZnQtaGFuZCBicmlk aSBtYXkgYmUgZWl0aGVyIHRydWUgb3IgZmFsc2UuIgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNh bWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAx NSwgcmlnaHQgYWZ0ZXIgMTUuOSwgaXQgc2F5cyAiZXhhbXBsZSAxNC4xNyIgd2hlcmUgaXQgc2hv dWxkIHNheSAiZXhhbXBsZSAxNS45IiAoMTQuMTcgZG9lcyBub3QgZXhpc3QpLiAgKChBcHByb3Zl ZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAxNSwgZXhhbXBsZSAxNS45 IGlzIG5vdCBncmFtbWF0aWNhbDsgaXQgc2hvdWxkIGJlICJsYSBkamFuLiBmYSd1IGxhIGZyYW5r LiBjdXNrdSBudSdpIGJhdSBsYSBsb2piYW4uIHBlJ2UgZmEndSBiYWkgbGEgZGpvcmRqLiIuCgoK CiogU2VjdGlvbiAxOSwgZXhhbXBsZSAxOS40IGlzIHRyYW5zbGF0ZWQgYXMgIkkgb3BpbmUgdGhl IGZhY3QtdGhhdCBhLW1hc3Mtb2YgbGl2aW5nLXRoaW5ncyBpcy1hdCBKdXBpdGVyIG9yLWVsc2Ug SSBvcGluZSB0aGUgZmFjdC10aGF0IGEtbWFzcy1vZiBsaXZpbmctdGhpbmdzIGlzbid0LWF0IEp1 cGl0ZXIiIGJ1dCByZWFsbHkgaXQncyAiSSBvcGluZSB0aGUgZmFjdC10aGF0IGEtbWFzcy1vZiBs aXZpbmctdGhpbmdzIGlzLWF0IEp1cGl0ZXIgb3ItZWxzZSBJIF9fZG8tbm90X18gb3BpbmUgdGhl IGZhY3QtdGhhdCBhLW1hc3Mtb2YgbGl2aW5nLXRoaW5ncyBfX2lzLWF0X18gSnVwaXRlciIuIFNv IDE5LjQgaXMgYWN0dWFsbHkgdHJ1ZSwgbm90IGZhbHNlIGFzIGl0IGlzIGNsYWltZWQgdG8gYmUu CgoqKiBDb3JyZWN0LCBzbyB0aGlzIGV4YW1wbGUgd2lsbCBuZWVkIHJlcGxhY2luZy4gICAgKChB cHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogQWxzbyB0aGVyZSBpc24ndCBy ZWFsbHkgYSByZWFzb24gZm9yIGl0IHRvIHNheSBhIG1hc3Mgb2YgbGl2aW5nIHRoaW5ncyBhbmQg bm90IHNvbWUgaW5kaXZpZHVhbCBsaXZpbmcgdGhpbmdzLgoKKiogU3RldC4gIFRoZSBhdXRob3Ig cHJlZmVycyBpdCB0aGF0IHdheSwgdGhhbmt5b3V2ZXJ5bXVjaC4gIC0tamNvd2FuLgoKCgoKCi0t LQoKCgohIENoYXB0ZXIgMTUKCgoKKiBTZWN0aW9uIDIsIG1pc3NpbmcgPCAvcHJlID4gdGFnIGFm dGVyIGV4YW1wbGUgMi44IGFuZCA8IHByZT4gdGFnIGJlZm9yZSBleGFtcGxlIDIuOS4KCgoKKiBT ZWN0aW9uIDQsIGV4YW1wbGUgNC4xMiAvbmFrZS9uYSdla2UvCgoKCiogU2VjdGlvbiA5LCB0d28g cGFyYWdyYXBocyBhYm92ZSBleGFtcGxlIDkuNCB0aGUgd29yZCAibmVnYXRpdiIgc2hvdWxkIGJl ICJuZWdhdGl2ZSIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBT ZWN0aW9uIDk6IElzIHRoZXJlIHN1cHBvc2VkIHRvIGJlIGFueSBkaWZmZXJlbmNlIGJldHdlZW4g ZXguIDkuNSBhbmQgOS42PwoKKiogVGhhdCBwcm9ibGVtIGlzIG9ubHkgaW4gdGhlIG9ubGluZSB2 ZXJzaW9uLgoKCgoqIFNlY3Rpb24gMTAsIHRocmVlIHBhcmFncmFwaHMgYWZ0ZXIgZXhhbXBsZSAx MC4xNCwgdGhlcmUncyBhIHNlbWljb2xvbiB3aGljaCBzaG91bGQgYmUgYSBjb21tYSBhZnRlciAi KHNheSwgYSBzcGVsbGluZyBlcnJvcikiLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHBy b3ZlZCkpCgoKCiogU2VjdGlvbiAxMCwgaXQgc2F5cyAiJ2ppJ3VuYSdpa3UnIG1ldGFsaW5ndWlz dGljYWxseSBzYXlzIHRoYXQgc29tZXRoaW5nIGlzIHdyb25nIHdpdGggdGhhdCBhc3N1bXB0aW9u LiAoU2VlIENoYXB0ZXIgMTAuKSIuIFNob3VsZG4ndCB0aGF0IGJlIENoYXB0ZXIgOSwgbW9kYWxz PwoKKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycgKHpvcnQncyBmb3JrIGF0IGxlYXN0KSAoKEFw cHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCi0tLQoKCgohQ2hhcHRlciAxNgoKCgoq IFNlY3Rpb24gNSwgZXhhbXBsZSA1LjU6IEVuZ2xpc2ggaGFzICJldmVyeSBZIiB3aGVuIGl0IHNo b3VsZCByZWFkICJldmVyeSBYIgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHBy b3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA2LCBleGFtcGxlIDYu NiBoYXMgYSBtaXNzaW5nICJjdSIgYmVmb3JlICJ2aXNrYSIuCgoqKiAoKEFwcHJvdmVkIEVycmF0 dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0 aW9uIDgsIHRoZSBleHBsYW5hdGlvbiBvZiBleGFtcGxlIDguMyBzYXlzICJhbnkgZW50aXR5IHdo aWNoIGlzIG9uZSBpcyBhbHNvIHRoZSBvdGhlciIuIFRoYXQgd291bGQgYmUgdHJ1ZSBpZiB0aGUg ZXhhbXBsZSB1c2VkIHtnb30sIGJ1dCBpdCB1c2VzIHtnYW5haX0uIDguMyBkb2VzIG5vdCBjbGFp bSB0aGF0IGlmIHNvbWV0aGluZyB3YWxrcyBhY3Jvc3MgdGhlIGZpZWxkIHRoZW4gaXQgZ29lcyB0 byB0aGUgc3RvcmUuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkgIENoYW5n ZSBpdCB0byB1c2Uge2dvfS4gJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCioqIFNhbWUgcGxhY2U6 IG5lZWRzIHRvIGJvIHtkYSBnb30sIG5vdCB7Z28gZGF9ICBBbmQgdGhlIGdsb3NzIHNob3VsZCBi ZSAiRm9yLWV2ZXJ5IFg6IFggaXMtYS1nb2VyLXRvIHRoZSBzdG9yZSBpZi1hbmQtb25seS1pZiBp dCBpcy1hLXdhbGtlci1vbiB0aGUgZmllbGQuIiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoq IFNlY3Rpb24gOCwgZXhhbXBsZSA4LjMuIEVpdGhlciB0aGUge2RhfSBzaG91bGQgY29tZSBiZWZv cmUgdGhlIHtnYW5haX0gKG9yLCBieSB0aGUgcHJldmlvdXMgXiBlcnJhdHVtLCB7Z299KSBhbmQg dGhlIGdsb3NzIHNob3VsZCBiZSBjaGFuZ2VkIHRvIG9ubHkgbWVudGlvbiAiWCIgb25jZSwgb3Ig YSB7ZGF9IHNob3VsZCBiZSBpbnNlcnRlZCBiZWZvcmUge2NhZHp1fS4KCioqICcnSU5DTFVERUQg SU4gREFHLUNMTCcnICBjaG9zZSBmaXJzdCBvcHRpb24gc2luY2UgaXQncyB0ZXJzZXIgKHpvcnQn cyBmb3JrIGF0IGxlYXN0KSBidXQgbmVlZHMgYXBwcm92YWwKCgoKKiBUaGlzOiAiQWRqYWNlbnQg bmVnYXRpb24gYm91bmRhcmllcyBpbiB0aGUgcHJlbmV4IGNhbiBiZSBkcm9wcGVkLCIgcmVhZHMg YmV0dGVyIGFzICJBZGphY2VudCBwYWlycyBvZiBuZWdhdGlvbiBib3VuZGFyaWVzIGluIHRoZSBw cmVuZXggY2FuIGJlIGRyb3BwZWQsIgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBB cHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqKiogVGhlIG9ubGluZSB2ZXJzaW9u IHNheXMgIkFkamFjZW50IGRvdWJsZSBuZWdhdGlvbiBib3VuZGFyaWVzIiwgYnV0IEknbSBva2F5 IHdpdGggZWl0aGVyICJkb3VibGUiIG9yICJwYWlycyBvZiIuICAtLWpjb3dhbgoKCgoqIFNlY3Rp b24gMTAsIGV4LiAxMC41IGFuZCAxMC42IGhhdmUgYSBwcmVuZXgsICJuYWt1IHpvJ3UiLCBhZnRl ciBhbiBpamVrLiBUaGlzIGlzIG5vdCBhbGxvd2VkIGJ5IHRoZSBncmFtbWFyLiBJdCBjb3VsZCBi ZSBmaXhlZCBieSByZW1vdmluZyB0aGUgInpvJ3UiIGFuZCB1c2luZyAibmFrdSIgb3V0c2lkZSB0 aGUgcHJlbmV4LCBhbHRob3VnaCB0aGlzIGlzIG9ubHkgZXhwbGFpbmVkIGluIHRoZSBmb2xsb3dp bmcgU2VjdGlvbiAxMS4KCioqIFRoaXMgaXMgYSBiaWcgcHJvYmxlbSwgYW5kIEknbSBub3Qgc3Vy ZSB3aGF0IHNob3VsZCBiZSBmaXhlZC4gIC0tamNvd2FuICAnJydOT0ZJWCcnJwoKKiBTZWN0aW9u IDEyLCBleC4gMTIuNyBhbmQgMTIuOSBoYXZlIG1pc3NpbmcgImN1InMuCgoqKiAoKEFwcHJvdmVk IEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoK KiBTZWN0aW9uIDE0LCBFeGFtcGxlIDE0LjEgaGFzICJibGFjaSIgKGdsYXNzKSBub3QgImJsYWJp IiAod2hpdGUpIGFzIHBlciB0aGUgRW5nbGlzaC4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1n dXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgotLS0KCgoKIUNoYXB0 ZXIgMTcKCgoKKiBTZWN0aW9uIDUsIGFmdGVyIGV4YW1wbGUgNS4xLCBwYXJhZ3JhcGggc3RhcnRp bmcgIkhvd2V2ZXIsICIgaGFzIGluY29ycmVjdCBmb250LiAgKChBcHByb3ZlZCBFcnJhdHVtfGpj b3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiA1LCBpbiB0aGUgc2Vjb25kIHBhcmFncmFwaCBh ZnRlciBleGFtcGxlIDUuMSwgc2F5cyAndGhlIGxlcmZ1IHdvcmQg4oCcdHnigJ0gd291bGQgcmVw cmVzZW50IG5vdCBMYXRpbiDigJx04oCdIGJ1dCBHcmVlayDigJx0YXXigJ0uJyBTaG91bGRuJ3Qg aXQgYmUgInR5LiI/CgoKCiogU2VjdGlvbiA5LCBwYWdlIDQyMS4gbGVyZnUgc3RyaW5ncyBhcmUg d3JpdHRlbiB3aXRob3V0IHBhdXNlcyBvciBzcGFjZXMsIGV2ZW4gdGhvdWdoIEJZIHdvcmRzIGhh dmUgdG8gZW5kIHdpdGggYSBjb25zb25hbnQuCgoqKiBTdGV0LiAgQlkgd29yZHMgZG8gbm90IGVu ZCB3aXRoIGEgY29uc29uYW50LCBhbmQgYSBzdHJpbmcgb2YgdGhlbSBjYW4gbmV2ZXIgYmUgYW1i aWd1b3VzLCBzbyBwYXVzZXMvc3BhY2VzIGFyZSBub3QgcmVxdWlyZWQuICAtLWpjb3dhbgoKCgoq IFNlY3Rpb24gOSwgRXhhbXBsZSA5LjQ6IHNob3VsZG4ndCAic3lteWp5IiBiZSAic3lteWR5IiAo bG9qYmFuIG1vcnBob2xvZ3kpPyAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkp CgoKCiogU2VjdGlvbiAxMC4gQWZ0ZXIgRXhhbXBsZSAxMC40LjUsIHRoZSByZWZlcmVuY2UgdG8g RXhhbXBsZSAxMC40IHNob3VsZCBiZSBpbnN0ZWFkIHRvIEV4YW1wbGUgMTAuNC41LgoKKipJbiB0 aGUgY3VycmVudCBEQUctQ0xMLCB0aGUgZXhhbXBsZXMgbnVtYmVyaW5nIGlzIHNhbmUsIGJ1dCBh ZnRlciBFeGFtcGxlIDEwLjMsIHRoZSB0d28gcmVmZXJlbmNlcyB0byBFeGFtcGxlIDEwLjQgc2hv dWxkIGJlIHRvIEV4YW1wbGUgMTAuMy4KCgoKKiBSaWdodCBiZWZvcmUgc2VjdGlvbiAxMiwgdGhl cmUgaXMgYSBsaW5lIGJyZWFrIGluIHRoZSBtaWRkbGUgb2YgdGhlIHBhcmFncmFwaC4gICgoQXBw cm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIEluIHNlY3Rpb24gMTMsIHRoZSBm aXJzdCBwYXJhZ3JhcGggc3RhdGVzICJIaXN0b3JpY2FsbHksIHRoZXNlIGNoYXJhY3RlciBzZXRz IGhhdmUgb25seSBjb3ZlcmVkIHRoZSBFbmdsaXNoIGFscGhhYmV0IGFuZCBhIGZldyBzZWxlY3Rl ZCBwdW5jdHVhdGlvbiBtYXJrcy4iLCB3aGljaCBpcyBpbmNvcnJlY3QuIFRoZXJlIGhhdmUgYmVl biBtdWx0aXR1ZGVzIG9mIGNoYXJhY3RlciBzZXRzIGZvciB3cml0aW5nIHN5c3RlbXMgb3RoZXIg dGhhbiB0aGUgRW5nbGlzaCBhbHBoYWJldC4KCioqIENoYW5nZSB0byBzb21ldGhpbmcgYWxvbmcg dGhlIGxpbmUgb2YgIkhpc3RvcmljYWxseSwgZWFjaCBvZiB0aGVzZSBjaGFyYWN0ZXIgc2V0cyBo YXMgb25seSBjb3ZlcmVkIGEgcGFydGljdWxhciB3cml0aW5nIHN5c3RlbS4iCgoKCiogU2VjdGlv biAxNywgcGFnZSA0MjcuICIudHZyaXlkb3MuIGJ1IiBiZWdpbnMgd2l0aCB0aGUgY29uc29uYW50 IGNsdXN0ZXIsIHdoaWNoIGlzbid0IGV2ZW4gcGVybWlzc2libGUgbWVkaWFsbHkuCgoqKiBjaGFu Z2UgdG8gdHl2cml5ZG9zCgoqKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3Zl ZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqKioqIEFjdHVhbGx5LCBpdCBzaG91bGQgYmUg InR5dnJkb3MuIGJ1IiAgLS1qY293YW4KCgoKKiBJbiB0aGUgdGFibGUgaW4gc2VjdGlvbiAxOSwg dGhlIGxlcnZsYSBmb3Igb3Zlci1kb3QgKCIuZ2FybW9jLiBidSIpIGFuZCBvdmVyLXJpbmcgKCIu Z2FyamluLiBidSIpIHNob3VsZCBiZSB1cGRhdGVkIHRvIHRoZWlyIHBvc3QtUmVhbGxvY2F0aW9u IGZvcm1zLCAiLmdhcG1vYy4gYnUiIGFuZCAiLmdhcHlqaW4uIGJ1Ii4KCioqKiAoKEFwcHJvdmVk IEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoK KiBTZWN0aW9uIDE5IGhhcyB0d28gY29sdW1ucyBydW4gdG9nZXRoZXIgaW4gdGhlIHJvdyB0aGF0 IHNheXMgIkRhbmlzaC9MYXRpbiBhZXRlaSAuYWJ1IC5lYnUgZm9pIgoKCgotLS0KCiFDaGFwdGVy IDE4CgoKCiogU2VjdGlvbiAzLCBleC4gMy4xMCwgc2hvdWxkIHRyYW5zbGF0ZSBhcyAiLjEwMTIw MDEiLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogSW4gc2VjdGlv biA0IGV4YW1wbGUgNC41IGlzIGxpbmtlZCBpbnN0ZWFkIG9mIDQuNyAtICJFeGFtcGxlIDQuNSBp cyBub3QgYGAxIG1pbnVzIDInJywgWy4uLnwuLi5dIiB3aGVyZSBleGFtcGxlIDQuNSBpcyBqdXN0 ICJ0ZSdvIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rp b24gNSwgcDQzNyBleDUuOSBbZ2xvc3NdOiBvdXIgLT4gZm91ciAoKEFwcHJvdmVkIEVycmF0dW18 amNvd2FuIEFwcHJvdmVkKSkKCioqICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlv biA2LCBwNDM4OiBqIHZ1J3UgLT4gdnUndSAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHBy b3ZlZCkpCgoqKiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFN0YXJ0IG9mIHNlY3Rpb24g MTEgc2hvdWxkIHJlYWQgdGhlcmUgYXJlIGZpdmUgbWVtYmVycyBvZiBNT0kgKG5vdCBmb3VyKS4g ICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIEluIHNlY3Rpb24gMTEs IGV4IDExLjEwIG9uIHZhJ2UgInNvZmkndXBhbm8iIGluIHRoZSBleGFtcGxlIGlzIGdsb3NzZWQg YXMgIjgvMTAiIGluc3RlYWQgb2YgIjkvMTAiLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBB cHByb3ZlZCkpCgoqKiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIEluIHNlY3Rpb24gMTEs ICJsZWkgcmF0Y3UgcG9pIHp2YXRpIGxlIHBhbmthIGN1IHNvJ3VtZWkgZm8gbG8naSByYXRjdSIs IGJ1dCB0aGVyZSBpcyBubyA0dGggcGxhY2Ugb2YgbWVpLgoKKiogUmVtb3ZlIHRoZSAiZm8iOyAo KEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xM JycKCgoKKiBFeGFtcGxlIDE0LjQgbmVlZHMgYSBzdWItMiBhZnRlciBib3RoIG51bWJlcnMuCgoq KiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBE QUctQ0xMJycKCgoKKiBJbiBzZWN0aW9uIDE3LCBhdCB0aGUgYm90dG9tIG9mIHBhZ2UgNDU0LCB0 aGUgcXVhZHJhdGljIGZvcm11bGEgc2hvdWxkIGJlIGRlc2NyaWJlZCBhcyBhIGNsYXNzaWMgZXhh bXBsZSBvZiBvcGVyYXRvciBsb2dpY2FsIGNvbm5lY3Rpb24sIG5vdCBvcGVyYW5kLiAgKChBcHBy b3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAyMCwgcDQ1ODogLWVz dGFibGlzaGVkIC0+IGVzdGFibGlzaGVkICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJv dmVkKSkKCgoKKiBTZWN0aW9uIDIxIHN0YXRlcyB0aGF0IHRoZSByYWZzaSBvZiAiZnJpbnUiIG1h eSBiZSB1c2VkIGFzIHJhZnNpIGZvciAiZmkndSI7IGhvd2V2ZXIsICJmcmludSIgbG9zdCBib3Ro IG9mIGl0cyBzaG9ydCByYWZzaSBpbiB0aGUgUmVhbGxvY2F0aW9uLCBzbyB0aGlzIHJlYWxseSBp c24ndCB2ZXJ5IHVzZWZ1bC4gVGhlIHRhYmxlIGJlbG93IGxpc3RzICJmaSd1IiBhcyBhIHJhZnNp IHVzYWJsZSBmb3IgImZpJ3UiLCB0aGVyZWZvcmUgb2YgImZyaW51IjsgdGhlIGdpbXN0ZSBsaXN0 cyAiZmkndSIgYXMgYSByYWZzaSBvZiAiY2ZpcHUiLgoKKiogVGhpcyBpcyBhIHNlcmlvdXMgcHJv YmxlbSB3aGljaCBuZWVkcyBzb21lIHRob3VnaHQuICBUaGVyZSBuZWVkcyB0byBiZSBhIHJhZnNp IGZvciBmaSd1IHNvbWVob3cuICAtLWpjb3dhbiAgJycnTk9GSVgnJycKCgoKKiBTZWN0aW9uIDIy IGV4YW1wbGUgMjIuMywgIm1vJ2Ugdm9ib2kgcmVub21laSBzdSdpIHplIiwgZG9lcyBub3QgcGFy c2UuCgoqKiBJdCBuZWVkcyAidmVpIiBpbiBmcm9udCB0byBiZSBhIHF1YW50aWZpZXIgKGFuIG9w ZXJhbmQgYnkgaXRzZWxmIGlzIG5vdCBhIHBlcm1pdHRlZCBmcmFnbWVudCkuIEFsc28sIHRoZSBm b2xsb3dpbmcgdGV4dCBtZW50aW9ucyAidGUndSIgYnV0IHRoZSBleGFtcGxlIG9taXRzIGl0LgoK KioqIE5vbmUgb2YgdGhvc2UgZXhhbXBsZXMgcGFyc2Ugd2l0aG91dCB7bGl9LCB3aGljaCBJIGhh dmUgYWRkZWQgdG8gYWxsLiAgUmVwbGFjZWQgdGhlIG9uZSBpbiBxdWVzdGlvbiB3aXRoICJsaSBt bydlIHZvYm9pIHJlbm9tZWkgdGUndSBzdSdpIHplIiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3Vz bWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKLS0tCgohQ2hhcHRlciAx OQoKCgoqIFNlY3Rpb24gNCwgcDQ2NyBleDQuMzogenUnbyAtPiB6byd1ICAoKEFwcHJvdmVkIEVy cmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMg QXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gNiwgcGFnZSA0 NzIuIEV4YW1wbGUgNi42IGVuZHMgd2l0aCAia2xhbWEiLCBidXQgZm9yIHRoZSBhcmd1bWVudCB0 byBtYWtlIHNlbnNlLCBpdCBoYXMgdG8gc2F5ICJudW5rbGEiLgoKKiogKChBcHByb3ZlZCBFcnJh dHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2Vj dGlvbiA3LCBFeGFtcGxlIDcuMSBoYXMgYXMgdGhlIEVuZ2xpc2g6ICJJIGdvLXRvIChmaXJzdGx5 KSB0aGUgc3RvcmUgYW5kIChzZWNvbmRseSkgdGhlIG1hcmtldC4iICAidGhlIG1hcmtldCIgc2hv dWxkIGJlICJ0aGUgaG91c2UiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHBy b3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogRXhhbXBsZSAxMS44LCB0aGVyZSdz IGEgZGVucGFidSBhZnRlciB7emEnZX0gYW5kIG5vIGRlbnBhYnUgYWZ0ZXIge2FsYmVpbmlhc30u CgoqKiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJyAoem9ydCdzIGZvcmsgYXQgbGVhc3QpIGJ1dCBu ZWVkcyBhcHByb3ZhbAoKCgoqIFNlY3Rpb24gMTEsIHRoZSBwYXJhZ3JhcGggYWZ0ZXIgZXhhbXBs ZSAxMS44IHNheXMgImN0aWlweXJpcyIgYnV0IGl0IHNob3VsZCBiZSAiY2tpaXB5cmlzIi4gICgo QXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKLS0tCgoKCiFDaGFwdGVyIDIwCgoK CiogU2VjdGlvbiBMRSwgcGFnZSA0OTguIEluICJsZSBnZXJrdSBrbGFtYSBsZSB6ZGFuaSIsICJj dSIgaXMgbWlzc2luZy4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQp KSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gVFVoRSwgcGFnZSA1MDUuIElu ICJ4YWdtYXUgem8ndSB0dSdlIGdhbmFpIGNpZGphIGdpIGNuaW5vIC5pIGdhbmFpIHZhbmp1IGdp IHRvbGNpJ28gdHUndSIsICJjbmlubyIgc2hvdWxkIGJlIHJlcGxhY2VkIGJ5ICJjaXRubyIuICBB bHNvLCBhIHByZW5leCBjYW4ndCBoYXZlIGEgc2VsYnJpLCBzbyAnJ3hhZ21hdScnIHNob3VsZCBi ZSByZXBsYWNlZCBieSAnJ2xvIHhhZ21hdScnLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1 c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiBTRSwg cGFnZSA1MDQ6IG1pc3NpbmcgImN1IiBhZnRlciAiemFyY2kiLgoKKiogKChBcHByb3ZlZCBFcnJh dHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogSW4g dGhlIHBhc3NhZ2VzIG9uIFZFSSBhbmQgVkVoTywgdGhlICJibyJzIHNob3VsZCBiZSBjaGFuZ2Vk IHRvICJiaSdlInMuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKLS0t CgoKCiFDaGFwdGVyIDIxCgoKCiogSW4gdGhlIEJORiBncmFtbWFyLCB0aGUgcnVsZSBzaW1wbGUt dGVuc2UtbW9kYWwtOTcyIGlzIG1pc3NpbmcgYSAifCIgYmVmb3JlIHRoZSBDVWhFLiAgKChBcHBy b3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogSW4gdGhlIEJORiBncmFtbWFyLCB0 aGUgcnVsZSBzaW1wbGUtdGVuc2UtbW9kYWwtOTcyIGhhcyBhbiBleHRyYSBuZXdsaW5lIGluIHRo ZSBzcGFjZS90aW1lIHN1YnBocmFzZS4KCgoKKiBJbiB0aGUgQk5GIGdyYW1tYXIsIHRoZSBydWxl IHNlbGJyaS0xLTEzMSBpcyBtaXNzaW5nIGEgInwiIGJlZm9yZSB0aGUgTkEuICAoKEFwcHJvdmVk IEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBJbiB0aGUgQk5GIGdyYW1tYXIsIHRoZSBy dWxlIHRhbnJ1LXVuaXQtMi0xNTIgaXMgbWlzc2luZyBhICJ8IiBiZWZvcmUgdGhlIEpBSS4gICgo QXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqKiAoKEFwcHJvdmVkIEVycmF0 dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycgOyBiaXphcmVs bHksIHRoZSBXb3JkIGRvYyB0aGUgYm9vayB3YXMgcHJpbnRlZCBmcm9tIGRvZXMgbm90IGhhdmUg dGhpcyBwcm9ibGVtIGF0IGFsbC4KCgoKKiBJbiB0aGUgQk5GIGdyYW1tYXIsIHRoZSBydWxlIG9w ZXJhdG9yLTEtMzcxIGlzIG1pc3NpbmcgdHdvICJ8Ii4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293 YW4gQXBwcm92ZWQpKQoKCgoqIEluIHRoZSBCTkYgZ3JhbW1hciwgdGhlIHJ1bGUgbWV4LW9wZXJh dG9yLTM3NCBpcyBtaXNzaW5nIGEgInwiIGJlZm9yZSB0aGUgTUFoTyBhbmQgYW5vdGhlciBiZWZv cmUgdGhlIFZVaFUuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBJ biB0aGUgQk5GIGdyYW1tYXIsIHRoZSBydWxlIG9wZXJhbmQtMy0zODUgaXMgbWlzc2luZyBhICJ8 IiBiZWZvcmUgdGhlIE5JaEUuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkK CgoKKiBJbiB0aGUgQk5GIGdyYW1tYXIsIGluIHRoZSBydWxlIHRpbWVfMTAzMCwgdGhlICJaRWhB IFtQVSBbTkFJXSBdIiBzaG91bGQgYmUgZW5jbG9zZWQgaW4gcGFyZW50aGVzZXMuICAoKEFwcHJv dmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpXaWtpbmV1cm90aWMgbWFpbGluZyBsaXN0Cldpa2luZXVy b3RpY0Bsb2piYW4ub3JnCmh0dHA6Ly9tYWlsLmxvamJhbi5vcmcvbWFpbG1hbi9saXN0aW5mby93 aWtpbmV1cm90aWMK