Received: from localhost ([::1]:34463 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1Sgtj9-0005NX-Ll; Tue, 19 Jun 2012 01:23:55 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:43983 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1Sgtiy-0005Mz-Pd for wikichanges@lojban.org; Tue, 19 Jun 2012 01:23:53 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Tue, 19 Jun 2012 01:23:44 -0700 From: "Apache" Date: Tue, 19 Jun 2012 01:23:44 -0700 To: wikichanges@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 0.4 (/) X-Spam_score: 0.4 X-Spam_score_int: 4 X-Spam_bar: / X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page CLL, aka Reference Grammar, Errata was changed by Marica Odagaki at 08:23 UTC Comment: Added an erratum: section 13, chapter 17: description of character sets coverage You can view the page by following this link: [...] Content analysis details: (0.4 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikichanges] Wiki page CLL, aka Reference Grammar, Errata changed by Marica Odagaki X-BeenThere: wikichanges@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: wikichanges-bounces@lojban.org VGhlIHBhZ2UgQ0xMLCBha2EgUmVmZXJlbmNlIEdyYW1tYXIsIEVycmF0YSB3YXMgY2hhbmdlZCBi eSBNYXJpY2EgT2RhZ2FraSBhdCAwODoyMyBVVEMKQ29tbWVudDogQWRkZWQgYW4gZXJyYXR1bTog c2VjdGlvbiAxMywgY2hhcHRlciAxNzogZGVzY3JpcHRpb24gb2YgY2hhcmFjdGVyIHNldHMgY292 ZXJhZ2UKCllvdSBjYW4gdmlldyB0aGUgcGFnZSBieSBmb2xsb3dpbmcgdGhpcyBsaW5rOgogCmh0 dHA6Ly93d3cubG9qYmFuLm9yZy90aWtpL0NMTCUyQyUyMGFrYSUyMFJlZmVyZW5jZSUyMEdyYW1t YXIlMkMlMjBFcnJhdGEKCllvdSBjYW4gdmlldyBhIGRpZmYgYmFjayB0byB0aGUgcHJldmlvdXMg dmVyc2lvbiBieSBmb2xsb3dpbmcgdGhpcyBsaW5rOiAKaHR0cDovL3d3dy5sb2piYW4ub3JnL3Rp a2kvdGlraS1wYWdlaGlzdG9yeS5waHA/cGFnZT1DTEwlMkMlMjBha2ElMjBSZWZlcmVuY2UlMjBH cmFtbWFyJTJDJTIwRXJyYXRhJmNvbXBhcmU9MSZvbGR2ZXI9MjE0Jm5ld3Zlcj0yMTUKCgoqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpU aGUgY2hhbmdlcyBpbiB0aGlzIHZlcnNpb24gZm9sbG93IGJlbG93LCBmb2xsb3dlZCBhZnRlciBi eSB0aGUgY3VycmVudCBmdWxsIHBhZ2UgdGV4dC4KKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCgorLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwpAQCAtTGluZXM6IDQ4OS00OTIg Y2hhbmdlZCB0byArTGluZXM6IDQ4OS00OTUgQEAKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKCiogUmlnaHQgYmVmb3JlIHNlY3Rpb24g MTIsIHRoZXJlIGlzIGEgbGluZSBicmVhayBpbiB0aGUgbWlkZGxlIG9mIHRoZSBwYXJhZ3JhcGgu ICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKKyAKKyAqIEluIHNlY3Rpb24g MTMsIHRoZSBmaXJzdCBwYXJhZ3JhcGggc3RhdGVzICJIaXN0b3JpY2FsbHksIHRoZXNlIGNoYXJh Y3RlciBzZXRzIGhhdmUgb25seSBjb3ZlcmVkIHRoZSBFbmdsaXNoIGFscGhhYmV0IGFuZCBhIGZl dyBzZWxlY3RlZCBwdW5jdHVhdGlvbiBtYXJrcy4iLCB3aGljaCBpcyBpbmNvcnJlY3QuIFRoZXJl IGhhdmUgYmVlbiBtdWx0aXR1ZGVzIG9mIGNoYXJhY3RlciBzZXRzIGZvciB3cml0aW5nIHN5c3Rl bXMgb3RoZXIgdGhhbiB0aGUgRW5nbGlzaCBhbHBoYWJldC4KKyAqKiBDaGFuZ2UgdG8gc29tZXRo aW5nIGFsb25nIHRoZSBsaW5lIG9mICJIaXN0b3JpY2FsbHksIGVhY2ggb2YgdGhlc2UgY2hhcmFj dGVyIHNldHMgaGFzIG9ubHkgY292ZXJlZCBhIHBhcnRpY3VsYXIgd3JpdGluZyBzeXN0ZW0uIgoK KiBTZWN0aW9uIDE3LCBwYWdlIDQyNy4gIi50dnJpeWRvcy4gYnUiIGJlZ2lucyB3aXRoIHRoZSBj b25zb25hbnQgY2x1c3Rlciwgd2hpY2ggaXNuJ3QgZXZlbiBwZXJtaXNzaWJsZSBtZWRpYWxseS4K CistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rCkBAIC1MaW5lczogNTAxLTUwNSBjaGFuZ2VkIHRvICtMaW5lczogNTA0LTUwNyBAQAorLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwoK LS0tCi0gCiFDaGFwdGVyIDE4CgoKCgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioKVGhlIG5ldyBwYWdlIGNvbnRlbnQgZm9sbG93cyBi ZWxvdy4KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioKClRoaXMgcGFnZSBpcyBmb3IgZXJyYXRhIGluICgoVGhlIENvbXBsZXRlIExvamJh biBMYW5ndWFnZSkpLCB0aGF0IGlzIGZvciBtaXN0YWtlcyBzdWNoIGFzIHR5cG9zLCBvciBzZWxm LWNvbnRyYWRpY3Rpb25zLCBvciBjb250cmFkaWN0aW9ucyB3aXRoIG90aGVyIGJhc2VsaW5lZCBs YW5ndWFnZSBkZWZpbml0aW9uIG1hdGVyaWFsLiBUaGlzIGlzIF9fbm90X18gYSBwYWdlIHRvIHB1 dCBkZXNpZGVyYXRhIChzdWdnZXN0aW9ucyBmb3IgaW1wcm92ZW1lbnQpOyBzdWNoIHN1Z2dlc3Rp b25zIHNob3VsZCBnbyB0byAoKFN1Z2dlc3Rpb25zIGZvciBDTEwsIHNlY29uZCBlZGl0aW9uKSku ICBUaGlzIGlzIGFsc28gbm90IGEgcGFnZSB0byBwdXQgZXJyYXRhIHJlc3VsdGluZyBmcm9tIHRo ZSA0dGggQmFzZWxpbmUgR3JhbW1hciBwcm9wb3NhbCAoaS5lLiwgdGhlICgoUEVHKSkgZ3JhbW1h cik7IFBFRyBncmFtbWFyIGVycmF0YSBzaG91bGQgZ28gdG8gKChDTEwgUEVHIEVycmF0YSkpLgoK CgpBbiBvbmxpbmUgdmVyc2lvbiBvZiB0aGUgQ0xMIGluY29ycG9yYXRpbmcgdGhlIGNoYW5nZXMg b24gdGhpcyBwYWdlIFtodHRwOi8vZGFnLmdpdGh1Yi5jb20vY2xsL3xpcyBhdmFpbGFibGVdLgoK CgpTZWUgYWxzbyBbV2hhdCtpcytMb2piYW4lM0YrZXJyYXRhJmJsPXl8V2hhdCBpcyBMb2piYW4/ IGVycmF0YV0gKGZvciB0aGUgcHVibGlzaGVkIHZlcnNpb24pLCBMZXZlbCAwIEJvb2tsZXQgRXJy YXRhIFt0aWtpLWVkaXRwYWdlLnBocD9wYWdlPUxldmVsKzArQm9va2xldCtFcnJhdGEmbGFuZz18 P10gKGZvciB0aGUgcHJlLXB1YmxpY2F0aW9uIHJldmlld3M7IG5vdyBmaW5pc2hlZCksIGFuZCBb TGVzc29ucytFcnJhdGEmYmw9eXxMZXNzb25zIEVycmF0YV0gKGZvciB0aGUgYmVnaW5uZXJzJyBj b3Vyc2UpLgoKCgpUaGUgIicnSU5DTFVERUQgSU4gREFHLUNMTCcnIiB0YWcgbWVhbnMgdGhhdCBo dHRwOi8vZGFnLmdpdGh1Yi5jb20vY2xsLyBpbmNsdWRlcyB0aGlzIGZpeCwgd2hpY2ggYWxzbyBt ZWFucyBpdCdsbCBwcm9iYWJseSBiZSBpbiB0aGUgbmV4dCBDTEwgdmVyc2lvbi4KCgoKLS0tCgoK CiFDaGFwdGVyIDEKCgoKKiBUaGVyZSBpcyBhIHBhcmFncmFwaCBhdCB0aGUgdmVyeSBiZWdpbm5p bmcgb2YgQ0xMLCBvbiBwYWdlIDQsIHdpdGggdGhlIHNlbnRlbmNlICcnIkluIGVzc2VuY2UsIENo YXB0ZXIgMiBnaXZlcyBhIGJyaWVmIG92ZXJ2aWV3IG9mIHRoZSBsYW5ndWFnZSwgQ2hhcHRlciAy MSBnaXZlcyB0aGUgZm9ybWFsIHN0cnVjdHVyZSBvZiB0aGUgbGFuZ3VhZ2UsIGFuZCB0aGUgY2hh cHRlcnMgaW4gYmV0d2VlbiBwdXQgc2VtYW50aWMgYm9uZXMgb24gdGhhdCBmb3JtYWwgZmxlc2gu IicnCgoqKiBXb3VsZG4ndCBpdCBtYWtlIG1vcmUgc2Vuc2UgdG8gc2F5ICJwdXQgc2VtYW50aWMg Zmxlc2ggb24gdGhvc2UgZm9ybWFsIGJvbmVzIj8gKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBB cHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA2LCBpdCBzYXlz ICJMYXJyeSBIb3JuJ3Mgd29yayAnJ1RoZSBOYXR1cmFsIEhpc3Rvcnkgb2YgTmVnYXRpb24nJyIu IEl0IHdvdWxkIGFwcGVhciB0aGF0IGV2ZXJ5b25lIGVsc2UgY2FsbHMgaXQgJydfX0FfXyBOYXR1 cmFsIEhpc3Rvcnkgb2YgTmVnYXRpb24nJywgYnkgX19MYXVyZW5jZV9fIChSLikgSG9ybi4KCioq ICcnSU5DTFVERUQgSU4gREFHLUNMTCcnICh6b3J0J3MgZm9yayBhdCBsZWFzdCkgYnV0IG5lZWRz IGFwcHJvdmFsCgoKCi0tLQoKIUNoYXB0ZXIgMgoKCgoqIFNlY3Rpb24gNSBleGFtcGxlIDUuNyB1 c2VzICJ0aSIgdG8gcG9pbnQgYXQgYSBsYW5ndWFnZSwgYW5kIHNob3VsZCBoYXZlIGl0cyBhY2Nv bXBhbnlpbmcgbm90ZSBjaGFuZ2VkIHRvIG1vcmUgYWNjdXJhdGVseSByZWZsZWN0IHRoYXQgdGhp cyBpcyBub3QgaG93ICJ0aSIgd29ya3MuCgoKCiogU2VjdGlvbiA2IEV4YW1wbGUgNi41IGhhcyAi Y3UiIGFzIGVsaWRhYmxlLCB3aGVuIGluIGZhY3QgaXQgaXMgc2ltcGx5IGlsbGVnYWwgdGhlcmUu ICBSZW1vdmVkLiAgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCioqIHVhbmFpLCBJIHN0aWxsIHNl ZSAiY3UiIGluIERBRy1DTEwuCgoKCiogU2VjdGlvbiA4IHBhZ2UgMTcgY2xhaW1zIHRoYXQgInh1 IiBpcyBkaXNjdXNzZWQgaW4gc2VjdGlvbiAxLjcsIHdoaWNoIGhhcHBlbnMgdG8gbGlzdCB0aGUg Y2FwdGlvbnMgZm9yIGFsbCB0aGUgY2hhcHRlciBwaWN0dXJlcy4KCioqIEl0IHNob3VsZCByZWZl ciB0byBTZWN0aW9uIDE1LiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpICcn SU5DTFVERUQgSU4gREFHLUNMTCcnCgoqKiogVGhlIGxpbmsgaW4gdGhlIGN1cnJlbnQgREFHLUNM TCBpcyBwb2ludGluZyB0byAiMi8yLzE1IiBpbnN0ZWFkIG9mIHRvICIyLzE1Ii4KCgoKKiBTZWN0 aW9uIDEwIHNheXMgdGhhdCBleGFtcGxlIDEwLjMgKG1pIHRhdmxhIGRvIGxlIHRhdmxhIGt1KSBt ZWFucyB0aGUgc2FtZSBhcyAobWkgdGF2bGEgZG8gbGUgdGF2bGEga3UpLiBFeGFtcGxlIDEwLjMg c2hvdWxkIGJlICJtaSB0YXZsYSBkbyBsZSB0YXZsYSIsIGFzIGl0IGRlc2NyaWJlcyBob3cgImt1 IiBtYXkgYmUgb21pdHRlZC4KCioqIEl0IGFwcGVhcnMgdGhhdCBleGFtcGxlIDEwLjMgaXMgaW5j b3JyZWN0IG9ubHkgaW4gdGhlIG9ubGluZSB2ZXJzaW9uLCBub3QgdGhlIHB1Ymxpc2hlZCBib29r LgoKCgoqIFNlY3Rpb24gMTcgc2F5cyAiTm90ZSB0aGF0IEV4YW1wbGUgMTcuMyAgaGFzIGFuZCBy ZXF1aXJlcyBhIOKAnGN14oCdIHRvIHByZXZlbnQg4oCcYmFqcmHigJ0gYW5kIOKAnGtsYW1h4oCd IGZyb20gZm9ybWluZyBhIHRhbnJ1LCBidXQgRXhhbXBsZSAxNy40ICBhbmQgRXhhbXBsZSAxNy41 ICBsYWNrIHRoZSB1bm5lY2Vzc2FyeSDigJxjdeKAnS4iLCBidXQgZXhhbXBsZSAxNy4zIGlzICJs YSBkamFuLiB+bnB+W2N1XX4vbnB+IGtsYW1hIGxlIHphcmNpIi4KCioqIEl0IGFwcGVhcnMgdGhh dCB0aGUgb2ZmZW5kaW5nIHNlbnRlbmNlIGlzIHByZXNlbnQgb25seSBpbiB0aGUgb25saW5lIHZl cnNpb24sIG5vdCB0aGUgcHVibGlzaGVkIGJvb2suCgoKCiogRXhhbXBsZSAxNy45IGlzICJsZSB2 aSB0YXZsYSBrdSBjdSBiYSBrbGFtYSIgaW4gdGhlIG9ubGluZSB2ZXJzaW9uLCBhbmQgdG90YWxs eSBicm9rZW4gaW4gdGhlIHB1Ymxpc2hlZCBib29rLgoKKiogR28gd2l0aCB0aGUgb25saW5lIHZl cnNpb24uICAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURF RCBJTiBEQUctQ0xMJycKCgoKKiBFeGFtcGxlIDE3LjkgaW4gZGFnLWNsbCBhcyBvZiAyMDEyLTA1 LTA1IGlzICJsZSB2aSB0YXZsYSB+bnB+W2t1XX4vbnB+IGN1IGJhIGtsYW1hIi4gU2luY2UgdGhl IHNhbWUgc2VjdGlvbiBoYXMgZXhwbGFpbmVkIHRoYXQgdGVuc2UgdGFncyBtYWtlICJjdSIgdW5u ZWNlc3NhcnksIEkgdGhpbmsgdGhlIGV4YW1wbGUgc2hvdWxkIGJlICJsZSB2aSB0YXZsYSB+bnB+ W2t1XSBbY3Vdfi9ucH4gYmEga2xhbWEiLgoKCgotLS0KCgoKISBDaGFwdGVyIDMKCgoKQSBsb3Qg b2YgdGhlIElQQSBleGFtcGxlcyB1c2UgYSBzcGFjZSB0byBpbmRpY2F0ZSBhIHN5bGxhYmxlIGJy ZWFrLiBUaGlzIGlzIG5vdCBzdGFuZGFyZCBJUEEgdXNhZ2U7IGFjY29yZGluZyB0byBJUEEsIHRo ZSBwZXJpb2Qg4oCcLuKAnSBzaG91bGQgYmUgdXNlZCB0byBpbmRpY2F0ZSBhIHN5bGxhYmxlIGRp dmlzaW9uLgoKCgoqIFNlY3Rpb24gMiwgcGFnZSAzMDogaW4gdGhlIHRhYmxlIHRoZSBkZXNjcmlw dGlvbiBvZiAiYXBvc3Ryb3BoZSIgc2hvdWxkIHJlYWQgImFuIHVudm9pY2VkIGdsb3R0YWwgc3Bp cmFudCIsIG5vdCAiYSB1bnZvaWNlZCIuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlz IEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDIsIGRpZ2l0 YWwgdmVyc2lvbi4gIFRoZSBJUEEgdGFibGUgZ290IGhvcnJpYmx5IG1hbmdsZWQgc29tZXdoZXJl IGFsb25nIHRoZSB3YXkuICBJdCBzaG91bGQgbG9vayBsaWtlIChTQU1QQSBjb2x1bW4gYWRkZWQp OgoKCgp8fCBMZXR0ZXIgfCBJUEEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 IFNBTVBBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBEZXNjcmlw dGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogJyAgICAgIHwgW2hd ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbaF0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYW4gdW52b2ljZWQgZ2xvdHRhbCBzcGlyYW50 ICAgICAgICAgICAgICAgICAgICAgIAoKICwgICAgICB8IC0tLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgLS0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8IHRoZSBzeWxsYWJsZSBzZXBhcmF0b3IgICAgICAgICAgICAgICAgICAgICAgICAg ICAKCiAuICAgICAgfCBbypRdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBb P10gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSBnbG90dGFs IHN0b3Agb3IgYSBwYXVzZSAgICAgICAgICAgICAgICAgICAgICAgIAoKIGEgICAgICB8IFthXSwg W8mRXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFthXSwgW0FdICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhbiBvcGVuIHZvd2VsICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgCgogYiAgICAgIHwgW2JdICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCBbYl0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgYSB2b2ljZWQgYmlsYWJpYWwgc3RvcCAgICAgICAgICAgICAgICAgICAgICAgICAg IAoKIGMgICAgICB8IFvKg10sIFvKgl0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBb U10sIFtzYF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYW4gdW52b2lj ZWQgcG9zdGFsdmVvbGFyIGZyaWNhdGl2ZSAgICAgICAgICAgICAgICAgICAgIAoKIGQgICAgICB8 IFtkXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW2RdICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgdm9pY2VkIGRlbnRhbC9hbHZlb2xh ciBzdG9wICAgICAgICAgICAgICAgICAgICAKCiBlICAgICAgfCBbyZtdLCBbZV0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCBbRV0sIFtlXSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgYSBmcm9udCBtaWQgdm93ZWwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIAoKIGYgICAgICB8IFtmXSwgW8m4XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8IFtmXSwgW3BcXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhbiB1 bnZvaWNlZCBsYWJpYWwgZnJpY2F0aXZlICAgICAgICAgICAgICAgICAgICAgCgogZyAgICAgIHwg W8mhXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW2ddICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgdm9pY2VkIHZlbGFyIHN0b3AgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAKCiBpICAgICAgfCBbaV0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8IFtpXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCBhIGZyb250IGNsb3NlIHZvd2VsICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgCgogaiAgICAgIHwgW8qSXSwgW8qQXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8IFtaXSwgW3pgXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhIHZv aWNlZCBwb3N0YWx2ZW9sYXIgZnJpY2F0aXZlICAgICAgICAgICAgICAgICAgICAgICAgCgogayAg ICAgIHwgW2tdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBba10gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYW4gdW52b2ljZWQgdmVsYXIg c3RvcCAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKIGwgICAgICB8IFtsXSwgW2zMqV0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbbF0sIFtsPV0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgYSB2b2ljZWQgbGF0ZXJhbCBhcHByb3hpbWFudCAobWF5IGJl IHN5bGxhYmljKSAgIAoKIG0gICAgICB8IFttXSwgW23MqV0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCBbbV0sIFttPV0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgYSB2b2ljZWQgYmlsYWJpYWwgbmFzYWwgKG1heSBiZSBzeWxsYWJpYykgICAgICAgIAoKIG4g ICAgICB8IFtuXSwgW27MqV0sIFvFi10sIFvFi8ypXSAgICAgICAgICAgICAgICAgICAgIHwgW25d LCBbbj1dLCBbTl0sIFtOPV0gICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgdm9pY2VkIGRl bnRhbCBvciB2ZWxhciBuYXNhbCAobWF5IGJlIHN5bGxhYmljKSAKCiBvICAgICAgfCBbb10sIFvJ lF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbb10sIFtPXSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSBiYWNrIG1pZCB2b3dlbCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIAoKIHAgICAgICB8IFtwXSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgW3BdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8IGFuIHVudm9pY2VkIGJpbGFiaWFsIHN0b3AgICAgICAgICAgICAgICAgICAgICAgICAK CiByICAgICAgfCBbcl0sIFvJuV0sIFvJvl0sIFvKgF0sIFtyzKldLCBbybnMqV0sIFvJvsypXSwg W8qAzKldIHwgW3JdLCBbclxdLCBbNF0sIFtSXF0sIFtyPV0sIFtyXD1dLCBbND1dLCBbUlw9XSB8 IGEgcmhvdGljIHNvdW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiBzICAg ICAgfCBbc10gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtzXSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhbiB1bnZvaWNlZCBhbHZlb2xh ciBzaWJpbGFudCAgICAgICAgICAgICAgICAgICAgCgogdCAgICAgIHwgW3RdICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCBbdF0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgYW4gdW52b2ljZWQgZGVudGFsL2FsdmVvbGFyIHN0b3AgICAgICAg ICAgICAgICAgIAoKIHUgICAgICB8IFt1XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgW3VdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEg YmFjayBjbG9zZSB2b3dlbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiB2ICAgICAg fCBbdl0sIFvOsl0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbdl0sIFtCXSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSB2b2ljZWQgbGFiaWFsIGZyaWNh dGl2ZSAgICAgICAgICAgICAgICAgICAgICAKCiB4ICAgICAgfCBbeF0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8IFt4XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCBhbiB1bnZvaWNlZCB2ZWxhciBmcmljYXRpdmUgICAgICAgICAgICAgICAg ICAgICAgCgogeSAgICAgIHwgW8mZXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgW0BdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgY2Vu dHJhbCBtaWQgdm93ZWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiB6ICAgICAgfCBb el0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFt6XSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhIHZvaWNlZCBhbHZlb2xhciBzaWJpbGFu dCAgICAgICAgICAgICAgICAgICAgICAgfHwKCgoKKiogU29ydC1vZiAoKEFwcHJvdmVkIEVycmF0 dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSk7IHdoYXQgSSBhY3R1YWxseSBkaWQgaXMgaGFkIEFybnQg cmV2aWV3IHdoYXQgc29tZW9uZSBlbnRlcmVkIGluIERBRy1DTEwsIHdoaWNoIHByZXN1bWFibHkg d2FzIGJhc2VkIG9uIHRoZSBhYm92ZS4gICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2Vj dGlvbiAyLCBwYWdlIDMwLiBmb3IgdGhlIHNlY29uZCBlbmcgKGltbWVkaWF0ZWx5IHRvIHRoZSBs ZWZ0IG9mICIobWF5IGJlIHN5bGxhYmljKSIpIHRoZSBzeWxsYWJpY2l0eSBtYXJrZXIgaXMgY29u Y2VhbGVkIGJ5IHRoZSByaWdodCB0YWlsLgoKKiogSSBjYW4ganVzdCBiYXJlbHkgc2VlIHRoZSBt YXJrZXIgdW5kZXIgYSBnb29kIGxpZ2h0LiAgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBw cm92ZWQpKQoKKioqIEZvciBmdXR1cmUgZWRpdGlvbnMgOi0pICwgbm90ZSB0aGF0IHRoZSBJUEEg YXBwcm92ZXMgcHV0dGluZyBkaWFjcml0aWNzIGFib3ZlIHJhdGhlciB0aGFuIGJlbG93IHRoZSBs ZXR0ZXIgaW4gY2FzZXMgbGlrZSB0aGVzZS4gVW5mb3J0dW5hdGVseSwgdGhlIGZvbnRzIGhpdGhl cnRvIGF2YWlsYWJsZSBoYXZlIG5vdCBtYWRlIHRoaXMgZmFjaWxpdHkgYXZhaWxhYmxlLCBzbyBv dXRzaWRlIHRoZSBqb3VybmFsIG9mIHRoZSBJUEEgaXRzZWxmLCBzdWNoIG92ZXItZGlhY3JpdGlj cyBhcmUgc2VsZG9tIHNlZW4uIOKAlCBuaXRjaW9uCgoKCiogSW4gc2VjdGlvbiAzLjIsIHRoZSBj b21tYSBzaG91bGQgKHByb2JhYmx5KSBiZSByZXByZXNlbnRlZCBieSB0aGUgSVBBIG5vdGF0aW9u IFsufC5dLCBhcyB0aGUgcGVyaW9kIGlzIHVzZWQgaW4gSVBBIHRvIGRlbm90ZSBzeWxsYWJsZSBi cmVha3MuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9u IDIsIHBhZ2UgMzAuIEZvciB0aGUgTG9qYmFuIHBob25lbWUgL3IvLCB0aGUgSVBBIHN5bWJvbCBm b3IgYSBkZW50YWwvYWx2ZW9sYXIgdm9pY2VkIGFwaWNhbCB0YXAgaXMgZ2l2ZW4gd2l0aCBhIHN5 bGxhYmljaXR5IG1hcmtlciBiZWxvdy4gQSB0YXAgY2FuJ3QgYmUgc3lsbGFiaWMsIGJlY2F1c2Ug aXQgaXMgYnkgZGVmaW5pdGlvbiBpbnN0YW50YW5lb3VzLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpj b3dhbiBBcHByb3ZlZCkpIEp1c3QgcmVtb3ZlIHRoYXQgY2FzZSBhbHRvZ2V0aGVyLgoKCgoqIFNl Y3Rpb24gMi4gIFRoZSBkZXNjcmlwdGlvbnMgb2YgJydjJycgYW5kICcnaicnIGFyZSBsaXN0ZWQg YXMgImNvcm9uYWwgc2liaWxhbnQicy4gIFRoZSBkZXNjcmlwdGlvbnMgc2hvdWxkIHJlYWQgInZv aWNlbGVzcyBwb3N0YWx2ZW9sYXIgZnJpY2F0aXZlIiBhbmQgInZvaWNlZCBwb3N0YWx2ZW9sYXIg ZnJpY2F0aXZlIiwgcmVzcGVjdGl2ZWx5LiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHBy b3ZlZCkpCgoKCiogU2VjdGlvbiAzLCB0aGlyZCBwYXJhZ3JhcGggKHBhZ2UgMzEpOiAiYSB1bnZv aWNlZCB2b3dlbCBnbGlkZSIgc2hvdWxkIGJlICJhbiB1bnZvaWNlZCB2b3dlbCBnbGlkZSIuCgoq KiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBE QUctQ0xMJycKCgoKKiBTZWN0aW9uIDYsIHBhZ2UgMzYuIElQQSBmb3IgdGhlIHVuYWNjZXB0YWJs ZSBBbWVyaWNhbiBmbGFwIHZhcmlhbnQgb2YgaW50ZXJ2b2NhbGljICcndCcnIHNob3dzIHRoZSBH QSAnJ3InJyBzb3VuZCAodXBzaWRlLWRvd24gcikgaW5zdGVhZCBvZiB0aGUgZmxhcCAobGlrZSBh biByIHdpdGggbm8gdmVydGljYWwgYml0IGF0IHRoZSB0b3Ag4oCUIHNlZSB0aGUgbGlzdCBvZiBh Y2NlcHRpYmxlICcncicnIHZhcmlhbnRzIG9uIG9uIHBhZ2UgNDQgd2hlcmUgaXQgYXBwZWFycyBj b3JyZWN0bHkpICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCioqICgoQXBw cm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwn JwoKCgoqIFNlY3Rpb24gNiwgcGFnZSAzNi4gKFNhbWUgYXMgcHJldmlvdXMgZXJyYXR1bSkgVGhl IGNvbnNvbmFudCBpcyByZWZlcnJlZCB0byBhcyBhIGZsYXAsIHdoaWxlIGl0IGlzIGFjdHVhbGx5 IGEgdGFwLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlv biA3LiBJbiBiZXR3ZWVuIHRoZSBzaGFkZWQgYm94ZXMsICJhIHBhaXJpbmcgb2Ygdm9pY2VkIGFu ZCB1bnZvaWNlZCBlcXVpdmFsZW50IHZvd2VscyIgc2hvdWxkIHJlYWQgImEgcGFpcmluZyBvZiB2 b2ljZWQgYW5kIHVudm9pY2VkIGVxdWl2YWxlbnQgY29uc29uYW50cyIuCgoKCiogU2VjdGlvbiA4 LCBwYWdlIDM4LiBJUEEgZm9yIHByb251bmNpYXRpb24gb2YgInhhcGNrZSIgaGFzIGMgd2hlcmUg aXQgc2hvdWxkIGhhdmUgUyAobG9uZyBzKS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBw cm92ZWQpKQoKCgoqIFNlY3Rpb24gOSwgcGFnZSA0MC4gSVBBIGZvciBwcm9udW5jaWF0aW9uIG9m ICJkaWt5anZvIiBoYXMgaiB3aGVyZSBpdCBzaG91bGQgaGF2ZSBaICh0aGF0IGxpdHRsZSBzY3Jp cHQgeiB0aGluZykgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiogKChB cHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNM TCcnCgoKCiogU2VjdGlvbiAxMiwgcGFnZSA0Ni4gV2hhdCBzaG91bGQgYmUgdGhlIEN5cmlsbGlj IGxldHRlciA7IGlzIHByaW50ZWQgYXMgc29tZXRoaW5nIHRoYXQgbG9va3MgbGlrZSB0aGUgR3Jl ZWsgbGV0dGVyIC4gSXMgdGhpcyBvbmx5IGEgdHlwb2dyYXBoaWNhbCB2YXJpYW50IG9mIHRoZSA7 LCBvciBpcyBpdCBhIHZhcmlhbnQ/CgoKCioqIFRoaXMgZXJyYXR1bSBpcyBpbmRlY2lwaGVyYWJs ZSBhbmQgc2hvdWxkIGJlIGRyb3BwZWQsIHVubGVzcyBzb21lb25lIGNhbiByZWNvbnN0cnVjdCBp dC4gIFRoZSBDeXJpbGxpYyBsZXR0ZXJzIGxvb2sgZmluZS4gIC0tamNvd2FuCgoKCiogU2VjdGlv biAxMiwgcGFnZSA0Ni4gUmVwbGFjZSB0aGUgd29yZHMgInRoZSBoYXJkIHNpZ24iIHdpdGggYW4g YWN0dWFsIGhhcmQgc2lnbiwgVSswNDRBIENZUklMTElDIFNNQUxMIExFVFRFUiBIQVJEIFNJR04u CgoKCiogU2VjdGlvbiAxMiwgcGFnZSA0Ny4gImFyZS8iZXNzZSIgc2hvdWxkIHByb2JhYmx5IGJl ICJhcmUiLyJlc3NlIiAodGhlIGFjdXRlIG9uIHRoZSBhIG1heSBvciBtYXkgbm90IGhhdmUgYmVl biBsZWZ0IG9mZiwgYnV0IHRoZSBjbG9zaW5nIHF1b3RlIGFmdGVyIGFyZSBpcyBkZWZpbmF0ZWx5 IG1pc3NpbmcuKQoKKiogTXkgY29weSBzaG93cyB0aGUgYWN1dGUuCgoqKiAoKEFwcHJvdmVkIEVy cmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKLS0t CgoKCiFDaGFwdGVyIDQKCgoKKiBTZWN0aW9uIDQsIHBhZ2UgNTQuIFRoZSBib29rIHN0YXRlcyB0 aGF0IGZ1J2l2bGEgd2l0aCBhIGZvcm0gbGlrZSAnJ3NwYSdpJycgYXJlIHZhbGlkLiBUaGV5IGFy ZSBub3QsIHRoZXkgZmFpbCB0aGUgc2xpbmt1J2kgdGVzdC4gKChBcHByb3ZlZCBFcnJhdHVtfGpj b3dhbiBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA2LCBw IDU4LCAiLWxhYyIgaW4gdGhlIHRoaXJkIHRhYmxlIGluIHRoYXQgc2VjdGlvbiBzaG91bGQgYmUg Ii1sYWMtIgoKCgoqIFNlY3Rpb24gNiwgaXQgc2F5cyAiTW9zdCBjbWF2byB0aGF0IGhhdmUgcmFm c2kgYXJlIG9uZXMgdXNlZCBpbiBjb21wb3NpbmcgdGFucnUgKGZvciBhIGNvbXBsZXRlIGxpc3Qs IHNlZSBDaGFwdGVyIDEyKSIsIGJ1dCB0aGVyZSBpcyBubyBzdWNoIGxpc3QgaW4gQ2hhcHRlciAx Miwgb3IgYW55d2hlcmUgaW4gdGhlIGJvb2sgKGp1J29zYWkpLiBQZXJoYXBzIGl0IHdhbnRzIHRv IHBvaW50IHRvIHRoZSBsaXN0IG9mIFBBIHJhZnNpIGluIENoYXB0ZXIgMTggc2VjdGlvbiAyNT8g T3IgdG8gdGhlIGxpc3RzIG9mIHRhbnJ1IGluIENoYXB0ZXIgNSBzZWN0aW9ucyAxNCBhbmQgMTU/ CgoqKiBXaGF0IEkgcHJvYmFibHkgbWVhbnQgd2FzIHRoYXQgQ2hhcHRlciAxMiwgdGFrZW4gYXMg YSB3aG9sZSwgZGlzY3Vzc2VzIHRoZSBjbWF2byB1c2VkIGluIGNvbnN0cnVjdGluZyB0YW5ydS4g IEkgZG9uJ3QgdGhpbmsgYW55IHNwZWNpZmljIGxpc3QgZXZlciBleGlzdGVkLiAgSSdkIGp1c3Qg ZHJvcCB0aGUgcGFyZW50aGV0aWNhbCBzZW50ZW5jZS4KCgoKKiBTZWN0aW9uIDYsIGp1c3QgYWZ0 ZXIgZXhhbXBsZSA2LjkuIEl0IHNheXMgInNvbWUgb2YgdGhlIHVucmVkdWNlZCBmb3JtcyBpbiB0 aGUgcHJldmlvdXMgZXhhbXBsZSIsIGJ1dCBpdCBpcyBub3QgcmVmZXJyaW5nIHRvIHRoZSBwcmV2 aW91cyBleGFtcGxlOiBpdCBpcyByZWZlcnJpbmcgYWxsIHRoZSB3YXkgYmFjayB0byBleGFtcGxl cyA2LjEgYW5kIDYuMiwgc28gaXQgc2hvdWxkIGJlICJzb21lIG9mIHRoZSB1bnJlZHVjZWQgZm9y bXMgaW4gdGhlIHByZXZpb3VzIGV4YW1wbGVfX3NfXyIuCgoqKiAnJ0lOQ0xVREVEIElOIERBRy1D TEwnJyAoem9ydCdzIGZvcmsgYXQgbGVhc3QpCgooQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBw cm92ZWQpKSAgUmVmZXIgZXhwbGljaXRseSB0byA2LjEgYW5kIDYuMgoKCgoqIFNlY3Rpb24gNywg cGFnZSA2MC4gSW4gZXhhbXBsZSA2LjE2LCB0aGUgd29yZCAieGFybnlrYXJjZSIgaXMgZ2xvc3Nl ZCBhcyAid2FyLWNhciIuIEVpdGhlciB0aGUgZ2xvc3Mgc2hvdWxkIGJlIHVwZGF0ZWQgdG8gcmVm bGVjdCB0aGUgdmVsanZvICgic3R1YmJvcm4tY2FyIiksIG9yIHRoZSBsdWp2byBzaG91bGQgYmUg dXBkYXRlZCB0byByZWZsZWN0IHRoZSBnbG9zcyAiamFta2FyY2UiCgoqKiBUaGUgbGF0dGVyICgo QXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1D TEwnJwoKCgoqIFNlY3Rpb24gNywgbWFraW5nIGEgdHlwZSAzIGZ1J2l2bGEsIHN0ZXAgNSBzaG91 bGQgcmVhZCAic3RlcHMgMS00Iiwgbm90ICJzdGVwcyAxLTUiLiAgKChBcHByb3ZlZCBFcnJhdHVt fGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiA3LCBzdGVwIDUgb2YgdGhlIFN0YWdlIDMg ZnUnaXZsYTogImlmIHRoZSByYWZzaSBlbmRzIGluICcncicnIGFuZCB0aGUgcmVzdCBvZiB0aGUg ZnUnaXZsYSBiZWdpbnMgd2l0aCAnJ24nJyAob3IgdmljZSB2ZXJzYSkgdXNlIGFuICcnbCcnLWh5 cGhlbiIgc2hvdWxkIHJlYWQgICJpZiB0aGUgcmFmc2kgZW5kcyBpbiAnJ3InJyBhbmQgdGhlIHJl c3Qgb2YgdGhlIGZ1J2l2bGEgYmVnaW5zIHdpdGggJyduJycsICcndGMnJywgJyd0cycnLCAnJ2R6 Jycgb3IgJydkaicnLCBvciB0aGUgcmFmc2kgZW5kcyBpbiAnJ24nJyBhbmQgdGhlIHJlc3Qgb2Yg dGhlIGZ1J2l2bGEgYmVnaW5zIHdpdGggJydyJycgdXNlIGFuICcnbCcnLWh5cGhlbiIuICAoKEFw cHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBUaGUgZW5kIG9mIHNlY3Rpb24g NyBzZWVtcyB0byBpbXBseSB0aGF0IGNtZW5lIGFyZSBleGVtcHQgZnJvbSB0aGUgbm9ybWFsIHJl c3RyaWN0aW9ucyBvbiBjb25zb25hbnQgY2x1c3RlcnMgYXMgbG9uZyBhcyBlYWNoIGNvbnNvbmFu dCBwYWlyIGlzIHZhbGlkLgoKCgoqIFNlY3Rpb24gOC4gRXhhbXBsZSA4LjEwICcnZGphbmRqb256 JycgaXMgbm90IHZhbGlkIGxvamJhbiBhcyBpdCBjb250YWlucyB0aGUgZm9yYmlkZGVuIGNvbnNv bmFudCBzZXF1ZW5jZSBgbmRqYC4gICAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3Zl ZCkpICBSZXBsYWNlIHdpdGggYSBkaWZmZXJlbnQgbmFtZS4KCioqIFJlcGxhY2luZyB3aXRoICJK b2huIEJyb3duIiBhcyAiZGphbmJyYXVuIi4gLS1ybHBvd2VsbCAnJ0lOQ0xVREVEIElOIERBRy1D TEwnJwoKCgoqIFNlY3Rpb24gOCwgcGFnZSA2Ni4gRXhhbXBsZSA4LjEyLiBTYXlzIHRoYXQgdGhl IGdpc211ICJzb2xyaSIgbWVhbnMgImFjdHVhbGx5LCAncGVydGFpbmluZyB0byB0aGUgc3VuJyIu IFRoaXMgaXMgZmFsc2UuIEFjY29yZGluZyB0byB0aGUgZ2lzbXUgbGlzdCwgaXQgbWVhbnMgJydp cycnYSBzdW4uCgoqKiBMZWF2ZSB0aGlzIG9uZSBhbG9uZS4gIEFzIGEgc2VsdGF1LCAic29scmki IGRvZXMgaW5kZWVkIG1lYW4gInNvbGFyIi4gIC0tamNvd2FuCgoKCiogU2VjdGlvbiAxMSwgNWEp ICcnRXhhbWluZSBhbGwgdGhlIEMvQyBjb25zb25hbnQgcGFpcnMgdGhhdCBqb2luIHRoZSBDVkMg cmFmc2ksIGFuZCBhbHNvIHRoZSBwYWlyIGJldHdlZW4gdGhlIGxhc3QgQ1ZDIGFuZCB0aGUgWCBw b3J0aW9uLCBpZ25vcmluZyBhbnkgInkiLWh5cGhlbiBiZWZvcmUgdGhlIFguJycgc2hvdWxkIHJl YWQgaW5zdGVhZDogJydFeGFtaW5lIGFsbCB0aGUgQy9DIGNvbnNvbmFudCBwYWlycyB1cCB0byB0 aGUgZmlyc3QgInkiLWh5cGhlbiwgb3IgdXAgdG8gdGhlIGVuZCBvZiB0aGUgd29yZCBpbiBjYXNl IHRoZXJlIGFyZSBubyAieSItaHlwaGVucy4nJwoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1 c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxMi4g SW4gRXhhbXBsZXMgMTIuMiwgMTIuMyBhbmQgMTIuNCB0aGUgY2FsY3VsYXRpb25zIGFyZSBnaXZl biBhcyAzMjUwMCBtaW51cyB0aGUgc2NvcmUsIGluc3RlYWQgb2Ygc2ltcGx5IHRoZSBzY29yZS4g KFByb2JhYmx5IGZyb20gcHJldmlvdXMgdmVyc2lvbnMgb2YgdGhlIGFsZ29yaXRobS4pICAgICgo QXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTMsIHBhZ2Ug NzQsIHRoaXJkIHRhYmxlOiB0aGVyZSBpcyBubyBzcGFjZSBiZXR3ZWVuICJsb2piYXVncmkiIGFu ZCAibG9qYmFuZ3lncmkiLCBzbyB0aGF0IHRoZXkgYXJlIHJ1biBpbnRvIG9uZSB3b3JkIGluIHRo ZSBzZWNvbmQgY29sdW1uIG9mIHRoZSB0YWJsZS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4g QXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTUgc3RhdGVzIHRoYXQgImR6aXBvIiBjb21lcyBmcm9t ICJjYWR6dSBjaXBuaSIgKCJ3YWxraW5nIGJpcmQiKS4gIFRoaXMgZmFpbHMgdG8gbWFrZSBzZW5z ZSBlaXRoZXIgZXR5bW9sb2dpY2FsbHkgb3Igc2VtYW50aWNhbGx5IChJZiB0aGUgbmFtZSByZWZl cnMgdG8gcGVuZ3VpbnMsIHRoZXJlIGFyZSBhIGxvdCBvZiBvdGhlciBmZWF0dXJlcyBvZiBBbnRh cmN0aWNhIHRoYXQgYXJlIG1vcmUgcHJvbWluZW50IGFuZCBub3Qgc2hhcmVkIGJ5IG90aGVyIHBs YWNlcykuICBJIHN1c3BlY3QgdGhhdCB0aGUgd29yZCBtYXkgYWN0dWFsbHkgY29tZSBmcm9tICJk aXpsbyBkYXBsdSIgKCJsb3cgaXNsYW5kIiksIHdoaWNoIGlzIGEgc29tZXdoYXQgbW9yZSByZWFz b25hYmxlIG5hbWUuCgoqKiBOb3QgYW4gZXJyYXR1bSwgdGhlIHdvcmQgcmVhbGx5IGRvZXMgY29t ZSBmcm9tICJjYURadSBjSVBuaSIuIFRoYXQgaXQgZmFpbHMgdG8gbWFrZSBzZW5zZSBkb2Vzbid0 IGNoYW5nZSB0aGUgZmFjdCB0aGF0IHRoYXQgaXMgaG93IHRoZXkgY29uc3RydWN0ZWQgaXQuIFRo ZSBldHltb2xvZ2llcyBvZiAiYmVtcm8iIGFuZCAia2V0Y28iIG1ha2UgZXZlbiBsZXNzIHNlbnNl LCBieSB0aGUgd2F5LgoKKioqIENvcnJlY3QsIGJ1dCB0aGUgZXR5bW9sb2dpZXMgYXJlIHdoYXQg dGhleSBhcmUuICAtLWpjb3dhbgoKCgotLS0KCgoKIUNoYXB0ZXIgNQoKCgoqIFNlY3Rpb24gNiwg ZXhhbXBsZSA2LjE1OiBJdCBzYXlzIHt4YW1ndSBqbyBjb3J0dSBudW50YXZsYX0sIGFuZCB0aGUg Z2xvc3Mgc2F5cyB7KGdvb2QgaWYtYW5kLW9ubHktaWYgc2hvcnQpIHNwZWVjaH0sIGJ1dCB7Y29y dHV9IG1lYW5zICJodXJ0Iiwgbm90ICJzaG9ydCIuCgoqKiAnJ0lOQ0xVREVEIElOIERBRy1DTEwn JyAgKGNoYW5nZWQgdG8ge3RvcmR1fSkgKGluIHpvcnQncyBmb3JrIGF0IGxlYXN0KSAoKEFwcHJv dmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBFeGFtcGxlIDYuMTY6IHZham5pIGp1 IHNlbHBsdWthIG51bnRhdmxhICwgIChpbXBvcnRhbnQgd2hldGhlci1vci1ub3QgcGxlYXNpbmcp IGV2ZW50LW9mLXRhbGtpbmcKCioqIFNob3VsZCBiZSBwbHVrYSwgbm90IHNlbHBsdWthLiAgKChB cHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNM TCcnCgoKCiogU2VjdGlvbiA4IHNheXMgImludm9sdmluZyBzZWxtYSdvIFZPaEEgYW5kIEdPaEks IGV4cGxhaW5lZCBpbiBDaGFwdGVyIDciLCBidXQgVk9oQSBkb2Vzbid0IGFwcGVhciBpbiBDaGFw dGVyIDcuIFZPaEEgZG9lc24ndCBldmVuIHNlZW0gdG8gYmUgYSBzZWxtYSdvLCBmb3IgdGhhdCBt YXR0ZXIuIEFsc28sIHByb2JhYmx5IEdPaEkgc2hvdWxkIGJlIEdPaEE/CgoKCiogU2VjdGlvbiA4 LCBwYWdlIDk2Lzk3OiBFeGFtcGxlIDguMTMgbmVlZHMgc29tZSBraW5kIG9mIHRlcm1pbmF0b3Ig KGxpa2UgImJlJ28iKSBiZWZvcmUgdGhlICJjbyIuICAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dh biBBcHByb3ZlZCkpCgoKCiogQWxzbywgdGhlIHByZWNlZGluZyBwYXJhZ3JhcGggc3VnZ2VzdHMg dGhhdCAiYmUiIGlzIHRoZSBvbmx5IHdheSB0byBmaWxsIHNlbGJyaSBwbGFjZXMgb3RoZXIgdGhh biB4MS4gVGhpcyBpcyBub3QgdGhlIGNhc2U6ICJtaSBsZSB6YXJjaSBjdSBrbGFtYSBjbyBzdXRy YSIgd291bGQgYWxzCgpvIHdvcmsuCgoqKiBJIGRvbid0IGFncmVlIHRoYXQgdGhlcmUncyBhbnkg c3VjaCBzdWdnZXN0aW9uLCBhbHRob3VnaCBhZGRpbmcgYSBzZWNvbmQgcG9zc2liaWxpdHkgaXMg ZmluZSB3aXRoIG1lLiAgLS1qY293YW4KCgoKKiBTZWN0aW9uIDkgbGlzdHMgImtlaSIgYXMgdGhl IHRlcm1pbmF0b3IgZm9yIG51LCBidXQgaXQncyBub3Qgb25seSBmb3IgbnUsIGJ1dCBmb3IgYWxs IG9mIE5VLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlv biAxNCwgcGFnZSAxMDQgc2F5cyAiZGFkeWxzaSIgZm9yICJkYWR5c2xpIi4KCioqICgoQXBwcm92 ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoK CgoqIFNlY3Rpb24gMTQsIHBhZ2UgMTA1IHVzZXMgInpkYW5pIGxpamdyaSIgaW4gdGhlIGV4YW1w bGUgbGlzdCwgYnV0IHRoZSBwYXJhZ3JhcGggYWZ0ZXIsIGFzIHdlbGwgYXMgdGhlIG5leHQgbGlz dCwgcmVmZXIgdG8gInpkYW5pIGxpbmppIiBhbmQgImxpbmppIHpkYW5pIi4KCgoKKiBTZWN0aW9u IDE0LCBwYWdlIDEwNSBoYXMgdGhlIGx1anZvICJjcHVtaSdpIiBidXQgZGVmaW5lcyBpdCBhdCB0 aGUgYm90dG9tIG9mIHRoZSBzZXQgYXMgImNwYW1pJ2kiLgoKKiogY3VhbWknaSBzIHB1bGwtbWFj aGluZSwgc28gdXNpbmcgdGhhdCAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVk KSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDE0LCBwYWdlIDEwNiBzYXlz ICJwbGlzZSB0YXBsYSIgZm9yICJhcHBsZSBjYWtlIi4gRG9lcyBUdXJraXNoIHJlYWxseSByZWZl ciB0byBhIGNha2UgYXMgYSB0aWxlLCBvciBpcyB0aGlzIGEgbWlzdW5kZXJzdGFuZGluZyBvZiB0 aGUgZGVmaW5pdGlvbiBvZiAidGFwbGEiPwoKKiogTm8sIGl0J3MgdGhhdCB7dGFwbGF9IGNhbiBt ZWFuIGJvdGggY2FrZSBhbmQgdGlsZSwgYXMgdGhlIGdpc211IGxpc3Qgc2hvd3M7IGl0J3MgYSBn ZW5lcmljIHdvcmQgZm9yIGEgZmxhdCAzLUQgc2hhcGUsIG9yIHNob3J0IGN5bGluZGVyLiAgU3Rl dC4gIC0tamNvd2FuCgoKCiogU2VjdGlvbiAxNCwgcGFnZSAxMDggc2F5cyAidHVtbGEgc3Bpc2Ei LiBUaGlzIHNob3VsZCBwcm9iYWJseSBiZSAidHVtbGEgcGFnYnUiLCBzaW5jZSBwaWVjZXMgb2Yg bGFuZCBhcmUgbm90IGFjdHVhbGx5IGRldGFjaGVkLgoKKiogV2hhdCBtYWtlcyB5b3UgdGhpbmsg dGhhdCBzcGlzYSBoYXZlIHRvIGJlIGRldGFjaGVkPyAgU3RldC4gIC0tamNvd2FuCgoKCiogU2Vj dGlvbiAxNCwgcGFnZSAxMDkgc2F5cyAicm9zdHUgbW9qeXN1J2EiLiAicm9zdHUiIGlzIG5vdCBh IExvamJhbiBnaXNtdSwgbm9yIGFuIE9sZCBMb2dsYW4gcHJpbWl0aXZlLiBJdCdzIHN1cHBvc2Vk IHRvIGJlICJtcm9zdAoKdSIuCgoqKiAiTXJvc3R1IiBpcyBjb3JyZWN0LCBhbmQgdGhhdCdzIHRo ZSByZWFkaW5nIG9mIHRoZSBvbmxpbmUgdmVyc2lvbi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293 YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTQsICJudW5raWxicmEiIGlzIGNsZWFybHkgbm90 ICJzaGFycGVuZXIiLCBhbmQgZXZlbiBpZiBpdCB3YXMgdXNpbmcgdGhlIHJpZ2h0IHJhZnNpIGZv ciBjYWJyYSwgdGhhdCBzdHJpa2VzIG1lIGFzIGEgcHJldHR5IGNyYXBweSBsdWp2bzsgbmVlZHMg emVuYmEgb3Igem1hZHUgb3IgYmlueG8gb3Igc29tZXRoaW5nLgoKCgoqIFNlY3Rpb24gMTQsIHBh Z2UgMTEyIGxpc3RzIG51bWVyb3VzIHRhbnJ1IGV4YW1wbGVzIHdob3NlIG1lYW5pbmdzIGFyZSBo eXBlcm55bXMgb2YgdGhlIHRlcnRhdSBpbnN0ZWFkIG9mIGh5cG9ueW1zLiBUaGlzIGNvbnRyYWRp Y3RzIHRoZSBwcmltYXJpbmVzcyBvZiB0aGUgdGVydGF1IGFzIGRlZmluZWQgb24gcGFnZSA4NC4g VGhlIHdvcmQgImphIiBzaG91bGQgcHJvYmFibHkgYmUgaW5zZXJ0ZWQgYmV0d2VlbiB0aGUgY29u c3RpdHVlbnRzLCBvciB0aGUgZW50aXJlIHNlY3Rpb24gc2hvdWxkIGJlIHJlbW92ZWQuCgoqKiBT dGV0LiAgTGlvbnMgY2FuJ3QgYmUgbWFkZSBvZiBzdG9uZSwgYnV0IHtyb2tjaSBjaW5mb30gaXMg YSBsZWdpdGltYXRlIHRhbnJ1IG5vbmV0aGVsZXNzLiAgLS1qY293YW4KCgoKLS0tCgoKCiFDaGFw dGVyIDYKCgoKKiBFbmQgb2Ygc2VjdGlvbiAyLCBpdCBzYXlzICJjb21wb3VuZCBuZWdhdG9yIGBg bmFrdScnIChkaXNjdXNzZWQgaW4gQ2hhcHRlciAxNSkiLCBidXQgIm5ha3UiIGlzIG5ldmVyIG1l bnRpb25lZCBpbiBjaGFwdGVyIDE1OyBpbmRlZWQsIHRoZSBvbmx5IHVzZXMgb2YgdGhlIHdvcmQg e2t1fSBhdCBhbGwgYXJlIGFmdGVyIHRoZSB3b3JkcyB7amkndX0gb3Ige25hJ2l9LiBDaGFwdGVy IDE2IHRhbGtzIGFib3V0IHtuYWt1fS4KCioqICcnSU5DTFVERUQgSU4gREFHLUNMTCcnICh6b3J0 J3MgZm9yayBhdCBsZWFzdCkgYnV0IG5lZWRzIGFwcHJvdmFsCgoKCiogU2VjdGlvbiAxMiwgcC4g MTM4IGNsYWltcyB0aGF0IHRoZSBzdW10aSBpbiBleGFtcGxlcyAxMi4yIGFuZCAxMi4zIG9wZXJh dGUgbGlrZSBleGFtcGxlcyAyLjUgYW5kIDMuNiByZXNwZWN0aXZlbHkuICIyLjYgYW5kIDMuNiIg aXMgYWxtb3N0IHN1cmVseSB3aGF0IHdhcyBtZWFudC4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293 YW4gQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIEluIHNlY3Rpb24gMTEg RXhhbXBsZSAxMS4yIG9jY3VycyB0d2ljZS4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNt aXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMiBoYXMg ZXhhbXBsZXMgMi4zIGFuZCAyLjUgdG8gc2hvdyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHtsb30g YW5kIHtsZX0uIEV4YW1wbGUgMi41IGFuZCB0aGUgc3Vic2VxdWVudCB0ZXh0IHNheSB0aGF0IHts byBuYW5tdSBjdSBuaW5tdX0gaXMgbmVjZXNzYXJpbHkgZmFsc2UgaW4gbG9qYmFuIHNpbmNlIHtu b2RhIG5hbm11IGdpJ2UgbmlubXV9LiBUaGlzIGNvbnRyaWJ1dGVzIHRvIHRyYW5zLWVyYXN1cmUs IGFuZCBzaG91bGQgYmUgcmV2aXNlZC4KCgoKKiBJbiBzZWN0aW9uIDUgYmV0d2VlbiBleGFtcGxl cyA1LjIgYW5kIDUuMywgaXQgc2F5cyB0aGF0IHRoZSB0eXBpY2FsIGxpb24gYmVzdCBleGVtcGxp ZmllcyB0aGUgc2V0IG9mIGxpb25zLiBUaGlzIGlzIGZhbHNlLCBpdCBleGVtcGxpZmllcyBub3Qg dGhlIHNldCwgYnV0IHRoZSBtZW1iZXJzIG9mIHRoYXQgc2V0LgoKCgotLS0KCgoKISBDaGFwdGVy IDcKCgoKKiBTZWN0aW9uIDYsIHBhZ2UgMTU1IGhhcyBhIG5vdGUgYmVsb3cgZXhhbXBsZSA2LjEz IHRoYXQgc2F5cywgaW4gcGFydDogIlRoZSBMb2piYW4gZG9lcyBub3QgY29udGFpbiBhbiBlcXVp dmFsZW50IG9mIHRoZSAibXkiIGluIGNvbGxvcXVpYWwgRW5nbGlzaDsiIGFuZCB0aGVuIGdvZXMg b24gdG8gZXhwbGFpbiBob3cgZXhhbXBsZSA2LjEzIGNvdWxkIGJlIG1vZGlmaWVkIHRvIGluY2x1 ZGUgIHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiB0aGUgc3BlYWtlciBhbmQgdGhlaXIgc29uIGFu ZCBkYXVnaHRlci4gIEkgYmVsaWV2ZSB5b3UgY291bGQgc2F5ICJsZSBtaSBiZXJzYSIgb3IgImxl IGJlcnNhIHBlIG1pIiB0byBleHByZXNzIHRoZSBFbmdsaXNoICJteSwiIHRoZXJlZm9yIHJlbW92 aW5nIHRoZSAocHJlc3VtYWJseSBpbmFjY3VyYXRlKSBub3RlIGFuZCBtYWtpbmcgdGhlIExvamJh biB0cmFuc2xhdGlvbiBtb3JlIGFjY3VyYXRlLgoKKiogU3VyZSB5b3UgY291bGQsIGJ1dCB0aGUg cG9pbnQgb2YgdGhlIG5vdGUgKHdoaWNoIGlzICcnbm90JycgaW5hY2N1cmF0ZSkgaXMgbm90IHRl YWNoaW5nIGhvdyB0byB1c2UgcmVsYXRpdmUgY2xhdXNlcywgYnV0IHRvIGNsYXJpZnkgdGhhdCB0 aGUgaWRpb21hdGljIEVuZ2xpc2ggdmVyc2lvbiBjb250YWlucyBtb3JlIGluZm9ybWF0aW9uIHRo YW4gdGhlIExvamJhbiB2ZXJzaW9uIGRvZXMuICBTdGV0LgoKCgoqIFNlY3Rpb24gNiwgcGFnZSAx NTYgaGFzICcna2FyY2EnJyBmb3IgJydrYXJjZScnLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dh biBBcHByb3ZlZCkpCgoKCiogQWZ0ZXIgZXhhbXBsZSA2LjE4IGlzIGEgcGFyYWdyYXBoIHRoYXQg cXVvdGVzIG5vbi1leGlzdGVudCB0ZXh0IGZyb20gZXhhbXBsZSA2LjEwLiAgImdvJ2UgcmEnbyIg c2hvdWxkIHJlYWQgImdvJ2kgcmEnbyIgYW5kICJkbyBnbydlIiBzaG91bGQgcmVhZCAibWkgZ28n aSIKCioqIFRoZSBjb3JyZWN0IGNvcnJlY3Rpb24gaXMgdG8gcmVwbGFjZSAiQidzIHN0YXRlbWVu dCIgd2l0aCAiQSdzIHNlY29uZCBzdGF0ZW1lbnQiLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dh biBBcHByb3ZlZCkpCgoqKiogTm90IHJlYWxseS4gImdvJ2UgcmEnbyIgaW4gQSdzIHNlY29uZCBz dGF0ZW1lbnQgd291bGQgbWVhbiB0aGUgc2FtZSBhcyAiZ28nZSIsIHdoaWNoIGlzIHdyb25nLiBU aGUgb3JpZ2luYWwgY29ycmVjdGlvbiBpcyB2YWxpZCB0aG91Z2guCgoKCipTZWN0aW9uIDYsIHRo ZSBleGNlcHRpb25zIHRvIHRoZSBhbmFwaG9yYSBydWxlcyBhcmUgYWxtb3N0IGNlcnRhaW5seSBp bmNvbXBsZXRlLiBJbiBwYXJ0aWN1bGFyICJtYSIgYW5kICJjZSd1IiBkZWZpbml0ZWx5IHdhcnJh bnQgZXhjZXB0aW9ucy4KCgoKKiBTZWN0aW9uIDcsIGV4YW1wbGUgNy43IGhhcyAibWkgemJhc3Ug bG9pIG11ZHJpIHppJ28iIGZvciAibWkgemJhc3UgbGUgZGluanUgemknbyIKCioqICgoQXBwcm92 ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoK CgoqIFNlY3Rpb24gOCwgcC4gMTU4IGltcGxpZXMgdGhhdCAnJ3ZvJ2EnJy1zZXJpZXMgYW5hcGhv cmEgcmVmZXIgdG8gc3VtdGkgb2YgdGhlIGJyaWRpIHRoZXkgdGhlbXNlbHZlcyBhcmUgc3VtdGkg b2YuIFRoaXMgY29udHJhZGljdHMgdGhlIGNtYXZvIGxpc3QsIGFuZCBpcyBpbmNvcnJlY3Q6ICcn dm8nYScnLXNlcmllcyBhbmFwaG9yYSAoYWNjb3JkaW5nIHRvIHRoZSBtYSdvc3RlKSByZWZlciB0 byBzdW10aSBvZiB0aGUgb3V0ZXJtb3N0IGJyaWRpIHdpdGhpbiB0aGUgY3VycmVudCBzZW50ZW5j ZS4gVGhpcyBtYWtlcyB0aGVtIGxvZ29waG9ycy9sb25nIGRpc3RhbmNlIHJlZmxleGl2ZXMsIHJh dGhlciB0aGFuIHNob3J0LWRpc3RhbmNlIHJlZmxleGl2ZXMsIGFzIGlzIG5vcm1hbCBpbiBodW1h biBsYW5ndWFnZS4gVGh1cywgaW4gJydtaSBuZWxjaSBsZW51IGRvIHByYW1pIHZvJ2EnJywgJyd2 bydhJydtZWFucyAnJ21pJycsIG5vdCAnJ2RvJycuCgoqKl9fLS0+X18oKFdoeSB0aGUgQm9vayBp cyBSaWdodCBhbmQgdGhlIG1hJ29zdGUgaXMgV3JvbmcpKQoKKioqV2hpY2ggb2YgdGhlIHR3byBj YXNlcyBpcyBub3JtYWwgaW4gaHVtYW4gbGFuZ3VhZ2U/IElmIHlvdSdkIHdyaXR0ZW4gaXQgaW4g TG9qYmFuLCBJJ2Qga25vdyEKCioqKiogSSdkIGd1ZXNzIHRoYXQgc2hvcnQtZGlzdGFuY2UgaXMg bm9ybWFsLCBiL2Mgb3RoZXJ3aXNlIGl0IHdvdWxkIG5vdCBiZSB3b3J0aCBjb21wYXJpbmcgdGhl IHR3by4gQnV0IG9mIGNvdXJzZSBpbiBsb2piYW4gd2Ugd291bGRuJ3QgaGF2ZSB0byBnbG9yayB0 aGF0LgoKKioqKiogU2hvcnQtZGlzdGFuY2UgaXMgaW5kZWVkIG5vcm1hbCwgYnV0IExvamJhbmlz dHMgaGF2ZSBjb25zaXN0ZW50bHkgdXNlZCBsb25nLWRpc3RhbmNlLiAgTmljayB3cm90ZSBhIHBl ZXItcmV2aWV3ZWQgcGFwZXIgb24gdGhpcy4gIC0tamNvd2FuCgoKCiogRXhhbXBsZSA3LjguNSAo cDE1OSk6IGJhanJhIG9uIHRoaXJkIGxpbmUgc2hvdWxkIGJlIGJhanlrbGEsIGxpa2UgdGhlIG90 aGVycy4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xV REVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gOCwgaXQgc2F5cyAiRXhhbXBsZSA5LjMgaXMg YSB0cnVseSBwcmVnbmFudCBxdWVzdGlvbi4uLiIgd2hlbiBleGFtcGxlIDkuMiBpcyB0aGUgcHJl Z25hbnQgcXVlc3Rpb24sIGFuZCBleGFtcGxlIDkuMyBpcyBhIGJldHRlciB3YXkgb2YgZXhwcmVz c2luZyAiV2hvIGFyZSB5b3U/IgoKCgoqIFNlY3Rpb24gMTUsIGl0IHNheXMgIkZpbmFsbHksIGx1 anZvIGludm9sdmluZyBgYHppJ28nJyBhcmUgYWxzbyBwb3NzaWJsZSwgYW5kIGFyZSBmdWxseSBk aXNjdXNzZWQgaW4gQ2hhcHRlciAxMiIsIGJ1dCBub3doZXJlIGRvZXMgQ2hhcHRlciAxMiBtZW50 aW9uIHRoZSB3b3JkIHt6aSdvfSwgbXVjaCBsZXNzIGx1anZvIGludm9sdmluZyBpdC4gVGhpcyBp cyBwcm9iYWJseSBhIENoYXB0ZXIgMTIgZXJyYXR1bS4KCi0tLQoKCgohQ2hhcHRlciA4CgoKCiog SW4gU2VjdGlvbiAzIHRoZSBleGFtcGxlIDMuMjAgc2hvdWxkIGhhdmUge3hhbmNlfSBpbnN0ZWFk IG9mIHt4YW5jaX0sIHdoaWNoIGlzIGRlZmluaXRlbHkgYSB0eXBvLiAtLWlkb250a253CgoqKiAo KEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUct Q0xMJycKCgoKKiBTZWN0aW9uIDgsIHAuIDE4MTogIDguMSkgJydsaSBwYWkgbm9pIG5hJ2UgZnJp bnUgbmFtY3UnJ3Nob3VsZCBiZSAnJ2xpIHBhaSBub2kgbmEnZSBmcmludSBjdSBuYW1jdScnLiAg KChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiA4LCBFeGFt cGxlIDguNiwgdGhlIHRoaXJkIGxpbmUsICJJIHJ1bm5pbmdseS1nbyB0by10aGlzIFtyZWNpcHJv Y2l0eV0gW3gzIG9mIHRoaXMgYnJpZGldIGZyb20tdGhhdCIsIGlzIG5vdCB0aGUgdXN1YWwgZGVj ZW50IEVuZ2xpc2ggb25lIHdvdWxkIGV4cGVjdCBpbiB0aGF0IHBvc2l0aW9uOyByZXBsYWNlZCB3 aXRoICJJIHJ1biB0byB0aGlzIGZyb20gdGhhdCBhbmQgdmljZSB2ZXJzYS4iIGlzIGRhZy1jbGwg JydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDksIGV4YW1wbGUgOS4yIGlzICcn Y28nbyB4aXJtYScnLiBUaGVuLCAnJ05vdGUgdGhhdCBFeGFtcGxlIDkuMiBzYXlzIGZhcmV3ZWxs IHRvIHNvbWV0aGluZyB3aGljaCBkb2VzbuKAmXQgcmVhbGx5IGhhdmUgdG8gYmUgYSBob3JzZSwg c29tZXRoaW5nIHRoYXQgdGhlIHNwZWFrZXIgc2ltcGx5IHRoaW5rcyBvZiBhcyBiZWluZyBhIGhv cnNlLCBvciBldmVuIG1pZ2h0IGJlIHNvbWV0aGluZyAoYSBwZXJzb24sIGZvciBleGFtcGxlKSB3 aG8gaXMgbmFtZWQgIkhvcnNlIi4gSW4gYSBzZW5zZSwgRXhhbXBsZSA5LjIgaXMgYW1iaWd1b3Vz IGJldHdlZW4gImNvJ28gbGUgeGlybWEiIGFuZCAiY28nbyBsYSB4aXJtYSInJy4gSXMgdGhpcyB0 cnVlPwoKKiogWWVzLCBpbiB0aGUgc2Vuc2UgdGhhdCBhbGwgdXNlcyBvZiAibGUiICcnbWlnaHQn JyBtZWFuICJsYSIuICBCdXQgaXQncyBwcm9iYWJseSBtb3JlIGNvbmZ1c2luZyB0aGFuIGl0J3Mg d29ydGguICBUcnVuY2F0ZSBhZnRlciAidGhpbmtzIG9mIGFzIGJlaW5nIGEgaG9yc2UiLiAgLS1q Y293YW4KCgoKKiBTZWN0aW9uIDkgc2F5cyAnJ0luIHZvY2F0aXZlIHBocmFzZXMgd2hpY2ggYXJl IHNpbXBsZSBuYW1lcyAoYWZ0ZXIgdGhlIHZvY2F0aXZlIHdvcmRzKSwgYW55IHJlbGF0aXZlIGNs YXVzZXMgbXVzdCBjb21lIGp1c3QgYWZ0ZXIgdGhlIG5hbWVzJycuIFRoaXMgaXNuJ3QgdHJ1ZS4g UmVsYXRpdmUgY2xhdXNlcyBjYW4gZ28gYmV0d2VlbiB0aGUgdm9jYXRpdmUgYW5kIHRoZSBjbWV2 bGEuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkgIERyb3AgaXQ7IGl0IHJl ZmxlY3RzIGFuIGVhcmxpZXIgc3RhdGUgb2YgdGhlIGxhbmd1YWdlLgoKCgotLS0KCiFDaGFwdGVy IDkKCgoKKiBTZWN0aW9uIDYsIHBsYWNlIHN0cnVjdHVyZSBvZiAnJ3BpbG5vJycgaXMgbWlzc2lu ZyAiZm9yIHB1cnBvc2UgeDMiLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkp CgoKCiogU2VjdGlvbiA4LCB0aGUgZXhhbXBsZXMgOC41IGFuZCA4LjYgYXJlIHN1cHBvc2VkIHRv IG1lYW4gdGhlIHNhbWUgdGhpbmcsIGJ1dCBkbyBub3QuCgoqKiBQbGVhc2UgZWxhYm9yYXRlLiAg LS1qY293YW4KCioqKiA4LjUgbWVhbnMgIkkgZ2F2ZSB0aGUgYm9vayB0byBKb2huLCBiZWNhdXNl IEpvaG4gZ2F2ZSB0aGUgbW9uZXkgdG8gbWUiIGJ1dCA4LjYgbWVhbnMgIkpvaG4gZ2F2ZSB0aGUg bW9uZXkgdG8gbWUgYmVjYXVzZSBJIGdhdmUgdGhlIGJvb2sgdG8gSm9obi4iCgoqKiAnJ0lOQ0xV REVEIElOIERBRy1DTEwnJyAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoK KiBTZWN0aW9uIDExLCBkZXNjcmlwdGlvbiBvZiB0aGUgbWVhbmluZyBvZiAiLmlqZSBzZXJpJ2Eg dHUnZSIgY29udHJhZGljdHMgdGhlIGV4cGxhbmF0aW9uIG9mIEV4YW1wbGUgOS45LCB3aGljaCB3 b3VsZCBzdWdnZXN0ICIuaWplIHJpJ2EgdHUnZSIuCgoKCiogc2VjdGlvbiAxNywgImZyb20gc291 cmNlIGFzIGFuIG9yaWdpbiBvZiIgc2hvdWxkIGJlIHR3byBlbnRyaWVzOyAiZnJvbSBzb3VyY2Ui IGFuZCAiYXMgYW4gb3JpZ2luIG9mIiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgotLS0KCgoK IUNoYXB0ZXIgMTAKCgoKKiBTZWN0aW9uIDQsICJ3aGVuIGJvdGggc3BhdGlhbCBhbmQgdGVtcG9y YWwgdGVuc2UgY21hdm8gYXJlIGdpdmVuIGluIGEgc2luZ2xlIHRlbnNlIGNvbnN0cnVjdCwgdGhl IHRlbXBvcmFsIHRlbnNlIGlzIGV4cHJlc3NlZCBmaXJzdCIgZGlzYWdyZWVzIHdpdGggdGhlIHJ1 bGUgc2ltcGxlLXRlbnNlLW1vZGFsLTk3MiBpbiB0aGUgQk5GIGdyYW1tYXIuCgoKCiogU2VjdGlv biA5LCBleGFtcGxlIDkuOSBvbiBwYWdlIDIyNyBoYXMgImNpcmxpIiBmb3IgImNpcmxhIi4KCioq ICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERB Ry1DTEwnJwoKCgoqIFNlY3Rpb24gMTIsIGV4YW1wbGUgMTIuNiB0cmFuc2xhdGVzIG1vcnNpIGFz ICJkaWUiIHJhdGhlciB0aGFuICJhbSBkZWFkIiBpbiB0aGUgdHJhbnNsYXRpb24gKGFzIG9wcG9z ZWQgdG8gdGhlIGdsb3NzKS4KCgoKKiBTZWN0aW9uIDE2LCBhdCB0aGUgZW5kLCB0aGUgWCBhbmQg WSBpbiB0aGUgMyBmb3JtcyBkb24ndCBmaXQgcHJvcGVybHkgKHRoZSAzcmQgZG9lc24ndCBtYXRj aCB0aGUgZmlyc3QgdHdvKS4gSSByZWNvbW1lbmQsIGNvcHlpbmcgZnJvbSBTZWN0aW9uIDIzICh3 aGVyZSB0aGV5IGFyZSB3cml0dGVuIGFnYWluIGNvcnJlY3RseSk6CgogICAgICAgWCAuaSBURU5T RSBibyBZCgogICAgICAgVEVOU0UgZ2kgWCBnaSBZCgogICAgICAgWSBURU5TRSBsZSBudSBYCgoK CiogU2VjdGlvbiAxNywgZXhhbXBsZSAxNy4xMiBzaG91bGQgbm90IGhhdmUgdGhlIHNlY29uZCAi YmV2cmkiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5D TFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxOCwgZXhhbXBsZSAxOC45IGlzIHN1cHBv c2VkIHRvIHNob3cgc2NhbGFyIG5lZ2F0aW9uIG9mIHRlbnNlcyBub3QgbGltaXRlZCB0byBQVSBh bmQgRkFoQSwgYnV0IHRoZSBleGFtcGxlIHRlbnNlIGlzIHJpJ3UgKEZBaEEyKS4KCgoKKiBTZWN0 aW9uIDE5LCBleGFtcGxlIDE5LjEwIHNob3VsZCBoYXZlICJiYSIsIG5vdCAicHUiLCBhbmQgIltm dXR1cmVdIiwgbm90ICJbcGFzdF0iLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3Zl ZCkpCgoKCiogU2VjdGlvbiAyNSwgZXhhbXBsZXMgMjUuMSBhbmQgMjUuMiBoYXZlICcnbHUnYScn IGZvciAnJ2xhJ3UnJy4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQp KSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMjUsIHRoaXMgd2hvbGUgc2Vj dGlvbiBpcyBhdCBvZGRzIHdpdGggdGhlIGZvcm1hbCBncmFtbWFyLiBJdCBzYXlzOiAnJ0l0IGlz IGdyYW1tYXRpY2FsIGZvciBhIHRlcm1zZXQgdG8gYmUgcGxhY2VkIGFmdGVyIGEgdGVuc2Ugb3Ig bW9kYWwgdGFnIHJhdGhlciB0aGFuIGEgc3VtdGknJy4gIEJ1dCB0aGF0IGlzIGluIGZhY3QgaW5j b3JyZWN0LCBpdCBpcyBub3QgZ3JhbW1hdGljYWwgZm9yIGEgdGVybXNldCB0byBiZSB0aGUgYXJn dW1lbnQgb2YgYSB0YWcuCgoqKiBVbmZvcnR1bmF0ZWx5IHRydWUuICBUZXJtc2V0cyBzdWNrIHJv Y2tzLCBhbmQgc29tZSB3b3JrIHdpbGwgaGF2ZSB0byBiZSBkb25lIHRvIG1ha2UgZXZlcnl0aGlu ZyBzYWlkIGFib3V0IHRoZW0gY29uc2lzdGVudCAtLSBpZiBpdCBpcyBldmVuIHBvc3NpYmxlLiAg UGVyc29uYWxseSwgSSdkIGxpa2UgdG8ganVzdCBidXJuIHRoZW0uICAtLWpjb3dhbiAgJycnTk9G SVgnJycKCgoKKiBTZWN0aW9uIDI3OiBNT2hJIHNlZSBTZWN0aW9uIDI4LCBub3QgMjcuICAoKEFw cHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKLS0tCgoKCiFDaGFwdGVyIDExCgoK CiogU2VjdGlvbiA0OiBUaGUgdXNlIG9mIGthIGluIEV4YW1wbGUgNC40IChwYWdlIDI1OSkgaXMg ZXJyb25lb3VzOyBpdCBzaG91bGQgYmUgZHUndS4gLS0oKEpvaG4gQ293YW4pKSAoKEFwcHJvdmVk IEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBMYXN0IHBhcmFncmFwaCBvZiBzZWN0aW9u IDcgcmVmZXJlbmNlcyBjaGFwdGVyIDUgZm9yIGEgZGlzY3Vzc2lvbiBvZiAibHUnZSIuICBsdSdl IGlzbid0IG1lbnRpb25lZCBpbiBjaGFwdGVyIDUuICBQcm9iYWJseSBjaGFwdGVyIDYgaXMgbWVh bnQgaGVyZS4KCioqIFllcywgc2hvdWxkIGJlIFNlY3Rpb24gNS4xMC4gICAgKChBcHByb3ZlZCBF cnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiA5LCBwYWdlIDI2NiBoYXMgInNh bydyZHppZmEnYSIgaW5zdGVhZCBvZiAic2Enb3JkemlmYSdhIi4KCioqICgoQXBwcm92ZWQgRXJy YXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFRo ZSBzYW1lIGV4YW1wbGUgKDkuNikgYWxzbyBoYXMga3VjdHJhIGluc3RlYWQgb2Yga3VjdGFpCgoq KiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBE QUctQ0xMJycKCgoKKiBUaGUgYm9vayB0aXRsZSBpbiBleGFtcGxlIDkuNiBzZWVtcyB0byBiZSBp bmNvcnJlY3Q6ICJUaGUgQ3J1Y2lmaXhpb24gb2YgSmVzdXMgQ29uc2lkZXJlZCBBcyBBIERvd25o aWxsIEJpY3ljbGUgUmFjZSIgaXMgYWN0dWFsbHkgIltodHRwOi8vd3d3LmV2ZXJncmVlbnJldmll dy5jb20vMTAyL2ZpY3Rpb24vZHVvLmh0bWx8VGhlIENydWNpZml4aW9uIENvbnNpZGVyZWQgQXMg QW4gVXBoaWxsIEJpY3ljbGUgUmFjZV0uIgoKKiogVW5hcHByb3ZlZAoKCgoqIFNlY3Rpb24gMTA6 IFBhcmFncmFwaCBhYm92ZSBleGFtcGxlIDEwLjcgcmVmZXJlbmNlcyAiQ2hhcHRlciAxMSIuIFRo YXQgc2hvdWxkIHJlYWQgIkNoYXB0ZXIgMTAiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1 c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxMiwg cGFnZSAyNjkgaGFzIGV4YW1wbGVzIDEzLjEgYW5kIDEzLjIsIHRob3NlIHNob3VsZCBiZSBjYWxs ZWQgMTIuMSBhbmQgMTIuMi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoK CgotLS0KCgoKIUNoYXB0ZXIgMTIKCgoKKiBTZWN0aW9uIDIsIHBhZ2UgMjc1LiBUaGUgcGFyYWdy YXBoIHVuZGVyIEV4YW1wbGUgMi4zIHJlZmVycyB0byBpdCBhcyBFeGFtcGxlIDIuNCAoMi40IGRv ZXNuJ3QgZXZlbiBleGlzdCkuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkK CgoKKiBTZWN0aW9uIDUsIHJpZ2h0IGFmdGVyIGV4YW1wbGUgNS43LiBJdCBzYXlzICJhIiBpbnN0 ZWFkIG9mICJhbiIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBT ZWN0aW9uIDYsIHBhZ2UgMjgwLiBFeGFtcGxlIDYuNiBzaG91bGQgaGF2ZSBhIHNwYWNlIGJldHdl ZW4gImxhIHNwYXQuIiBhbmQgIm5vaSIuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlz IEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDcsIHBhZ2Ug MjgyLiBFeGFtcGxlIDcuNSBoYXMgImJhbnNvaSIgaW5zdGVhZCBvZiAiYmFsc29pIi4KCioqICgo QXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1D TEwnJwoKCgoqIFNlY3Rpb24gMTEsIHBhZ2UgMjg1IGhhcyAieGFzY2FrY3VybnUiIGluc3RlYWQg b2YgInhhc3ljYWtjdXJudSIuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJv dmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDEyIGNsYWltcyB0aGF0 IC1qYXgtIGlzIGEgcmFmc2kgZm9yIHtqYWl9LCBidXQgaXQgaXNuJ3QgaW4gW2h0dHA6Ly93d3cu bG9qYmFuLm9yZy9wdWJsaWNhdGlvbnMvd29yZGxpc3RzL3JhZnNpLnR4dHxodHRwOi8vd3d3Lmxv amJhbi5vcmcvcHVibGljYXRpb25zL3dvcmRsaXN0cy9yYWZzaS50eHRdLiBEb2VzIHtqYWl9IGhh dmUgYSByYWZzaSBvciBub3Q/CgoqKiBJdCBzaG91bGQsIGJ1dCBzb21laG93IGl0IG5ldmVyIGdv dCBpbnRvIHRoZSBnaXNtdSBsaXN0LCBhbmQgY29uc2VxdWVudGx5IG5vdCBpbnRvIHRoZSByYWZz aSBsaXN0IGVpdGhlci4gIFN0ZXQsIGFuZCB3ZSdsbCBhZGQgaXQgdG8gdGhlIGdpc211IGxpc3Qu ICAtLWpjb3dhbgoKCgoqIFNlY3Rpb24gMTIsIHJpZ2h0IGF0IHRoZSBlbmQsIHNheXMgdGhhdCB7 ZmFpfSBpcyBleHBsYWluZWQgaW4gQ2hhcHRlciAxMSwgYnV0IENoYXB0ZXIgMTEgbWFrZXMgbm8g bWVudGlvbiBvZiB7ZmFpfS4gT25seSBjaGFwdGVycyA5IGFuZCAxMCBkby4KCioqICcnSU5DTFVE RUQgSU4gREFHLUNMTCcnICh6b3J0J3MgZm9yayBhdCBsZWFzdCkgICgoQXBwcm92ZWQgRXJyYXR1 bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTQsIGV4YW1wbGUgMTQuMi4gTWlzc2lu ZyA8IC9wcmUgPiB0YWcsIGFuZCBtaXNzaW5nIDwgcHJlPiB0YWcgZm9sbG93aW5nIGV4cGxhbmF0 b3J5IHBhcmFncmFwaC4KCgoKKiBTZWN0aW9uIDE0LCBwYWdlIDI5MS4gVGhlIHBhcmFncmFwaCB1 bmRlciBleGFtcGxlIDE0Ljcgc2F5cyAic2UgeGFuY2UgbWluZHUiIGluc3RlYWQgb2YgInNlIHhh bmNlIG1pbmRlIi4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAn J0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTUsIHR3byBwYXJhZ3JhcGhzIGJl Zm9yZSBleGFtcGxlIDE1LjcuIEl0IHNheXMgIlRoZXJlIGFyZSBzb21lIGNvbXBhcmF0aXZlIGNv bmNlcHRzIHdoaWNoIGFyZSBpbiB3aGljaCB0aGUgJ3NlIHptYWR1JyBpcyBkaWZmaWN1bHQgdG8g c3BlY2lmeS4iIFRoZSAid2hpY2ggYXJlIGluIHdoaWNoIiBzZWVtcyBncmFtbWF0aWNhbGx5IGlu Y29ycmVjdC4KCioqIERyb3AgIndoaWNoIGFyZSIuICAtLWpjb3dhbiAgICgoQXBwcm92ZWQgRXJy YXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTUsIHBhZ2UgMjk0LCBleGFtcGxl IDE1LjE0LiAibGEgYWluY3RhaW4iIG5lZWRzIGEgcGVyaW9kIGJlZm9yZSBpdCBiZWNhdXNlIGl0 IHN0YXJ0cyB3aXRoIGEgdm93ZWwuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFw cHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKLS0tCgoKCiFDaGFwdGVyIDEzCgoK CiogTWFueSBpbmNpZGVudHMgb2Ygbm90IGhhdmluZyBwZXJpb2RzIGluIGZyb250IG9mIHZvd2Vs LWluaXRpYWwgY21hdm8uCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVk KSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBJbiBzZWN0aW9uIDIsIHAuIDMwMCByZWZl cmVuY2VzIHRvIHRoZSBleGFtcGxlcyBmb3IgLnVlIGFuZCAudWVjdSdpIGFyZSBmbGlwcGVkLiAg KChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAzLCBwYWdl IDMwMywgZXhhbXBsZSAzLjkuICJlJ2UiIG5lZWRzIGEgcGVyaW9kIGJlZm9yZSBpdC4KCioqICgo QXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1D TEwnJwoKCgoqIFNlY3Rpb24gMywgcGFnZSAzMDMsIGV4YW1wbGUgMy4xMC4gInRpc25hIiBuZWVk cyB0byBiZSByZXBsYWNlZCB3aXRoICJ0aXN5Z2F1Ii4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxj YW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24g NCwgcGFnZSAzMDUuIFRoZSBzY2FsZSB3aXRoIHRoZSBnaXNtdSBtbmVtb25pY3MgaXMgbWlzYWxp Z25lZCB3aXRoIHRoZSBzY2FsZSB3aXRoIHRoZSBtZW1iZXJzIG9mIHNlbG1hJ28gQ0FJLiAic2Fp IiBzaG91bGQgYmUgdGFiYmVkIG9uZSBwbGFjZSBsZWZ0LCBzbyB0aGF0IGl0IGFsaWducyB3aXRo IHRzYWxpLCAmYy4KCgoKKiBTZWN0aW9uIDcsIGl0IHNheXMgIkl0IGlzIG5vdCBjbGVhciBob3cg bXVjaCB1c2UgbG9naWNhbGx5IGNvbm5lY3RlZCBhYnN0cmFjdG9ycyB3aWxsIGJlOiBzZWUgQ2hh cHRlciAxMy4iIEl0IHNob3VsZCBiZSAiQ2hhcHRlciAxNS4iCgoqKiAnJ0lOQ0xVREVEIElOIERB Ry1DTEwnJyAoem9ydCdzIGZvcmsgYXQgbGVhc3QpIGJ1dCBuZWVkcyBhcHByb3ZhbAoKKiBTZWN0 aW9uIDEwLCBwYWdlIDMxMy4gVGhlcmUgaXMgYSBtaXNzaW5nIHNwYWNlIGJldHdlZW4gImNvbnRp bnVlIGVtb3Rpb24iIGFuZCAiZW5kIGVtb3Rpb24iLgoKCgoqIFNlY3Rpb24gMTUuIEEgc2FtcGxl IGRpYWxvZ3VlICAxNS40KSAvIH5ucH5bQ29tbWVudF0gUGFtIHNheXMsIFtQbGVhc2VdIEFsaWNl LCBbZW5kLW9mLWNvbW1lbnRdIC8gW0NvbW1lbnRdIFBhbSBzYXlzLCBbZW5kLW9mLWNvbW1lbnRd IFtQbGVhc2VdIEFsaWNlLC9+L25wfiAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVk KSkKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVE IElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTUsIGV4YW1wbGUgMTUuNSAveGFtZ3UvZ2xla2kv ID8KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVE IElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTUsIGV4YW1wbGUgMTUuMTApIC9maSdpIHJvIHp2 YXRpIGtvIHBpbnhlIHBhIGNrYWZpL2ZpJ2kgcm8genZhdGkgLmkga28gcGlueGUgcGEgY2thZmkv CgoqKiBObywgdGhpcyBvbmUgaXMgcGVyZmVjdGx5IGZpbmU6ICJmaSdpIHJvIHp2YXRpIiBpcyBh IHZvY2F0aXZlIHBocmFzZSwgd2hpY2ggaXMgYSBmcmVlIG1vZGlmaWVyLCBtZWFuaW5nIHRoYXQg aXQgY2FuIG9jY3VyIGFsbW9zdCBhbnl3aGVyZS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4g QXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTUsIGV4YW1wbGUgMTUuMTMpIC9maSdvIHNlbHBsZWpp IG1pL2ZpJ28gcGxlamkgbWkvCgoqKiBBbmQgIndpdGggcGF5ZXIiIHJhdGhlciB0aGFuICJ3aXRo IHBheW1lbnQiOyBleSdzIG5vdCBwYXlpbmcgd2l0aCBlbXNlbGYhIC0tIGNhbWd1c21pcwoKKiog KChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFH LUNMTCcnCgoKCiogU2VjdGlvbiAxNSwgZXhhbXBsZSAxNS4xMy4gV3JvbmcgdXNlIG9mIHtzZWxm dX0uIHtiZXZyaX0gd291bGQgZml0IGJldHRlci4KCi0tLQoKCgohQ2hhcHRlciAxNAoKCgoqIFNl Y3Rpb24gOCwgcmlnaHQgYmVmb3JlIGV4YW1wbGUgOC45IGlzICJwcm9kdWNpbmcgZXhhbXBsZSA4 LjEwIiB3aGljaCBzaG91bGQgaW4gZmFjdCByZWFkICJwcm9kdWNpbmcgZXhhbXBsZSA4LjkiLiAg KChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiA5OiBiZXR3 ZWVuIGV4YW1wbGUgOS4xMCBhbmQgOS4xMSwgImlkZW50aWZpZWQiIHNob3VsZCByZWFkICJpZGVu dGljYWwiCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNM VURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDExLCByaWdodCBiZWZvcmUgc2VjdGlvbiAx Mi4gSXQgc2F5cyAidGVybXNldHMuLi5hcmUgZXhwbGFpbmVkIGluIENoYXB0ZXIgMTIgYW5kIENo YXB0ZXIgMTYiIGJ1dCBjaGFwdGVyIDEyICh3aGljaCBpcyBvbiBsdWp2bykgbWFrZXMgYWJzb2x1 dGVseSBubyBtZW50aW9uIG9mIHRlcm1zZXRzLiBDaGFwdGVycyA5IGFuZCAxMCBkaXNjdXNzIHRl cm1zZXRzLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlv biAxNCwgZXhhbXBsZSAxNC4xNSBpcyBub3QgZ3JhbW1hdGljYWwgKGFjY29yZGluZyB0byBqYm9m aSdlIGFuZCBjYW14ZXMpIGJlY2F1c2UgaXQgc2F5cyAicGUnZSAuZSIgd2hlbiBpdCBzaG91bGQg c2F5ICJwZSdlIGplIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoq IFNlY3Rpb24gMTQsIGV4YW1wbGUgMTQuMTYgbWVudGlvbnMgInNvcm1lIiwgd2hpY2ggaXMgcHJv YmFibHkgT2xkIExvZ2xhbiwgYW5kIHNob3VsZCBiZSByZXBsYWNlZCBieSAibWVuc2kiLgoKKiog KChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFH LUNMTCcnCgoKCiogU2VjdGlvbiAxNCwgInRoZSBzdGF0ZWQgZ2xvc3Mgb2YgVEZUVGFzIOKAnG9u bHkgaWbigJ0gd29ya3MgbmF0dXJhbGx5IG9ubHkgd2hlbiB0aGUgcmlnaHQtaGFuZCBicmlkaSBp cyB0cnVlOyBpZiBpdCBpcyBmYWxzZSwgdGhlIGxlZnQtaGFuZCBicmlkaSBtYXkgYmUgZWl0aGVy IHRydWUgb3IgZmFsc2UuIiBjaGFuZ2VkIHRvICJ0aGUgc3RhdGVkIGdsb3NzIG9mIFRGVFRhcyDi gJxvbmx5IGlm4oCdIHdvcmtzIG5hdHVyYWxseSBvbmx5IHdoZW4gdGhlIHJpZ2h0LWhhbmQgYnJp ZGkgaXMgZmFsc2U7IGlmIGl0IGlzIHRydWUsIHRoZSBsZWZ0LWhhbmQgYnJpZGkgbWF5IGJlIGVp dGhlciB0cnVlIG9yIGZhbHNlLiIKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBw cm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTUsIHJpZ2h0IGFm dGVyIDE1LjksIGl0IHNheXMgImV4YW1wbGUgMTQuMTciIHdoZXJlIGl0IHNob3VsZCBzYXkgImV4 YW1wbGUgMTUuOSIgKDE0LjE3IGRvZXMgbm90IGV4aXN0KS4gICgoQXBwcm92ZWQgRXJyYXR1bXxq Y293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTUsIGV4YW1wbGUgMTUuOSBpcyBub3QgZ3Jh bW1hdGljYWw7IGl0IHNob3VsZCBiZSAibGEgZGphbi4gZmEndSBsYSBmcmFuay4gY3Vza3UgbnUn aSBiYXUgbGEgbG9qYmFuLiBwZSdlIGZhJ3UgYmFpIGxhIGRqb3Jkai4iLgoKCgoqIFNlY3Rpb24g MTksIGV4YW1wbGUgMTkuNCBpcyB0cmFuc2xhdGVkIGFzICJJIG9waW5lIHRoZSBmYWN0LXRoYXQg YS1tYXNzLW9mIGxpdmluZy10aGluZ3MgaXMtYXQgSnVwaXRlciBvci1lbHNlIEkgb3BpbmUgdGhl IGZhY3QtdGhhdCBhLW1hc3Mtb2YgbGl2aW5nLXRoaW5ncyBpc24ndC1hdCBKdXBpdGVyIiBidXQg cmVhbGx5IGl0J3MgIkkgb3BpbmUgdGhlIGZhY3QtdGhhdCBhLW1hc3Mtb2YgbGl2aW5nLXRoaW5n cyBpcy1hdCBKdXBpdGVyIG9yLWVsc2UgSSBfX2RvLW5vdF9fIG9waW5lIHRoZSBmYWN0LXRoYXQg YS1tYXNzLW9mIGxpdmluZy10aGluZ3MgX19pcy1hdF9fIEp1cGl0ZXIiLiBTbyAxOS40IGlzIGFj dHVhbGx5IHRydWUsIG5vdCBmYWxzZSBhcyBpdCBpcyBjbGFpbWVkIHRvIGJlLgoKKiogQ29ycmVj dCwgc28gdGhpcyBleGFtcGxlIHdpbGwgbmVlZCByZXBsYWNpbmcuICAgICgoQXBwcm92ZWQgRXJy YXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIEFsc28gdGhlcmUgaXNuJ3QgcmVhbGx5IGEgcmVh c29uIGZvciBpdCB0byBzYXkgYSBtYXNzIG9mIGxpdmluZyB0aGluZ3MgYW5kIG5vdCBzb21lIGlu ZGl2aWR1YWwgbGl2aW5nIHRoaW5ncy4KCioqIFN0ZXQuICBUaGUgYXV0aG9yIHByZWZlcnMgaXQg dGhhdCB3YXksIHRoYW5reW91dmVyeW11Y2guICAtLWpjb3dhbi4KCgoKCgotLS0KCgoKISBDaGFw dGVyIDE1CgoKCiogU2VjdGlvbiAyLCBtaXNzaW5nIDwgL3ByZSA+IHRhZyBhZnRlciBleGFtcGxl IDIuOCBhbmQgPCBwcmU+IHRhZyBiZWZvcmUgZXhhbXBsZSAyLjkuCgoKCiogU2VjdGlvbiA0LCBl eGFtcGxlIDQuMTIgL25ha2UvbmEnZWtlLwoKCgoqIFNlY3Rpb24gOSwgdHdvIHBhcmFncmFwaHMg YWJvdmUgZXhhbXBsZSA5LjQgdGhlIHdvcmQgIm5lZ2F0aXYiIHNob3VsZCBiZSAibmVnYXRpdmUi LiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiA5OiBJ cyB0aGVyZSBzdXBwb3NlZCB0byBiZSBhbnkgZGlmZmVyZW5jZSBiZXR3ZWVuIGV4LiA5LjUgYW5k IDkuNj8KCioqIFRoYXQgcHJvYmxlbSBpcyBvbmx5IGluIHRoZSBvbmxpbmUgdmVyc2lvbi4KCgoK KiBTZWN0aW9uIDEwLCB0aHJlZSBwYXJhZ3JhcGhzIGFmdGVyIGV4YW1wbGUgMTAuMTQsIHRoZXJl J3MgYSBzZW1pY29sb24gd2hpY2ggc2hvdWxkIGJlIGEgY29tbWEgYWZ0ZXIgIihzYXksIGEgc3Bl bGxpbmcgZXJyb3IpIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoq IFNlY3Rpb24gMTAsIGl0IHNheXMgIidqaSd1bmEnaWt1JyBtZXRhbGluZ3Vpc3RpY2FsbHkgc2F5 cyB0aGF0IHNvbWV0aGluZyBpcyB3cm9uZyB3aXRoIHRoYXQgYXNzdW1wdGlvbi4gKFNlZSBDaGFw dGVyIDEwLikiLiBTaG91bGRuJ3QgdGhhdCBiZSBDaGFwdGVyIDksIG1vZGFscz8KCioqICcnSU5D TFVERUQgSU4gREFHLUNMTCcnICh6b3J0J3MgZm9yayBhdCBsZWFzdCkgKChBcHByb3ZlZCBFcnJh dHVtfGpjb3dhbiBBcHByb3ZlZCkpCgotLS0KCgoKIUNoYXB0ZXIgMTYKCgoKKiBTZWN0aW9uIDUs IGV4YW1wbGUgNS41OiBFbmdsaXNoIGhhcyAiZXZlcnkgWSIgd2hlbiBpdCBzaG91bGQgcmVhZCAi ZXZlcnkgWCIKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lO Q0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gNiwgZXhhbXBsZSA2LjYgaGFzIGEgbWlz c2luZyAiY3UiIGJlZm9yZSAidmlza2EiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21p cyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA4LCB0aGUg ZXhwbGFuYXRpb24gb2YgZXhhbXBsZSA4LjMgc2F5cyAiYW55IGVudGl0eSB3aGljaCBpcyBvbmUg aXMgYWxzbyB0aGUgb3RoZXIiLiBUaGF0IHdvdWxkIGJlIHRydWUgaWYgdGhlIGV4YW1wbGUgdXNl ZCB7Z299LCBidXQgaXQgdXNlcyB7Z2FuYWl9LiA4LjMgZG9lcyBub3QgY2xhaW0gdGhhdCBpZiBz b21ldGhpbmcgd2Fsa3MgYWNyb3NzIHRoZSBmaWVsZCB0aGVuIGl0IGdvZXMgdG8gdGhlIHN0b3Jl LiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpICBDaGFuZ2UgaXQgdG8gdXNl IHtnb30uICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqKiBTYW1lIHBsYWNlOiBuZWVkcyB0byBi byB7ZGEgZ299LCBub3Qge2dvIGRhfSAgQW5kIHRoZSBnbG9zcyBzaG91bGQgYmUgIkZvci1ldmVy eSBYOiBYIGlzLWEtZ29lci10byB0aGUgc3RvcmUgaWYtYW5kLW9ubHktaWYgaXQgaXMtYS13YWxr ZXItb24gdGhlIGZpZWxkLiIgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDgs IGV4YW1wbGUgOC4zLiBFaXRoZXIgdGhlIHtkYX0gc2hvdWxkIGNvbWUgYmVmb3JlIHRoZSB7Z2Fu YWl9IChvciwgYnkgdGhlIHByZXZpb3VzIF4gZXJyYXR1bSwge2dvfSkgYW5kIHRoZSBnbG9zcyBz aG91bGQgYmUgY2hhbmdlZCB0byBvbmx5IG1lbnRpb24gIlgiIG9uY2UsIG9yIGEge2RhfSBzaG91 bGQgYmUgaW5zZXJ0ZWQgYmVmb3JlIHtjYWR6dX0uCgoqKiAnJ0lOQ0xVREVEIElOIERBRy1DTEwn JyAgY2hvc2UgZmlyc3Qgb3B0aW9uIHNpbmNlIGl0J3MgdGVyc2VyICh6b3J0J3MgZm9yayBhdCBs ZWFzdCkgYnV0IG5lZWRzIGFwcHJvdmFsCgoKCiogVGhpczogIkFkamFjZW50IG5lZ2F0aW9uIGJv dW5kYXJpZXMgaW4gdGhlIHByZW5leCBjYW4gYmUgZHJvcHBlZCwiIHJlYWRzIGJldHRlciBhcyAi QWRqYWNlbnQgcGFpcnMgb2YgbmVnYXRpb24gYm91bmRhcmllcyBpbiB0aGUgcHJlbmV4IGNhbiBi ZSBkcm9wcGVkLCIKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAn J0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKioqIFRoZSBvbmxpbmUgdmVyc2lvbiBzYXlzICJBZGph Y2VudCBkb3VibGUgbmVnYXRpb24gYm91bmRhcmllcyIsIGJ1dCBJJ20gb2theSB3aXRoIGVpdGhl ciAiZG91YmxlIiBvciAicGFpcnMgb2YiLiAgLS1qY293YW4KCgoKKiBTZWN0aW9uIDEwLCBleC4g MTAuNSBhbmQgMTAuNiBoYXZlIGEgcHJlbmV4LCAibmFrdSB6byd1IiwgYWZ0ZXIgYW4gaWplay4g VGhpcyBpcyBub3QgYWxsb3dlZCBieSB0aGUgZ3JhbW1hci4gSXQgY291bGQgYmUgZml4ZWQgYnkg cmVtb3ZpbmcgdGhlICJ6byd1IiBhbmQgdXNpbmcgIm5ha3UiIG91dHNpZGUgdGhlIHByZW5leCwg YWx0aG91Z2ggdGhpcyBpcyBvbmx5IGV4cGxhaW5lZCBpbiB0aGUgZm9sbG93aW5nIFNlY3Rpb24g MTEuCgoqKiBUaGlzIGlzIGEgYmlnIHByb2JsZW0sIGFuZCBJJ20gbm90IHN1cmUgd2hhdCBzaG91 bGQgYmUgZml4ZWQuICAtLWpjb3dhbiAgJycnTk9GSVgnJycKCiogU2VjdGlvbiAxMiwgZXguIDEy LjcgYW5kIDEyLjkgaGF2ZSBtaXNzaW5nICJjdSJzLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNh bWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAx NCwgRXhhbXBsZSAxNC4xIGhhcyAiYmxhY2kiIChnbGFzcykgbm90ICJibGFiaSIgKHdoaXRlKSBh cyBwZXIgdGhlIEVuZ2xpc2guCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJv dmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKLS0tCgoKCiFDaGFwdGVyIDE3CgoKCiog U2VjdGlvbiA1LCBhZnRlciBleGFtcGxlIDUuMSwgcGFyYWdyYXBoIHN0YXJ0aW5nICJIb3dldmVy LCAiIGhhcyBpbmNvcnJlY3QgZm9udC4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92 ZWQpKQoKCgoqIFNlY3Rpb24gOSwgcGFnZSA0MjEuIGxlcmZ1IHN0cmluZ3MgYXJlIHdyaXR0ZW4g d2l0aG91dCBwYXVzZXMgb3Igc3BhY2VzLCBldmVuIHRob3VnaCBCWSB3b3JkcyBoYXZlIHRvIGVu ZCB3aXRoIGEgY29uc29uYW50LgoKKiogU3RldC4gIEJZIHdvcmRzIGRvIG5vdCBlbmQgd2l0aCBh IGNvbnNvbmFudCwgYW5kIGEgc3RyaW5nIG9mIHRoZW0gY2FuIG5ldmVyIGJlIGFtYmlndW91cywg c28gcGF1c2VzL3NwYWNlcyBhcmUgbm90IHJlcXVpcmVkLiAgLS1qY293YW4KCgoKKiBTZWN0aW9u IDksIEV4YW1wbGUgOS40OiBzaG91bGRuJ3QgInN5bXlqeSIgYmUgInN5bXlkeSIgKGxvamJhbiBt b3JwaG9sb2d5KT8gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNl Y3Rpb24gMTAuIEFmdGVyIEV4YW1wbGUgMTAuNC41LCB0aGUgcmVmZXJlbmNlIHRvIEV4YW1wbGUg MTAuNCBzaG91bGQgYmUgaW5zdGVhZCB0byBFeGFtcGxlIDEwLjQuNS4KCioqSW4gdGhlIGN1cnJl bnQgREFHLUNMTCwgdGhlIGV4YW1wbGVzIG51bWJlcmluZyBpcyBzYW5lLCBidXQgYWZ0ZXIgRXhh bXBsZSAxMC4zLCB0aGUgdHdvIHJlZmVyZW5jZXMgdG8gRXhhbXBsZSAxMC40IHNob3VsZCBiZSB0 byBFeGFtcGxlIDEwLjMuCgoKCiogUmlnaHQgYmVmb3JlIHNlY3Rpb24gMTIsIHRoZXJlIGlzIGEg bGluZSBicmVhayBpbiB0aGUgbWlkZGxlIG9mIHRoZSBwYXJhZ3JhcGguICAoKEFwcHJvdmVkIEVy cmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBJbiBzZWN0aW9uIDEzLCB0aGUgZmlyc3QgcGFy YWdyYXBoIHN0YXRlcyAiSGlzdG9yaWNhbGx5LCB0aGVzZSBjaGFyYWN0ZXIgc2V0cyBoYXZlIG9u bHkgY292ZXJlZCB0aGUgRW5nbGlzaCBhbHBoYWJldCBhbmQgYSBmZXcgc2VsZWN0ZWQgcHVuY3R1 YXRpb24gbWFya3MuIiwgd2hpY2ggaXMgaW5jb3JyZWN0LiBUaGVyZSBoYXZlIGJlZW4gbXVsdGl0 dWRlcyBvZiBjaGFyYWN0ZXIgc2V0cyBmb3Igd3JpdGluZyBzeXN0ZW1zIG90aGVyIHRoYW4gdGhl IEVuZ2xpc2ggYWxwaGFiZXQuCgoqKiBDaGFuZ2UgdG8gc29tZXRoaW5nIGFsb25nIHRoZSBsaW5l IG9mICJIaXN0b3JpY2FsbHksIGVhY2ggb2YgdGhlc2UgY2hhcmFjdGVyIHNldHMgaGFzIG9ubHkg Y292ZXJlZCBhIHBhcnRpY3VsYXIgd3JpdGluZyBzeXN0ZW0uIgoKCgoqIFNlY3Rpb24gMTcsIHBh Z2UgNDI3LiAiLnR2cml5ZG9zLiBidSIgYmVnaW5zIHdpdGggdGhlIGNvbnNvbmFudCBjbHVzdGVy LCB3aGljaCBpc24ndCBldmVuIHBlcm1pc3NpYmxlIG1lZGlhbGx5LgoKKiogY2hhbmdlIHRvIHR5 dnJpeWRvcwoKKioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lO Q0xVREVEIElOIERBRy1DTEwnJwoKKioqKiBBY3R1YWxseSwgaXQgc2hvdWxkIGJlICJ0eXZyZG9z LiBidSIgIC0tamNvd2FuCgoKCiogSW4gdGhlIHRhYmxlIGluIHNlY3Rpb24gMTksIHRoZSBsZXJ2 bGEgZm9yIG92ZXItZG90ICgiLmdhcm1vYy4gYnUiKSBhbmQgb3Zlci1yaW5nICgiLmdhcmppbi4g YnUiKSBzaG91bGQgYmUgdXBkYXRlZCB0byB0aGVpciBwb3N0LVJlYWxsb2NhdGlvbiBmb3Jtcywg Ii5nYXBtb2MuIGJ1IiBhbmQgIi5nYXB5amluLiBidSIuCgoqKiogKChBcHByb3ZlZCBFcnJhdHVt fGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlv biAxOSBoYXMgdHdvIGNvbHVtbnMgcnVuIHRvZ2V0aGVyIGluIHRoZSByb3cgdGhhdCBzYXlzICJE YW5pc2gvTGF0aW4gYWV0ZWkgLmFidSAuZWJ1IGZvaSIKCgoKLS0tCgohQ2hhcHRlciAxOAoKCgoq IFNlY3Rpb24gMywgZXguIDMuMTAsIHNob3VsZCB0cmFuc2xhdGUgYXMgIi4xMDEyMDAxIi4gICgo QXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIEluIHNlY3Rpb24gNCBleGFt cGxlIDQuNSBpcyBsaW5rZWQgaW5zdGVhZCBvZiA0LjcgLSAiRXhhbXBsZSA0LjUgaXMgbm90IGBg MSBtaW51cyAyJycsIFsuLi58Li4uXSIgd2hlcmUgZXhhbXBsZSA0LjUgaXMganVzdCAidGUnbyIu ICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDUsIHA0 MzcgZXg1LjkgW2dsb3NzXTogb3VyIC0+IGZvdXIgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBB cHByb3ZlZCkpCgoqKiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gNiwgcDQz ODogaiB2dSd1IC0+IHZ1J3UgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoK KiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTdGFydCBvZiBzZWN0aW9uIDExIHNob3Vs ZCByZWFkIHRoZXJlIGFyZSBmaXZlIG1lbWJlcnMgb2YgTU9JIChub3QgZm91cikuICAoKEFwcHJv dmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBJbiBzZWN0aW9uIDExLCBleCAxMS4x MCBvbiB2YSdlICJzb2ZpJ3VwYW5vIiBpbiB0aGUgZXhhbXBsZSBpcyBnbG9zc2VkIGFzICI4LzEw IiBpbnN0ZWFkIG9mICI5LzEwIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQp KQoKKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBJbiBzZWN0aW9uIDExLCAibGVpIHJh dGN1IHBvaSB6dmF0aSBsZSBwYW5rYSBjdSBzbyd1bWVpIGZvIGxvJ2kgcmF0Y3UiLCBidXQgdGhl cmUgaXMgbm8gNHRoIHBsYWNlIG9mIG1laS4KCioqIFJlbW92ZSB0aGUgImZvIjsgKChBcHByb3Zl ZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiog RXhhbXBsZSAxNC40IG5lZWRzIGEgc3ViLTIgYWZ0ZXIgYm90aCBudW1iZXJzLgoKKiogKChBcHBy b3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcn CgoKCiogSW4gc2VjdGlvbiAxNywgYXQgdGhlIGJvdHRvbSBvZiBwYWdlIDQ1NCwgdGhlIHF1YWRy YXRpYyBmb3JtdWxhIHNob3VsZCBiZSBkZXNjcmliZWQgYXMgYSBjbGFzc2ljIGV4YW1wbGUgb2Yg b3BlcmF0b3IgbG9naWNhbCBjb25uZWN0aW9uLCBub3Qgb3BlcmFuZC4gICgoQXBwcm92ZWQgRXJy YXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMjAsIHA0NTg6IC1lc3RhYmxpc2hl ZCAtPiBlc3RhYmxpc2hlZCAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoK CiogU2VjdGlvbiAyMSBzdGF0ZXMgdGhhdCB0aGUgcmFmc2kgb2YgImZyaW51IiBtYXkgYmUgdXNl ZCBhcyByYWZzaSBmb3IgImZpJ3UiOyBob3dldmVyLCAiZnJpbnUiIGxvc3QgYm90aCBvZiBpdHMg c2hvcnQgcmFmc2kgaW4gdGhlIFJlYWxsb2NhdGlvbiwgc28gdGhpcyByZWFsbHkgaXNuJ3QgdmVy eSB1c2VmdWwuIFRoZSB0YWJsZSBiZWxvdyBsaXN0cyAiZmkndSIgYXMgYSByYWZzaSB1c2FibGUg Zm9yICJmaSd1IiwgdGhlcmVmb3JlIG9mICJmcmludSI7IHRoZSBnaW1zdGUgbGlzdHMgImZpJ3Ui IGFzIGEgcmFmc2kgb2YgImNmaXB1Ii4KCioqIFRoaXMgaXMgYSBzZXJpb3VzIHByb2JsZW0gd2hp Y2ggbmVlZHMgc29tZSB0aG91Z2h0LiAgVGhlcmUgbmVlZHMgdG8gYmUgYSByYWZzaSBmb3IgZmkn dSBzb21laG93LiAgLS1qY293YW4gICcnJ05PRklYJycnCgoKCiogU2VjdGlvbiAyMiBleGFtcGxl IDIyLjMsICJtbydlIHZvYm9pIHJlbm9tZWkgc3UnaSB6ZSIsIGRvZXMgbm90IHBhcnNlLgoKKiog SXQgbmVlZHMgInZlaSIgaW4gZnJvbnQgdG8gYmUgYSBxdWFudGlmaWVyIChhbiBvcGVyYW5kIGJ5 IGl0c2VsZiBpcyBub3QgYSBwZXJtaXR0ZWQgZnJhZ21lbnQpLiBBbHNvLCB0aGUgZm9sbG93aW5n IHRleHQgbWVudGlvbnMgInRlJ3UiIGJ1dCB0aGUgZXhhbXBsZSBvbWl0cyBpdC4KCioqKiBOb25l IG9mIHRob3NlIGV4YW1wbGVzIHBhcnNlIHdpdGhvdXQge2xpfSwgd2hpY2ggSSBoYXZlIGFkZGVk IHRvIGFsbC4gIFJlcGxhY2VkIHRoZSBvbmUgaW4gcXVlc3Rpb24gd2l0aCAibGkgbW8nZSB2b2Jv aSByZW5vbWVpIHRlJ3Ugc3UnaSB6ZSIgKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHBy b3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCi0tLQoKIUNoYXB0ZXIgMTkKCgoKKiBT ZWN0aW9uIDQsIHA0NjcgZXg0LjM6IHp1J28gLT4gem8ndSAgKChBcHByb3ZlZCBFcnJhdHVtfGpj b3dhbiBBcHByb3ZlZCkpCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVk KSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDYsIHBhZ2UgNDcyLiBFeGFt cGxlIDYuNiBlbmRzIHdpdGggImtsYW1hIiwgYnV0IGZvciB0aGUgYXJndW1lbnQgdG8gbWFrZSBz ZW5zZSwgaXQgaGFzIHRvIHNheSAibnVua2xhIi4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1n dXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gNywg RXhhbXBsZSA3LjEgaGFzIGFzIHRoZSBFbmdsaXNoOiAiSSBnby10byAoZmlyc3RseSkgdGhlIHN0 b3JlIGFuZCAoc2Vjb25kbHkpIHRoZSBtYXJrZXQuIiAgInRoZSBtYXJrZXQiIHNob3VsZCBiZSAi dGhlIGhvdXNlIi4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAn J0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIEV4YW1wbGUgMTEuOCwgdGhlcmUncyBhIGRlbnBh YnUgYWZ0ZXIge3phJ2V9IGFuZCBubyBkZW5wYWJ1IGFmdGVyIHthbGJlaW5pYXN9LgoKKiogJydJ TkNMVURFRCBJTiBEQUctQ0xMJycgKHpvcnQncyBmb3JrIGF0IGxlYXN0KSBidXQgbmVlZHMgYXBw cm92YWwKCgoKKiBTZWN0aW9uIDExLCB0aGUgcGFyYWdyYXBoIGFmdGVyIGV4YW1wbGUgMTEuOCBz YXlzICJjdGlpcHlyaXMiIGJ1dCBpdCBzaG91bGQgYmUgImNraWlweXJpcyIuICAoKEFwcHJvdmVk IEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCi0tLQoKCgohQ2hhcHRlciAyMAoKCgoqIFNlY3Rp b24gTEUsIHBhZ2UgNDk4LiBJbiAibGUgZ2Vya3Uga2xhbWEgbGUgemRhbmkiLCAiY3UiIGlzIG1p c3NpbmcuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNM VURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIFRVaEUsIHBhZ2UgNTA1LiBJbiAieGFnbWF1 IHpvJ3UgdHUnZSBnYW5haSBjaWRqYSBnaSBjbmlubyAuaSBnYW5haSB2YW5qdSBnaSB0b2xjaSdv IHR1J3UiLCAiY25pbm8iIHNob3VsZCBiZSByZXBsYWNlZCBieSAiY2l0bm8iLiAgQWxzbywgYSBw cmVuZXggY2FuJ3QgaGF2ZSBhIHNlbGJyaSwgc28gJyd4YWdtYXUnJyBzaG91bGQgYmUgcmVwbGFj ZWQgYnkgJydsbyB4YWdtYXUnJy4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBw cm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gU0UsIHBhZ2UgNTA0 OiBtaXNzaW5nICJjdSIgYWZ0ZXIgInphcmNpIi4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1n dXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIEluIHRoZSBwYXNz YWdlcyBvbiBWRUkgYW5kIFZFaE8sIHRoZSAiYm8icyBzaG91bGQgYmUgY2hhbmdlZCB0byAiYmkn ZSJzLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCi0tLQoKCgohQ2hh cHRlciAyMQoKCgoqIEluIHRoZSBCTkYgZ3JhbW1hciwgdGhlIHJ1bGUgc2ltcGxlLXRlbnNlLW1v ZGFsLTk3MiBpcyBtaXNzaW5nIGEgInwiIGJlZm9yZSB0aGUgQ1VoRS4gICgoQXBwcm92ZWQgRXJy YXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIEluIHRoZSBCTkYgZ3JhbW1hciwgdGhlIHJ1bGUg c2ltcGxlLXRlbnNlLW1vZGFsLTk3MiBoYXMgYW4gZXh0cmEgbmV3bGluZSBpbiB0aGUgc3BhY2Uv dGltZSBzdWJwaHJhc2UuCgoKCiogSW4gdGhlIEJORiBncmFtbWFyLCB0aGUgcnVsZSBzZWxicmkt MS0xMzEgaXMgbWlzc2luZyBhICJ8IiBiZWZvcmUgdGhlIE5BLiAgKChBcHByb3ZlZCBFcnJhdHVt fGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogSW4gdGhlIEJORiBncmFtbWFyLCB0aGUgcnVsZSB0YW5y dS11bml0LTItMTUyIGlzIG1pc3NpbmcgYSAifCIgYmVmb3JlIHRoZSBKQUkuICAoKEFwcHJvdmVk IEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1 c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnIDsgYml6YXJlbGx5LCB0aGUg V29yZCBkb2MgdGhlIGJvb2sgd2FzIHByaW50ZWQgZnJvbSBkb2VzIG5vdCBoYXZlIHRoaXMgcHJv YmxlbSBhdCBhbGwuCgoKCiogSW4gdGhlIEJORiBncmFtbWFyLCB0aGUgcnVsZSBvcGVyYXRvci0x LTM3MSBpcyBtaXNzaW5nIHR3byAifCIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJv dmVkKSkKCgoKKiBJbiB0aGUgQk5GIGdyYW1tYXIsIHRoZSBydWxlIG1leC1vcGVyYXRvci0zNzQg aXMgbWlzc2luZyBhICJ8IiBiZWZvcmUgdGhlIE1BaE8gYW5kIGFub3RoZXIgYmVmb3JlIHRoZSBW VWhVLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogSW4gdGhlIEJO RiBncmFtbWFyLCB0aGUgcnVsZSBvcGVyYW5kLTMtMzg1IGlzIG1pc3NpbmcgYSAifCIgYmVmb3Jl IHRoZSBOSWhFLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogSW4g dGhlIEJORiBncmFtbWFyLCBpbiB0aGUgcnVsZSB0aW1lXzEwMzAsIHRoZSAiWkVoQSBbUFUgW05B SV0gXSIgc2hvdWxkIGJlIGVuY2xvc2VkIGluIHBhcmVudGhlc2VzLiAgKChBcHByb3ZlZCBFcnJh dHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpXaWtpY2hhbmdlcyBtYWlsaW5nIGxpc3QKV2lraWNoYW5nZXNAbG9q YmFuLm9yZwpodHRwOi8vbWFpbC5sb2piYW4ub3JnL21haWxtYW4vbGlzdGluZm8vd2lraWNoYW5n ZXMK