Received: from localhost ([::1]:48048 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1TTOLb-0006bS-Ss; Tue, 30 Oct 2012 19:48:04 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:35551 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1TTOLO-0006bJ-5r for wikichanges@lojban.org; Tue, 30 Oct 2012 19:47:58 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Tue, 30 Oct 2012 19:47:49 -0700 From: "Apache" Date: Tue, 30 Oct 2012 19:47:49 -0700 To: wikichanges@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 2.0 (++) X-Spam_score: 2.0 X-Spam_score_int: 20 X-Spam_bar: ++ X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page CLL, aka Reference Grammar, Errata was changed by dylex at 02:47 GMT You can view the page by following this link: http://www.lojban.org/tiki/CLL%2C%20aka%20Reference%20Grammar%2C%20Errata [...] Content analysis details: (2.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 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 dylex 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 eSBkeWxleCBhdCAwMjo0NyBHTVQKCllvdSBjYW4gdmlldyB0aGUgcGFnZSBieSBmb2xsb3dpbmcg dGhpcyBsaW5rOgogCmh0dHA6Ly93d3cubG9qYmFuLm9yZy90aWtpL0NMTCUyQyUyMGFrYSUyMFJl ZmVyZW5jZSUyMEdyYW1tYXIlMkMlMjBFcnJhdGEKCllvdSBjYW4gdmlldyBhIGRpZmYgYmFjayB0 byB0aGUgcHJldmlvdXMgdmVyc2lvbiBieSBmb2xsb3dpbmcgdGhpcyBsaW5rOiAKaHR0cDovL3d3 dy5sb2piYW4ub3JnL3Rpa2kvdGlraS1wYWdlaGlzdG9yeS5waHA/cGFnZT1DTEwlMkMlMjBha2El MjBSZWZlcmVuY2UlMjBHcmFtbWFyJTJDJTIwRXJyYXRhJmNvbXBhcmU9MSZvbGR2ZXI9MjE4Jm5l d3Zlcj0yMTkKCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKgpUaGUgY2hhbmdlcyBpbiB0aGlzIHZlcnNpb24gZm9sbG93IGJlbG93LCBm b2xsb3dlZCBhZnRlciBieSB0aGUgY3VycmVudCBmdWxsIHBhZ2UgdGV4dC4KKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCgorLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwpAQCAt TGluZXM6IDM0OC0zNTEgY2hhbmdlZCB0byArTGluZXM6IDM0OC0zNTMgQEAKKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKKiBTZWN0aW9u IDExLCBwYWdlIDI4NSBoYXMgInhhc2Nha2N1cm51IiBpbnN0ZWFkIG9mICJ4YXN5Y2FrY3VybnUi LgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJ TiBEQUctQ0xMJycKKyAKKyAqIFNlY3Rpb24gMTIgcmVmZXJzIHRvICJudW5rbGFtYSIgYXMgdGhl IHNhbWUgbHVqdm8gYXMgIm51bmtsYSIuICBFdmVuIGlmIHRoZXNlIGFyZSBlcXVpdmFsZW50IGFs dGVybmF0aXZlcyBpdCB3b3VsZCBiZSBsZXNzIGNvbmZ1c2luZyB0byBiZSBjb25zaXN0ZW50LgoK KiBTZWN0aW9uIDEyIGNsYWltcyB0aGF0IC1qYXgtIGlzIGEgcmFmc2kgZm9yIHtqYWl9LCBidXQg aXQgaXNuJ3QgaW4gW2h0dHA6Ly93d3cubG9qYmFuLm9yZy9wdWJsaWNhdGlvbnMvd29yZGxpc3Rz L3JhZnNpLnR4dHxodHRwOi8vd3d3LmxvamJhbi5vcmcvcHVibGljYXRpb25zL3dvcmRsaXN0cy9y YWZzaS50eHRdLiBEb2VzIHtqYWl9IGhhdmUgYSByYWZzaSBvciBub3Q/CgoKCgoqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpUaGUgbmV3 IHBhZ2UgY29udGVudCBmb2xsb3dzIGJlbG93LgoqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKVGhpcyBwYWdlIGlzIGZvciBlcnJhdGEg aW4gKChUaGUgQ29tcGxldGUgTG9qYmFuIExhbmd1YWdlKSksIHRoYXQgaXMgZm9yIG1pc3Rha2Vz IHN1Y2ggYXMgdHlwb3MsIG9yIHNlbGYtY29udHJhZGljdGlvbnMsIG9yIGNvbnRyYWRpY3Rpb25z IHdpdGggb3RoZXIgYmFzZWxpbmVkIGxhbmd1YWdlIGRlZmluaXRpb24gbWF0ZXJpYWwuIFRoaXMg aXMgX19ub3RfXyBhIHBhZ2UgdG8gcHV0IGRlc2lkZXJhdGEgKHN1Z2dlc3Rpb25zIGZvciBpbXBy b3ZlbWVudCk7IHN1Y2ggc3VnZ2VzdGlvbnMgc2hvdWxkIGdvIHRvICgoU3VnZ2VzdGlvbnMgZm9y IENMTCwgc2Vjb25kIGVkaXRpb24pKS4gIFRoaXMgaXMgYWxzbyBub3QgYSBwYWdlIHRvIHB1dCBl cnJhdGEgcmVzdWx0aW5nIGZyb20gdGhlIDR0aCBCYXNlbGluZSBHcmFtbWFyIHByb3Bvc2FsIChp LmUuLCB0aGUgKChQRUcpKSBncmFtbWFyKTsgUEVHIGdyYW1tYXIgZXJyYXRhIHNob3VsZCBnbyB0 byAoKENMTCBQRUcgRXJyYXRhKSkuCgoKCkFuIG9ubGluZSB2ZXJzaW9uIG9mIHRoZSBDTEwgaW5j b3Jwb3JhdGluZyB0aGUgY2hhbmdlcyBvbiB0aGlzIHBhZ2UgW2h0dHA6Ly9kYWcuZ2l0aHViLmNv bS9jbGwvfGlzIGF2YWlsYWJsZV0uCgoKClNlZSBhbHNvIFtXaGF0K2lzK0xvamJhbiUzRitlcnJh dGEmYmw9eXxXaGF0IGlzIExvamJhbj8gZXJyYXRhXSAoZm9yIHRoZSBwdWJsaXNoZWQgdmVyc2lv biksIExldmVsIDAgQm9va2xldCBFcnJhdGEgW3Rpa2ktZWRpdHBhZ2UucGhwP3BhZ2U9TGV2ZWwr MCtCb29rbGV0K0VycmF0YSZsYW5nPXw/XSAoZm9yIHRoZSBwcmUtcHVibGljYXRpb24gcmV2aWV3 czsgbm93IGZpbmlzaGVkKSwgYW5kIFtMZXNzb25zK0VycmF0YSZibD15fExlc3NvbnMgRXJyYXRh XSAoZm9yIHRoZSBiZWdpbm5lcnMnIGNvdXJzZSkuCgoKClRoZSAiJydJTkNMVURFRCBJTiBEQUct Q0xMJyciIHRhZyBtZWFucyB0aGF0IGh0dHA6Ly9kYWcuZ2l0aHViLmNvbS9jbGwvIGluY2x1ZGVz IHRoaXMgZml4LCB3aGljaCBhbHNvIG1lYW5zIGl0J2xsIHByb2JhYmx5IGJlIGluIHRoZSBuZXh0 IENMTCB2ZXJzaW9uLgoKCgotLS0KCgoKIUNoYXB0ZXIgMQoKCgoqIFRoZXJlIGlzIGEgcGFyYWdy YXBoIGF0IHRoZSB2ZXJ5IGJlZ2lubmluZyBvZiBDTEwsIG9uIHBhZ2UgNCwgd2l0aCB0aGUgc2Vu dGVuY2UgJyciSW4gZXNzZW5jZSwgQ2hhcHRlciAyIGdpdmVzIGEgYnJpZWYgb3ZlcnZpZXcgb2Yg dGhlIGxhbmd1YWdlLCBDaGFwdGVyIDIxIGdpdmVzIHRoZSBmb3JtYWwgc3RydWN0dXJlIG9mIHRo ZSBsYW5ndWFnZSwgYW5kIHRoZSBjaGFwdGVycyBpbiBiZXR3ZWVuIHB1dCBzZW1hbnRpYyBib25l cyBvbiB0aGF0IGZvcm1hbCBmbGVzaC4iJycKCioqIFdvdWxkbid0IGl0IG1ha2UgbW9yZSBzZW5z ZSB0byBzYXkgInB1dCBzZW1hbnRpYyBmbGVzaCBvbiB0aG9zZSBmb3JtYWwgYm9uZXMiPyAoKEFw cHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycK CgoKKiBTZWN0aW9uIDYsIGl0IHNheXMgIkxhcnJ5IEhvcm4ncyB3b3JrICcnVGhlIE5hdHVyYWwg SGlzdG9yeSBvZiBOZWdhdGlvbicnIi4gSXQgd291bGQgYXBwZWFyIHRoYXQgZXZlcnlvbmUgZWxz ZSBjYWxscyBpdCAnJ19fQV9fIE5hdHVyYWwgSGlzdG9yeSBvZiBOZWdhdGlvbicnLCBieSBfX0xh dXJlbmNlX18gKFIuKSBIb3JuLgoKKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycgKHpvcnQncyBm b3JrIGF0IGxlYXN0KSBidXQgbmVlZHMgYXBwcm92YWwKCgoKLS0tCgohQ2hhcHRlciAyCgoKCiog U2VjdGlvbiA1IGV4YW1wbGUgNS43IHVzZXMgInRpIiB0byBwb2ludCBhdCBhIGxhbmd1YWdlLCBh bmQgc2hvdWxkIGhhdmUgaXRzIGFjY29tcGFueWluZyBub3RlIGNoYW5nZWQgdG8gbW9yZSBhY2N1 cmF0ZWx5IHJlZmxlY3QgdGhhdCB0aGlzIGlzIG5vdCBob3cgInRpIiB3b3Jrcy4KCgoKKiBTZWN0 aW9uIDYgRXhhbXBsZSA2LjUgaGFzICJjdSIgYXMgZWxpZGFibGUsIHdoZW4gaW4gZmFjdCBpdCBp cyBzaW1wbHkgaWxsZWdhbCB0aGVyZS4gIFJlbW92ZWQuICAnJ0lOQ0xVREVEIElOIERBRy1DTEwn JwoKKiogdWFuYWksIEkgc3RpbGwgc2VlICJjdSIgaW4gREFHLUNMTC4KCgoKKiBTZWN0aW9uIDgg cGFnZSAxNyBjbGFpbXMgdGhhdCAieHUiIGlzIGRpc2N1c3NlZCBpbiBzZWN0aW9uIDEuNywgd2hp Y2ggaGFwcGVucyB0byBsaXN0IHRoZSBjYXB0aW9ucyBmb3IgYWxsIHRoZSBjaGFwdGVyIHBpY3R1 cmVzLgoKKiogSXQgc2hvdWxkIHJlZmVyIHRvIFNlY3Rpb24gMTUuICAoKEFwcHJvdmVkIEVycmF0 dW18amNvd2FuIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCioqKiBUaGUgbGlu ayBpbiB0aGUgY3VycmVudCBEQUctQ0xMIGlzIHBvaW50aW5nIHRvICIyLzIvMTUiIGluc3RlYWQg b2YgdG8gIjIvMTUiLgoKCgoqIFNlY3Rpb24gMTAgc2F5cyB0aGF0IGV4YW1wbGUgMTAuMyAobWkg dGF2bGEgZG8gbGUgdGF2bGEga3UpIG1lYW5zIHRoZSBzYW1lIGFzIChtaSB0YXZsYSBkbyBsZSB0 YXZsYSBrdSkuIEV4YW1wbGUgMTAuMyBzaG91bGQgYmUgIm1pIHRhdmxhIGRvIGxlIHRhdmxhIiwg YXMgaXQgZGVzY3JpYmVzIGhvdyAia3UiIG1heSBiZSBvbWl0dGVkLgoKKiogSXQgYXBwZWFycyB0 aGF0IGV4YW1wbGUgMTAuMyBpcyBpbmNvcnJlY3Qgb25seSBpbiB0aGUgb25saW5lIHZlcnNpb24s IG5vdCB0aGUgcHVibGlzaGVkIGJvb2suCgoKCiogU2VjdGlvbiAxNyBzYXlzICJOb3RlIHRoYXQg RXhhbXBsZSAxNy4zICBoYXMgYW5kIHJlcXVpcmVzIGEg4oCcY3XigJ0gdG8gcHJldmVudCDigJxi YWpyYeKAnSBhbmQg4oCca2xhbWHigJ0gZnJvbSBmb3JtaW5nIGEgdGFucnUsIGJ1dCBFeGFtcGxl IDE3LjQgIGFuZCBFeGFtcGxlIDE3LjUgIGxhY2sgdGhlIHVubmVjZXNzYXJ5IOKAnGN14oCdLiIs IGJ1dCBleGFtcGxlIDE3LjMgaXMgImxhIGRqYW4uIH5ucH5bY3Vdfi9ucH4ga2xhbWEgbGUgemFy Y2kiLgoKKiogSXQgYXBwZWFycyB0aGF0IHRoZSBvZmZlbmRpbmcgc2VudGVuY2UgaXMgcHJlc2Vu dCBvbmx5IGluIHRoZSBvbmxpbmUgdmVyc2lvbiwgbm90IHRoZSBwdWJsaXNoZWQgYm9vay4KCgoK KiBFeGFtcGxlIDE3LjkgaXMgImxlIHZpIHRhdmxhIGt1IGN1IGJhIGtsYW1hIiBpbiB0aGUgb25s aW5lIHZlcnNpb24sIGFuZCB0b3RhbGx5IGJyb2tlbiBpbiB0aGUgcHVibGlzaGVkIGJvb2suCgoq KiBHbyB3aXRoIHRoZSBvbmxpbmUgdmVyc2lvbi4gICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNt aXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIEV4YW1wbGUgMTcuOSBp biBkYWctY2xsIGFzIG9mIDIwMTItMDUtMDUgaXMgImxlIHZpIHRhdmxhIH5ucH5ba3Vdfi9ucH4g Y3UgYmEga2xhbWEiLiBTaW5jZSB0aGUgc2FtZSBzZWN0aW9uIGhhcyBleHBsYWluZWQgdGhhdCB0 ZW5zZSB0YWdzIG1ha2UgImN1IiB1bm5lY2Vzc2FyeSwgSSB0aGluayB0aGUgZXhhbXBsZSBzaG91 bGQgYmUgImxlIHZpIHRhdmxhIH5ucH5ba3VdIFtjdV1+L25wfiBiYSBrbGFtYSIuCgoKCi0tLQoK CgohIENoYXB0ZXIgMwoKCgpBIGxvdCBvZiB0aGUgSVBBIGV4YW1wbGVzIHVzZSBhIHNwYWNlIHRv IGluZGljYXRlIGEgc3lsbGFibGUgYnJlYWsuIFRoaXMgaXMgbm90IHN0YW5kYXJkIElQQSB1c2Fn ZTsgYWNjb3JkaW5nIHRvIElQQSwgdGhlIHBlcmlvZCDigJwu4oCdIHNob3VsZCBiZSB1c2VkIHRv IGluZGljYXRlIGEgc3lsbGFibGUgZGl2aXNpb24uCgoKCiogU2VjdGlvbiAyLCBwYWdlIDMwOiBp biB0aGUgdGFibGUgdGhlIGRlc2NyaXB0aW9uIG9mICJhcG9zdHJvcGhlIiBzaG91bGQgcmVhZCAi YW4gdW52b2ljZWQgZ2xvdHRhbCBzcGlyYW50Iiwgbm90ICJhIHVudm9pY2VkIi4KCioqICgoQXBw cm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwn JwoKCgoqIFNlY3Rpb24gMiwgZGlnaXRhbCB2ZXJzaW9uLiAgVGhlIElQQSB0YWJsZSBnb3QgaG9y cmlibHkgbWFuZ2xlZCBzb21ld2hlcmUgYWxvbmcgdGhlIHdheS4gIEl0IHNob3VsZCBsb29rIGxp a2UgKFNBTVBBIGNvbHVtbiBhZGRlZCk6CgoKCnx8IExldHRlciB8IElQQSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgU0FNUEEgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8IERlc2NyaXB0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAKCiAnICAgICAgfCBbaF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8IFtoXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhbiB1 bnZvaWNlZCBnbG90dGFsIHNwaXJhbnQgICAgICAgICAgICAgICAgICAgICAgCgogLCAgICAgIHwg LS0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAtLS0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdGhlIHN5bGxhYmxlIHNlcGFyYXRvciAg ICAgICAgICAgICAgICAgICAgICAgICAgIAoKIC4gICAgICB8IFvKlF0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8IFs/XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCBhIGdsb3R0YWwgc3RvcCBvciBhIHBhdXNlICAgICAgICAgICAgICAgICAg ICAgICAgCgogYSAgICAgIHwgW2FdLCBbyZFdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgW2FdLCBbQV0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGFuIG9w ZW4gdm93ZWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiBiICAgICAgfCBb Yl0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtiXSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhIHZvaWNlZCBiaWxhYmlhbCBzdG9wICAg ICAgICAgICAgICAgICAgICAgICAgICAgCgogYyAgICAgIHwgW8qDXSwgW8qCXSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8IFtTXSwgW3NgXSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCBhbiB1bnZvaWNlZCBwb3N0YWx2ZW9sYXIgZnJpY2F0aXZlICAgICAgICAg ICAgICAgICAgICAgCgogZCAgICAgIHwgW2RdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCBbZF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg YSB2b2ljZWQgZGVudGFsL2FsdmVvbGFyIHN0b3AgICAgICAgICAgICAgICAgICAgIAoKIGUgICAg ICB8IFvJm10sIFtlXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtFXSwgW2VdICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhIGZyb250IG1pZCB2b3dlbCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogZiAgICAgIHwgW2ZdLCBbybhdICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgW2ZdLCBbcFxdICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IGFuIHVudm9pY2VkIGxhYmlhbCBmcmljYXRpdmUgICAgICAgICAg ICAgICAgICAgICAKCiBnICAgICAgfCBbyaFdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCBbZ10gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg YSB2b2ljZWQgdmVsYXIgc3RvcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKIGkgICAg ICB8IFtpXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW2ldICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgZnJvbnQgY2xvc2Ugdm93ZWwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiBqICAgICAgfCBbypJdLCBbypBdICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgW1pdLCBbemBdICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IGEgdm9pY2VkIHBvc3RhbHZlb2xhciBmcmljYXRpdmUgICAgICAg ICAgICAgICAgICAgICAgICAKCiBrICAgICAgfCBba10gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8IFtrXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCBhbiB1bnZvaWNlZCB2ZWxhciBzdG9wICAgICAgICAgICAgICAgICAgICAgICAgICAgCgog bCAgICAgIHwgW2xdLCBbbMypXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtsXSwg W2w9XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhIHZvaWNlZCBsYXRl cmFsIGFwcHJveGltYW50IChtYXkgYmUgc3lsbGFiaWMpICAgCgogbSAgICAgIHwgW21dLCBbbcyp XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFttXSwgW209XSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCBhIHZvaWNlZCBiaWxhYmlhbCBuYXNhbCAobWF5IGJl IHN5bGxhYmljKSAgICAgICAgCgogbiAgICAgIHwgW25dLCBbbsypXSwgW8WLXSwgW8WLzKldICAg ICAgICAgICAgICAgICAgICAgfCBbbl0sIFtuPV0sIFtOXSwgW049XSAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgYSB2b2ljZWQgZGVudGFsIG9yIHZlbGFyIG5hc2FsIChtYXkgYmUgc3lsbGFi aWMpIAoKIG8gICAgICB8IFtvXSwgW8mUXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 IFtvXSwgW09dICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhIGJhY2sg bWlkIHZvd2VsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogcCAgICAgIHwgW3Bd ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbcF0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYW4gdW52b2ljZWQgYmlsYWJpYWwgc3RvcCAg ICAgICAgICAgICAgICAgICAgICAgIAoKIHIgICAgICB8IFtyXSwgW8m5XSwgW8m+XSwgW8qAXSwg W3LMqV0sIFvJucypXSwgW8m+zKldLCBbyoDMqV0gfCBbcl0sIFtyXF0sIFs0XSwgW1JcXSwgW3I9 XSwgW3JcPV0sIFs0PV0sIFtSXD1dIHwgYSByaG90aWMgc291bmQgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIAoKIHMgICAgICB8IFtzXSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgW3NdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8IGFuIHVudm9pY2VkIGFsdmVvbGFyIHNpYmlsYW50ICAgICAgICAgICAgICAgICAgICAKCiB0 ICAgICAgfCBbdF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFt0XSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhbiB1bnZvaWNlZCBkZW50 YWwvYWx2ZW9sYXIgc3RvcCAgICAgICAgICAgICAgICAgCgogdSAgICAgIHwgW3VdICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbdV0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgYSBiYWNrIGNsb3NlIHZvd2VsICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIAoKIHYgICAgICB8IFt2XSwgW86yXSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8IFt2XSwgW0JdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCBhIHZvaWNlZCBsYWJpYWwgZnJpY2F0aXZlICAgICAgICAgICAgICAgICAgICAgIAoKIHggICAg ICB8IFt4XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW3hdICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGFuIHVudm9pY2VkIHZlbGFyIGZy aWNhdGl2ZSAgICAgICAgICAgICAgICAgICAgICAKCiB5ICAgICAgfCBbyZldICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCBbQF0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgYSBjZW50cmFsIG1pZCB2b3dlbCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIAoKIHogICAgICB8IFt6XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgW3pdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEg dm9pY2VkIGFsdmVvbGFyIHNpYmlsYW50ICAgICAgICAgICAgICAgICAgICAgICB8fAoKCgoqKiBT b3J0LW9mICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKTsgd2hhdCBJIGFj dHVhbGx5IGRpZCBpcyBoYWQgQXJudCByZXZpZXcgd2hhdCBzb21lb25lIGVudGVyZWQgaW4gREFH LUNMTCwgd2hpY2ggcHJlc3VtYWJseSB3YXMgYmFzZWQgb24gdGhlIGFib3ZlLiAgJydJTkNMVURF RCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDIsIHBhZ2UgMzAuIGZvciB0aGUgc2Vjb25kIGVu ZyAoaW1tZWRpYXRlbHkgdG8gdGhlIGxlZnQgb2YgIihtYXkgYmUgc3lsbGFiaWMpIikgdGhlIHN5 bGxhYmljaXR5IG1hcmtlciBpcyBjb25jZWFsZWQgYnkgdGhlIHJpZ2h0IHRhaWwuCgoqKiBJIGNh biBqdXN0IGJhcmVseSBzZWUgdGhlIG1hcmtlciB1bmRlciBhIGdvb2QgbGlnaHQuICAgKChBcHBy b3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqKiogRm9yIGZ1dHVyZSBlZGl0aW9ucyA6 LSkgLCBub3RlIHRoYXQgdGhlIElQQSBhcHByb3ZlcyBwdXR0aW5nIGRpYWNyaXRpY3MgYWJvdmUg cmF0aGVyIHRoYW4gYmVsb3cgdGhlIGxldHRlciBpbiBjYXNlcyBsaWtlIHRoZXNlLiBVbmZvcnR1 bmF0ZWx5LCB0aGUgZm9udHMgaGl0aGVydG8gYXZhaWxhYmxlIGhhdmUgbm90IG1hZGUgdGhpcyBm YWNpbGl0eSBhdmFpbGFibGUsIHNvIG91dHNpZGUgdGhlIGpvdXJuYWwgb2YgdGhlIElQQSBpdHNl bGYsIHN1Y2ggb3Zlci1kaWFjcml0aWNzIGFyZSBzZWxkb20gc2Vlbi4g4oCUIG5pdGNpb24KCgoK KiBJbiBzZWN0aW9uIDMuMiwgdGhlIGNvbW1hIHNob3VsZCAocHJvYmFibHkpIGJlIHJlcHJlc2Vu dGVkIGJ5IHRoZSBJUEEgbm90YXRpb24gWy58Ll0sIGFzIHRoZSBwZXJpb2QgaXMgdXNlZCBpbiBJ UEEgdG8gZGVub3RlIHN5bGxhYmxlIGJyZWFrcy4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4g QXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMiwgcGFnZSAzMC4gRm9yIHRoZSBMb2piYW4gcGhvbmVt ZSAvci8sIHRoZSBJUEEgc3ltYm9sIGZvciBhIGRlbnRhbC9hbHZlb2xhciB2b2ljZWQgYXBpY2Fs IHRhcCBpcyBnaXZlbiB3aXRoIGEgc3lsbGFiaWNpdHkgbWFya2VyIGJlbG93LiBBIHRhcCBjYW4n dCBiZSBzeWxsYWJpYywgYmVjYXVzZSBpdCBpcyBieSBkZWZpbml0aW9uIGluc3RhbnRhbmVvdXMu ICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkgSnVzdCByZW1vdmUgdGhhdCBj YXNlIGFsdG9nZXRoZXIuCgoKCiogU2VjdGlvbiAyLiAgVGhlIGRlc2NyaXB0aW9ucyBvZiAnJ2Mn JyBhbmQgJydqJycgYXJlIGxpc3RlZCBhcyAiY29yb25hbCBzaWJpbGFudCJzLiAgVGhlIGRlc2Ny aXB0aW9ucyBzaG91bGQgcmVhZCAidm9pY2VsZXNzIHBvc3RhbHZlb2xhciBmcmljYXRpdmUiIGFu ZCAidm9pY2VkIHBvc3RhbHZlb2xhciBmcmljYXRpdmUiLCByZXNwZWN0aXZlbHkuICAoKEFwcHJv dmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDMsIHRoaXJkIHBhcmFn cmFwaCAocGFnZSAzMSk6ICJhIHVudm9pY2VkIHZvd2VsIGdsaWRlIiBzaG91bGQgYmUgImFuIHVu dm9pY2VkIHZvd2VsIGdsaWRlIi4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBw cm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gNiwgcGFnZSAzNi4g SVBBIGZvciB0aGUgdW5hY2NlcHRhYmxlIEFtZXJpY2FuIGZsYXAgdmFyaWFudCBvZiBpbnRlcnZv Y2FsaWMgJyd0Jycgc2hvd3MgdGhlIEdBICcncicnIHNvdW5kICh1cHNpZGUtZG93biByKSBpbnN0 ZWFkIG9mIHRoZSBmbGFwIChsaWtlIGFuIHIgd2l0aCBubyB2ZXJ0aWNhbCBiaXQgYXQgdGhlIHRv cCDigJQgc2VlIHRoZSBsaXN0IG9mIGFjY2VwdGlibGUgJydyJycgdmFyaWFudHMgb24gb24gcGFn ZSA0NCB3aGVyZSBpdCBhcHBlYXJzIGNvcnJlY3RseSkgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293 YW4gQXBwcm92ZWQpKQoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkp ICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA2LCBwYWdlIDM2LiAoU2FtZSBh cyBwcmV2aW91cyBlcnJhdHVtKSBUaGUgY29uc29uYW50IGlzIHJlZmVycmVkIHRvIGFzIGEgZmxh cCwgd2hpbGUgaXQgaXMgYWN0dWFsbHkgYSB0YXAuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2Fu IEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDcuIEluIGJldHdlZW4gdGhlIHNoYWRlZCBib3hlcywg ImEgcGFpcmluZyBvZiB2b2ljZWQgYW5kIHVudm9pY2VkIGVxdWl2YWxlbnQgdm93ZWxzIiBzaG91 bGQgcmVhZCAiYSBwYWlyaW5nIG9mIHZvaWNlZCBhbmQgdW52b2ljZWQgZXF1aXZhbGVudCBjb25z b25hbnRzIi4KCgoKKiBTZWN0aW9uIDgsIHBhZ2UgMzguIElQQSBmb3IgcHJvbnVuY2lhdGlvbiBv ZiAieGFwY2tlIiBoYXMgYyB3aGVyZSBpdCBzaG91bGQgaGF2ZSBTIChsb25nIHMpLiAgKChBcHBy b3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiA5LCBwYWdlIDQwLiBJ UEEgZm9yIHByb251bmNpYXRpb24gb2YgImRpa3lqdm8iIGhhcyBqIHdoZXJlIGl0IHNob3VsZCBo YXZlIFogKHRoYXQgbGl0dGxlIHNjcmlwdCB6IHRoaW5nKSAgKChBcHByb3ZlZCBFcnJhdHVtfGpj b3dhbiBBcHByb3ZlZCkpCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVk KSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDEyLCBwYWdlIDQ2LiBXaGF0 IHNob3VsZCBiZSB0aGUgQ3lyaWxsaWMgbGV0dGVyIDsgaXMgcHJpbnRlZCBhcyBzb21ldGhpbmcg dGhhdCBsb29rcyBsaWtlIHRoZSBHcmVlayBsZXR0ZXIgLiBJcyB0aGlzIG9ubHkgYSB0eXBvZ3Jh cGhpY2FsIHZhcmlhbnQgb2YgdGhlIDssIG9yIGlzIGl0IGEgdmFyaWFudD8KCgoKKiogVGhpcyBl cnJhdHVtIGlzIGluZGVjaXBoZXJhYmxlIGFuZCBzaG91bGQgYmUgZHJvcHBlZCwgdW5sZXNzIHNv bWVvbmUgY2FuIHJlY29uc3RydWN0IGl0LiAgVGhlIEN5cmlsbGljIGxldHRlcnMgbG9vayBmaW5l LiAgLS1qY293YW4KCgoKKiBTZWN0aW9uIDEyLCBwYWdlIDQ2LiBSZXBsYWNlIHRoZSB3b3JkcyAi dGhlIGhhcmQgc2lnbiIgd2l0aCBhbiBhY3R1YWwgaGFyZCBzaWduLCBVKzA0NEEgQ1lSSUxMSUMg U01BTEwgTEVUVEVSIEhBUkQgU0lHTi4KCgoKKiBTZWN0aW9uIDEyLCBwYWdlIDQ3LiAiYXJlLyJl c3NlIiBzaG91bGQgcHJvYmFibHkgYmUgImFyZSIvImVzc2UiICh0aGUgYWN1dGUgb24gdGhlIGEg bWF5IG9yIG1heSBub3QgaGF2ZSBiZWVuIGxlZnQgb2ZmLCBidXQgdGhlIGNsb3NpbmcgcXVvdGUg YWZ0ZXIgYXJlIGlzIGRlZmluYXRlbHkgbWlzc2luZy4pCgoqKiBNeSBjb3B5IHNob3dzIHRoZSBh Y3V0ZS4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xV REVEIElOIERBRy1DTEwnJwoKCgotLS0KCgoKIUNoYXB0ZXIgNAoKCgoqIFNlY3Rpb24gNCwgcGFn ZSA1NC4gVGhlIGJvb2sgc3RhdGVzIHRoYXQgZnUnaXZsYSB3aXRoIGEgZm9ybSBsaWtlICcnc3Bh J2knJyBhcmUgdmFsaWQuIFRoZXkgYXJlIG5vdCwgdGhleSBmYWlsIHRoZSBzbGlua3UnaSB0ZXN0 LiAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUct Q0xMJycKCgoKKiBTZWN0aW9uIDYsIHAgNTgsICItbGFjIiBpbiB0aGUgdGhpcmQgdGFibGUgaW4g dGhhdCBzZWN0aW9uIHNob3VsZCBiZSAiLWxhYy0iCgoKCiogU2VjdGlvbiA2LCBpdCBzYXlzICJN b3N0IGNtYXZvIHRoYXQgaGF2ZSByYWZzaSBhcmUgb25lcyB1c2VkIGluIGNvbXBvc2luZyB0YW5y dSAoZm9yIGEgY29tcGxldGUgbGlzdCwgc2VlIENoYXB0ZXIgMTIpIiwgYnV0IHRoZXJlIGlzIG5v IHN1Y2ggbGlzdCBpbiBDaGFwdGVyIDEyLCBvciBhbnl3aGVyZSBpbiB0aGUgYm9vayAoanUnb3Nh aSkuIFBlcmhhcHMgaXQgd2FudHMgdG8gcG9pbnQgdG8gdGhlIGxpc3Qgb2YgUEEgcmFmc2kgaW4g Q2hhcHRlciAxOCBzZWN0aW9uIDI1PyBPciB0byB0aGUgbGlzdHMgb2YgdGFucnUgaW4gQ2hhcHRl ciA1IHNlY3Rpb25zIDE0IGFuZCAxNT8KCioqIFdoYXQgSSBwcm9iYWJseSBtZWFudCB3YXMgdGhh dCBDaGFwdGVyIDEyLCB0YWtlbiBhcyBhIHdob2xlLCBkaXNjdXNzZXMgdGhlIGNtYXZvIHVzZWQg aW4gY29uc3RydWN0aW5nIHRhbnJ1LiAgSSBkb24ndCB0aGluayBhbnkgc3BlY2lmaWMgbGlzdCBl dmVyIGV4aXN0ZWQuICBJJ2QganVzdCBkcm9wIHRoZSBwYXJlbnRoZXRpY2FsIHNlbnRlbmNlLgoK CgoqIFNlY3Rpb24gNiwganVzdCBhZnRlciBleGFtcGxlIDYuOS4gSXQgc2F5cyAic29tZSBvZiB0 aGUgdW5yZWR1Y2VkIGZvcm1zIGluIHRoZSBwcmV2aW91cyBleGFtcGxlIiwgYnV0IGl0IGlzIG5v dCByZWZlcnJpbmcgdG8gdGhlIHByZXZpb3VzIGV4YW1wbGU6IGl0IGlzIHJlZmVycmluZyBhbGwg dGhlIHdheSBiYWNrIHRvIGV4YW1wbGVzIDYuMSBhbmQgNi4yLCBzbyBpdCBzaG91bGQgYmUgInNv bWUgb2YgdGhlIHVucmVkdWNlZCBmb3JtcyBpbiB0aGUgcHJldmlvdXMgZXhhbXBsZV9fc19fIi4K CioqICcnSU5DTFVERUQgSU4gREFHLUNMTCcnICh6b3J0J3MgZm9yayBhdCBsZWFzdCkKCihBcHBy b3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpICBSZWZlciBleHBsaWNpdGx5IHRvIDYuMSBh bmQgNi4yCgoKCiogU2VjdGlvbiA3LCBwYWdlIDYwLiBJbiBleGFtcGxlIDYuMTYsIHRoZSB3b3Jk ICJ4YXJueWthcmNlIiBpcyBnbG9zc2VkIGFzICJ3YXItY2FyIi4gRWl0aGVyIHRoZSBnbG9zcyBz aG91bGQgYmUgdXBkYXRlZCB0byByZWZsZWN0IHRoZSB2ZWxqdm8gKCJzdHViYm9ybi1jYXIiKSwg b3IgdGhlIGx1anZvIHNob3VsZCBiZSB1cGRhdGVkIHRvIHJlZmxlY3QgdGhlIGdsb3NzICJqYW1r YXJjZSIKCioqIFRoZSBsYXR0ZXIgKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3Zl ZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA3LCBtYWtpbmcgYSB0eXBl IDMgZnUnaXZsYSwgc3RlcCA1IHNob3VsZCByZWFkICJzdGVwcyAxLTQiLCBub3QgInN0ZXBzIDEt NSIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDcs IHN0ZXAgNSBvZiB0aGUgU3RhZ2UgMyBmdSdpdmxhOiAiaWYgdGhlIHJhZnNpIGVuZHMgaW4gJydy JycgYW5kIHRoZSByZXN0IG9mIHRoZSBmdSdpdmxhIGJlZ2lucyB3aXRoICcnbicnIChvciB2aWNl IHZlcnNhKSB1c2UgYW4gJydsJyctaHlwaGVuIiBzaG91bGQgcmVhZCAgImlmIHRoZSByYWZzaSBl bmRzIGluICcncicnIGFuZCB0aGUgcmVzdCBvZiB0aGUgZnUnaXZsYSBiZWdpbnMgd2l0aCAnJ24n JywgJyd0YycnLCAnJ3RzJycsICcnZHonJyBvciAnJ2RqJycsIG9yIHRoZSByYWZzaSBlbmRzIGlu ICcnbicnIGFuZCB0aGUgcmVzdCBvZiB0aGUgZnUnaXZsYSBiZWdpbnMgd2l0aCAnJ3InJyB1c2Ug YW4gJydsJyctaHlwaGVuIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoK CgoqIFRoZSBlbmQgb2Ygc2VjdGlvbiA3IHNlZW1zIHRvIGltcGx5IHRoYXQgY21lbmUgYXJlIGV4 ZW1wdCBmcm9tIHRoZSBub3JtYWwgcmVzdHJpY3Rpb25zIG9uIGNvbnNvbmFudCBjbHVzdGVycyBh cyBsb25nIGFzIGVhY2ggY29uc29uYW50IHBhaXIgaXMgdmFsaWQuCgoKCiogU2VjdGlvbiA4LiBF eGFtcGxlIDguMTAgJydkamFuZGpvbnonJyBpcyBub3QgdmFsaWQgbG9qYmFuIGFzIGl0IGNvbnRh aW5zIHRoZSBmb3JiaWRkZW4gY29uc29uYW50IHNlcXVlbmNlIGBuZGpgLiAgICAoKEFwcHJvdmVk IEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkgIFJlcGxhY2Ugd2l0aCBhIGRpZmZlcmVudCBuYW1l LgoKKiogUmVwbGFjaW5nIHdpdGggIkpvaG4gQnJvd24iIGFzICJkamFuYnJhdW4iLiAtLXJscG93 ZWxsICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA4LCBwYWdlIDY2LiBFeGFt cGxlIDguMTIuIFNheXMgdGhhdCB0aGUgZ2lzbXUgInNvbHJpIiBtZWFucyAiYWN0dWFsbHksICdw ZXJ0YWluaW5nIHRvIHRoZSBzdW4nIi4gVGhpcyBpcyBmYWxzZS4gQWNjb3JkaW5nIHRvIHRoZSBn aXNtdSBsaXN0LCBpdCBtZWFucyAnJ2lzJydhIHN1bi4KCioqIExlYXZlIHRoaXMgb25lIGFsb25l LiAgQXMgYSBzZWx0YXUsICJzb2xyaSIgZG9lcyBpbmRlZWQgbWVhbiAic29sYXIiLiAgLS1qY293 YW4KCgoKKiBTZWN0aW9uIDExLCA1YSkgJydFeGFtaW5lIGFsbCB0aGUgQy9DIGNvbnNvbmFudCBw YWlycyB0aGF0IGpvaW4gdGhlIENWQyByYWZzaSwgYW5kIGFsc28gdGhlIHBhaXIgYmV0d2VlbiB0 aGUgbGFzdCBDVkMgYW5kIHRoZSBYIHBvcnRpb24sIGlnbm9yaW5nIGFueSAieSItaHlwaGVuIGJl Zm9yZSB0aGUgWC4nJyBzaG91bGQgcmVhZCBpbnN0ZWFkOiAnJ0V4YW1pbmUgYWxsIHRoZSBDL0Mg Y29uc29uYW50IHBhaXJzIHVwIHRvIHRoZSBmaXJzdCAieSItaHlwaGVuLCBvciB1cCB0byB0aGUg ZW5kIG9mIHRoZSB3b3JkIGluIGNhc2UgdGhlcmUgYXJlIG5vICJ5Ii1oeXBoZW5zLicnCgoqKiAo KEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUct Q0xMJycKCgoKKiBTZWN0aW9uIDEyLiBJbiBFeGFtcGxlcyAxMi4yLCAxMi4zIGFuZCAxMi40IHRo ZSBjYWxjdWxhdGlvbnMgYXJlIGdpdmVuIGFzIDMyNTAwIG1pbnVzIHRoZSBzY29yZSwgaW5zdGVh ZCBvZiBzaW1wbHkgdGhlIHNjb3JlLiAoUHJvYmFibHkgZnJvbSBwcmV2aW91cyB2ZXJzaW9ucyBv ZiB0aGUgYWxnb3JpdGhtLikgICAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkp CgoKCiogU2VjdGlvbiAxMywgcGFnZSA3NCwgdGhpcmQgdGFibGU6IHRoZXJlIGlzIG5vIHNwYWNl IGJldHdlZW4gImxvamJhdWdyaSIgYW5kICJsb2piYW5neWdyaSIsIHNvIHRoYXQgdGhleSBhcmUg cnVuIGludG8gb25lIHdvcmQgaW4gdGhlIHNlY29uZCBjb2x1bW4gb2YgdGhlIHRhYmxlLiAgKChB cHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAxNSBzdGF0ZXMg dGhhdCAiZHppcG8iIGNvbWVzIGZyb20gImNhZHp1IGNpcG5pIiAoIndhbGtpbmcgYmlyZCIpLiAg VGhpcyBmYWlscyB0byBtYWtlIHNlbnNlIGVpdGhlciBldHltb2xvZ2ljYWxseSBvciBzZW1hbnRp Y2FsbHkgKElmIHRoZSBuYW1lIHJlZmVycyB0byBwZW5ndWlucywgdGhlcmUgYXJlIGEgbG90IG9m IG90aGVyIGZlYXR1cmVzIG9mIEFudGFyY3RpY2EgdGhhdCBhcmUgbW9yZSBwcm9taW5lbnQgYW5k IG5vdCBzaGFyZWQgYnkgb3RoZXIgcGxhY2VzKS4gIEkgc3VzcGVjdCB0aGF0IHRoZSB3b3JkIG1h eSBhY3R1YWxseSBjb21lIGZyb20gImRpemxvIGRhcGx1IiAoImxvdyBpc2xhbmQiKSwgd2hpY2gg aXMgYSBzb21ld2hhdCBtb3JlIHJlYXNvbmFibGUgbmFtZS4KCioqIE5vdCBhbiBlcnJhdHVtLCB0 aGUgd29yZCByZWFsbHkgZG9lcyBjb21lIGZyb20gImNhRFp1IGNJUG5pIi4gVGhhdCBpdCBmYWls cyB0byBtYWtlIHNlbnNlIGRvZXNuJ3QgY2hhbmdlIHRoZSBmYWN0IHRoYXQgdGhhdCBpcyBob3cg dGhleSBjb25zdHJ1Y3RlZCBpdC4gVGhlIGV0eW1vbG9naWVzIG9mICJiZW1ybyIgYW5kICJrZXRj byIgbWFrZSBldmVuIGxlc3Mgc2Vuc2UsIGJ5IHRoZSB3YXkuCgoqKiogQ29ycmVjdCwgYnV0IHRo ZSBldHltb2xvZ2llcyBhcmUgd2hhdCB0aGV5IGFyZS4gIC0tamNvd2FuCgoKCi0tLQoKCgohQ2hh cHRlciA1CgoKCiogU2VjdGlvbiA2LCBleGFtcGxlIDYuMTU6IEl0IHNheXMge3hhbWd1IGpvIGNv cnR1IG51bnRhdmxhfSwgYW5kIHRoZSBnbG9zcyBzYXlzIHsoZ29vZCBpZi1hbmQtb25seS1pZiBz aG9ydCkgc3BlZWNofSwgYnV0IHtjb3J0dX0gbWVhbnMgImh1cnQiLCBub3QgInNob3J0Ii4KCioq ICcnSU5DTFVERUQgSU4gREFHLUNMTCcnICAoY2hhbmdlZCB0byB7dG9yZHV9KSAoaW4gem9ydCdz IGZvcmsgYXQgbGVhc3QpICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoq IEV4YW1wbGUgNi4xNjogdmFqbmkganUgc2VscGx1a2EgbnVudGF2bGEgLCAgKGltcG9ydGFudCB3 aGV0aGVyLW9yLW5vdCBwbGVhc2luZykgZXZlbnQtb2YtdGFsa2luZwoKKiogU2hvdWxkIGJlIHBs dWthLCBub3Qgc2VscGx1a2EuICAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVk KSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDggc2F5cyAiaW52b2x2aW5n IHNlbG1hJ28gVk9oQSBhbmQgR09oSSwgZXhwbGFpbmVkIGluIENoYXB0ZXIgNyIsIGJ1dCBWT2hB IGRvZXNuJ3QgYXBwZWFyIGluIENoYXB0ZXIgNy4gVk9oQSBkb2Vzbid0IGV2ZW4gc2VlbSB0byBi ZSBhIHNlbG1hJ28sIGZvciB0aGF0IG1hdHRlci4gQWxzbywgcHJvYmFibHkgR09oSSBzaG91bGQg YmUgR09oQT8KCgoKKiBTZWN0aW9uIDgsIHBhZ2UgOTYvOTc6IEV4YW1wbGUgOC4xMyBuZWVkcyBz b21lIGtpbmQgb2YgdGVybWluYXRvciAobGlrZSAiYmUnbyIpIGJlZm9yZSB0aGUgImNvIi4gICAo KEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBBbHNvLCB0aGUgcHJlY2Vk aW5nIHBhcmFncmFwaCBzdWdnZXN0cyB0aGF0ICJiZSIgaXMgdGhlIG9ubHkgd2F5IHRvIGZpbGwg c2VsYnJpIHBsYWNlcyBvdGhlciB0aGFuIHgxLiBUaGlzIGlzIG5vdCB0aGUgY2FzZTogIm1pIGxl IHphcmNpIGN1IGtsYW1hIGNvIHN1dHJhIiB3b3VsZCBhbHMKCm8gd29yay4KCioqIEkgZG9uJ3Qg YWdyZWUgdGhhdCB0aGVyZSdzIGFueSBzdWNoIHN1Z2dlc3Rpb24sIGFsdGhvdWdoIGFkZGluZyBh IHNlY29uZCBwb3NzaWJpbGl0eSBpcyBmaW5lIHdpdGggbWUuICAtLWpjb3dhbgoKCgoqIFNlY3Rp b24gOSBsaXN0cyAia2VpIiBhcyB0aGUgdGVybWluYXRvciBmb3IgbnUsIGJ1dCBpdCdzIG5vdCBv bmx5IGZvciBudSwgYnV0IGZvciBhbGwgb2YgTlUuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2Fu IEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDE0LCBwYWdlIDEwNCBzYXlzICJkYWR5bHNpIiBmb3Ig ImRhZHlzbGkiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcn SU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxNCwgcGFnZSAxMDUgdXNlcyAiemRh bmkgbGlqZ3JpIiBpbiB0aGUgZXhhbXBsZSBsaXN0LCBidXQgdGhlIHBhcmFncmFwaCBhZnRlciwg YXMgd2VsbCBhcyB0aGUgbmV4dCBsaXN0LCByZWZlciB0byAiemRhbmkgbGluamkiIGFuZCAibGlu amkgemRhbmkiLgoKCgoqIFNlY3Rpb24gMTQsIHBhZ2UgMTA1IGhhcyB0aGUgbHVqdm8gImNwdW1p J2kiIGJ1dCBkZWZpbmVzIGl0IGF0IHRoZSBib3R0b20gb2YgdGhlIHNldCBhcyAiY3BhbWknaSIu CgoqKiBjdWFtaSdpIHMgcHVsbC1tYWNoaW5lLCBzbyB1c2luZyB0aGF0ICgoQXBwcm92ZWQgRXJy YXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNl Y3Rpb24gMTQsIHBhZ2UgMTA2IHNheXMgInBsaXNlIHRhcGxhIiBmb3IgImFwcGxlIGNha2UiLiBE b2VzIFR1cmtpc2ggcmVhbGx5IHJlZmVyIHRvIGEgY2FrZSBhcyBhIHRpbGUsIG9yIGlzIHRoaXMg YSBtaXN1bmRlcnN0YW5kaW5nIG9mIHRoZSBkZWZpbml0aW9uIG9mICJ0YXBsYSI/CgoqKiBObywg aXQncyB0aGF0IHt0YXBsYX0gY2FuIG1lYW4gYm90aCBjYWtlIGFuZCB0aWxlLCBhcyB0aGUgZ2lz bXUgbGlzdCBzaG93czsgaXQncyBhIGdlbmVyaWMgd29yZCBmb3IgYSBmbGF0IDMtRCBzaGFwZSwg b3Igc2hvcnQgY3lsaW5kZXIuICBTdGV0LiAgLS1qY293YW4KCgoKKiBTZWN0aW9uIDE0LCBwYWdl IDEwOCBzYXlzICJ0dW1sYSBzcGlzYSIuIFRoaXMgc2hvdWxkIHByb2JhYmx5IGJlICJ0dW1sYSBw YWdidSIsIHNpbmNlIHBpZWNlcyBvZiBsYW5kIGFyZSBub3QgYWN0dWFsbHkgZGV0YWNoZWQuCgoq KiBXaGF0IG1ha2VzIHlvdSB0aGluayB0aGF0IHNwaXNhIGhhdmUgdG8gYmUgZGV0YWNoZWQ/ICBT dGV0LiAgLS1qY293YW4KCgoKKiBTZWN0aW9uIDE0LCBwYWdlIDEwOSBzYXlzICJyb3N0dSBtb2p5 c3UnYSIuICJyb3N0dSIgaXMgbm90IGEgTG9qYmFuIGdpc211LCBub3IgYW4gT2xkIExvZ2xhbiBw cmltaXRpdmUuIEl0J3Mgc3VwcG9zZWQgdG8gYmUgIm1yb3N0Cgp1Ii4KCioqICJNcm9zdHUiIGlz IGNvcnJlY3QsIGFuZCB0aGF0J3MgdGhlIHJlYWRpbmcgb2YgdGhlIG9ubGluZSB2ZXJzaW9uLiAg KChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAxNCwgIm51 bmtpbGJyYSIgaXMgY2xlYXJseSBub3QgInNoYXJwZW5lciIsIGFuZCBldmVuIGlmIGl0IHdhcyB1 c2luZyB0aGUgcmlnaHQgcmFmc2kgZm9yIGNhYnJhLCB0aGF0IHN0cmlrZXMgbWUgYXMgYSBwcmV0 dHkgY3JhcHB5IGx1anZvOyBuZWVkcyB6ZW5iYSBvciB6bWFkdSBvciBiaW54byBvciBzb21ldGhp bmcuCgoKCiogU2VjdGlvbiAxNCwgcGFnZSAxMTIgbGlzdHMgbnVtZXJvdXMgdGFucnUgZXhhbXBs ZXMgd2hvc2UgbWVhbmluZ3MgYXJlIGh5cGVybnltcyBvZiB0aGUgdGVydGF1IGluc3RlYWQgb2Yg aHlwb255bXMuIFRoaXMgY29udHJhZGljdHMgdGhlIHByaW1hcmluZXNzIG9mIHRoZSB0ZXJ0YXUg YXMgZGVmaW5lZCBvbiBwYWdlIDg0LiBUaGUgd29yZCAiamEiIHNob3VsZCBwcm9iYWJseSBiZSBp bnNlcnRlZCBiZXR3ZWVuIHRoZSBjb25zdGl0dWVudHMsIG9yIHRoZSBlbnRpcmUgc2VjdGlvbiBz aG91bGQgYmUgcmVtb3ZlZC4KCioqIFN0ZXQuICBMaW9ucyBjYW4ndCBiZSBtYWRlIG9mIHN0b25l LCBidXQge3Jva2NpIGNpbmZvfSBpcyBhIGxlZ2l0aW1hdGUgdGFucnUgbm9uZXRoZWxlc3MuICAt LWpjb3dhbgoKCgotLS0KCgoKIUNoYXB0ZXIgNgoKCgoqIEVuZCBvZiBzZWN0aW9uIDIsIGl0IHNh eXMgImNvbXBvdW5kIG5lZ2F0b3IgYGBuYWt1JycgKGRpc2N1c3NlZCBpbiBDaGFwdGVyIDE1KSIs IGJ1dCAibmFrdSIgaXMgbmV2ZXIgbWVudGlvbmVkIGluIGNoYXB0ZXIgMTU7IGluZGVlZCwgdGhl IG9ubHkgdXNlcyBvZiB0aGUgd29yZCB7a3V9IGF0IGFsbCBhcmUgYWZ0ZXIgdGhlIHdvcmRzIHtq aSd1fSBvciB7bmEnaX0uIENoYXB0ZXIgMTYgdGFsa3MgYWJvdXQge25ha3V9LgoKKiogJydJTkNM VURFRCBJTiBEQUctQ0xMJycgKHpvcnQncyBmb3JrIGF0IGxlYXN0KSBidXQgbmVlZHMgYXBwcm92 YWwKCgoKKiBTZWN0aW9uIDEyLCBwLiAxMzggY2xhaW1zIHRoYXQgdGhlIHN1bXRpIGluIGV4YW1w bGVzIDEyLjIgYW5kIDEyLjMgb3BlcmF0ZSBsaWtlIGV4YW1wbGVzIDIuNSBhbmQgMy42IHJlc3Bl Y3RpdmVseS4gIjIuNiBhbmQgMy42IiBpcyBhbG1vc3Qgc3VyZWx5IHdoYXQgd2FzIG1lYW50LiAg KChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNM TCcnCgoKCiogSW4gc2VjdGlvbiAxMSBFeGFtcGxlIDExLjIgb2NjdXJzIHR3aWNlLgoKKiogKChB cHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNM TCcnCgoKCiogU2VjdGlvbiAyIGhhcyBleGFtcGxlcyAyLjMgYW5kIDIuNSB0byBzaG93IHRoZSBk aWZmZXJlbmNlIGJldHdlZW4ge2xvfSBhbmQge2xlfS4gRXhhbXBsZSAyLjUgYW5kIHRoZSBzdWJz ZXF1ZW50IHRleHQgc2F5IHRoYXQge2xvIG5hbm11IGN1IG5pbm11fSBpcyBuZWNlc3NhcmlseSBm YWxzZSBpbiBsb2piYW4gc2luY2Uge25vZGEgbmFubXUgZ2knZSBuaW5tdX0uIFRoaXMgY29udHJp YnV0ZXMgdG8gdHJhbnMtZXJhc3VyZSwgYW5kIHNob3VsZCBiZSByZXZpc2VkLgoKCgoqIEluIHNl Y3Rpb24gNSBiZXR3ZWVuIGV4YW1wbGVzIDUuMiBhbmQgNS4zLCBpdCBzYXlzIHRoYXQgdGhlIHR5 cGljYWwgbGlvbiBiZXN0IGV4ZW1wbGlmaWVzIHRoZSBzZXQgb2YgbGlvbnMuIFRoaXMgaXMgZmFs c2UsIGl0IGV4ZW1wbGlmaWVzIG5vdCB0aGUgc2V0LCBidXQgdGhlIG1lbWJlcnMgb2YgdGhhdCBz ZXQuCgoKCi0tLQoKCgohIENoYXB0ZXIgNwoKCgoqIFNlY3Rpb24gNiwgcGFnZSAxNTUgaGFzIGEg bm90ZSBiZWxvdyBleGFtcGxlIDYuMTMgdGhhdCBzYXlzLCBpbiBwYXJ0OiAiVGhlIExvamJhbiBk b2VzIG5vdCBjb250YWluIGFuIGVxdWl2YWxlbnQgb2YgdGhlICJteSIgaW4gY29sbG9xdWlhbCBF bmdsaXNoOyIgYW5kIHRoZW4gZ29lcyBvbiB0byBleHBsYWluIGhvdyBleGFtcGxlIDYuMTMgY291 bGQgYmUgbW9kaWZpZWQgdG8gaW5jbHVkZSAgdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHRoZSBz cGVha2VyIGFuZCB0aGVpciBzb24gYW5kIGRhdWdodGVyLiAgSSBiZWxpZXZlIHlvdSBjb3VsZCBz YXkgImxlIG1pIGJlcnNhIiBvciAibGUgYmVyc2EgcGUgbWkiIHRvIGV4cHJlc3MgdGhlIEVuZ2xp c2ggIm15LCIgdGhlcmVmb3IgcmVtb3ZpbmcgdGhlIChwcmVzdW1hYmx5IGluYWNjdXJhdGUpIG5v dGUgYW5kIG1ha2luZyB0aGUgTG9qYmFuIHRyYW5zbGF0aW9uIG1vcmUgYWNjdXJhdGUuCgoqKiBT dXJlIHlvdSBjb3VsZCwgYnV0IHRoZSBwb2ludCBvZiB0aGUgbm90ZSAod2hpY2ggaXMgJydub3Qn JyBpbmFjY3VyYXRlKSBpcyBub3QgdGVhY2hpbmcgaG93IHRvIHVzZSByZWxhdGl2ZSBjbGF1c2Vz LCBidXQgdG8gY2xhcmlmeSB0aGF0IHRoZSBpZGlvbWF0aWMgRW5nbGlzaCB2ZXJzaW9uIGNvbnRh aW5zIG1vcmUgaW5mb3JtYXRpb24gdGhhbiB0aGUgTG9qYmFuIHZlcnNpb24gZG9lcy4gIFN0ZXQu CgoKCiogU2VjdGlvbiA2LCBwYWdlIDE1NiBoYXMgJydrYXJjYScnIGZvciAnJ2thcmNlJycuICAo KEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBBZnRlciBleGFtcGxlIDYu MTggaXMgYSBwYXJhZ3JhcGggdGhhdCBxdW90ZXMgbm9uLWV4aXN0ZW50IHRleHQgZnJvbSBleGFt cGxlIDYuMTAuICAiZ28nZSByYSdvIiBzaG91bGQgcmVhZCAiZ28naSByYSdvIiBhbmQgImRvIGdv J2UiIHNob3VsZCByZWFkICJtaSBnbydpIgoKKiogVGhlIGNvcnJlY3QgY29ycmVjdGlvbiBpcyB0 byByZXBsYWNlICJCJ3Mgc3RhdGVtZW50IiB3aXRoICJBJ3Mgc2Vjb25kIHN0YXRlbWVudCIuICAo KEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCioqKiBOb3QgcmVhbGx5LiAiZ28n ZSByYSdvIiBpbiBBJ3Mgc2Vjb25kIHN0YXRlbWVudCB3b3VsZCBtZWFuIHRoZSBzYW1lIGFzICJn bydlIiwgd2hpY2ggaXMgd3JvbmcuIFRoZSBvcmlnaW5hbCBjb3JyZWN0aW9uIGlzIHZhbGlkIHRo b3VnaC4KCgoKKlNlY3Rpb24gNiwgdGhlIGV4Y2VwdGlvbnMgdG8gdGhlIGFuYXBob3JhIHJ1bGVz IGFyZSBhbG1vc3QgY2VydGFpbmx5IGluY29tcGxldGUuIEluIHBhcnRpY3VsYXIgIm1hIiBhbmQg ImNlJ3UiIGRlZmluaXRlbHkgd2FycmFudCBleGNlcHRpb25zLgoKCgoqIFNlY3Rpb24gNywgZXhh bXBsZSA3LjcgaGFzICJtaSB6YmFzdSBsb2kgbXVkcmkgemknbyIgZm9yICJtaSB6YmFzdSBsZSBk aW5qdSB6aSdvIgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcn SU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA4LCBwLiAxNTggaW1wbGllcyB0aGF0 ICcndm8nYScnLXNlcmllcyBhbmFwaG9yYSByZWZlciB0byBzdW10aSBvZiB0aGUgYnJpZGkgdGhl eSB0aGVtc2VsdmVzIGFyZSBzdW10aSBvZi4gVGhpcyBjb250cmFkaWN0cyB0aGUgY21hdm8gbGlz dCwgYW5kIGlzIGluY29ycmVjdDogJyd2bydhJyctc2VyaWVzIGFuYXBob3JhIChhY2NvcmRpbmcg dG8gdGhlIG1hJ29zdGUpIHJlZmVyIHRvIHN1bXRpIG9mIHRoZSBvdXRlcm1vc3QgYnJpZGkgd2l0 aGluIHRoZSBjdXJyZW50IHNlbnRlbmNlLiBUaGlzIG1ha2VzIHRoZW0gbG9nb3Bob3JzL2xvbmcg ZGlzdGFuY2UgcmVmbGV4aXZlcywgcmF0aGVyIHRoYW4gc2hvcnQtZGlzdGFuY2UgcmVmbGV4aXZl cywgYXMgaXMgbm9ybWFsIGluIGh1bWFuIGxhbmd1YWdlLiBUaHVzLCBpbiAnJ21pIG5lbGNpIGxl bnUgZG8gcHJhbWkgdm8nYScnLCAnJ3ZvJ2EnJ21lYW5zICcnbWknJywgbm90ICcnZG8nJy4KCioq X18tLT5fXygoV2h5IHRoZSBCb29rIGlzIFJpZ2h0IGFuZCB0aGUgbWEnb3N0ZSBpcyBXcm9uZykp CgoqKipXaGljaCBvZiB0aGUgdHdvIGNhc2VzIGlzIG5vcm1hbCBpbiBodW1hbiBsYW5ndWFnZT8g SWYgeW91J2Qgd3JpdHRlbiBpdCBpbiBMb2piYW4sIEknZCBrbm93IQoKKioqKiBJJ2QgZ3Vlc3Mg dGhhdCBzaG9ydC1kaXN0YW5jZSBpcyBub3JtYWwsIGIvYyBvdGhlcndpc2UgaXQgd291bGQgbm90 IGJlIHdvcnRoIGNvbXBhcmluZyB0aGUgdHdvLiBCdXQgb2YgY291cnNlIGluIGxvamJhbiB3ZSB3 b3VsZG4ndCBoYXZlIHRvIGdsb3JrIHRoYXQuCgoqKioqKiBTaG9ydC1kaXN0YW5jZSBpcyBpbmRl ZWQgbm9ybWFsLCBidXQgTG9qYmFuaXN0cyBoYXZlIGNvbnNpc3RlbnRseSB1c2VkIGxvbmctZGlz dGFuY2UuICBOaWNrIHdyb3RlIGEgcGVlci1yZXZpZXdlZCBwYXBlciBvbiB0aGlzLiAgLS1qY293 YW4KCgoKKiBFeGFtcGxlIDcuOC41IChwMTU5KTogYmFqcmEgb24gdGhpcmQgbGluZSBzaG91bGQg YmUgYmFqeWtsYSwgbGlrZSB0aGUgb3RoZXJzLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1 c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA4LCBp dCBzYXlzICJFeGFtcGxlIDkuMyBpcyBhIHRydWx5IHByZWduYW50IHF1ZXN0aW9uLi4uIiB3aGVu IGV4YW1wbGUgOS4yIGlzIHRoZSBwcmVnbmFudCBxdWVzdGlvbiwgYW5kIGV4YW1wbGUgOS4zIGlz IGEgYmV0dGVyIHdheSBvZiBleHByZXNzaW5nICJXaG8gYXJlIHlvdT8iCgoKCiogU2VjdGlvbiAx NSwgaXQgc2F5cyAiRmluYWxseSwgbHVqdm8gaW52b2x2aW5nIGBgemknbycnIGFyZSBhbHNvIHBv c3NpYmxlLCBhbmQgYXJlIGZ1bGx5IGRpc2N1c3NlZCBpbiBDaGFwdGVyIDEyIiwgYnV0IG5vd2hl cmUgZG9lcyBDaGFwdGVyIDEyIG1lbnRpb24gdGhlIHdvcmQge3ppJ299LCBtdWNoIGxlc3MgbHVq dm8gaW52b2x2aW5nIGl0LiBUaGlzIGlzIHByb2JhYmx5IGEgQ2hhcHRlciAxMiBlcnJhdHVtLgoK LS0tCgoKCiFDaGFwdGVyIDgKCgoKKiBJbiBTZWN0aW9uIDMgdGhlIGV4YW1wbGUgMy4yMCBzaG91 bGQgaGF2ZSB7eGFuY2V9IGluc3RlYWQgb2Yge3hhbmNpfSwgd2hpY2ggaXMgZGVmaW5pdGVseSBh IHR5cG8uIC0taWRvbnRrbncKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92 ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gOCwgcC4gMTgxOiAgOC4x KSAnJ2xpIHBhaSBub2kgbmEnZSBmcmludSBuYW1jdScnc2hvdWxkIGJlICcnbGkgcGFpIG5vaSBu YSdlIGZyaW51IGN1IG5hbWN1JycuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVk KSkKCgoKKiBTZWN0aW9uIDgsIEV4YW1wbGUgOC42LCB0aGUgdGhpcmQgbGluZSwgIkkgcnVubmlu Z2x5LWdvIHRvLXRoaXMgW3JlY2lwcm9jaXR5XSBbeDMgb2YgdGhpcyBicmlkaV0gZnJvbS10aGF0 IiwgaXMgbm90IHRoZSB1c3VhbCBkZWNlbnQgRW5nbGlzaCBvbmUgd291bGQgZXhwZWN0IGluIHRo YXQgcG9zaXRpb247IHJlcGxhY2VkIHdpdGggIkkgcnVuIHRvIHRoaXMgZnJvbSB0aGF0IGFuZCB2 aWNlIHZlcnNhLiIgaXMgZGFnLWNsbCAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rp b24gOSwgZXhhbXBsZSA5LjIgaXMgJydjbydvIHhpcm1hJycuIFRoZW4sICcnTm90ZSB0aGF0IEV4 YW1wbGUgOS4yIHNheXMgZmFyZXdlbGwgdG8gc29tZXRoaW5nIHdoaWNoIGRvZXNu4oCZdCByZWFs bHkgaGF2ZSB0byBiZSBhIGhvcnNlLCBzb21ldGhpbmcgdGhhdCB0aGUgc3BlYWtlciBzaW1wbHkg dGhpbmtzIG9mIGFzIGJlaW5nIGEgaG9yc2UsIG9yIGV2ZW4gbWlnaHQgYmUgc29tZXRoaW5nIChh IHBlcnNvbiwgZm9yIGV4YW1wbGUpIHdobyBpcyBuYW1lZCAiSG9yc2UiLiBJbiBhIHNlbnNlLCBF eGFtcGxlIDkuMiBpcyBhbWJpZ3VvdXMgYmV0d2VlbiAiY28nbyBsZSB4aXJtYSIgYW5kICJjbydv IGxhIHhpcm1hIicnLiBJcyB0aGlzIHRydWU/CgoqKiBZZXMsIGluIHRoZSBzZW5zZSB0aGF0IGFs bCB1c2VzIG9mICJsZSIgJydtaWdodCcnIG1lYW4gImxhIi4gIEJ1dCBpdCdzIHByb2JhYmx5IG1v cmUgY29uZnVzaW5nIHRoYW4gaXQncyB3b3J0aC4gIFRydW5jYXRlIGFmdGVyICJ0aGlua3Mgb2Yg YXMgYmVpbmcgYSBob3JzZSIuICAtLWpjb3dhbgoKCgoqIFNlY3Rpb24gOSBzYXlzICcnSW4gdm9j YXRpdmUgcGhyYXNlcyB3aGljaCBhcmUgc2ltcGxlIG5hbWVzIChhZnRlciB0aGUgdm9jYXRpdmUg d29yZHMpLCBhbnkgcmVsYXRpdmUgY2xhdXNlcyBtdXN0IGNvbWUganVzdCBhZnRlciB0aGUgbmFt ZXMnJy4gVGhpcyBpc24ndCB0cnVlLiBSZWxhdGl2ZSBjbGF1c2VzIGNhbiBnbyBiZXR3ZWVuIHRo ZSB2b2NhdGl2ZSBhbmQgdGhlIGNtZXZsYS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBw cm92ZWQpKSAgRHJvcCBpdDsgaXQgcmVmbGVjdHMgYW4gZWFybGllciBzdGF0ZSBvZiB0aGUgbGFu Z3VhZ2UuCgoKCiogU2VjdGlvbiAxMCwgZXhhbXBsZSAxMC4zIHVzZXMgImtlJ2EgZ29pIGtvJ2Ug em8ndSBrbydhIHpiYXN1IGtlJ2EiIGJ1dCBnbG9zc2VzIGl0IGFzICIoSVQgPSBpdDIgOiBpdDEg YnVpbHQgaXQyKSIuIFRoZSBhc3NpZ25lZCAia28nZSIgaXMgbm90IHVzZWQgYXMgZXhwZWN0ZWQg b3IgZGVzY3JpYmVkLCBhbmQgc2hvdWxkIHByb2JhYmx5IGJlICJrbydhIHpiYXN1IGtvJ2UiLiAg KChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpICBZZXMsICJrbydhIHpiYXN1IGtv J2UiIGlzIGNsZWFybHkgd2hhdCdzIG1lYW50LgoKCgotLS0KCiFDaGFwdGVyIDkKCgoKKiBTZWN0 aW9uIDYsIHBsYWNlIHN0cnVjdHVyZSBvZiAnJ3BpbG5vJycgaXMgbWlzc2luZyAiZm9yIHB1cnBv c2UgeDMiLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlv biA4LCB0aGUgZXhhbXBsZXMgOC41IGFuZCA4LjYgYXJlIHN1cHBvc2VkIHRvIG1lYW4gdGhlIHNh bWUgdGhpbmcsIGJ1dCBkbyBub3QuCgoqKiBQbGVhc2UgZWxhYm9yYXRlLiAgLS1qY293YW4KCioq KiA4LjUgbWVhbnMgIkkgZ2F2ZSB0aGUgYm9vayB0byBKb2huLCBiZWNhdXNlIEpvaG4gZ2F2ZSB0 aGUgbW9uZXkgdG8gbWUiIGJ1dCA4LjYgbWVhbnMgIkpvaG4gZ2F2ZSB0aGUgbW9uZXkgdG8gbWUg YmVjYXVzZSBJIGdhdmUgdGhlIGJvb2sgdG8gSm9obi4iCgoqKiAnJ0lOQ0xVREVEIElOIERBRy1D TEwnJyAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDEx LCBkZXNjcmlwdGlvbiBvZiB0aGUgbWVhbmluZyBvZiAiLmlqZSBzZXJpJ2EgdHUnZSIgY29udHJh ZGljdHMgdGhlIGV4cGxhbmF0aW9uIG9mIEV4YW1wbGUgOS45LCB3aGljaCB3b3VsZCBzdWdnZXN0 ICIuaWplIHJpJ2EgdHUnZSIuCgoKCiogc2VjdGlvbiAxNywgImZyb20gc291cmNlIGFzIGFuIG9y aWdpbiBvZiIgc2hvdWxkIGJlIHR3byBlbnRyaWVzOyAiZnJvbSBzb3VyY2UiIGFuZCAiYXMgYW4g b3JpZ2luIG9mIiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgotLS0KCgoKIUNoYXB0ZXIgMTAK CgoKKiBTZWN0aW9uIDQsICJ3aGVuIGJvdGggc3BhdGlhbCBhbmQgdGVtcG9yYWwgdGVuc2UgY21h dm8gYXJlIGdpdmVuIGluIGEgc2luZ2xlIHRlbnNlIGNvbnN0cnVjdCwgdGhlIHRlbXBvcmFsIHRl bnNlIGlzIGV4cHJlc3NlZCBmaXJzdCIgZGlzYWdyZWVzIHdpdGggdGhlIHJ1bGUgc2ltcGxlLXRl bnNlLW1vZGFsLTk3MiBpbiB0aGUgQk5GIGdyYW1tYXIuCgoKCiogU2VjdGlvbiA5LCBleGFtcGxl IDkuOSBvbiBwYWdlIDIyNyBoYXMgImNpcmxpIiBmb3IgImNpcmxhIi4KCioqICgoQXBwcm92ZWQg RXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoq IFNlY3Rpb24gMTIsIGV4YW1wbGUgMTIuNiB0cmFuc2xhdGVzIG1vcnNpIGFzICJkaWUiIHJhdGhl ciB0aGFuICJhbSBkZWFkIiBpbiB0aGUgdHJhbnNsYXRpb24gKGFzIG9wcG9zZWQgdG8gdGhlIGds b3NzKS4KCgoKKiBTZWN0aW9uIDE2LCBhdCB0aGUgZW5kLCB0aGUgWCBhbmQgWSBpbiB0aGUgMyBm b3JtcyBkb24ndCBmaXQgcHJvcGVybHkgKHRoZSAzcmQgZG9lc24ndCBtYXRjaCB0aGUgZmlyc3Qg dHdvKS4gSSByZWNvbW1lbmQsIGNvcHlpbmcgZnJvbSBTZWN0aW9uIDIzICh3aGVyZSB0aGV5IGFy ZSB3cml0dGVuIGFnYWluIGNvcnJlY3RseSk6CgogICAgICAgWCAuaSBURU5TRSBibyBZCgogICAg ICAgVEVOU0UgZ2kgWCBnaSBZCgogICAgICAgWSBURU5TRSBsZSBudSBYCgoKCiogU2VjdGlvbiAx NywgZXhhbXBsZSAxNy4xMiBzaG91bGQgbm90IGhhdmUgdGhlIHNlY29uZCAiYmV2cmkiLgoKKiog KChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFH LUNMTCcnCgoKCiogU2VjdGlvbiAxOCwgZXhhbXBsZSAxOC45IGlzIHN1cHBvc2VkIHRvIHNob3cg c2NhbGFyIG5lZ2F0aW9uIG9mIHRlbnNlcyBub3QgbGltaXRlZCB0byBQVSBhbmQgRkFoQSwgYnV0 IHRoZSBleGFtcGxlIHRlbnNlIGlzIHJpJ3UgKEZBaEEyKS4KCgoKKiBTZWN0aW9uIDE5LCBleGFt cGxlIDE5LjEwIHNob3VsZCBoYXZlICJiYSIsIG5vdCAicHUiLCBhbmQgIltmdXR1cmVdIiwgbm90 ICJbcGFzdF0iLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2Vj dGlvbiAyNSwgZXhhbXBsZXMgMjUuMSBhbmQgMjUuMiBoYXZlICcnbHUnYScnIGZvciAnJ2xhJ3Un Jy4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVE IElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMjUsIHRoaXMgd2hvbGUgc2VjdGlvbiBpcyBhdCBv ZGRzIHdpdGggdGhlIGZvcm1hbCBncmFtbWFyLiBJdCBzYXlzOiAnJ0l0IGlzIGdyYW1tYXRpY2Fs IGZvciBhIHRlcm1zZXQgdG8gYmUgcGxhY2VkIGFmdGVyIGEgdGVuc2Ugb3IgbW9kYWwgdGFnIHJh dGhlciB0aGFuIGEgc3VtdGknJy4gIEJ1dCB0aGF0IGlzIGluIGZhY3QgaW5jb3JyZWN0LCBpdCBp cyBub3QgZ3JhbW1hdGljYWwgZm9yIGEgdGVybXNldCB0byBiZSB0aGUgYXJndW1lbnQgb2YgYSB0 YWcuCgoqKiBVbmZvcnR1bmF0ZWx5IHRydWUuICBUZXJtc2V0cyBzdWNrIHJvY2tzLCBhbmQgc29t ZSB3b3JrIHdpbGwgaGF2ZSB0byBiZSBkb25lIHRvIG1ha2UgZXZlcnl0aGluZyBzYWlkIGFib3V0 IHRoZW0gY29uc2lzdGVudCAtLSBpZiBpdCBpcyBldmVuIHBvc3NpYmxlLiAgUGVyc29uYWxseSwg SSdkIGxpa2UgdG8ganVzdCBidXJuIHRoZW0uICAtLWpjb3dhbiAgJycnTk9GSVgnJycKCgoKKiBT ZWN0aW9uIDI3OiBNT2hJIHNlZSBTZWN0aW9uIDI4LCBub3QgMjcuICAoKEFwcHJvdmVkIEVycmF0 dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKLS0tCgoKCiFDaGFwdGVyIDExCgoKCiogU2VjdGlvbiA0 OiBUaGUgdXNlIG9mIGthIGluIEV4YW1wbGUgNC40IChwYWdlIDI1OSkgaXMgZXJyb25lb3VzOyBp dCBzaG91bGQgYmUgZHUndS4gLS0oKEpvaG4gQ293YW4pKSAoKEFwcHJvdmVkIEVycmF0dW18amNv d2FuIEFwcHJvdmVkKSkKCgoKKiBMYXN0IHBhcmFncmFwaCBvZiBzZWN0aW9uIDcgcmVmZXJlbmNl cyBjaGFwdGVyIDUgZm9yIGEgZGlzY3Vzc2lvbiBvZiAibHUnZSIuICBsdSdlIGlzbid0IG1lbnRp b25lZCBpbiBjaGFwdGVyIDUuICBQcm9iYWJseSBjaGFwdGVyIDYgaXMgbWVhbnQgaGVyZS4KCioq IFllcywgc2hvdWxkIGJlIFNlY3Rpb24gNS4xMC4gICAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dh biBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiA5LCBwYWdlIDI2NiBoYXMgInNhbydyZHppZmEnYSIg aW5zdGVhZCBvZiAic2Enb3JkemlmYSdhIi4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNt aXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFRoZSBzYW1lIGV4YW1w bGUgKDkuNikgYWxzbyBoYXMga3VjdHJhIGluc3RlYWQgb2Yga3VjdGFpCgoqKiAoKEFwcHJvdmVk IEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoK KiBUaGUgYm9vayB0aXRsZSBpbiBleGFtcGxlIDkuNiBzZWVtcyB0byBiZSBpbmNvcnJlY3Q6ICJU aGUgQ3J1Y2lmaXhpb24gb2YgSmVzdXMgQ29uc2lkZXJlZCBBcyBBIERvd25oaWxsIEJpY3ljbGUg UmFjZSIgaXMgYWN0dWFsbHkgIltodHRwOi8vd3d3LmV2ZXJncmVlbnJldmlldy5jb20vMTAyL2Zp Y3Rpb24vZHVvLmh0bWx8VGhlIENydWNpZml4aW9uIENvbnNpZGVyZWQgQXMgQW4gVXBoaWxsIEJp Y3ljbGUgUmFjZV0uIgoKKiogVW5hcHByb3ZlZAoKCgoqIFNlY3Rpb24gMTA6IFBhcmFncmFwaCBh Ym92ZSBleGFtcGxlIDEwLjcgcmVmZXJlbmNlcyAiQ2hhcHRlciAxMSIuIFRoYXQgc2hvdWxkIHJl YWQgIkNoYXB0ZXIgMTAiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3Zl ZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxMiwgcGFnZSAyNjkgaGFz IGV4YW1wbGVzIDEzLjEgYW5kIDEzLjIsIHRob3NlIHNob3VsZCBiZSBjYWxsZWQgMTIuMSBhbmQg MTIuMi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgotLS0KCgoKIUNo YXB0ZXIgMTIKCiogU2VjdGlvbiAyLCBwYWdlIDI3NS4gVGhlIHBhcmFncmFwaCB1bmRlciBFeGFt cGxlIDIuMyByZWZlcnMgdG8gaXQgYXMgRXhhbXBsZSAyLjQgKDIuNCBkb2Vzbid0IGV2ZW4gZXhp c3QpLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqIFNlY3Rpb24gNSwg cmlnaHQgYWZ0ZXIgZXhhbXBsZSA1LjcuIEl0IHNheXMgImEiIGluc3RlYWQgb2YgImFuIi4gICgo QXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiBTZWN0aW9uIDYsIHBhZ2UgMjgw LiBFeGFtcGxlIDYuNiBzaG91bGQgaGF2ZSBhIHNwYWNlIGJldHdlZW4gImxhIHNwYXQuIiBhbmQg Im5vaSIuCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xV REVEIElOIERBRy1DTEwnJwoKKiBTZWN0aW9uIDcsIHBhZ2UgMjgyLiBFeGFtcGxlIDcuNSBoYXMg ImJhbnNvaSIgaW5zdGVhZCBvZiAiYmFsc29pIi4KKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1 c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gMTEsIHBh Z2UgMjg1IGhhcyAieGFzY2FrY3VybnUiIGluc3RlYWQgb2YgInhhc3ljYWtjdXJudSIuCioqICgo QXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1D TEwnJwoKKiBTZWN0aW9uIDEyIHJlZmVycyB0byAibnVua2xhbWEiIGFzIHRoZSBzYW1lIGx1anZv IGFzICJudW5rbGEiLiAgRXZlbiBpZiB0aGVzZSBhcmUgZXF1aXZhbGVudCBhbHRlcm5hdGl2ZXMg aXQgd291bGQgYmUgbGVzcyBjb25mdXNpbmcgdG8gYmUgY29uc2lzdGVudC4KCiogU2VjdGlvbiAx MiBjbGFpbXMgdGhhdCAtamF4LSBpcyBhIHJhZnNpIGZvciB7amFpfSwgYnV0IGl0IGlzbid0IGlu IFtodHRwOi8vd3d3LmxvamJhbi5vcmcvcHVibGljYXRpb25zL3dvcmRsaXN0cy9yYWZzaS50eHR8 aHR0cDovL3d3dy5sb2piYW4ub3JnL3B1YmxpY2F0aW9ucy93b3JkbGlzdHMvcmFmc2kudHh0XS4g RG9lcyB7amFpfSBoYXZlIGEgcmFmc2kgb3Igbm90PwoqKiBJdCBzaG91bGQsIGJ1dCBzb21laG93 IGl0IG5ldmVyIGdvdCBpbnRvIHRoZSBnaXNtdSBsaXN0LCBhbmQgY29uc2VxdWVudGx5IG5vdCBp bnRvIHRoZSByYWZzaSBsaXN0IGVpdGhlci4gIFN0ZXQsIGFuZCB3ZSdsbCBhZGQgaXQgdG8gdGhl IGdpc211IGxpc3QuICAtLWpjb3dhbgoKKiBTZWN0aW9uIDEyLCByaWdodCBhdCB0aGUgZW5kLCBz YXlzIHRoYXQge2ZhaX0gaXMgZXhwbGFpbmVkIGluIENoYXB0ZXIgMTEsIGJ1dCBDaGFwdGVyIDEx IG1ha2VzIG5vIG1lbnRpb24gb2Yge2ZhaX0uIE9ubHkgY2hhcHRlcnMgOSBhbmQgMTAgZG8uCioq ICcnSU5DTFVERUQgSU4gREFHLUNMTCcnICh6b3J0J3MgZm9yayBhdCBsZWFzdCkgICgoQXBwcm92 ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiBTZWN0aW9uIDE0LCBleGFtcGxlIDE0LjIu IE1pc3NpbmcgPCAvcHJlID4gdGFnLCBhbmQgbWlzc2luZyA8IHByZT4gdGFnIGZvbGxvd2luZyBl eHBsYW5hdG9yeSBwYXJhZ3JhcGguCgoqIFNlY3Rpb24gMTQsIHBhZ2UgMjkxLiBUaGUgcGFyYWdy YXBoIHVuZGVyIGV4YW1wbGUgMTQuNyBzYXlzICJzZSB4YW5jZSBtaW5kdSIgaW5zdGVhZCBvZiAi c2UgeGFuY2UgbWluZGUiLgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVk KSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiogU2VjdGlvbiAxNSwgdHdvIHBhcmFncmFwaHMg YmVmb3JlIGV4YW1wbGUgMTUuNy4gSXQgc2F5cyAiVGhlcmUgYXJlIHNvbWUgY29tcGFyYXRpdmUg Y29uY2VwdHMgd2hpY2ggYXJlIGluIHdoaWNoIHRoZSAnc2Ugem1hZHUnIGlzIGRpZmZpY3VsdCB0 byBzcGVjaWZ5LiIgVGhlICJ3aGljaCBhcmUgaW4gd2hpY2giIHNlZW1zIGdyYW1tYXRpY2FsbHkg aW5jb3JyZWN0LgoqKiBEcm9wICJ3aGljaCBhcmUiLiAgLS1qY293YW4gICAoKEFwcHJvdmVkIEVy cmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogU2VjdGlvbiAxNSwgcGFnZSAyOTQsIGV4YW1wbGUg MTUuMTQuICJsYSBhaW5jdGFpbiIgbmVlZHMgYSBwZXJpb2QgYmVmb3JlIGl0IGJlY2F1c2UgaXQg c3RhcnRzIHdpdGggYSB2b3dlbC4KKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHBy b3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgotLS0KCiFDaGFwdGVyIDEzCgoKCiogTWFu eSBpbmNpZGVudHMgb2Ygbm90IGhhdmluZyBwZXJpb2RzIGluIGZyb250IG9mIHZvd2VsLWluaXRp YWwgY21hdm8uCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJ TkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBJbiBzZWN0aW9uIDIsIHAuIDMwMCByZWZlcmVuY2Vz IHRvIHRoZSBleGFtcGxlcyBmb3IgLnVlIGFuZCAudWVjdSdpIGFyZSBmbGlwcGVkLiAgKChBcHBy b3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAzLCBwYWdlIDMwMywg ZXhhbXBsZSAzLjkuICJlJ2UiIG5lZWRzIGEgcGVyaW9kIGJlZm9yZSBpdC4KCioqICgoQXBwcm92 ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoK CgoqIFNlY3Rpb24gMywgcGFnZSAzMDMsIGV4YW1wbGUgMy4xMC4gInRpc25hIiBuZWVkcyB0byBi ZSByZXBsYWNlZCB3aXRoICJ0aXN5Z2F1Ii4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNt aXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gNCwgcGFn ZSAzMDUuIFRoZSBzY2FsZSB3aXRoIHRoZSBnaXNtdSBtbmVtb25pY3MgaXMgbWlzYWxpZ25lZCB3 aXRoIHRoZSBzY2FsZSB3aXRoIHRoZSBtZW1iZXJzIG9mIHNlbG1hJ28gQ0FJLiAic2FpIiBzaG91 bGQgYmUgdGFiYmVkIG9uZSBwbGFjZSBsZWZ0LCBzbyB0aGF0IGl0IGFsaWducyB3aXRoIHRzYWxp LCAmYy4KCgoKKiBTZWN0aW9uIDcsIGl0IHNheXMgIkl0IGlzIG5vdCBjbGVhciBob3cgbXVjaCB1 c2UgbG9naWNhbGx5IGNvbm5lY3RlZCBhYnN0cmFjdG9ycyB3aWxsIGJlOiBzZWUgQ2hhcHRlciAx My4iIEl0IHNob3VsZCBiZSAiQ2hhcHRlciAxNS4iCgoqKiAnJ0lOQ0xVREVEIElOIERBRy1DTEwn JyAoem9ydCdzIGZvcmsgYXQgbGVhc3QpIGJ1dCBuZWVkcyBhcHByb3ZhbAoKKiBTZWN0aW9uIDEw LCBwYWdlIDMxMy4gVGhlcmUgaXMgYSBtaXNzaW5nIHNwYWNlIGJldHdlZW4gImNvbnRpbnVlIGVt b3Rpb24iIGFuZCAiZW5kIGVtb3Rpb24iLgoKCgoqIFNlY3Rpb24gMTUuIEEgc2FtcGxlIGRpYWxv Z3VlICAxNS40KSAvIH5ucH5bQ29tbWVudF0gUGFtIHNheXMsIFtQbGVhc2VdIEFsaWNlLCBbZW5k LW9mLWNvbW1lbnRdIC8gW0NvbW1lbnRdIFBhbSBzYXlzLCBbZW5kLW9mLWNvbW1lbnRdIFtQbGVh c2VdIEFsaWNlLC9+L25wfiAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCioq ICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERB Ry1DTEwnJwoKCgoqIFNlY3Rpb24gMTUsIGV4YW1wbGUgMTUuNSAveGFtZ3UvZ2xla2kvID8KCioq ICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERB Ry1DTEwnJwoKCgoqIFNlY3Rpb24gMTUsIGV4YW1wbGUgMTUuMTApIC9maSdpIHJvIHp2YXRpIGtv IHBpbnhlIHBhIGNrYWZpL2ZpJ2kgcm8genZhdGkgLmkga28gcGlueGUgcGEgY2thZmkvCgoqKiBO bywgdGhpcyBvbmUgaXMgcGVyZmVjdGx5IGZpbmU6ICJmaSdpIHJvIHp2YXRpIiBpcyBhIHZvY2F0 aXZlIHBocmFzZSwgd2hpY2ggaXMgYSBmcmVlIG1vZGlmaWVyLCBtZWFuaW5nIHRoYXQgaXQgY2Fu IG9jY3VyIGFsbW9zdCBhbnl3aGVyZS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92 ZWQpKQoKCgoqIFNlY3Rpb24gMTUsIGV4YW1wbGUgMTUuMTMpIC9maSdvIHNlbHBsZWppIG1pL2Zp J28gcGxlamkgbWkvCgoqKiBBbmQgIndpdGggcGF5ZXIiIHJhdGhlciB0aGFuICJ3aXRoIHBheW1l bnQiOyBleSdzIG5vdCBwYXlpbmcgd2l0aCBlbXNlbGYhIC0tIGNhbWd1c21pcwoKKiogKChBcHBy b3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcn CgoKCiogU2VjdGlvbiAxNSwgZXhhbXBsZSAxNS4xMy4gV3JvbmcgdXNlIG9mIHtzZWxmdX0uIHti ZXZyaX0gd291bGQgZml0IGJldHRlci4KCi0tLQoKCgohQ2hhcHRlciAxNAoKCgoqIFNlY3Rpb24g OCwgcmlnaHQgYmVmb3JlIGV4YW1wbGUgOC45IGlzICJwcm9kdWNpbmcgZXhhbXBsZSA4LjEwIiB3 aGljaCBzaG91bGQgaW4gZmFjdCByZWFkICJwcm9kdWNpbmcgZXhhbXBsZSA4LjkiLiAgKChBcHBy b3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiA5OiBiZXR3ZWVuIGV4 YW1wbGUgOS4xMCBhbmQgOS4xMSwgImlkZW50aWZpZWQiIHNob3VsZCByZWFkICJpZGVudGljYWwi CgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJ TiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDExLCByaWdodCBiZWZvcmUgc2VjdGlvbiAxMi4gSXQg c2F5cyAidGVybXNldHMuLi5hcmUgZXhwbGFpbmVkIGluIENoYXB0ZXIgMTIgYW5kIENoYXB0ZXIg MTYiIGJ1dCBjaGFwdGVyIDEyICh3aGljaCBpcyBvbiBsdWp2bykgbWFrZXMgYWJzb2x1dGVseSBu byBtZW50aW9uIG9mIHRlcm1zZXRzLiBDaGFwdGVycyA5IGFuZCAxMCBkaXNjdXNzIHRlcm1zZXRz LiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAxNCwg ZXhhbXBsZSAxNC4xNSBpcyBub3QgZ3JhbW1hdGljYWwgKGFjY29yZGluZyB0byBqYm9maSdlIGFu ZCBjYW14ZXMpIGJlY2F1c2UgaXQgc2F5cyAicGUnZSAuZSIgd2hlbiBpdCBzaG91bGQgc2F5ICJw ZSdlIGplIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rp b24gMTQsIGV4YW1wbGUgMTQuMTYgbWVudGlvbnMgInNvcm1lIiwgd2hpY2ggaXMgcHJvYmFibHkg T2xkIExvZ2xhbiwgYW5kIHNob3VsZCBiZSByZXBsYWNlZCBieSAibWVuc2kiLgoKKiogKChBcHBy b3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcn CgoKCiogU2VjdGlvbiAxNCwgInRoZSBzdGF0ZWQgZ2xvc3Mgb2YgVEZUVGFzIOKAnG9ubHkgaWbi gJ0gd29ya3MgbmF0dXJhbGx5IG9ubHkgd2hlbiB0aGUgcmlnaHQtaGFuZCBicmlkaSBpcyB0cnVl OyBpZiBpdCBpcyBmYWxzZSwgdGhlIGxlZnQtaGFuZCBicmlkaSBtYXkgYmUgZWl0aGVyIHRydWUg b3IgZmFsc2UuIiBjaGFuZ2VkIHRvICJ0aGUgc3RhdGVkIGdsb3NzIG9mIFRGVFRhcyDigJxvbmx5 IGlm4oCdIHdvcmtzIG5hdHVyYWxseSBvbmx5IHdoZW4gdGhlIHJpZ2h0LWhhbmQgYnJpZGkgaXMg ZmFsc2U7IGlmIGl0IGlzIHRydWUsIHRoZSBsZWZ0LWhhbmQgYnJpZGkgbWF5IGJlIGVpdGhlciB0 cnVlIG9yIGZhbHNlLiIKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQp KSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTUsIHJpZ2h0IGFmdGVyIDE1 LjksIGl0IHNheXMgImV4YW1wbGUgMTQuMTciIHdoZXJlIGl0IHNob3VsZCBzYXkgImV4YW1wbGUg MTUuOSIgKDE0LjE3IGRvZXMgbm90IGV4aXN0KS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4g QXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTUsIGV4YW1wbGUgMTUuOSBpcyBub3QgZ3JhbW1hdGlj YWw7IGl0IHNob3VsZCBiZSAibGEgZGphbi4gZmEndSBsYSBmcmFuay4gY3Vza3UgbnUnaSBiYXUg bGEgbG9qYmFuLiBwZSdlIGZhJ3UgYmFpIGxhIGRqb3Jkai4iLgoKCgoqIFNlY3Rpb24gMTksIGV4 YW1wbGUgMTkuNCBpcyB0cmFuc2xhdGVkIGFzICJJIG9waW5lIHRoZSBmYWN0LXRoYXQgYS1tYXNz LW9mIGxpdmluZy10aGluZ3MgaXMtYXQgSnVwaXRlciBvci1lbHNlIEkgb3BpbmUgdGhlIGZhY3Qt dGhhdCBhLW1hc3Mtb2YgbGl2aW5nLXRoaW5ncyBpc24ndC1hdCBKdXBpdGVyIiBidXQgcmVhbGx5 IGl0J3MgIkkgb3BpbmUgdGhlIGZhY3QtdGhhdCBhLW1hc3Mtb2YgbGl2aW5nLXRoaW5ncyBpcy1h dCBKdXBpdGVyIG9yLWVsc2UgSSBfX2RvLW5vdF9fIG9waW5lIHRoZSBmYWN0LXRoYXQgYS1tYXNz LW9mIGxpdmluZy10aGluZ3MgX19pcy1hdF9fIEp1cGl0ZXIiLiBTbyAxOS40IGlzIGFjdHVhbGx5 IHRydWUsIG5vdCBmYWxzZSBhcyBpdCBpcyBjbGFpbWVkIHRvIGJlLgoKKiogQ29ycmVjdCwgc28g dGhpcyBleGFtcGxlIHdpbGwgbmVlZCByZXBsYWNpbmcuICAgICgoQXBwcm92ZWQgRXJyYXR1bXxq Y293YW4gQXBwcm92ZWQpKQoKCgoqIEFsc28gdGhlcmUgaXNuJ3QgcmVhbGx5IGEgcmVhc29uIGZv ciBpdCB0byBzYXkgYSBtYXNzIG9mIGxpdmluZyB0aGluZ3MgYW5kIG5vdCBzb21lIGluZGl2aWR1 YWwgbGl2aW5nIHRoaW5ncy4KCioqIFN0ZXQuICBUaGUgYXV0aG9yIHByZWZlcnMgaXQgdGhhdCB3 YXksIHRoYW5reW91dmVyeW11Y2guICAtLWpjb3dhbi4KCgoKCgotLS0KCgoKISBDaGFwdGVyIDE1 CgoKCiogU2VjdGlvbiAyLCBtaXNzaW5nIDwgL3ByZSA+IHRhZyBhZnRlciBleGFtcGxlIDIuOCBh bmQgPCBwcmU+IHRhZyBiZWZvcmUgZXhhbXBsZSAyLjkuCgoKCiogU2VjdGlvbiA0LCBleGFtcGxl IDQuMTIgL25ha2UvbmEnZWtlLwoKCgoqIFNlY3Rpb24gOSwgdHdvIHBhcmFncmFwaHMgYWJvdmUg ZXhhbXBsZSA5LjQgdGhlIHdvcmQgIm5lZ2F0aXYiIHNob3VsZCBiZSAibmVnYXRpdmUiLiAgKChB cHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiA5OiBJcyB0aGVy ZSBzdXBwb3NlZCB0byBiZSBhbnkgZGlmZmVyZW5jZSBiZXR3ZWVuIGV4LiA5LjUgYW5kIDkuNj8K CioqIFRoYXQgcHJvYmxlbSBpcyBvbmx5IGluIHRoZSBvbmxpbmUgdmVyc2lvbi4KCgoKKiBTZWN0 aW9uIDEwLCB0aHJlZSBwYXJhZ3JhcGhzIGFmdGVyIGV4YW1wbGUgMTAuMTQsIHRoZXJlJ3MgYSBz ZW1pY29sb24gd2hpY2ggc2hvdWxkIGJlIGEgY29tbWEgYWZ0ZXIgIihzYXksIGEgc3BlbGxpbmcg ZXJyb3IpIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rp b24gMTAsIGl0IHNheXMgIidqaSd1bmEnaWt1JyBtZXRhbGluZ3Vpc3RpY2FsbHkgc2F5cyB0aGF0 IHNvbWV0aGluZyBpcyB3cm9uZyB3aXRoIHRoYXQgYXNzdW1wdGlvbi4gKFNlZSBDaGFwdGVyIDEw LikiLiBTaG91bGRuJ3QgdGhhdCBiZSBDaGFwdGVyIDksIG1vZGFscz8KCioqICcnSU5DTFVERUQg SU4gREFHLUNMTCcnICh6b3J0J3MgZm9yayBhdCBsZWFzdCkgKChBcHByb3ZlZCBFcnJhdHVtfGpj b3dhbiBBcHByb3ZlZCkpCgotLS0KCgoKIUNoYXB0ZXIgMTYKCgoKKiBTZWN0aW9uIDUsIGV4YW1w bGUgNS41OiBFbmdsaXNoIGhhcyAiZXZlcnkgWSIgd2hlbiBpdCBzaG91bGQgcmVhZCAiZXZlcnkg WCIKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVE IElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gNiwgZXhhbXBsZSA2LjYgaGFzIGEgbWlzc2luZyAi Y3UiIGJlZm9yZSAidmlza2EiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHBy b3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA4LCB0aGUgZXhwbGFu YXRpb24gb2YgZXhhbXBsZSA4LjMgc2F5cyAiYW55IGVudGl0eSB3aGljaCBpcyBvbmUgaXMgYWxz byB0aGUgb3RoZXIiLiBUaGF0IHdvdWxkIGJlIHRydWUgaWYgdGhlIGV4YW1wbGUgdXNlZCB7Z299 LCBidXQgaXQgdXNlcyB7Z2FuYWl9LiA4LjMgZG9lcyBub3QgY2xhaW0gdGhhdCBpZiBzb21ldGhp bmcgd2Fsa3MgYWNyb3NzIHRoZSBmaWVsZCB0aGVuIGl0IGdvZXMgdG8gdGhlIHN0b3JlLiAgKChB cHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpICBDaGFuZ2UgaXQgdG8gdXNlIHtnb30u ICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqKiBTYW1lIHBsYWNlOiBuZWVkcyB0byBibyB7ZGEg Z299LCBub3Qge2dvIGRhfSAgQW5kIHRoZSBnbG9zcyBzaG91bGQgYmUgIkZvci1ldmVyeSBYOiBY IGlzLWEtZ29lci10byB0aGUgc3RvcmUgaWYtYW5kLW9ubHktaWYgaXQgaXMtYS13YWxrZXItb24g dGhlIGZpZWxkLiIgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDgsIGV4YW1w bGUgOC4zLiBFaXRoZXIgdGhlIHtkYX0gc2hvdWxkIGNvbWUgYmVmb3JlIHRoZSB7Z2FuYWl9IChv ciwgYnkgdGhlIHByZXZpb3VzIF4gZXJyYXR1bSwge2dvfSkgYW5kIHRoZSBnbG9zcyBzaG91bGQg YmUgY2hhbmdlZCB0byBvbmx5IG1lbnRpb24gIlgiIG9uY2UsIG9yIGEge2RhfSBzaG91bGQgYmUg aW5zZXJ0ZWQgYmVmb3JlIHtjYWR6dX0uCgoqKiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJyAgY2hv c2UgZmlyc3Qgb3B0aW9uIHNpbmNlIGl0J3MgdGVyc2VyICh6b3J0J3MgZm9yayBhdCBsZWFzdCkg YnV0IG5lZWRzIGFwcHJvdmFsCgoKCiogVGhpczogIkFkamFjZW50IG5lZ2F0aW9uIGJvdW5kYXJp ZXMgaW4gdGhlIHByZW5leCBjYW4gYmUgZHJvcHBlZCwiIHJlYWRzIGJldHRlciBhcyAiQWRqYWNl bnQgcGFpcnMgb2YgbmVnYXRpb24gYm91bmRhcmllcyBpbiB0aGUgcHJlbmV4IGNhbiBiZSBkcm9w cGVkLCIKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xV REVEIElOIERBRy1DTEwnJwoKKioqIFRoZSBvbmxpbmUgdmVyc2lvbiBzYXlzICJBZGphY2VudCBk b3VibGUgbmVnYXRpb24gYm91bmRhcmllcyIsIGJ1dCBJJ20gb2theSB3aXRoIGVpdGhlciAiZG91 YmxlIiBvciAicGFpcnMgb2YiLiAgLS1qY293YW4KCgoKKiBTZWN0aW9uIDEwLCBleC4gMTAuNSBh bmQgMTAuNiBoYXZlIGEgcHJlbmV4LCAibmFrdSB6byd1IiwgYWZ0ZXIgYW4gaWplay4gVGhpcyBp cyBub3QgYWxsb3dlZCBieSB0aGUgZ3JhbW1hci4gSXQgY291bGQgYmUgZml4ZWQgYnkgcmVtb3Zp bmcgdGhlICJ6byd1IiBhbmQgdXNpbmcgIm5ha3UiIG91dHNpZGUgdGhlIHByZW5leCwgYWx0aG91 Z2ggdGhpcyBpcyBvbmx5IGV4cGxhaW5lZCBpbiB0aGUgZm9sbG93aW5nIFNlY3Rpb24gMTEuCgoq KiBUaGlzIGlzIGEgYmlnIHByb2JsZW0sIGFuZCBJJ20gbm90IHN1cmUgd2hhdCBzaG91bGQgYmUg Zml4ZWQuICAtLWpjb3dhbiAgJycnTk9GSVgnJycKCiogU2VjdGlvbiAxMiwgZXguIDEyLjcgYW5k IDEyLjkgaGF2ZSBtaXNzaW5nICJjdSJzLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21p cyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxNCwgRXhh bXBsZSAxNC4xIGhhcyAiYmxhY2kiIChnbGFzcykgbm90ICJibGFiaSIgKHdoaXRlKSBhcyBwZXIg dGhlIEVuZ2xpc2guCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkg JydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKLS0tCgoKCiFDaGFwdGVyIDE3CgoKCiogU2VjdGlv biA1LCBhZnRlciBleGFtcGxlIDUuMSwgcGFyYWdyYXBoIHN0YXJ0aW5nICJIb3dldmVyLCAiIGhh cyBpbmNvcnJlY3QgZm9udC4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoK CgoqIFNlY3Rpb24gNSwgaW4gdGhlIHNlY29uZCBwYXJhZ3JhcGggYWZ0ZXIgZXhhbXBsZSA1LjEs IHNheXMgJ3RoZSBsZXJmdSB3b3JkIOKAnHR54oCdIHdvdWxkIHJlcHJlc2VudCBub3QgTGF0aW4g 4oCcdOKAnSBidXQgR3JlZWsg4oCcdGF14oCdLicgU2hvdWxkbid0IGl0IGJlICJ0eS4iPwoKCgoq IFNlY3Rpb24gOSwgcGFnZSA0MjEuIGxlcmZ1IHN0cmluZ3MgYXJlIHdyaXR0ZW4gd2l0aG91dCBw YXVzZXMgb3Igc3BhY2VzLCBldmVuIHRob3VnaCBCWSB3b3JkcyBoYXZlIHRvIGVuZCB3aXRoIGEg Y29uc29uYW50LgoKKiogU3RldC4gIEJZIHdvcmRzIGRvIG5vdCBlbmQgd2l0aCBhIGNvbnNvbmFu dCwgYW5kIGEgc3RyaW5nIG9mIHRoZW0gY2FuIG5ldmVyIGJlIGFtYmlndW91cywgc28gcGF1c2Vz L3NwYWNlcyBhcmUgbm90IHJlcXVpcmVkLiAgLS1qY293YW4KCgoKKiBTZWN0aW9uIDksIEV4YW1w bGUgOS40OiBzaG91bGRuJ3QgInN5bXlqeSIgYmUgInN5bXlkeSIgKGxvamJhbiBtb3JwaG9sb2d5 KT8gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTAu IEFmdGVyIEV4YW1wbGUgMTAuNC41LCB0aGUgcmVmZXJlbmNlIHRvIEV4YW1wbGUgMTAuNCBzaG91 bGQgYmUgaW5zdGVhZCB0byBFeGFtcGxlIDEwLjQuNS4KCioqSW4gdGhlIGN1cnJlbnQgREFHLUNM TCwgdGhlIGV4YW1wbGVzIG51bWJlcmluZyBpcyBzYW5lLCBidXQgYWZ0ZXIgRXhhbXBsZSAxMC4z LCB0aGUgdHdvIHJlZmVyZW5jZXMgdG8gRXhhbXBsZSAxMC40IHNob3VsZCBiZSB0byBFeGFtcGxl IDEwLjMuCgoKCiogUmlnaHQgYmVmb3JlIHNlY3Rpb24gMTIsIHRoZXJlIGlzIGEgbGluZSBicmVh ayBpbiB0aGUgbWlkZGxlIG9mIHRoZSBwYXJhZ3JhcGguICAoKEFwcHJvdmVkIEVycmF0dW18amNv d2FuIEFwcHJvdmVkKSkKCgoKKiBJbiBzZWN0aW9uIDEzLCB0aGUgZmlyc3QgcGFyYWdyYXBoIHN0 YXRlcyAiSGlzdG9yaWNhbGx5LCB0aGVzZSBjaGFyYWN0ZXIgc2V0cyBoYXZlIG9ubHkgY292ZXJl ZCB0aGUgRW5nbGlzaCBhbHBoYWJldCBhbmQgYSBmZXcgc2VsZWN0ZWQgcHVuY3R1YXRpb24gbWFy a3MuIiwgd2hpY2ggaXMgaW5jb3JyZWN0LiBUaGVyZSBoYXZlIGJlZW4gbXVsdGl0dWRlcyBvZiBj aGFyYWN0ZXIgc2V0cyBmb3Igd3JpdGluZyBzeXN0ZW1zIG90aGVyIHRoYW4gdGhlIEVuZ2xpc2gg YWxwaGFiZXQuCgoqKiBDaGFuZ2UgdG8gc29tZXRoaW5nIGFsb25nIHRoZSBsaW5lIG9mICJIaXN0 b3JpY2FsbHksIGVhY2ggb2YgdGhlc2UgY2hhcmFjdGVyIHNldHMgaGFzIG9ubHkgY292ZXJlZCBh IHBhcnRpY3VsYXIgd3JpdGluZyBzeXN0ZW0uIgoKCgoqIFNlY3Rpb24gMTcsIHBhZ2UgNDI3LiAi LnR2cml5ZG9zLiBidSIgYmVnaW5zIHdpdGggdGhlIGNvbnNvbmFudCBjbHVzdGVyLCB3aGljaCBp c24ndCBldmVuIHBlcm1pc3NpYmxlIG1lZGlhbGx5LgoKKiogY2hhbmdlIHRvIHR5dnJpeWRvcwoK KioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElO IERBRy1DTEwnJwoKKioqKiBBY3R1YWxseSwgaXQgc2hvdWxkIGJlICJ0eXZyZG9zLiBidSIgIC0t amNvd2FuCgoKCiogSW4gdGhlIHRhYmxlIGluIHNlY3Rpb24gMTksIHRoZSBsZXJ2bGEgZm9yIG92 ZXItZG90ICgiLmdhcm1vYy4gYnUiKSBhbmQgb3Zlci1yaW5nICgiLmdhcmppbi4gYnUiKSBzaG91 bGQgYmUgdXBkYXRlZCB0byB0aGVpciBwb3N0LVJlYWxsb2NhdGlvbiBmb3JtcywgIi5nYXBtb2Mu IGJ1IiBhbmQgIi5nYXB5amluLiBidSIuCgoqKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21p cyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxOSBoYXMg dHdvIGNvbHVtbnMgcnVuIHRvZ2V0aGVyIGluIHRoZSByb3cgdGhhdCBzYXlzICJEYW5pc2gvTGF0 aW4gYWV0ZWkgLmFidSAuZWJ1IGZvaSIKCgoKLS0tCgohQ2hhcHRlciAxOAoKCgoqIFNlY3Rpb24g 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 biBBcHByb3ZlZCkpCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KV2lraWNoYW5nZXMgbWFpbGluZyBsaXN0Cldpa2ljaGFuZ2VzQGxvamJhbi5vcmcKaHR0 cDovL21haWwubG9qYmFuLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpa2ljaGFuZ2VzCg==