Received: from localhost ([::1]:38740 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1SQjQF-0004Dv-QG; Sat, 05 May 2012 11:09:35 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:44675 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1SQjQ5-0004Dh-Tu for wikineurotic@lojban.org; Sat, 05 May 2012 11:09:33 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Sat, 5 May 2012 11:09:25 -0700 From: "Apache" Date: Sat, 5 May 2012 11:09:25 -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 erw at 20:08 CEST Comment: Added an erratum for ex. 17.9 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 erw 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 Content-Length: 62444 VGhlIHBhZ2UgQ0xMLCBha2EgUmVmZXJlbmNlIEdyYW1tYXIsIEVycmF0YSB3YXMgY2hhbmdlZCBi eSBlcncgYXQgMjA6MDggQ0VTVApDb21tZW50OiBBZGRlZCBhbiBlcnJhdHVtIGZvciBleC4gMTcu OQoKWW91IGNhbiB2aWV3IHRoZSBwYWdlIGJ5IGZvbGxvd2luZyB0aGlzIGxpbms6CiAKaHR0cDov L3d3dy5sb2piYW4ub3JnL3Rpa2kvQ0xMJTJDJTIwYWthJTIwUmVmZXJlbmNlJTIwR3JhbW1hciUy QyUyMEVycmF0YQoKWW91IGNhbiB2aWV3IGEgZGlmZiBiYWNrIHRvIHRoZSBwcmV2aW91cyB2ZXJz aW9uIGJ5IGZvbGxvd2luZyB0aGlzIGxpbms6IApodHRwOi8vd3d3LmxvamJhbi5vcmcvdGlraS90 aWtpLXBhZ2VoaXN0b3J5LnBocD9wYWdlPUNMTCUyQyUyMGFrYSUyMFJlZmVyZW5jZSUyMEdyYW1t YXIlMkMlMjBFcnJhdGEmY29tcGFyZT0xJm9sZHZlcj0yMTMmbmV3dmVyPTIxNAoKCioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqClRoZSBj aGFuZ2VzIGluIHRoaXMgdmVyc2lvbiBmb2xsb3cgYmVsb3csIGZvbGxvd2VkIGFmdGVyIGJ5IHRo ZSBjdXJyZW50IGZ1bGwgcGFnZSB0ZXh0LgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKCistKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCkBAIC1MaW5lczogMzctNDAgY2hhbmdl ZCB0byArTGluZXM6IDM3LTQyIEBACistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rCiogRXhhbXBsZSAxNy45IGlzICJsZSB2aSB0YXZsYSBr dSBjdSBiYSBrbGFtYSIgaW4gdGhlIG9ubGluZSB2ZXJzaW9uLCBhbmQgdG90YWxseSBicm9rZW4g aW4gdGhlIHB1Ymxpc2hlZCBib29rLgoqKiBHbyB3aXRoIHRoZSBvbmxpbmUgdmVyc2lvbi4gICgo QXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1D TEwnJworIAorICogRXhhbXBsZSAxNy45IGluIGRhZy1jbGwgYXMgb2YgMjAxMi0wNS0wNSBpcyAi bGUgdmkgdGF2bGEgfm5wfltrdV1+L25wfiBjdSBiYSBrbGFtYSIuIFNpbmNlIHRoZSBzYW1lIHNl Y3Rpb24gaGFzIGV4cGxhaW5lZCB0aGF0IHRlbnNlIHRhZ3MgbWFrZSAiY3UiIHVubmVjZXNzYXJ5 LCBJIHRoaW5rIHRoZSBleGFtcGxlIHNob3VsZCBiZSAibGUgdmkgdGF2bGEgfm5wfltrdV0gW2N1 XX4vbnB+IGJhIGtsYW1hIi4KCi0tLQoKCgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKVGhlIG5ldyBwYWdlIGNvbnRlbnQgZm9sbG93 cyBiZWxvdy4KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioKClRoaXMgcGFnZSBpcyBmb3IgZXJyYXRhIGluICgoVGhlIENvbXBsZXRlIExv amJhbiBMYW5ndWFnZSkpLCB0aGF0IGlzIGZvciBtaXN0YWtlcyBzdWNoIGFzIHR5cG9zLCBvciBz ZWxmLWNvbnRyYWRpY3Rpb25zLCBvciBjb250cmFkaWN0aW9ucyB3aXRoIG90aGVyIGJhc2VsaW5l ZCBsYW5ndWFnZSBkZWZpbml0aW9uIG1hdGVyaWFsLiBUaGlzIGlzIF9fbm90X18gYSBwYWdlIHRv IHB1dCBkZXNpZGVyYXRhIChzdWdnZXN0aW9ucyBmb3IgaW1wcm92ZW1lbnQpOyBzdWNoIHN1Z2dl c3Rpb25zIHNob3VsZCBnbyB0byAoKFN1Z2dlc3Rpb25zIGZvciBDTEwsIHNlY29uZCBlZGl0aW9u KSkuICBUaGlzIGlzIGFsc28gbm90IGEgcGFnZSB0byBwdXQgZXJyYXRhIHJlc3VsdGluZyBmcm9t IHRoZSA0dGggQmFzZWxpbmUgR3JhbW1hciBwcm9wb3NhbCAoaS5lLiwgdGhlICgoUEVHKSkgZ3Jh bW1hcik7IFBFRyBncmFtbWFyIGVycmF0YSBzaG91bGQgZ28gdG8gKChDTEwgUEVHIEVycmF0YSkp LgoKCgpBbiBvbmxpbmUgdmVyc2lvbiBvZiB0aGUgQ0xMIGluY29ycG9yYXRpbmcgdGhlIGNoYW5n ZXMgb24gdGhpcyBwYWdlIFtodHRwOi8vZGFnLmdpdGh1Yi5jb20vY2xsL3xpcyBhdmFpbGFibGVd LgoKCgpTZWUgYWxzbyBbV2hhdCtpcytMb2piYW4lM0YrZXJyYXRhJmJsPXl8V2hhdCBpcyBMb2pi YW4/IGVycmF0YV0gKGZvciB0aGUgcHVibGlzaGVkIHZlcnNpb24pLCBMZXZlbCAwIEJvb2tsZXQg RXJyYXRhIFt0aWtpLWVkaXRwYWdlLnBocD9wYWdlPUxldmVsKzArQm9va2xldCtFcnJhdGEmbGFu Zz18P10gKGZvciB0aGUgcHJlLXB1YmxpY2F0aW9uIHJldmlld3M7IG5vdyBmaW5pc2hlZCksIGFu ZCBbTGVzc29ucytFcnJhdGEmYmw9eXxMZXNzb25zIEVycmF0YV0gKGZvciB0aGUgYmVnaW5uZXJz JyBjb3Vyc2UpLgoKCgpUaGUgIicnSU5DTFVERUQgSU4gREFHLUNMTCcnIiB0YWcgbWVhbnMgdGhh dCBodHRwOi8vZGFnLmdpdGh1Yi5jb20vY2xsLyBpbmNsdWRlcyB0aGlzIGZpeCwgd2hpY2ggYWxz byBtZWFucyBpdCdsbCBwcm9iYWJseSBiZSBpbiB0aGUgbmV4dCBDTEwgdmVyc2lvbi4KCgoKLS0t CgoKCiFDaGFwdGVyIDEKCgoKKiBUaGVyZSBpcyBhIHBhcmFncmFwaCBhdCB0aGUgdmVyeSBiZWdp bm5pbmcgb2YgQ0xMLCBvbiBwYWdlIDQsIHdpdGggdGhlIHNlbnRlbmNlICcnIkluIGVzc2VuY2Us IENoYXB0ZXIgMiBnaXZlcyBhIGJyaWVmIG92ZXJ2aWV3IG9mIHRoZSBsYW5ndWFnZSwgQ2hhcHRl ciAyMSBnaXZlcyB0aGUgZm9ybWFsIHN0cnVjdHVyZSBvZiB0aGUgbGFuZ3VhZ2UsIGFuZCB0aGUg Y2hhcHRlcnMgaW4gYmV0d2VlbiBwdXQgc2VtYW50aWMgYm9uZXMgb24gdGhhdCBmb3JtYWwgZmxl c2guIicnCgoqKiBXb3VsZG4ndCBpdCBtYWtlIG1vcmUgc2Vuc2UgdG8gc2F5ICJwdXQgc2VtYW50 aWMgZmxlc2ggb24gdGhvc2UgZm9ybWFsIGJvbmVzIj8gKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dh biBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA2LCBpdCBz YXlzICJMYXJyeSBIb3JuJ3Mgd29yayAnJ1RoZSBOYXR1cmFsIEhpc3Rvcnkgb2YgTmVnYXRpb24n JyIuIEl0IHdvdWxkIGFwcGVhciB0aGF0IGV2ZXJ5b25lIGVsc2UgY2FsbHMgaXQgJydfX0FfXyBO YXR1cmFsIEhpc3Rvcnkgb2YgTmVnYXRpb24nJywgYnkgX19MYXVyZW5jZV9fIChSLikgSG9ybi4K CioqICcnSU5DTFVERUQgSU4gREFHLUNMTCcnICh6b3J0J3MgZm9yayBhdCBsZWFzdCkgYnV0IG5l ZWRzIGFwcHJvdmFsCgoKCi0tLQoKIUNoYXB0ZXIgMgoKCgoqIFNlY3Rpb24gNSBleGFtcGxlIDUu NyB1c2VzICJ0aSIgdG8gcG9pbnQgYXQgYSBsYW5ndWFnZSwgYW5kIHNob3VsZCBoYXZlIGl0cyBh Y2NvbXBhbnlpbmcgbm90ZSBjaGFuZ2VkIHRvIG1vcmUgYWNjdXJhdGVseSByZWZsZWN0IHRoYXQg dGhpcyBpcyBub3QgaG93ICJ0aSIgd29ya3MuCgoKCiogU2VjdGlvbiA2IEV4YW1wbGUgNi41IGhh cyAiY3UiIGFzIGVsaWRhYmxlLCB3aGVuIGluIGZhY3QgaXQgaXMgc2ltcGx5IGlsbGVnYWwgdGhl cmUuICBSZW1vdmVkLiAgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCioqIHVhbmFpLCBJIHN0aWxs IHNlZSAiY3UiIGluIERBRy1DTEwuCgoKCiogU2VjdGlvbiA4IHBhZ2UgMTcgY2xhaW1zIHRoYXQg Inh1IiBpcyBkaXNjdXNzZWQgaW4gc2VjdGlvbiAxLjcsIHdoaWNoIGhhcHBlbnMgdG8gbGlzdCB0 aGUgY2FwdGlvbnMgZm9yIGFsbCB0aGUgY2hhcHRlciBwaWN0dXJlcy4KCioqIEl0IHNob3VsZCBy ZWZlciB0byBTZWN0aW9uIDE1LiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkp ICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqKiogVGhlIGxpbmsgaW4gdGhlIGN1cnJlbnQgREFH LUNMTCBpcyBwb2ludGluZyB0byAiMi8yLzE1IiBpbnN0ZWFkIG9mIHRvICIyLzE1Ii4KCgoKKiBT ZWN0aW9uIDEwIHNheXMgdGhhdCBleGFtcGxlIDEwLjMgKG1pIHRhdmxhIGRvIGxlIHRhdmxhIGt1 KSBtZWFucyB0aGUgc2FtZSBhcyAobWkgdGF2bGEgZG8gbGUgdGF2bGEga3UpLiBFeGFtcGxlIDEw LjMgc2hvdWxkIGJlICJtaSB0YXZsYSBkbyBsZSB0YXZsYSIsIGFzIGl0IGRlc2NyaWJlcyBob3cg Imt1IiBtYXkgYmUgb21pdHRlZC4KCioqIEl0IGFwcGVhcnMgdGhhdCBleGFtcGxlIDEwLjMgaXMg aW5jb3JyZWN0IG9ubHkgaW4gdGhlIG9ubGluZSB2ZXJzaW9uLCBub3QgdGhlIHB1Ymxpc2hlZCBi b29rLgoKCgoqIFNlY3Rpb24gMTcgc2F5cyAiTm90ZSB0aGF0IEV4YW1wbGUgMTcuMyAgaGFzIGFu ZCByZXF1aXJlcyBhIOKAnGN14oCdIHRvIHByZXZlbnQg4oCcYmFqcmHigJ0gYW5kIOKAnGtsYW1h 4oCdIGZyb20gZm9ybWluZyBhIHRhbnJ1LCBidXQgRXhhbXBsZSAxNy40ICBhbmQgRXhhbXBsZSAx Ny41ICBsYWNrIHRoZSB1bm5lY2Vzc2FyeSDigJxjdeKAnS4iLCBidXQgZXhhbXBsZSAxNy4zIGlz ICJsYSBkamFuLiB+bnB+W2N1XX4vbnB+IGtsYW1hIGxlIHphcmNpIi4KCioqIEl0IGFwcGVhcnMg dGhhdCB0aGUgb2ZmZW5kaW5nIHNlbnRlbmNlIGlzIHByZXNlbnQgb25seSBpbiB0aGUgb25saW5l IHZlcnNpb24sIG5vdCB0aGUgcHVibGlzaGVkIGJvb2suCgoKCiogRXhhbXBsZSAxNy45IGlzICJs ZSB2aSB0YXZsYSBrdSBjdSBiYSBrbGFtYSIgaW4gdGhlIG9ubGluZSB2ZXJzaW9uLCBhbmQgdG90 YWxseSBicm9rZW4gaW4gdGhlIHB1Ymxpc2hlZCBib29rLgoKKiogR28gd2l0aCB0aGUgb25saW5l IHZlcnNpb24uICAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNM VURFRCBJTiBEQUctQ0xMJycKCgoKKiBFeGFtcGxlIDE3LjkgaW4gZGFnLWNsbCBhcyBvZiAyMDEy LTA1LTA1IGlzICJsZSB2aSB0YXZsYSB+bnB+W2t1XX4vbnB+IGN1IGJhIGtsYW1hIi4gU2luY2Ug dGhlIHNhbWUgc2VjdGlvbiBoYXMgZXhwbGFpbmVkIHRoYXQgdGVuc2UgdGFncyBtYWtlICJjdSIg dW5uZWNlc3NhcnksIEkgdGhpbmsgdGhlIGV4YW1wbGUgc2hvdWxkIGJlICJsZSB2aSB0YXZsYSB+ bnB+W2t1XSBbY3Vdfi9ucH4gYmEga2xhbWEiLgoKCgotLS0KCgoKISBDaGFwdGVyIDMKCgoKQSBs b3Qgb2YgdGhlIElQQSBleGFtcGxlcyB1c2UgYSBzcGFjZSB0byBpbmRpY2F0ZSBhIHN5bGxhYmxl IGJyZWFrLiBUaGlzIGlzIG5vdCBzdGFuZGFyZCBJUEEgdXNhZ2U7IGFjY29yZGluZyB0byBJUEEs IHRoZSBwZXJpb2Qg4oCcLuKAnSBzaG91bGQgYmUgdXNlZCB0byBpbmRpY2F0ZSBhIHN5bGxhYmxl IGRpdmlzaW9uLgoKCgoqIFNlY3Rpb24gMiwgcGFnZSAzMDogaW4gdGhlIHRhYmxlIHRoZSBkZXNj cmlwdGlvbiBvZiAiYXBvc3Ryb3BoZSIgc2hvdWxkIHJlYWQgImFuIHVudm9pY2VkIGdsb3R0YWwg c3BpcmFudCIsIG5vdCAiYSB1bnZvaWNlZCIuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3Vz bWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDIsIGRp Z2l0YWwgdmVyc2lvbi4gIFRoZSBJUEEgdGFibGUgZ290IGhvcnJpYmx5IG1hbmdsZWQgc29tZXdo ZXJlIGFsb25nIHRoZSB3YXkuICBJdCBzaG91bGQgbG9vayBsaWtlIChTQU1QQSBjb2x1bW4gYWRk ZWQpOgoKCgp8fCBMZXR0ZXIgfCBJUEEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8IFNBTVBBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBEZXNj cmlwdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogJyAgICAgIHwg W2hdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbaF0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYW4gdW52b2ljZWQgZ2xvdHRhbCBzcGly YW50ICAgICAgICAgICAgICAgICAgICAgIAoKICwgICAgICB8IC0tLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgLS0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8IHRoZSBzeWxsYWJsZSBzZXBhcmF0b3IgICAgICAgICAgICAgICAgICAgICAg ICAgICAKCiAuICAgICAgfCBbypRdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCBbP10gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSBnbG90 dGFsIHN0b3Agb3IgYSBwYXVzZSAgICAgICAgICAgICAgICAgICAgICAgIAoKIGEgICAgICB8IFth XSwgW8mRXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFthXSwgW0FdICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhbiBvcGVuIHZvd2VsICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgCgogYiAgICAgIHwgW2JdICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCBbYl0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgYSB2b2ljZWQgYmlsYWJpYWwgc3RvcCAgICAgICAgICAgICAgICAgICAgICAg ICAgIAoKIGMgICAgICB8IFvKg10sIFvKgl0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCBbU10sIFtzYF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYW4gdW52 b2ljZWQgcG9zdGFsdmVvbGFyIGZyaWNhdGl2ZSAgICAgICAgICAgICAgICAgICAgIAoKIGQgICAg ICB8IFtkXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW2RdICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgdm9pY2VkIGRlbnRhbC9hbHZl b2xhciBzdG9wICAgICAgICAgICAgICAgICAgICAKCiBlICAgICAgfCBbyZtdLCBbZV0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCBbRV0sIFtlXSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgYSBmcm9udCBtaWQgdm93ZWwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIAoKIGYgICAgICB8IFtmXSwgW8m4XSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8IFtmXSwgW3BcXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBh biB1bnZvaWNlZCBsYWJpYWwgZnJpY2F0aXZlICAgICAgICAgICAgICAgICAgICAgCgogZyAgICAg IHwgW8mhXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW2ddICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgdm9pY2VkIHZlbGFyIHN0b3Ag ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiBpICAgICAgfCBbaV0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8IFtpXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCBhIGZyb250IGNsb3NlIHZvd2VsICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgCgogaiAgICAgIHwgW8qSXSwgW8qQXSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8IFtaXSwgW3pgXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBh IHZvaWNlZCBwb3N0YWx2ZW9sYXIgZnJpY2F0aXZlICAgICAgICAgICAgICAgICAgICAgICAgCgog ayAgICAgIHwgW2tdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBba10gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYW4gdW52b2ljZWQgdmVs YXIgc3RvcCAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKIGwgICAgICB8IFtsXSwgW2zMqV0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbbF0sIFtsPV0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgYSB2b2ljZWQgbGF0ZXJhbCBhcHByb3hpbWFudCAobWF5 IGJlIHN5bGxhYmljKSAgIAoKIG0gICAgICB8IFttXSwgW23MqV0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCBbbV0sIFttPV0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgYSB2b2ljZWQgYmlsYWJpYWwgbmFzYWwgKG1heSBiZSBzeWxsYWJpYykgICAgICAgIAoK IG4gICAgICB8IFtuXSwgW27MqV0sIFvFi10sIFvFi8ypXSAgICAgICAgICAgICAgICAgICAgIHwg W25dLCBbbj1dLCBbTl0sIFtOPV0gICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgdm9pY2Vk IGRlbnRhbCBvciB2ZWxhciBuYXNhbCAobWF5IGJlIHN5bGxhYmljKSAKCiBvICAgICAgfCBbb10s IFvJlF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbb10sIFtPXSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSBiYWNrIG1pZCB2b3dlbCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIAoKIHAgICAgICB8IFtwXSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgW3BdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8IGFuIHVudm9pY2VkIGJpbGFiaWFsIHN0b3AgICAgICAgICAgICAgICAgICAgICAg ICAKCiByICAgICAgfCBbcl0sIFvJuV0sIFvJvl0sIFvKgF0sIFtyzKldLCBbybnMqV0sIFvJvsyp XSwgW8qAzKldIHwgW3JdLCBbclxdLCBbNF0sIFtSXF0sIFtyPV0sIFtyXD1dLCBbND1dLCBbUlw9 XSB8IGEgcmhvdGljIHNvdW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiBz ICAgICAgfCBbc10gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtzXSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhbiB1bnZvaWNlZCBhbHZl b2xhciBzaWJpbGFudCAgICAgICAgICAgICAgICAgICAgCgogdCAgICAgIHwgW3RdICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbdF0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgYW4gdW52b2ljZWQgZGVudGFsL2FsdmVvbGFyIHN0b3AgICAg ICAgICAgICAgICAgIAoKIHUgICAgICB8IFt1XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgW3VdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 IGEgYmFjayBjbG9zZSB2b3dlbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiB2ICAg ICAgfCBbdl0sIFvOsl0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbdl0sIFtCXSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSB2b2ljZWQgbGFiaWFsIGZy aWNhdGl2ZSAgICAgICAgICAgICAgICAgICAgICAKCiB4ICAgICAgfCBbeF0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8IFt4XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCBhbiB1bnZvaWNlZCB2ZWxhciBmcmljYXRpdmUgICAgICAgICAgICAg ICAgICAgICAgCgogeSAgICAgIHwgW8mZXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgW0BdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEg Y2VudHJhbCBtaWQgdm93ZWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiB6ICAgICAg fCBbel0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFt6XSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhIHZvaWNlZCBhbHZlb2xhciBzaWJp bGFudCAgICAgICAgICAgICAgICAgICAgICAgfHwKCgoKKiogU29ydC1vZiAoKEFwcHJvdmVkIEVy cmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSk7IHdoYXQgSSBhY3R1YWxseSBkaWQgaXMgaGFkIEFy bnQgcmV2aWV3IHdoYXQgc29tZW9uZSBlbnRlcmVkIGluIERBRy1DTEwsIHdoaWNoIHByZXN1bWFi bHkgd2FzIGJhc2VkIG9uIHRoZSBhYm92ZS4gICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiog U2VjdGlvbiAyLCBwYWdlIDMwLiBmb3IgdGhlIHNlY29uZCBlbmcgKGltbWVkaWF0ZWx5IHRvIHRo ZSBsZWZ0IG9mICIobWF5IGJlIHN5bGxhYmljKSIpIHRoZSBzeWxsYWJpY2l0eSBtYXJrZXIgaXMg Y29uY2VhbGVkIGJ5IHRoZSByaWdodCB0YWlsLgoKKiogSSBjYW4ganVzdCBiYXJlbHkgc2VlIHRo ZSBtYXJrZXIgdW5kZXIgYSBnb29kIGxpZ2h0LiAgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4g QXBwcm92ZWQpKQoKKioqIEZvciBmdXR1cmUgZWRpdGlvbnMgOi0pICwgbm90ZSB0aGF0IHRoZSBJ UEEgYXBwcm92ZXMgcHV0dGluZyBkaWFjcml0aWNzIGFib3ZlIHJhdGhlciB0aGFuIGJlbG93IHRo ZSBsZXR0ZXIgaW4gY2FzZXMgbGlrZSB0aGVzZS4gVW5mb3J0dW5hdGVseSwgdGhlIGZvbnRzIGhp dGhlcnRvIGF2YWlsYWJsZSBoYXZlIG5vdCBtYWRlIHRoaXMgZmFjaWxpdHkgYXZhaWxhYmxlLCBz byBvdXRzaWRlIHRoZSBqb3VybmFsIG9mIHRoZSBJUEEgaXRzZWxmLCBzdWNoIG92ZXItZGlhY3Jp dGljcyBhcmUgc2VsZG9tIHNlZW4uIOKAlCBuaXRjaW9uCgoKCiogSW4gc2VjdGlvbiAzLjIsIHRo ZSBjb21tYSBzaG91bGQgKHByb2JhYmx5KSBiZSByZXByZXNlbnRlZCBieSB0aGUgSVBBIG5vdGF0 aW9uIFsufC5dLCBhcyB0aGUgcGVyaW9kIGlzIHVzZWQgaW4gSVBBIHRvIGRlbm90ZSBzeWxsYWJs ZSBicmVha3MuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0 aW9uIDIsIHBhZ2UgMzAuIEZvciB0aGUgTG9qYmFuIHBob25lbWUgL3IvLCB0aGUgSVBBIHN5bWJv bCBmb3IgYSBkZW50YWwvYWx2ZW9sYXIgdm9pY2VkIGFwaWNhbCB0YXAgaXMgZ2l2ZW4gd2l0aCBh IHN5bGxhYmljaXR5IG1hcmtlciBiZWxvdy4gQSB0YXAgY2FuJ3QgYmUgc3lsbGFiaWMsIGJlY2F1 c2UgaXQgaXMgYnkgZGVmaW5pdGlvbiBpbnN0YW50YW5lb3VzLiAgKChBcHByb3ZlZCBFcnJhdHVt fGpjb3dhbiBBcHByb3ZlZCkpIEp1c3QgcmVtb3ZlIHRoYXQgY2FzZSBhbHRvZ2V0aGVyLgoKCgoq IFNlY3Rpb24gMi4gIFRoZSBkZXNjcmlwdGlvbnMgb2YgJydjJycgYW5kICcnaicnIGFyZSBsaXN0 ZWQgYXMgImNvcm9uYWwgc2liaWxhbnQicy4gIFRoZSBkZXNjcmlwdGlvbnMgc2hvdWxkIHJlYWQg InZvaWNlbGVzcyBwb3N0YWx2ZW9sYXIgZnJpY2F0aXZlIiBhbmQgInZvaWNlZCBwb3N0YWx2ZW9s YXIgZnJpY2F0aXZlIiwgcmVzcGVjdGl2ZWx5LiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBB cHByb3ZlZCkpCgoKCiogU2VjdGlvbiAzLCB0aGlyZCBwYXJhZ3JhcGggKHBhZ2UgMzEpOiAiYSB1 bnZvaWNlZCB2b3dlbCBnbGlkZSIgc2hvdWxkIGJlICJhbiB1bnZvaWNlZCB2b3dlbCBnbGlkZSIu CgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJ TiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDYsIHBhZ2UgMzYuIElQQSBmb3IgdGhlIHVuYWNjZXB0 YWJsZSBBbWVyaWNhbiBmbGFwIHZhcmlhbnQgb2YgaW50ZXJ2b2NhbGljICcndCcnIHNob3dzIHRo ZSBHQSAnJ3InJyBzb3VuZCAodXBzaWRlLWRvd24gcikgaW5zdGVhZCBvZiB0aGUgZmxhcCAobGlr ZSBhbiByIHdpdGggbm8gdmVydGljYWwgYml0IGF0IHRoZSB0b3Ag4oCUIHNlZSB0aGUgbGlzdCBv ZiBhY2NlcHRpYmxlICcncicnIHZhcmlhbnRzIG9uIG9uIHBhZ2UgNDQgd2hlcmUgaXQgYXBwZWFy cyBjb3JyZWN0bHkpICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCioqICgo QXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1D TEwnJwoKCgoqIFNlY3Rpb24gNiwgcGFnZSAzNi4gKFNhbWUgYXMgcHJldmlvdXMgZXJyYXR1bSkg VGhlIGNvbnNvbmFudCBpcyByZWZlcnJlZCB0byBhcyBhIGZsYXAsIHdoaWxlIGl0IGlzIGFjdHVh bGx5IGEgdGFwLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2Vj dGlvbiA3LiBJbiBiZXR3ZWVuIHRoZSBzaGFkZWQgYm94ZXMsICJhIHBhaXJpbmcgb2Ygdm9pY2Vk IGFuZCB1bnZvaWNlZCBlcXVpdmFsZW50IHZvd2VscyIgc2hvdWxkIHJlYWQgImEgcGFpcmluZyBv ZiB2b2ljZWQgYW5kIHVudm9pY2VkIGVxdWl2YWxlbnQgY29uc29uYW50cyIuCgoKCiogU2VjdGlv biA4LCBwYWdlIDM4LiBJUEEgZm9yIHByb251bmNpYXRpb24gb2YgInhhcGNrZSIgaGFzIGMgd2hl cmUgaXQgc2hvdWxkIGhhdmUgUyAobG9uZyBzKS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4g QXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gOSwgcGFnZSA0MC4gSVBBIGZvciBwcm9udW5jaWF0aW9u IG9mICJkaWt5anZvIiBoYXMgaiB3aGVyZSBpdCBzaG91bGQgaGF2ZSBaICh0aGF0IGxpdHRsZSBz Y3JpcHQgeiB0aGluZykgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiog KChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFH LUNMTCcnCgoKCiogU2VjdGlvbiAxMiwgcGFnZSA0Ni4gV2hhdCBzaG91bGQgYmUgdGhlIEN5cmls bGljIGxldHRlciA7IGlzIHByaW50ZWQgYXMgc29tZXRoaW5nIHRoYXQgbG9va3MgbGlrZSB0aGUg R3JlZWsgbGV0dGVyIC4gSXMgdGhpcyBvbmx5IGEgdHlwb2dyYXBoaWNhbCB2YXJpYW50IG9mIHRo ZSA7LCBvciBpcyBpdCBhIHZhcmlhbnQ/CgoKCioqIFRoaXMgZXJyYXR1bSBpcyBpbmRlY2lwaGVy YWJsZSBhbmQgc2hvdWxkIGJlIGRyb3BwZWQsIHVubGVzcyBzb21lb25lIGNhbiByZWNvbnN0cnVj dCBpdC4gIFRoZSBDeXJpbGxpYyBsZXR0ZXJzIGxvb2sgZmluZS4gIC0tamNvd2FuCgoKCiogU2Vj dGlvbiAxMiwgcGFnZSA0Ni4gUmVwbGFjZSB0aGUgd29yZHMgInRoZSBoYXJkIHNpZ24iIHdpdGgg YW4gYWN0dWFsIGhhcmQgc2lnbiwgVSswNDRBIENZUklMTElDIFNNQUxMIExFVFRFUiBIQVJEIFNJ R04uCgoKCiogU2VjdGlvbiAxMiwgcGFnZSA0Ny4gImFyZS8iZXNzZSIgc2hvdWxkIHByb2JhYmx5 IGJlICJhcmUiLyJlc3NlIiAodGhlIGFjdXRlIG9uIHRoZSBhIG1heSBvciBtYXkgbm90IGhhdmUg YmVlbiBsZWZ0IG9mZiwgYnV0IHRoZSBjbG9zaW5nIHF1b3RlIGFmdGVyIGFyZSBpcyBkZWZpbmF0 ZWx5IG1pc3NpbmcuKQoKKiogTXkgY29weSBzaG93cyB0aGUgYWN1dGUuCgoqKiAoKEFwcHJvdmVk IEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoK LS0tCgoKCiFDaGFwdGVyIDQKCgoKKiBTZWN0aW9uIDQsIHBhZ2UgNTQuIFRoZSBib29rIHN0YXRl cyB0aGF0IGZ1J2l2bGEgd2l0aCBhIGZvcm0gbGlrZSAnJ3NwYSdpJycgYXJlIHZhbGlkLiBUaGV5 IGFyZSBub3QsIHRoZXkgZmFpbCB0aGUgc2xpbmt1J2kgdGVzdC4gKChBcHByb3ZlZCBFcnJhdHVt fGpjb3dhbiBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA2 LCBwIDU4LCAiLWxhYyIgaW4gdGhlIHRoaXJkIHRhYmxlIGluIHRoYXQgc2VjdGlvbiBzaG91bGQg YmUgIi1sYWMtIgoKCgoqIFNlY3Rpb24gNiwgaXQgc2F5cyAiTW9zdCBjbWF2byB0aGF0IGhhdmUg cmFmc2kgYXJlIG9uZXMgdXNlZCBpbiBjb21wb3NpbmcgdGFucnUgKGZvciBhIGNvbXBsZXRlIGxp c3QsIHNlZSBDaGFwdGVyIDEyKSIsIGJ1dCB0aGVyZSBpcyBubyBzdWNoIGxpc3QgaW4gQ2hhcHRl ciAxMiwgb3IgYW55d2hlcmUgaW4gdGhlIGJvb2sgKGp1J29zYWkpLiBQZXJoYXBzIGl0IHdhbnRz IHRvIHBvaW50IHRvIHRoZSBsaXN0IG9mIFBBIHJhZnNpIGluIENoYXB0ZXIgMTggc2VjdGlvbiAy NT8gT3IgdG8gdGhlIGxpc3RzIG9mIHRhbnJ1IGluIENoYXB0ZXIgNSBzZWN0aW9ucyAxNCBhbmQg MTU/CgoqKiBXaGF0IEkgcHJvYmFibHkgbWVhbnQgd2FzIHRoYXQgQ2hhcHRlciAxMiwgdGFrZW4g YXMgYSB3aG9sZSwgZGlzY3Vzc2VzIHRoZSBjbWF2byB1c2VkIGluIGNvbnN0cnVjdGluZyB0YW5y dS4gIEkgZG9uJ3QgdGhpbmsgYW55IHNwZWNpZmljIGxpc3QgZXZlciBleGlzdGVkLiAgSSdkIGp1 c3QgZHJvcCB0aGUgcGFyZW50aGV0aWNhbCBzZW50ZW5jZS4KCgoKKiBTZWN0aW9uIDYsIGp1c3Qg YWZ0ZXIgZXhhbXBsZSA2LjkuIEl0IHNheXMgInNvbWUgb2YgdGhlIHVucmVkdWNlZCBmb3JtcyBp biB0aGUgcHJldmlvdXMgZXhhbXBsZSIsIGJ1dCBpdCBpcyBub3QgcmVmZXJyaW5nIHRvIHRoZSBw cmV2aW91cyBleGFtcGxlOiBpdCBpcyByZWZlcnJpbmcgYWxsIHRoZSB3YXkgYmFjayB0byBleGFt cGxlcyA2LjEgYW5kIDYuMiwgc28gaXQgc2hvdWxkIGJlICJzb21lIG9mIHRoZSB1bnJlZHVjZWQg Zm9ybXMgaW4gdGhlIHByZXZpb3VzIGV4YW1wbGVfX3NfXyIuCgoqKiAnJ0lOQ0xVREVEIElOIERB Ry1DTEwnJyAoem9ydCdzIGZvcmsgYXQgbGVhc3QpCgooQXBwcm92ZWQgRXJyYXR1bXxqY293YW4g QXBwcm92ZWQpKSAgUmVmZXIgZXhwbGljaXRseSB0byA2LjEgYW5kIDYuMgoKCgoqIFNlY3Rpb24g NywgcGFnZSA2MC4gSW4gZXhhbXBsZSA2LjE2LCB0aGUgd29yZCAieGFybnlrYXJjZSIgaXMgZ2xv c3NlZCBhcyAid2FyLWNhciIuIEVpdGhlciB0aGUgZ2xvc3Mgc2hvdWxkIGJlIHVwZGF0ZWQgdG8g cmVmbGVjdCB0aGUgdmVsanZvICgic3R1YmJvcm4tY2FyIiksIG9yIHRoZSBsdWp2byBzaG91bGQg YmUgdXBkYXRlZCB0byByZWZsZWN0IHRoZSBnbG9zcyAiamFta2FyY2UiCgoqKiBUaGUgbGF0dGVy ICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERB Ry1DTEwnJwoKCgoqIFNlY3Rpb24gNywgbWFraW5nIGEgdHlwZSAzIGZ1J2l2bGEsIHN0ZXAgNSBz aG91bGQgcmVhZCAic3RlcHMgMS00Iiwgbm90ICJzdGVwcyAxLTUiLiAgKChBcHByb3ZlZCBFcnJh dHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiA3LCBzdGVwIDUgb2YgdGhlIFN0YWdl IDMgZnUnaXZsYTogImlmIHRoZSByYWZzaSBlbmRzIGluICcncicnIGFuZCB0aGUgcmVzdCBvZiB0 aGUgZnUnaXZsYSBiZWdpbnMgd2l0aCAnJ24nJyAob3IgdmljZSB2ZXJzYSkgdXNlIGFuICcnbCcn LWh5cGhlbiIgc2hvdWxkIHJlYWQgICJpZiB0aGUgcmFmc2kgZW5kcyBpbiAnJ3InJyBhbmQgdGhl IHJlc3Qgb2YgdGhlIGZ1J2l2bGEgYmVnaW5zIHdpdGggJyduJycsICcndGMnJywgJyd0cycnLCAn J2R6Jycgb3IgJydkaicnLCBvciB0aGUgcmFmc2kgZW5kcyBpbiAnJ24nJyBhbmQgdGhlIHJlc3Qg b2YgdGhlIGZ1J2l2bGEgYmVnaW5zIHdpdGggJydyJycgdXNlIGFuICcnbCcnLWh5cGhlbiIuICAo KEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBUaGUgZW5kIG9mIHNlY3Rp b24gNyBzZWVtcyB0byBpbXBseSB0aGF0IGNtZW5lIGFyZSBleGVtcHQgZnJvbSB0aGUgbm9ybWFs IHJlc3RyaWN0aW9ucyBvbiBjb25zb25hbnQgY2x1c3RlcnMgYXMgbG9uZyBhcyBlYWNoIGNvbnNv bmFudCBwYWlyIGlzIHZhbGlkLgoKCgoqIFNlY3Rpb24gOC4gRXhhbXBsZSA4LjEwICcnZGphbmRq b256JycgaXMgbm90IHZhbGlkIGxvamJhbiBhcyBpdCBjb250YWlucyB0aGUgZm9yYmlkZGVuIGNv bnNvbmFudCBzZXF1ZW5jZSBgbmRqYC4gICAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHBy b3ZlZCkpICBSZXBsYWNlIHdpdGggYSBkaWZmZXJlbnQgbmFtZS4KCioqIFJlcGxhY2luZyB3aXRo ICJKb2huIEJyb3duIiBhcyAiZGphbmJyYXVuIi4gLS1ybHBvd2VsbCAnJ0lOQ0xVREVEIElOIERB Ry1DTEwnJwoKCgoqIFNlY3Rpb24gOCwgcGFnZSA2Ni4gRXhhbXBsZSA4LjEyLiBTYXlzIHRoYXQg dGhlIGdpc211ICJzb2xyaSIgbWVhbnMgImFjdHVhbGx5LCAncGVydGFpbmluZyB0byB0aGUgc3Vu JyIuIFRoaXMgaXMgZmFsc2UuIEFjY29yZGluZyB0byB0aGUgZ2lzbXUgbGlzdCwgaXQgbWVhbnMg JydpcycnYSBzdW4uCgoqKiBMZWF2ZSB0aGlzIG9uZSBhbG9uZS4gIEFzIGEgc2VsdGF1LCAic29s cmkiIGRvZXMgaW5kZWVkIG1lYW4gInNvbGFyIi4gIC0tamNvd2FuCgoKCiogU2VjdGlvbiAxMSwg NWEpICcnRXhhbWluZSBhbGwgdGhlIEMvQyBjb25zb25hbnQgcGFpcnMgdGhhdCBqb2luIHRoZSBD VkMgcmFmc2ksIGFuZCBhbHNvIHRoZSBwYWlyIGJldHdlZW4gdGhlIGxhc3QgQ1ZDIGFuZCB0aGUg WCBwb3J0aW9uLCBpZ25vcmluZyBhbnkgInkiLWh5cGhlbiBiZWZvcmUgdGhlIFguJycgc2hvdWxk IHJlYWQgaW5zdGVhZDogJydFeGFtaW5lIGFsbCB0aGUgQy9DIGNvbnNvbmFudCBwYWlycyB1cCB0 byB0aGUgZmlyc3QgInkiLWh5cGhlbiwgb3IgdXAgdG8gdGhlIGVuZCBvZiB0aGUgd29yZCBpbiBj YXNlIHRoZXJlIGFyZSBubyAieSItaHlwaGVucy4nJwoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNh bWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAx Mi4gSW4gRXhhbXBsZXMgMTIuMiwgMTIuMyBhbmQgMTIuNCB0aGUgY2FsY3VsYXRpb25zIGFyZSBn aXZlbiBhcyAzMjUwMCBtaW51cyB0aGUgc2NvcmUsIGluc3RlYWQgb2Ygc2ltcGx5IHRoZSBzY29y ZS4gKFByb2JhYmx5IGZyb20gcHJldmlvdXMgdmVyc2lvbnMgb2YgdGhlIGFsZ29yaXRobS4pICAg ICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTMsIHBh Z2UgNzQsIHRoaXJkIHRhYmxlOiB0aGVyZSBpcyBubyBzcGFjZSBiZXR3ZWVuICJsb2piYXVncmki IGFuZCAibG9qYmFuZ3lncmkiLCBzbyB0aGF0IHRoZXkgYXJlIHJ1biBpbnRvIG9uZSB3b3JkIGlu IHRoZSBzZWNvbmQgY29sdW1uIG9mIHRoZSB0YWJsZS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293 YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTUgc3RhdGVzIHRoYXQgImR6aXBvIiBjb21lcyBm cm9tICJjYWR6dSBjaXBuaSIgKCJ3YWxraW5nIGJpcmQiKS4gIFRoaXMgZmFpbHMgdG8gbWFrZSBz ZW5zZSBlaXRoZXIgZXR5bW9sb2dpY2FsbHkgb3Igc2VtYW50aWNhbGx5IChJZiB0aGUgbmFtZSBy ZWZlcnMgdG8gcGVuZ3VpbnMsIHRoZXJlIGFyZSBhIGxvdCBvZiBvdGhlciBmZWF0dXJlcyBvZiBB bnRhcmN0aWNhIHRoYXQgYXJlIG1vcmUgcHJvbWluZW50IGFuZCBub3Qgc2hhcmVkIGJ5IG90aGVy IHBsYWNlcykuICBJIHN1c3BlY3QgdGhhdCB0aGUgd29yZCBtYXkgYWN0dWFsbHkgY29tZSBmcm9t ICJkaXpsbyBkYXBsdSIgKCJsb3cgaXNsYW5kIiksIHdoaWNoIGlzIGEgc29tZXdoYXQgbW9yZSBy ZWFzb25hYmxlIG5hbWUuCgoqKiBOb3QgYW4gZXJyYXR1bSwgdGhlIHdvcmQgcmVhbGx5IGRvZXMg Y29tZSBmcm9tICJjYURadSBjSVBuaSIuIFRoYXQgaXQgZmFpbHMgdG8gbWFrZSBzZW5zZSBkb2Vz bid0IGNoYW5nZSB0aGUgZmFjdCB0aGF0IHRoYXQgaXMgaG93IHRoZXkgY29uc3RydWN0ZWQgaXQu IFRoZSBldHltb2xvZ2llcyBvZiAiYmVtcm8iIGFuZCAia2V0Y28iIG1ha2UgZXZlbiBsZXNzIHNl bnNlLCBieSB0aGUgd2F5LgoKKioqIENvcnJlY3QsIGJ1dCB0aGUgZXR5bW9sb2dpZXMgYXJlIHdo YXQgdGhleSBhcmUuICAtLWpjb3dhbgoKCgotLS0KCgoKIUNoYXB0ZXIgNQoKCgoqIFNlY3Rpb24g NiwgZXhhbXBsZSA2LjE1OiBJdCBzYXlzIHt4YW1ndSBqbyBjb3J0dSBudW50YXZsYX0sIGFuZCB0 aGUgZ2xvc3Mgc2F5cyB7KGdvb2QgaWYtYW5kLW9ubHktaWYgc2hvcnQpIHNwZWVjaH0sIGJ1dCB7 Y29ydHV9IG1lYW5zICJodXJ0Iiwgbm90ICJzaG9ydCIuCgoqKiAnJ0lOQ0xVREVEIElOIERBRy1D TEwnJyAgKGNoYW5nZWQgdG8ge3RvcmR1fSkgKGluIHpvcnQncyBmb3JrIGF0IGxlYXN0KSAoKEFw cHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBFeGFtcGxlIDYuMTY6IHZham5p IGp1IHNlbHBsdWthIG51bnRhdmxhICwgIChpbXBvcnRhbnQgd2hldGhlci1vci1ub3QgcGxlYXNp bmcpIGV2ZW50LW9mLXRhbGtpbmcKCioqIFNob3VsZCBiZSBwbHVrYSwgbm90IHNlbHBsdWthLiAg KChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFH LUNMTCcnCgoKCiogU2VjdGlvbiA4IHNheXMgImludm9sdmluZyBzZWxtYSdvIFZPaEEgYW5kIEdP aEksIGV4cGxhaW5lZCBpbiBDaGFwdGVyIDciLCBidXQgVk9oQSBkb2Vzbid0IGFwcGVhciBpbiBD aGFwdGVyIDcuIFZPaEEgZG9lc24ndCBldmVuIHNlZW0gdG8gYmUgYSBzZWxtYSdvLCBmb3IgdGhh dCBtYXR0ZXIuIEFsc28sIHByb2JhYmx5IEdPaEkgc2hvdWxkIGJlIEdPaEE/CgoKCiogU2VjdGlv biA4LCBwYWdlIDk2Lzk3OiBFeGFtcGxlIDguMTMgbmVlZHMgc29tZSBraW5kIG9mIHRlcm1pbmF0 b3IgKGxpa2UgImJlJ28iKSBiZWZvcmUgdGhlICJjbyIuICAgKChBcHByb3ZlZCBFcnJhdHVtfGpj b3dhbiBBcHByb3ZlZCkpCgoKCiogQWxzbywgdGhlIHByZWNlZGluZyBwYXJhZ3JhcGggc3VnZ2Vz dHMgdGhhdCAiYmUiIGlzIHRoZSBvbmx5IHdheSB0byBmaWxsIHNlbGJyaSBwbGFjZXMgb3RoZXIg dGhhbiB4MS4gVGhpcyBpcyBub3QgdGhlIGNhc2U6ICJtaSBsZSB6YXJjaSBjdSBrbGFtYSBjbyBz dXRyYSIgd291bGQgYWxzCgpvIHdvcmsuCgoqKiBJIGRvbid0IGFncmVlIHRoYXQgdGhlcmUncyBh bnkgc3VjaCBzdWdnZXN0aW9uLCBhbHRob3VnaCBhZGRpbmcgYSBzZWNvbmQgcG9zc2liaWxpdHkg aXMgZmluZSB3aXRoIG1lLiAgLS1qY293YW4KCgoKKiBTZWN0aW9uIDkgbGlzdHMgImtlaSIgYXMg dGhlIHRlcm1pbmF0b3IgZm9yIG51LCBidXQgaXQncyBub3Qgb25seSBmb3IgbnUsIGJ1dCBmb3Ig YWxsIG9mIE5VLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2Vj dGlvbiAxNCwgcGFnZSAxMDQgc2F5cyAiZGFkeWxzaSIgZm9yICJkYWR5c2xpIi4KCioqICgoQXBw cm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwn JwoKCgoqIFNlY3Rpb24gMTQsIHBhZ2UgMTA1IHVzZXMgInpkYW5pIGxpamdyaSIgaW4gdGhlIGV4 YW1wbGUgbGlzdCwgYnV0IHRoZSBwYXJhZ3JhcGggYWZ0ZXIsIGFzIHdlbGwgYXMgdGhlIG5leHQg bGlzdCwgcmVmZXIgdG8gInpkYW5pIGxpbmppIiBhbmQgImxpbmppIHpkYW5pIi4KCgoKKiBTZWN0 aW9uIDE0LCBwYWdlIDEwNSBoYXMgdGhlIGx1anZvICJjcHVtaSdpIiBidXQgZGVmaW5lcyBpdCBh dCB0aGUgYm90dG9tIG9mIHRoZSBzZXQgYXMgImNwYW1pJ2kiLgoKKiogY3VhbWknaSBzIHB1bGwt bWFjaGluZSwgc28gdXNpbmcgdGhhdCAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJv dmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDE0LCBwYWdlIDEwNiBz YXlzICJwbGlzZSB0YXBsYSIgZm9yICJhcHBsZSBjYWtlIi4gRG9lcyBUdXJraXNoIHJlYWxseSBy ZWZlciB0byBhIGNha2UgYXMgYSB0aWxlLCBvciBpcyB0aGlzIGEgbWlzdW5kZXJzdGFuZGluZyBv ZiB0aGUgZGVmaW5pdGlvbiBvZiAidGFwbGEiPwoKKiogTm8sIGl0J3MgdGhhdCB7dGFwbGF9IGNh biBtZWFuIGJvdGggY2FrZSBhbmQgdGlsZSwgYXMgdGhlIGdpc211IGxpc3Qgc2hvd3M7IGl0J3Mg YSBnZW5lcmljIHdvcmQgZm9yIGEgZmxhdCAzLUQgc2hhcGUsIG9yIHNob3J0IGN5bGluZGVyLiAg U3RldC4gIC0tamNvd2FuCgoKCiogU2VjdGlvbiAxNCwgcGFnZSAxMDggc2F5cyAidHVtbGEgc3Bp c2EiLiBUaGlzIHNob3VsZCBwcm9iYWJseSBiZSAidHVtbGEgcGFnYnUiLCBzaW5jZSBwaWVjZXMg b2YgbGFuZCBhcmUgbm90IGFjdHVhbGx5IGRldGFjaGVkLgoKKiogV2hhdCBtYWtlcyB5b3UgdGhp bmsgdGhhdCBzcGlzYSBoYXZlIHRvIGJlIGRldGFjaGVkPyAgU3RldC4gIC0tamNvd2FuCgoKCiog U2VjdGlvbiAxNCwgcGFnZSAxMDkgc2F5cyAicm9zdHUgbW9qeXN1J2EiLiAicm9zdHUiIGlzIG5v dCBhIExvamJhbiBnaXNtdSwgbm9yIGFuIE9sZCBMb2dsYW4gcHJpbWl0aXZlLiBJdCdzIHN1cHBv c2VkIHRvIGJlICJtcm9zdAoKdSIuCgoqKiAiTXJvc3R1IiBpcyBjb3JyZWN0LCBhbmQgdGhhdCdz IHRoZSByZWFkaW5nIG9mIHRoZSBvbmxpbmUgdmVyc2lvbi4gICgoQXBwcm92ZWQgRXJyYXR1bXxq Y293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTQsICJudW5raWxicmEiIGlzIGNsZWFybHkg bm90ICJzaGFycGVuZXIiLCBhbmQgZXZlbiBpZiBpdCB3YXMgdXNpbmcgdGhlIHJpZ2h0IHJhZnNp IGZvciBjYWJyYSwgdGhhdCBzdHJpa2VzIG1lIGFzIGEgcHJldHR5IGNyYXBweSBsdWp2bzsgbmVl ZHMgemVuYmEgb3Igem1hZHUgb3IgYmlueG8gb3Igc29tZXRoaW5nLgoKCgoqIFNlY3Rpb24gMTQs IHBhZ2UgMTEyIGxpc3RzIG51bWVyb3VzIHRhbnJ1IGV4YW1wbGVzIHdob3NlIG1lYW5pbmdzIGFy ZSBoeXBlcm55bXMgb2YgdGhlIHRlcnRhdSBpbnN0ZWFkIG9mIGh5cG9ueW1zLiBUaGlzIGNvbnRy YWRpY3RzIHRoZSBwcmltYXJpbmVzcyBvZiB0aGUgdGVydGF1IGFzIGRlZmluZWQgb24gcGFnZSA4 NC4gVGhlIHdvcmQgImphIiBzaG91bGQgcHJvYmFibHkgYmUgaW5zZXJ0ZWQgYmV0d2VlbiB0aGUg Y29uc3RpdHVlbnRzLCBvciB0aGUgZW50aXJlIHNlY3Rpb24gc2hvdWxkIGJlIHJlbW92ZWQuCgoq KiBTdGV0LiAgTGlvbnMgY2FuJ3QgYmUgbWFkZSBvZiBzdG9uZSwgYnV0IHtyb2tjaSBjaW5mb30g aXMgYSBsZWdpdGltYXRlIHRhbnJ1IG5vbmV0aGVsZXNzLiAgLS1qY293YW4KCgoKLS0tCgoKCiFD aGFwdGVyIDYKCgoKKiBFbmQgb2Ygc2VjdGlvbiAyLCBpdCBzYXlzICJjb21wb3VuZCBuZWdhdG9y IGBgbmFrdScnIChkaXNjdXNzZWQgaW4gQ2hhcHRlciAxNSkiLCBidXQgIm5ha3UiIGlzIG5ldmVy IG1lbnRpb25lZCBpbiBjaGFwdGVyIDE1OyBpbmRlZWQsIHRoZSBvbmx5IHVzZXMgb2YgdGhlIHdv cmQge2t1fSBhdCBhbGwgYXJlIGFmdGVyIHRoZSB3b3JkcyB7amkndX0gb3Ige25hJ2l9LiBDaGFw dGVyIDE2IHRhbGtzIGFib3V0IHtuYWt1fS4KCioqICcnSU5DTFVERUQgSU4gREFHLUNMTCcnICh6 b3J0J3MgZm9yayBhdCBsZWFzdCkgYnV0IG5lZWRzIGFwcHJvdmFsCgoKCiogU2VjdGlvbiAxMiwg cC4gMTM4IGNsYWltcyB0aGF0IHRoZSBzdW10aSBpbiBleGFtcGxlcyAxMi4yIGFuZCAxMi4zIG9w ZXJhdGUgbGlrZSBleGFtcGxlcyAyLjUgYW5kIDMuNiByZXNwZWN0aXZlbHkuICIyLjYgYW5kIDMu NiIgaXMgYWxtb3N0IHN1cmVseSB3aGF0IHdhcyBtZWFudC4gICgoQXBwcm92ZWQgRXJyYXR1bXxq Y293YW4gQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIEluIHNlY3Rpb24g MTEgRXhhbXBsZSAxMS4yIG9jY3VycyB0d2ljZS4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1n dXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMiBo YXMgZXhhbXBsZXMgMi4zIGFuZCAyLjUgdG8gc2hvdyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHts b30gYW5kIHtsZX0uIEV4YW1wbGUgMi41IGFuZCB0aGUgc3Vic2VxdWVudCB0ZXh0IHNheSB0aGF0 IHtsbyBuYW5tdSBjdSBuaW5tdX0gaXMgbmVjZXNzYXJpbHkgZmFsc2UgaW4gbG9qYmFuIHNpbmNl IHtub2RhIG5hbm11IGdpJ2UgbmlubXV9LiBUaGlzIGNvbnRyaWJ1dGVzIHRvIHRyYW5zLWVyYXN1 cmUsIGFuZCBzaG91bGQgYmUgcmV2aXNlZC4KCgoKKiBJbiBzZWN0aW9uIDUgYmV0d2VlbiBleGFt cGxlcyA1LjIgYW5kIDUuMywgaXQgc2F5cyB0aGF0IHRoZSB0eXBpY2FsIGxpb24gYmVzdCBleGVt cGxpZmllcyB0aGUgc2V0IG9mIGxpb25zLiBUaGlzIGlzIGZhbHNlLCBpdCBleGVtcGxpZmllcyBu b3QgdGhlIHNldCwgYnV0IHRoZSBtZW1iZXJzIG9mIHRoYXQgc2V0LgoKCgotLS0KCgoKISBDaGFw dGVyIDcKCgoKKiBTZWN0aW9uIDYsIHBhZ2UgMTU1IGhhcyBhIG5vdGUgYmVsb3cgZXhhbXBsZSA2 LjEzIHRoYXQgc2F5cywgaW4gcGFydDogIlRoZSBMb2piYW4gZG9lcyBub3QgY29udGFpbiBhbiBl cXVpdmFsZW50IG9mIHRoZSAibXkiIGluIGNvbGxvcXVpYWwgRW5nbGlzaDsiIGFuZCB0aGVuIGdv ZXMgb24gdG8gZXhwbGFpbiBob3cgZXhhbXBsZSA2LjEzIGNvdWxkIGJlIG1vZGlmaWVkIHRvIGlu Y2x1ZGUgIHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiB0aGUgc3BlYWtlciBhbmQgdGhlaXIgc29u IGFuZCBkYXVnaHRlci4gIEkgYmVsaWV2ZSB5b3UgY291bGQgc2F5ICJsZSBtaSBiZXJzYSIgb3Ig ImxlIGJlcnNhIHBlIG1pIiB0byBleHByZXNzIHRoZSBFbmdsaXNoICJteSwiIHRoZXJlZm9yIHJl bW92aW5nIHRoZSAocHJlc3VtYWJseSBpbmFjY3VyYXRlKSBub3RlIGFuZCBtYWtpbmcgdGhlIExv amJhbiB0cmFuc2xhdGlvbiBtb3JlIGFjY3VyYXRlLgoKKiogU3VyZSB5b3UgY291bGQsIGJ1dCB0 aGUgcG9pbnQgb2YgdGhlIG5vdGUgKHdoaWNoIGlzICcnbm90JycgaW5hY2N1cmF0ZSkgaXMgbm90 IHRlYWNoaW5nIGhvdyB0byB1c2UgcmVsYXRpdmUgY2xhdXNlcywgYnV0IHRvIGNsYXJpZnkgdGhh dCB0aGUgaWRpb21hdGljIEVuZ2xpc2ggdmVyc2lvbiBjb250YWlucyBtb3JlIGluZm9ybWF0aW9u IHRoYW4gdGhlIExvamJhbiB2ZXJzaW9uIGRvZXMuICBTdGV0LgoKCgoqIFNlY3Rpb24gNiwgcGFn ZSAxNTYgaGFzICcna2FyY2EnJyBmb3IgJydrYXJjZScnLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpj b3dhbiBBcHByb3ZlZCkpCgoKCiogQWZ0ZXIgZXhhbXBsZSA2LjE4IGlzIGEgcGFyYWdyYXBoIHRo YXQgcXVvdGVzIG5vbi1leGlzdGVudCB0ZXh0IGZyb20gZXhhbXBsZSA2LjEwLiAgImdvJ2UgcmEn byIgc2hvdWxkIHJlYWQgImdvJ2kgcmEnbyIgYW5kICJkbyBnbydlIiBzaG91bGQgcmVhZCAibWkg Z28naSIKCioqIFRoZSBjb3JyZWN0IGNvcnJlY3Rpb24gaXMgdG8gcmVwbGFjZSAiQidzIHN0YXRl bWVudCIgd2l0aCAiQSdzIHNlY29uZCBzdGF0ZW1lbnQiLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpj b3dhbiBBcHByb3ZlZCkpCgoqKiogTm90IHJlYWxseS4gImdvJ2UgcmEnbyIgaW4gQSdzIHNlY29u ZCBzdGF0ZW1lbnQgd291bGQgbWVhbiB0aGUgc2FtZSBhcyAiZ28nZSIsIHdoaWNoIGlzIHdyb25n LiBUaGUgb3JpZ2luYWwgY29ycmVjdGlvbiBpcyB2YWxpZCB0aG91Z2guCgoKCipTZWN0aW9uIDYs IHRoZSBleGNlcHRpb25zIHRvIHRoZSBhbmFwaG9yYSBydWxlcyBhcmUgYWxtb3N0IGNlcnRhaW5s eSBpbmNvbXBsZXRlLiBJbiBwYXJ0aWN1bGFyICJtYSIgYW5kICJjZSd1IiBkZWZpbml0ZWx5IHdh cnJhbnQgZXhjZXB0aW9ucy4KCgoKKiBTZWN0aW9uIDcsIGV4YW1wbGUgNy43IGhhcyAibWkgemJh c3UgbG9pIG11ZHJpIHppJ28iIGZvciAibWkgemJhc3UgbGUgZGluanUgemknbyIKCioqICgoQXBw cm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwn JwoKCgoqIFNlY3Rpb24gOCwgcC4gMTU4IGltcGxpZXMgdGhhdCAnJ3ZvJ2EnJy1zZXJpZXMgYW5h cGhvcmEgcmVmZXIgdG8gc3VtdGkgb2YgdGhlIGJyaWRpIHRoZXkgdGhlbXNlbHZlcyBhcmUgc3Vt dGkgb2YuIFRoaXMgY29udHJhZGljdHMgdGhlIGNtYXZvIGxpc3QsIGFuZCBpcyBpbmNvcnJlY3Q6 ICcndm8nYScnLXNlcmllcyBhbmFwaG9yYSAoYWNjb3JkaW5nIHRvIHRoZSBtYSdvc3RlKSByZWZl ciB0byBzdW10aSBvZiB0aGUgb3V0ZXJtb3N0IGJyaWRpIHdpdGhpbiB0aGUgY3VycmVudCBzZW50 ZW5jZS4gVGhpcyBtYWtlcyB0aGVtIGxvZ29waG9ycy9sb25nIGRpc3RhbmNlIHJlZmxleGl2ZXMs IHJhdGhlciB0aGFuIHNob3J0LWRpc3RhbmNlIHJlZmxleGl2ZXMsIGFzIGlzIG5vcm1hbCBpbiBo dW1hbiBsYW5ndWFnZS4gVGh1cywgaW4gJydtaSBuZWxjaSBsZW51IGRvIHByYW1pIHZvJ2EnJywg Jyd2bydhJydtZWFucyAnJ21pJycsIG5vdCAnJ2RvJycuCgoqKl9fLS0+X18oKFdoeSB0aGUgQm9v ayBpcyBSaWdodCBhbmQgdGhlIG1hJ29zdGUgaXMgV3JvbmcpKQoKKioqV2hpY2ggb2YgdGhlIHR3 byBjYXNlcyBpcyBub3JtYWwgaW4gaHVtYW4gbGFuZ3VhZ2U/IElmIHlvdSdkIHdyaXR0ZW4gaXQg aW4gTG9qYmFuLCBJJ2Qga25vdyEKCioqKiogSSdkIGd1ZXNzIHRoYXQgc2hvcnQtZGlzdGFuY2Ug aXMgbm9ybWFsLCBiL2Mgb3RoZXJ3aXNlIGl0IHdvdWxkIG5vdCBiZSB3b3J0aCBjb21wYXJpbmcg dGhlIHR3by4gQnV0IG9mIGNvdXJzZSBpbiBsb2piYW4gd2Ugd291bGRuJ3QgaGF2ZSB0byBnbG9y ayB0aGF0LgoKKioqKiogU2hvcnQtZGlzdGFuY2UgaXMgaW5kZWVkIG5vcm1hbCwgYnV0IExvamJh bmlzdHMgaGF2ZSBjb25zaXN0ZW50bHkgdXNlZCBsb25nLWRpc3RhbmNlLiAgTmljayB3cm90ZSBh IHBlZXItcmV2aWV3ZWQgcGFwZXIgb24gdGhpcy4gIC0tamNvd2FuCgoKCiogRXhhbXBsZSA3Ljgu NSAocDE1OSk6IGJhanJhIG9uIHRoaXJkIGxpbmUgc2hvdWxkIGJlIGJhanlrbGEsIGxpa2UgdGhl IG90aGVycy4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lO Q0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gOCwgaXQgc2F5cyAiRXhhbXBsZSA5LjMg aXMgYSB0cnVseSBwcmVnbmFudCBxdWVzdGlvbi4uLiIgd2hlbiBleGFtcGxlIDkuMiBpcyB0aGUg cHJlZ25hbnQgcXVlc3Rpb24sIGFuZCBleGFtcGxlIDkuMyBpcyBhIGJldHRlciB3YXkgb2YgZXhw cmVzc2luZyAiV2hvIGFyZSB5b3U/IgoKCgoqIFNlY3Rpb24gMTUsIGl0IHNheXMgIkZpbmFsbHks IGx1anZvIGludm9sdmluZyBgYHppJ28nJyBhcmUgYWxzbyBwb3NzaWJsZSwgYW5kIGFyZSBmdWxs eSBkaXNjdXNzZWQgaW4gQ2hhcHRlciAxMiIsIGJ1dCBub3doZXJlIGRvZXMgQ2hhcHRlciAxMiBt ZW50aW9uIHRoZSB3b3JkIHt6aSdvfSwgbXVjaCBsZXNzIGx1anZvIGludm9sdmluZyBpdC4gVGhp cyBpcyBwcm9iYWJseSBhIENoYXB0ZXIgMTIgZXJyYXR1bS4KCi0tLQoKCgohQ2hhcHRlciA4CgoK CiogSW4gU2VjdGlvbiAzIHRoZSBleGFtcGxlIDMuMjAgc2hvdWxkIGhhdmUge3hhbmNlfSBpbnN0 ZWFkIG9mIHt4YW5jaX0sIHdoaWNoIGlzIGRlZmluaXRlbHkgYSB0eXBvLiAtLWlkb250a253Cgoq KiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBE QUctQ0xMJycKCgoKKiBTZWN0aW9uIDgsIHAuIDE4MTogIDguMSkgJydsaSBwYWkgbm9pIG5hJ2Ug ZnJpbnUgbmFtY3UnJ3Nob3VsZCBiZSAnJ2xpIHBhaSBub2kgbmEnZSBmcmludSBjdSBuYW1jdScn LiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiA4LCBF eGFtcGxlIDguNiwgdGhlIHRoaXJkIGxpbmUsICJJIHJ1bm5pbmdseS1nbyB0by10aGlzIFtyZWNp cHJvY2l0eV0gW3gzIG9mIHRoaXMgYnJpZGldIGZyb20tdGhhdCIsIGlzIG5vdCB0aGUgdXN1YWwg ZGVjZW50IEVuZ2xpc2ggb25lIHdvdWxkIGV4cGVjdCBpbiB0aGF0IHBvc2l0aW9uOyByZXBsYWNl ZCB3aXRoICJJIHJ1biB0byB0aGlzIGZyb20gdGhhdCBhbmQgdmljZSB2ZXJzYS4iIGlzIGRhZy1j bGwgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDksIGV4YW1wbGUgOS4yIGlz ICcnY28nbyB4aXJtYScnLiBUaGVuLCAnJ05vdGUgdGhhdCBFeGFtcGxlIDkuMiBzYXlzIGZhcmV3 ZWxsIHRvIHNvbWV0aGluZyB3aGljaCBkb2VzbuKAmXQgcmVhbGx5IGhhdmUgdG8gYmUgYSBob3Jz ZSwgc29tZXRoaW5nIHRoYXQgdGhlIHNwZWFrZXIgc2ltcGx5IHRoaW5rcyBvZiBhcyBiZWluZyBh IGhvcnNlLCBvciBldmVuIG1pZ2h0IGJlIHNvbWV0aGluZyAoYSBwZXJzb24sIGZvciBleGFtcGxl KSB3aG8gaXMgbmFtZWQgIkhvcnNlIi4gSW4gYSBzZW5zZSwgRXhhbXBsZSA5LjIgaXMgYW1iaWd1 b3VzIGJldHdlZW4gImNvJ28gbGUgeGlybWEiIGFuZCAiY28nbyBsYSB4aXJtYSInJy4gSXMgdGhp cyB0cnVlPwoKKiogWWVzLCBpbiB0aGUgc2Vuc2UgdGhhdCBhbGwgdXNlcyBvZiAibGUiICcnbWln aHQnJyBtZWFuICJsYSIuICBCdXQgaXQncyBwcm9iYWJseSBtb3JlIGNvbmZ1c2luZyB0aGFuIGl0 J3Mgd29ydGguICBUcnVuY2F0ZSBhZnRlciAidGhpbmtzIG9mIGFzIGJlaW5nIGEgaG9yc2UiLiAg LS1qY293YW4KCgoKKiBTZWN0aW9uIDkgc2F5cyAnJ0luIHZvY2F0aXZlIHBocmFzZXMgd2hpY2gg YXJlIHNpbXBsZSBuYW1lcyAoYWZ0ZXIgdGhlIHZvY2F0aXZlIHdvcmRzKSwgYW55IHJlbGF0aXZl IGNsYXVzZXMgbXVzdCBjb21lIGp1c3QgYWZ0ZXIgdGhlIG5hbWVzJycuIFRoaXMgaXNuJ3QgdHJ1 ZS4gUmVsYXRpdmUgY2xhdXNlcyBjYW4gZ28gYmV0d2VlbiB0aGUgdm9jYXRpdmUgYW5kIHRoZSBj bWV2bGEuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkgIERyb3AgaXQ7IGl0 IHJlZmxlY3RzIGFuIGVhcmxpZXIgc3RhdGUgb2YgdGhlIGxhbmd1YWdlLgoKCgotLS0KCiFDaGFw 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 MiwgcGFnZSAyNjkgaGFzIGV4YW1wbGVzIDEzLjEgYW5kIDEzLjIsIHRob3NlIHNob3VsZCBiZSBj YWxsZWQgMTIuMSBhbmQgMTIuMi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQp KQoKCgotLS0KCgoKIUNoYXB0ZXIgMTIKCgoKKiBTZWN0aW9uIDIsIHBhZ2UgMjc1LiBUaGUgcGFy YWdyYXBoIHVuZGVyIEV4YW1wbGUgMi4zIHJlZmVycyB0byBpdCBhcyBFeGFtcGxlIDIuNCAoMi40 IGRvZXNuJ3QgZXZlbiBleGlzdCkuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVk KSkKCgoKKiBTZWN0aW9uIDUsIHJpZ2h0IGFmdGVyIGV4YW1wbGUgNS43LiBJdCBzYXlzICJhIiBp bnN0ZWFkIG9mICJhbiIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoK KiBTZWN0aW9uIDYsIHBhZ2UgMjgwLiBFeGFtcGxlIDYuNiBzaG91bGQgaGF2ZSBhIHNwYWNlIGJl dHdlZW4gImxhIHNwYXQuIiBhbmQgIm5vaSIuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3Vz bWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDcsIHBh Z2UgMjgyLiBFeGFtcGxlIDcuNSBoYXMgImJhbnNvaSIgaW5zdGVhZCBvZiAiYmFsc29pIi4KCioq ICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERB Ry1DTEwnJwoKCgoqIFNlY3Rpb24gMTEsIHBhZ2UgMjg1IGhhcyAieGFzY2FrY3VybnUiIGluc3Rl YWQgb2YgInhhc3ljYWtjdXJudSIuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFw cHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDEyIGNsYWltcyB0 aGF0IC1qYXgtIGlzIGEgcmFmc2kgZm9yIHtqYWl9LCBidXQgaXQgaXNuJ3QgaW4gW2h0dHA6Ly93 d3cubG9qYmFuLm9yZy9wdWJsaWNhdGlvbnMvd29yZGxpc3RzL3JhZnNpLnR4dHxodHRwOi8vd3d3 LmxvamJhbi5vcmcvcHVibGljYXRpb25zL3dvcmRsaXN0cy9yYWZzaS50eHRdLiBEb2VzIHtqYWl9 IGhhdmUgYSByYWZzaSBvciBub3Q/CgoqKiBJdCBzaG91bGQsIGJ1dCBzb21laG93IGl0IG5ldmVy IGdvdCBpbnRvIHRoZSBnaXNtdSBsaXN0LCBhbmQgY29uc2VxdWVudGx5IG5vdCBpbnRvIHRoZSBy YWZzaSBsaXN0IGVpdGhlci4gIFN0ZXQsIGFuZCB3ZSdsbCBhZGQgaXQgdG8gdGhlIGdpc211IGxp c3QuICAtLWpjb3dhbgoKCgoqIFNlY3Rpb24gMTIsIHJpZ2h0IGF0IHRoZSBlbmQsIHNheXMgdGhh dCB7ZmFpfSBpcyBleHBsYWluZWQgaW4gQ2hhcHRlciAxMSwgYnV0IENoYXB0ZXIgMTEgbWFrZXMg bm8gbWVudGlvbiBvZiB7ZmFpfS4gT25seSBjaGFwdGVycyA5IGFuZCAxMCBkby4KCioqICcnSU5D TFVERUQgSU4gREFHLUNMTCcnICh6b3J0J3MgZm9yayBhdCBsZWFzdCkgICgoQXBwcm92ZWQgRXJy YXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTQsIGV4YW1wbGUgMTQuMi4gTWlz c2luZyA8IC9wcmUgPiB0YWcsIGFuZCBtaXNzaW5nIDwgcHJlPiB0YWcgZm9sbG93aW5nIGV4cGxh bmF0b3J5IHBhcmFncmFwaC4KCgoKKiBTZWN0aW9uIDE0LCBwYWdlIDI5MS4gVGhlIHBhcmFncmFw aCB1bmRlciBleGFtcGxlIDE0Ljcgc2F5cyAic2UgeGFuY2UgbWluZHUiIGluc3RlYWQgb2YgInNl IHhhbmNlIG1pbmRlIi4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQp KSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTUsIHR3byBwYXJhZ3JhcGhz IGJlZm9yZSBleGFtcGxlIDE1LjcuIEl0IHNheXMgIlRoZXJlIGFyZSBzb21lIGNvbXBhcmF0aXZl IGNvbmNlcHRzIHdoaWNoIGFyZSBpbiB3aGljaCB0aGUgJ3NlIHptYWR1JyBpcyBkaWZmaWN1bHQg dG8gc3BlY2lmeS4iIFRoZSAid2hpY2ggYXJlIGluIHdoaWNoIiBzZWVtcyBncmFtbWF0aWNhbGx5 IGluY29ycmVjdC4KCioqIERyb3AgIndoaWNoIGFyZSIuICAtLWpjb3dhbiAgICgoQXBwcm92ZWQg RXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTUsIHBhZ2UgMjk0LCBleGFt cGxlIDE1LjE0LiAibGEgYWluY3RhaW4iIG5lZWRzIGEgcGVyaW9kIGJlZm9yZSBpdCBiZWNhdXNl IGl0IHN0YXJ0cyB3aXRoIGEgdm93ZWwuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlz IEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKLS0tCgoKCiFDaGFwdGVyIDEz CgoKCiogTWFueSBpbmNpZGVudHMgb2Ygbm90IGhhdmluZyBwZXJpb2RzIGluIGZyb250IG9mIHZv d2VsLWluaXRpYWwgY21hdm8uCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJv dmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBJbiBzZWN0aW9uIDIsIHAuIDMwMCBy ZWZlcmVuY2VzIHRvIHRoZSBleGFtcGxlcyBmb3IgLnVlIGFuZCAudWVjdSdpIGFyZSBmbGlwcGVk LiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAzLCBw YWdlIDMwMywgZXhhbXBsZSAzLjkuICJlJ2UiIG5lZWRzIGEgcGVyaW9kIGJlZm9yZSBpdC4KCioq ICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERB Ry1DTEwnJwoKCgoqIFNlY3Rpb24gMywgcGFnZSAzMDMsIGV4YW1wbGUgMy4xMC4gInRpc25hIiBu ZWVkcyB0byBiZSByZXBsYWNlZCB3aXRoICJ0aXN5Z2F1Ii4KCioqICgoQXBwcm92ZWQgRXJyYXR1 bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rp b24gNCwgcGFnZSAzMDUuIFRoZSBzY2FsZSB3aXRoIHRoZSBnaXNtdSBtbmVtb25pY3MgaXMgbWlz YWxpZ25lZCB3aXRoIHRoZSBzY2FsZSB3aXRoIHRoZSBtZW1iZXJzIG9mIHNlbG1hJ28gQ0FJLiAi c2FpIiBzaG91bGQgYmUgdGFiYmVkIG9uZSBwbGFjZSBsZWZ0LCBzbyB0aGF0IGl0IGFsaWducyB3 aXRoIHRzYWxpLCAmYy4KCgoKKiBTZWN0aW9uIDcsIGl0IHNheXMgIkl0IGlzIG5vdCBjbGVhciBo b3cgbXVjaCB1c2UgbG9naWNhbGx5IGNvbm5lY3RlZCBhYnN0cmFjdG9ycyB3aWxsIGJlOiBzZWUg Q2hhcHRlciAxMy4iIEl0IHNob3VsZCBiZSAiQ2hhcHRlciAxNS4iCgoqKiAnJ0lOQ0xVREVEIElO IERBRy1DTEwnJyAoem9ydCdzIGZvcmsgYXQgbGVhc3QpIGJ1dCBuZWVkcyBhcHByb3ZhbAoKKiBT ZWN0aW9uIDEwLCBwYWdlIDMxMy4gVGhlcmUgaXMgYSBtaXNzaW5nIHNwYWNlIGJldHdlZW4gImNv bnRpbnVlIGVtb3Rpb24iIGFuZCAiZW5kIGVtb3Rpb24iLgoKCgoqIFNlY3Rpb24gMTUuIEEgc2Ft cGxlIGRpYWxvZ3VlICAxNS40KSAvIH5ucH5bQ29tbWVudF0gUGFtIHNheXMsIFtQbGVhc2VdIEFs aWNlLCBbZW5kLW9mLWNvbW1lbnRdIC8gW0NvbW1lbnRdIFBhbSBzYXlzLCBbZW5kLW9mLWNvbW1l bnRdIFtQbGVhc2VdIEFsaWNlLC9+L25wfiAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJv dmVkKSkKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xV REVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTUsIGV4YW1wbGUgMTUuNSAveGFtZ3UvZ2xl a2kvID8KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xV REVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTUsIGV4YW1wbGUgMTUuMTApIC9maSdpIHJv IHp2YXRpIGtvIHBpbnhlIHBhIGNrYWZpL2ZpJ2kgcm8genZhdGkgLmkga28gcGlueGUgcGEgY2th ZmkvCgoqKiBObywgdGhpcyBvbmUgaXMgcGVyZmVjdGx5IGZpbmU6ICJmaSdpIHJvIHp2YXRpIiBp cyBhIHZvY2F0aXZlIHBocmFzZSwgd2hpY2ggaXMgYSBmcmVlIG1vZGlmaWVyLCBtZWFuaW5nIHRo YXQgaXQgY2FuIG9jY3VyIGFsbW9zdCBhbnl3aGVyZS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293 YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTUsIGV4YW1wbGUgMTUuMTMpIC9maSdvIHNlbHBs ZWppIG1pL2ZpJ28gcGxlamkgbWkvCgoqKiBBbmQgIndpdGggcGF5ZXIiIHJhdGhlciB0aGFuICJ3 aXRoIHBheW1lbnQiOyBleSdzIG5vdCBwYXlpbmcgd2l0aCBlbXNlbGYhIC0tIGNhbWd1c21pcwoK KiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4g REFHLUNMTCcnCgoKCiogU2VjdGlvbiAxNSwgZXhhbXBsZSAxNS4xMy4gV3JvbmcgdXNlIG9mIHtz ZWxmdX0uIHtiZXZyaX0gd291bGQgZml0IGJldHRlci4KCi0tLQoKCgohQ2hhcHRlciAxNAoKCgoq IFNlY3Rpb24gOCwgcmlnaHQgYmVmb3JlIGV4YW1wbGUgOC45IGlzICJwcm9kdWNpbmcgZXhhbXBs ZSA4LjEwIiB3aGljaCBzaG91bGQgaW4gZmFjdCByZWFkICJwcm9kdWNpbmcgZXhhbXBsZSA4Ljki LiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiA5OiBi ZXR3ZWVuIGV4YW1wbGUgOS4xMCBhbmQgOS4xMSwgImlkZW50aWZpZWQiIHNob3VsZCByZWFkICJp ZGVudGljYWwiCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJ TkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDExLCByaWdodCBiZWZvcmUgc2VjdGlv biAxMi4gSXQgc2F5cyAidGVybXNldHMuLi5hcmUgZXhwbGFpbmVkIGluIENoYXB0ZXIgMTIgYW5k IENoYXB0ZXIgMTYiIGJ1dCBjaGFwdGVyIDEyICh3aGljaCBpcyBvbiBsdWp2bykgbWFrZXMgYWJz b2x1dGVseSBubyBtZW50aW9uIG9mIHRlcm1zZXRzLiBDaGFwdGVycyA5IGFuZCAxMCBkaXNjdXNz IHRlcm1zZXRzLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2Vj dGlvbiAxNCwgZXhhbXBsZSAxNC4xNSBpcyBub3QgZ3JhbW1hdGljYWwgKGFjY29yZGluZyB0byBq Ym9maSdlIGFuZCBjYW14ZXMpIGJlY2F1c2UgaXQgc2F5cyAicGUnZSAuZSIgd2hlbiBpdCBzaG91 bGQgc2F5ICJwZSdlIGplIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoK CgoqIFNlY3Rpb24gMTQsIGV4YW1wbGUgMTQuMTYgbWVudGlvbnMgInNvcm1lIiwgd2hpY2ggaXMg cHJvYmFibHkgT2xkIExvZ2xhbiwgYW5kIHNob3VsZCBiZSByZXBsYWNlZCBieSAibWVuc2kiLgoK KiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4g REFHLUNMTCcnCgoKCiogU2VjdGlvbiAxNCwgInRoZSBzdGF0ZWQgZ2xvc3Mgb2YgVEZUVGFzIOKA nG9ubHkgaWbigJ0gd29ya3MgbmF0dXJhbGx5IG9ubHkgd2hlbiB0aGUgcmlnaHQtaGFuZCBicmlk aSBpcyB0cnVlOyBpZiBpdCBpcyBmYWxzZSwgdGhlIGxlZnQtaGFuZCBicmlkaSBtYXkgYmUgZWl0 aGVyIHRydWUgb3IgZmFsc2UuIiBjaGFuZ2VkIHRvICJ0aGUgc3RhdGVkIGdsb3NzIG9mIFRGVFRh cyDigJxvbmx5IGlm4oCdIHdvcmtzIG5hdHVyYWxseSBvbmx5IHdoZW4gdGhlIHJpZ2h0LWhhbmQg YnJpZGkgaXMgZmFsc2U7IGlmIGl0IGlzIHRydWUsIHRoZSBsZWZ0LWhhbmQgYnJpZGkgbWF5IGJl IGVpdGhlciB0cnVlIG9yIGZhbHNlLiIKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMg QXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTUsIHJpZ2h0 IGFmdGVyIDE1LjksIGl0IHNheXMgImV4YW1wbGUgMTQuMTciIHdoZXJlIGl0IHNob3VsZCBzYXkg ImV4YW1wbGUgMTUuOSIgKDE0LjE3IGRvZXMgbm90IGV4aXN0KS4gICgoQXBwcm92ZWQgRXJyYXR1 bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTUsIGV4YW1wbGUgMTUuOSBpcyBub3Qg Z3JhbW1hdGljYWw7IGl0IHNob3VsZCBiZSAibGEgZGphbi4gZmEndSBsYSBmcmFuay4gY3Vza3Ug bnUnaSBiYXUgbGEgbG9qYmFuLiBwZSdlIGZhJ3UgYmFpIGxhIGRqb3Jkai4iLgoKCgoqIFNlY3Rp b24gMTksIGV4YW1wbGUgMTkuNCBpcyB0cmFuc2xhdGVkIGFzICJJIG9waW5lIHRoZSBmYWN0LXRo YXQgYS1tYXNzLW9mIGxpdmluZy10aGluZ3MgaXMtYXQgSnVwaXRlciBvci1lbHNlIEkgb3BpbmUg dGhlIGZhY3QtdGhhdCBhLW1hc3Mtb2YgbGl2aW5nLXRoaW5ncyBpc24ndC1hdCBKdXBpdGVyIiBi dXQgcmVhbGx5IGl0J3MgIkkgb3BpbmUgdGhlIGZhY3QtdGhhdCBhLW1hc3Mtb2YgbGl2aW5nLXRo aW5ncyBpcy1hdCBKdXBpdGVyIG9yLWVsc2UgSSBfX2RvLW5vdF9fIG9waW5lIHRoZSBmYWN0LXRo YXQgYS1tYXNzLW9mIGxpdmluZy10aGluZ3MgX19pcy1hdF9fIEp1cGl0ZXIiLiBTbyAxOS40IGlz IGFjdHVhbGx5IHRydWUsIG5vdCBmYWxzZSBhcyBpdCBpcyBjbGFpbWVkIHRvIGJlLgoKKiogQ29y cmVjdCwgc28gdGhpcyBleGFtcGxlIHdpbGwgbmVlZCByZXBsYWNpbmcuICAgICgoQXBwcm92ZWQg RXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIEFsc28gdGhlcmUgaXNuJ3QgcmVhbGx5IGEg cmVhc29uIGZvciBpdCB0byBzYXkgYSBtYXNzIG9mIGxpdmluZyB0aGluZ3MgYW5kIG5vdCBzb21l IGluZGl2aWR1YWwgbGl2aW5nIHRoaW5ncy4KCioqIFN0ZXQuICBUaGUgYXV0aG9yIHByZWZlcnMg aXQgdGhhdCB3YXksIHRoYW5reW91dmVyeW11Y2guICAtLWpjb3dhbi4KCgoKCgotLS0KCgoKISBD aGFwdGVyIDE1CgoKCiogU2VjdGlvbiAyLCBtaXNzaW5nIDwgL3ByZSA+IHRhZyBhZnRlciBleGFt cGxlIDIuOCBhbmQgPCBwcmU+IHRhZyBiZWZvcmUgZXhhbXBsZSAyLjkuCgoKCiogU2VjdGlvbiA0 LCBleGFtcGxlIDQuMTIgL25ha2UvbmEnZWtlLwoKCgoqIFNlY3Rpb24gOSwgdHdvIHBhcmFncmFw aHMgYWJvdmUgZXhhbXBsZSA5LjQgdGhlIHdvcmQgIm5lZ2F0aXYiIHNob3VsZCBiZSAibmVnYXRp dmUiLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiA5 OiBJcyB0aGVyZSBzdXBwb3NlZCB0byBiZSBhbnkgZGlmZmVyZW5jZSBiZXR3ZWVuIGV4LiA5LjUg YW5kIDkuNj8KCioqIFRoYXQgcHJvYmxlbSBpcyBvbmx5IGluIHRoZSBvbmxpbmUgdmVyc2lvbi4K CgoKKiBTZWN0aW9uIDEwLCB0aHJlZSBwYXJhZ3JhcGhzIGFmdGVyIGV4YW1wbGUgMTAuMTQsIHRo ZXJlJ3MgYSBzZW1pY29sb24gd2hpY2ggc2hvdWxkIGJlIGEgY29tbWEgYWZ0ZXIgIihzYXksIGEg c3BlbGxpbmcgZXJyb3IpIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoK CgoqIFNlY3Rpb24gMTAsIGl0IHNheXMgIidqaSd1bmEnaWt1JyBtZXRhbGluZ3Vpc3RpY2FsbHkg c2F5cyB0aGF0IHNvbWV0aGluZyBpcyB3cm9uZyB3aXRoIHRoYXQgYXNzdW1wdGlvbi4gKFNlZSBD aGFwdGVyIDEwLikiLiBTaG91bGRuJ3QgdGhhdCBiZSBDaGFwdGVyIDksIG1vZGFscz8KCioqICcn SU5DTFVERUQgSU4gREFHLUNMTCcnICh6b3J0J3MgZm9yayBhdCBsZWFzdCkgKChBcHByb3ZlZCBF cnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgotLS0KCgoKIUNoYXB0ZXIgMTYKCgoKKiBTZWN0aW9u IDUsIGV4YW1wbGUgNS41OiBFbmdsaXNoIGhhcyAiZXZlcnkgWSIgd2hlbiBpdCBzaG91bGQgcmVh ZCAiZXZlcnkgWCIKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAn J0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gNiwgZXhhbXBsZSA2LjYgaGFzIGEg bWlzc2luZyAiY3UiIGJlZm9yZSAidmlza2EiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1 c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA4LCB0 aGUgZXhwbGFuYXRpb24gb2YgZXhhbXBsZSA4LjMgc2F5cyAiYW55IGVudGl0eSB3aGljaCBpcyBv bmUgaXMgYWxzbyB0aGUgb3RoZXIiLiBUaGF0IHdvdWxkIGJlIHRydWUgaWYgdGhlIGV4YW1wbGUg dXNlZCB7Z299LCBidXQgaXQgdXNlcyB7Z2FuYWl9LiA4LjMgZG9lcyBub3QgY2xhaW0gdGhhdCBp ZiBzb21ldGhpbmcgd2Fsa3MgYWNyb3NzIHRoZSBmaWVsZCB0aGVuIGl0IGdvZXMgdG8gdGhlIHN0 b3JlLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpICBDaGFuZ2UgaXQgdG8g dXNlIHtnb30uICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqKiBTYW1lIHBsYWNlOiBuZWVkcyB0 byBibyB7ZGEgZ299LCBub3Qge2dvIGRhfSAgQW5kIHRoZSBnbG9zcyBzaG91bGQgYmUgIkZvci1l dmVyeSBYOiBYIGlzLWEtZ29lci10byB0aGUgc3RvcmUgaWYtYW5kLW9ubHktaWYgaXQgaXMtYS13 YWxrZXItb24gdGhlIGZpZWxkLiIgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9u IDgsIGV4YW1wbGUgOC4zLiBFaXRoZXIgdGhlIHtkYX0gc2hvdWxkIGNvbWUgYmVmb3JlIHRoZSB7 Z2FuYWl9IChvciwgYnkgdGhlIHByZXZpb3VzIF4gZXJyYXR1bSwge2dvfSkgYW5kIHRoZSBnbG9z cyBzaG91bGQgYmUgY2hhbmdlZCB0byBvbmx5IG1lbnRpb24gIlgiIG9uY2UsIG9yIGEge2RhfSBz aG91bGQgYmUgaW5zZXJ0ZWQgYmVmb3JlIHtjYWR6dX0uCgoqKiAnJ0lOQ0xVREVEIElOIERBRy1D TEwnJyAgY2hvc2UgZmlyc3Qgb3B0aW9uIHNpbmNlIGl0J3MgdGVyc2VyICh6b3J0J3MgZm9yayBh dCBsZWFzdCkgYnV0IG5lZWRzIGFwcHJvdmFsCgoKCiogVGhpczogIkFkamFjZW50IG5lZ2F0aW9u IGJvdW5kYXJpZXMgaW4gdGhlIHByZW5leCBjYW4gYmUgZHJvcHBlZCwiIHJlYWRzIGJldHRlciBh cyAiQWRqYWNlbnQgcGFpcnMgb2YgbmVnYXRpb24gYm91bmRhcmllcyBpbiB0aGUgcHJlbmV4IGNh biBiZSBkcm9wcGVkLCIKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQp KSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKioqIFRoZSBvbmxpbmUgdmVyc2lvbiBzYXlzICJB ZGphY2VudCBkb3VibGUgbmVnYXRpb24gYm91bmRhcmllcyIsIGJ1dCBJJ20gb2theSB3aXRoIGVp dGhlciAiZG91YmxlIiBvciAicGFpcnMgb2YiLiAgLS1qY293YW4KCgoKKiBTZWN0aW9uIDEwLCBl eC4gMTAuNSBhbmQgMTAuNiBoYXZlIGEgcHJlbmV4LCAibmFrdSB6byd1IiwgYWZ0ZXIgYW4gaWpl ay4gVGhpcyBpcyBub3QgYWxsb3dlZCBieSB0aGUgZ3JhbW1hci4gSXQgY291bGQgYmUgZml4ZWQg YnkgcmVtb3ZpbmcgdGhlICJ6byd1IiBhbmQgdXNpbmcgIm5ha3UiIG91dHNpZGUgdGhlIHByZW5l eCwgYWx0aG91Z2ggdGhpcyBpcyBvbmx5IGV4cGxhaW5lZCBpbiB0aGUgZm9sbG93aW5nIFNlY3Rp b24gMTEuCgoqKiBUaGlzIGlzIGEgYmlnIHByb2JsZW0sIGFuZCBJJ20gbm90IHN1cmUgd2hhdCBz aG91bGQgYmUgZml4ZWQuICAtLWpjb3dhbiAgJycnTk9GSVgnJycKCiogU2VjdGlvbiAxMiwgZXgu IDEyLjcgYW5kIDEyLjkgaGF2ZSBtaXNzaW5nICJjdSJzLgoKKiogKChBcHByb3ZlZCBFcnJhdHVt fGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlv biAxNCwgRXhhbXBsZSAxNC4xIGhhcyAiYmxhY2kiIChnbGFzcykgbm90ICJibGFiaSIgKHdoaXRl KSBhcyBwZXIgdGhlIEVuZ2xpc2guCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFw cHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKLS0tCgoKCiFDaGFwdGVyIDE3CgoK CiogU2VjdGlvbiA1LCBhZnRlciBleGFtcGxlIDUuMSwgcGFyYWdyYXBoIHN0YXJ0aW5nICJIb3dl dmVyLCAiIGhhcyBpbmNvcnJlY3QgZm9udC4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBw cm92ZWQpKQoKCgoqIFNlY3Rpb24gOSwgcGFnZSA0MjEuIGxlcmZ1IHN0cmluZ3MgYXJlIHdyaXR0 ZW4gd2l0aG91dCBwYXVzZXMgb3Igc3BhY2VzLCBldmVuIHRob3VnaCBCWSB3b3JkcyBoYXZlIHRv IGVuZCB3aXRoIGEgY29uc29uYW50LgoKKiogU3RldC4gIEJZIHdvcmRzIGRvIG5vdCBlbmQgd2l0 aCBhIGNvbnNvbmFudCwgYW5kIGEgc3RyaW5nIG9mIHRoZW0gY2FuIG5ldmVyIGJlIGFtYmlndW91 cywgc28gcGF1c2VzL3NwYWNlcyBhcmUgbm90IHJlcXVpcmVkLiAgLS1qY293YW4KCgoKKiBTZWN0 aW9uIDksIEV4YW1wbGUgOS40OiBzaG91bGRuJ3QgInN5bXlqeSIgYmUgInN5bXlkeSIgKGxvamJh biBtb3JwaG9sb2d5KT8gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoq IFNlY3Rpb24gMTAuIEFmdGVyIEV4YW1wbGUgMTAuNC41LCB0aGUgcmVmZXJlbmNlIHRvIEV4YW1w bGUgMTAuNCBzaG91bGQgYmUgaW5zdGVhZCB0byBFeGFtcGxlIDEwLjQuNS4KCioqSW4gdGhlIGN1 cnJlbnQgREFHLUNMTCwgdGhlIGV4YW1wbGVzIG51bWJlcmluZyBpcyBzYW5lLCBidXQgYWZ0ZXIg RXhhbXBsZSAxMC4zLCB0aGUgdHdvIHJlZmVyZW5jZXMgdG8gRXhhbXBsZSAxMC40IHNob3VsZCBi ZSB0byBFeGFtcGxlIDEwLjMuCgoKCiogUmlnaHQgYmVmb3JlIHNlY3Rpb24gMTIsIHRoZXJlIGlz IGEgbGluZSBicmVhayBpbiB0aGUgbWlkZGxlIG9mIHRoZSBwYXJhZ3JhcGguICAoKEFwcHJvdmVk IEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDE3LCBwYWdlIDQyNy4gIi50 dnJpeWRvcy4gYnUiIGJlZ2lucyB3aXRoIHRoZSBjb25zb25hbnQgY2x1c3Rlciwgd2hpY2ggaXNu J3QgZXZlbiBwZXJtaXNzaWJsZSBtZWRpYWxseS4KCioqIGNoYW5nZSB0byB0eXZyaXlkb3MKCioq KiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBE QUctQ0xMJycKCioqKiogQWN0dWFsbHksIGl0IHNob3VsZCBiZSAidHl2cmRvcy4gYnUiICAtLWpj b3dhbgoKCgoqIEluIHRoZSB0YWJsZSBpbiBzZWN0aW9uIDE5LCB0aGUgbGVydmxhIGZvciBvdmVy LWRvdCAoIi5nYXJtb2MuIGJ1IikgYW5kIG92ZXItcmluZyAoIi5nYXJqaW4uIGJ1Iikgc2hvdWxk IGJlIHVwZGF0ZWQgdG8gdGhlaXIgcG9zdC1SZWFsbG9jYXRpb24gZm9ybXMsICIuZ2FwbW9jLiBi dSIgYW5kICIuZ2FweWppbi4gYnUiLgoKKioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMg QXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTkgaGFzIHR3 byBjb2x1bW5zIHJ1biB0b2dldGhlciBpbiB0aGUgcm93IHRoYXQgc2F5cyAiRGFuaXNoL0xhdGlu IGFldGVpIC5hYnUgLmVidSBmb2kiCgoKCi0tLQoKCgohQ2hhcHRlciAxOAoKCgoqIFNlY3Rpb24g MywgZXguIDMuMTAsIHNob3VsZCB0cmFuc2xhdGUgYXMgIi4xMDEyMDAxIi4gICgoQXBwcm92ZWQg RXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIEluIHNlY3Rpb24gNCBleGFtcGxlIDQuNSBp cyBsaW5rZWQgaW5zdGVhZCBvZiA0LjcgLSAiRXhhbXBsZSA0LjUgaXMgbm90IGBgMSBtaW51cyAy JycsIFsuLi58Li4uXSIgd2hlcmUgZXhhbXBsZSA0LjUgaXMganVzdCAidGUnbyIuICAoKEFwcHJv dmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDUsIHA0MzcgZXg1Ljkg W2dsb3NzXTogb3VyIC0+IGZvdXIgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkp CgoqKiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gNiwgcDQzODogaiB2dSd1 IC0+IHZ1J3UgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiogJydJTkNM VURFRCBJTiBEQUctQ0xMJycKCgoKKiBTdGFydCBvZiBzZWN0aW9uIDExIHNob3VsZCByZWFkIHRo ZXJlIGFyZSBmaXZlIG1lbWJlcnMgb2YgTU9JIChub3QgZm91cikuICAoKEFwcHJvdmVkIEVycmF0 dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBJbiBzZWN0aW9uIDExLCBleCAxMS4xMCBvbiB2YSdl ICJzb2ZpJ3VwYW5vIiBpbiB0aGUgZXhhbXBsZSBpcyBnbG9zc2VkIGFzICI4LzEwIiBpbnN0ZWFk IG9mICI5LzEwIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiogJydJ TkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBJbiBzZWN0aW9uIDExLCAibGVpIHJhdGN1IHBvaSB6 dmF0aSBsZSBwYW5rYSBjdSBzbyd1bWVpIGZvIGxvJ2kgcmF0Y3UiLCBidXQgdGhlcmUgaXMgbm8g NHRoIHBsYWNlIG9mIG1laS4KCioqIFJlbW92ZSB0aGUgImZvIjsgKChBcHByb3ZlZCBFcnJhdHVt fGpjb3dhbiBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogRXhhbXBsZSAx NC40IG5lZWRzIGEgc3ViLTIgYWZ0ZXIgYm90aCBudW1iZXJzLgoKKiogKChBcHByb3ZlZCBFcnJh dHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogSW4g c2VjdGlvbiAxNywgYXQgdGhlIGJvdHRvbSBvZiBwYWdlIDQ1NCwgdGhlIHF1YWRyYXRpYyBmb3Jt dWxhIHNob3VsZCBiZSBkZXNjcmliZWQgYXMgYSBjbGFzc2ljIGV4YW1wbGUgb2Ygb3BlcmF0b3Ig bG9naWNhbCBjb25uZWN0aW9uLCBub3Qgb3BlcmFuZC4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293 YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMjAsIHA0NTg6IC1lc3RhYmxpc2hlZCAtPiBlc3Rh Ymxpc2hlZCAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlv biAyMSBzdGF0ZXMgdGhhdCB0aGUgcmFmc2kgb2YgImZyaW51IiBtYXkgYmUgdXNlZCBhcyByYWZz aSBmb3IgImZpJ3UiOyBob3dldmVyLCAiZnJpbnUiIGxvc3QgYm90aCBvZiBpdHMgc2hvcnQgcmFm c2kgaW4gdGhlIFJlYWxsb2NhdGlvbiwgc28gdGhpcyByZWFsbHkgaXNuJ3QgdmVyeSB1c2VmdWwu IFRoZSB0YWJsZSBiZWxvdyBsaXN0cyAiZmkndSIgYXMgYSByYWZzaSB1c2FibGUgZm9yICJmaSd1 IiwgdGhlcmVmb3JlIG9mICJmcmludSI7IHRoZSBnaW1zdGUgbGlzdHMgImZpJ3UiIGFzIGEgcmFm c2kgb2YgImNmaXB1Ii4KCioqIFRoaXMgaXMgYSBzZXJpb3VzIHByb2JsZW0gd2hpY2ggbmVlZHMg c29tZSB0aG91Z2h0LiAgVGhlcmUgbmVlZHMgdG8gYmUgYSByYWZzaSBmb3IgZmkndSBzb21laG93 LiAgLS1qY293YW4gICcnJ05PRklYJycnCgoKCiogU2VjdGlvbiAyMiBleGFtcGxlIDIyLjMsICJt bydlIHZvYm9pIHJlbm9tZWkgc3UnaSB6ZSIsIGRvZXMgbm90IHBhcnNlLgoKKiogSXQgbmVlZHMg InZlaSIgaW4gZnJvbnQgdG8gYmUgYSBxdWFudGlmaWVyIChhbiBvcGVyYW5kIGJ5IGl0c2VsZiBp cyBub3QgYSBwZXJtaXR0ZWQgZnJhZ21lbnQpLiBBbHNvLCB0aGUgZm9sbG93aW5nIHRleHQgbWVu dGlvbnMgInRlJ3UiIGJ1dCB0aGUgZXhhbXBsZSBvbWl0cyBpdC4KCioqKiBOb25lIG9mIHRob3Nl IGV4YW1wbGVzIHBhcnNlIHdpdGhvdXQge2xpfSwgd2hpY2ggSSBoYXZlIGFkZGVkIHRvIGFsbC4g IFJlcGxhY2VkIHRoZSBvbmUgaW4gcXVlc3Rpb24gd2l0aCAibGkgbW8nZSB2b2JvaSByZW5vbWVp IHRlJ3Ugc3UnaSB6ZSIgKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcn SU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCi0tLQoKIUNoYXB0ZXIgMTkKCgoKKiBTZWN0aW9uIDQs IHA0NjcgZXg0LjM6IHp1J28gLT4gem8ndSAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHBy b3ZlZCkpCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNM VURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDYsIHBhZ2UgNDcyLiBFeGFtcGxlIDYuNiBl bmRzIHdpdGggImtsYW1hIiwgYnV0IGZvciB0aGUgYXJndW1lbnQgdG8gbWFrZSBzZW5zZSwgaXQg aGFzIHRvIHNheSAibnVua2xhIi4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBw cm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gNywgRXhhbXBsZSA3 LjEgaGFzIGFzIHRoZSBFbmdsaXNoOiAiSSBnby10byAoZmlyc3RseSkgdGhlIHN0b3JlIGFuZCAo c2Vjb25kbHkpIHRoZSBtYXJrZXQuIiAgInRoZSBtYXJrZXQiIHNob3VsZCBiZSAidGhlIGhvdXNl Ii4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVE IElOIERBRy1DTEwnJwoKCgoqIEV4YW1wbGUgMTEuOCwgdGhlcmUncyBhIGRlbnBhYnUgYWZ0ZXIg e3phJ2V9IGFuZCBubyBkZW5wYWJ1IGFmdGVyIHthbGJlaW5pYXN9LgoKKiogJydJTkNMVURFRCBJ TiBEQUctQ0xMJycgKHpvcnQncyBmb3JrIGF0IGxlYXN0KSBidXQgbmVlZHMgYXBwcm92YWwKCgoK KiBTZWN0aW9uIDExLCB0aGUgcGFyYWdyYXBoIGFmdGVyIGV4YW1wbGUgMTEuOCBzYXlzICJjdGlp cHlyaXMiIGJ1dCBpdCBzaG91bGQgYmUgImNraWlweXJpcyIuICAoKEFwcHJvdmVkIEVycmF0dW18 amNvd2FuIEFwcHJvdmVkKSkKCi0tLQoKCgohQ2hhcHRlciAyMAoKCgoqIFNlY3Rpb24gTEUsIHBh Z2UgNDk4LiBJbiAibGUgZ2Vya3Uga2xhbWEgbGUgemRhbmkiLCAiY3UiIGlzIG1pc3NpbmcuCgoq KiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBE QUctQ0xMJycKCgoKKiBTZWN0aW9uIFRVaEUsIHBhZ2UgNTA1LiBJbiAieGFnbWF1IHpvJ3UgdHUn ZSBnYW5haSBjaWRqYSBnaSBjbmlubyAuaSBnYW5haSB2YW5qdSBnaSB0b2xjaSdvIHR1J3UiLCAi Y25pbm8iIHNob3VsZCBiZSByZXBsYWNlZCBieSAiY2l0bm8iLiAgQWxzbywgYSBwcmVuZXggY2Fu J3QgaGF2ZSBhIHNlbGJyaSwgc28gJyd4YWdtYXUnJyBzaG91bGQgYmUgcmVwbGFjZWQgYnkgJyds byB4YWdtYXUnJy4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAn J0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gU0UsIHBhZ2UgNTA0OiBtaXNzaW5n ICJjdSIgYWZ0ZXIgInphcmNpIi4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBw cm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIEluIHRoZSBwYXNzYWdlcyBvbiBW RUkgYW5kIFZFaE8sIHRoZSAiYm8icyBzaG91bGQgYmUgY2hhbmdlZCB0byAiYmknZSJzLiAgKChB cHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCi0tLQoKCgohQ2hhcHRlciAyMQoK CgoqIEluIHRoZSBCTkYgZ3JhbW1hciwgdGhlIHJ1bGUgc2ltcGxlLXRlbnNlLW1vZGFsLTk3MiBp cyBtaXNzaW5nIGEgInwiIGJlZm9yZSB0aGUgQ1VoRS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293 YW4gQXBwcm92ZWQpKQoKCgoqIEluIHRoZSBCTkYgZ3JhbW1hciwgdGhlIHJ1bGUgc2ltcGxlLXRl bnNlLW1vZGFsLTk3MiBoYXMgYW4gZXh0cmEgbmV3bGluZSBpbiB0aGUgc3BhY2UvdGltZSBzdWJw aHJhc2UuCgoKCiogSW4gdGhlIEJORiBncmFtbWFyLCB0aGUgcnVsZSBzZWxicmktMS0xMzEgaXMg bWlzc2luZyBhICJ8IiBiZWZvcmUgdGhlIE5BLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBB cHByb3ZlZCkpCgoKCiogSW4gdGhlIEJORiBncmFtbWFyLCB0aGUgcnVsZSB0YW5ydS11bml0LTIt MTUyIGlzIG1pc3NpbmcgYSAifCIgYmVmb3JlIHRoZSBKQUkuICAoKEFwcHJvdmVkIEVycmF0dW18 amNvd2FuIEFwcHJvdmVkKSkKCgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHBy b3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnIDsgYml6YXJlbGx5LCB0aGUgV29yZCBkb2Mg dGhlIGJvb2sgd2FzIHByaW50ZWQgZnJvbSBkb2VzIG5vdCBoYXZlIHRoaXMgcHJvYmxlbSBhdCBh bGwuCgoKCiogSW4gdGhlIEJORiBncmFtbWFyLCB0aGUgcnVsZSBvcGVyYXRvci0xLTM3MSBpcyBt aXNzaW5nIHR3byAifCIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoK KiBJbiB0aGUgQk5GIGdyYW1tYXIsIHRoZSBydWxlIG1leC1vcGVyYXRvci0zNzQgaXMgbWlzc2lu ZyBhICJ8IiBiZWZvcmUgdGhlIE1BaE8gYW5kIGFub3RoZXIgYmVmb3JlIHRoZSBWVWhVLiAgKChB cHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogSW4gdGhlIEJORiBncmFtbWFy LCB0aGUgcnVsZSBvcGVyYW5kLTMtMzg1IGlzIG1pc3NpbmcgYSAifCIgYmVmb3JlIHRoZSBOSWhF LiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogSW4gdGhlIEJORiBn cmFtbWFyLCBpbiB0aGUgcnVsZSB0aW1lXzEwMzAsIHRoZSAiWkVoQSBbUFUgW05BSV0gXSIgc2hv dWxkIGJlIGVuY2xvc2VkIGluIHBhcmVudGhlc2VzLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dh biBBcHByb3ZlZCkpCgoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpXaWtpbmV1cm90aWMgbWFpbGluZyBsaXN0Cldpa2luZXVyb3RpY0Bsb2piYW4ub3Jn Cmh0dHA6Ly9tYWlsLmxvamJhbi5vcmcvbWFpbG1hbi9saXN0aW5mby93aWtpbmV1cm90aWMK