Received: from localhost ([::1]:51646 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1Tqbrf-0003nQ-P9; Wed, 02 Jan 2013 19:53:08 -0800 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:33802 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1TqbrT-0003nJ-0c for wikichanges@lojban.org; Wed, 02 Jan 2013 19:53:05 -0800 Received: by digitalkingdom.org (sSMTP sendmail emulation); Wed, 2 Jan 2013 19:52:54 -0800 From: "Apache" Date: Wed, 2 Jan 2013 19:52:54 -0800 To: wikichanges@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 0.4 (/) X-Spam_score: 0.4 X-Spam_score_int: 4 X-Spam_bar: / X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page CLL, aka Reference Grammar, Errata was changed by zort at 22:52 EST Comment: Example 12.15.1 erratum. You can view the page by following this link: http://www.lojban.org/tiki/CLL%2C%20aka%20Reference%20Grammar%2C%20Errata [...] Content analysis details: (0.4 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikichanges] Wiki page CLL, aka Reference Grammar, Errata changed by zort 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 Content-Length: 64090 VGhlIHBhZ2UgQ0xMLCBha2EgUmVmZXJlbmNlIEdyYW1tYXIsIEVycmF0YSB3YXMgY2hhbmdlZCBi eSB6b3J0IGF0IDIyOjUyIEVTVApDb21tZW50OiBFeGFtcGxlIDEyLjE1LjEgZXJyYXR1bS4KCllv dSBjYW4gdmlldyB0aGUgcGFnZSBieSBmb2xsb3dpbmcgdGhpcyBsaW5rOgogCmh0dHA6Ly93d3cu bG9qYmFuLm9yZy90aWtpL0NMTCUyQyUyMGFrYSUyMFJlZmVyZW5jZSUyMEdyYW1tYXIlMkMlMjBF cnJhdGEKCllvdSBjYW4gdmlldyBhIGRpZmYgYmFjayB0byB0aGUgcHJldmlvdXMgdmVyc2lvbiBi eSBmb2xsb3dpbmcgdGhpcyBsaW5rOiAKaHR0cDovL3d3dy5sb2piYW4ub3JnL3Rpa2kvdGlraS1w YWdlaGlzdG9yeS5waHA/cGFnZT1DTEwlMkMlMjBha2ElMjBSZWZlcmVuY2UlMjBHcmFtbWFyJTJD JTIwRXJyYXRhJmNvbXBhcmU9MSZvbGR2ZXI9MjE5Jm5ld3Zlcj0yMjAKCgoqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpUaGUgY2hhbmdl cyBpbiB0aGlzIHZlcnNpb24gZm9sbG93IGJlbG93LCBmb2xsb3dlZCBhZnRlciBieSB0aGUgY3Vy cmVudCBmdWxsIHBhZ2UgdGV4dC4KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioKCgorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwpAQCAtTGluZXM6IDM2NC0zNjcgY2hhbmdlZCB0 byArTGluZXM6IDM2NC0zNjkgQEAKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSsKKiBTZWN0aW9uIDE1LCB0d28gcGFyYWdyYXBocyBiZWZv cmUgZXhhbXBsZSAxNS43LiBJdCBzYXlzICJUaGVyZSBhcmUgc29tZSBjb21wYXJhdGl2ZSBjb25j ZXB0cyB3aGljaCBhcmUgaW4gd2hpY2ggdGhlICdzZSB6bWFkdScgaXMgZGlmZmljdWx0IHRvIHNw ZWNpZnkuIiBUaGUgIndoaWNoIGFyZSBpbiB3aGljaCIgc2VlbXMgZ3JhbW1hdGljYWxseSBpbmNv cnJlY3QuCioqIERyb3AgIndoaWNoIGFyZSIuICAtLWpjb3dhbiAgICgoQXBwcm92ZWQgRXJyYXR1 bXxqY293YW4gQXBwcm92ZWQpKQorIAorICogU2VjdGlvbiAxNSwgZXhhbXBsZSAxNS4xLCB0aGUg eDQgb2Yge3ptYWR1fSBhbmQge21sZWNhfSBzaG91bGQgYmUgImJ5IGFtb3VudCIgb3IgImJ5IHF1 YW50aXR5Iiwgbm90ICJpbiBxdWFudGl0eSIuCgoqIFNlY3Rpb24gMTUsIHBhZ2UgMjk0LCBleGFt cGxlIDE1LjE0LiAibGEgYWluY3RhaW4iIG5lZWRzIGEgcGVyaW9kIGJlZm9yZSBpdCBiZWNhdXNl IGl0IHN0YXJ0cyB3aXRoIGEgdm93ZWwuCgoKCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpUaGUgbmV3IHBhZ2UgY29udGVudCBmb2xs b3dzIGJlbG93LgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKgoKVGhpcyBwYWdlIGlzIGZvciBlcnJhdGEgaW4gKChUaGUgQ29tcGxldGUg TG9qYmFuIExhbmd1YWdlKSksIHRoYXQgaXMgZm9yIG1pc3Rha2VzIHN1Y2ggYXMgdHlwb3MsIG9y IHNlbGYtY29udHJhZGljdGlvbnMsIG9yIGNvbnRyYWRpY3Rpb25zIHdpdGggb3RoZXIgYmFzZWxp bmVkIGxhbmd1YWdlIGRlZmluaXRpb24gbWF0ZXJpYWwuIFRoaXMgaXMgX19ub3RfXyBhIHBhZ2Ug dG8gcHV0IGRlc2lkZXJhdGEgKHN1Z2dlc3Rpb25zIGZvciBpbXByb3ZlbWVudCk7IHN1Y2ggc3Vn Z2VzdGlvbnMgc2hvdWxkIGdvIHRvICgoU3VnZ2VzdGlvbnMgZm9yIENMTCwgc2Vjb25kIGVkaXRp b24pKS4gIFRoaXMgaXMgYWxzbyBub3QgYSBwYWdlIHRvIHB1dCBlcnJhdGEgcmVzdWx0aW5nIGZy b20gdGhlIDR0aCBCYXNlbGluZSBHcmFtbWFyIHByb3Bvc2FsIChpLmUuLCB0aGUgKChQRUcpKSBn cmFtbWFyKTsgUEVHIGdyYW1tYXIgZXJyYXRhIHNob3VsZCBnbyB0byAoKENMTCBQRUcgRXJyYXRh KSkuCgoKCkFuIG9ubGluZSB2ZXJzaW9uIG9mIHRoZSBDTEwgaW5jb3Jwb3JhdGluZyB0aGUgY2hh bmdlcyBvbiB0aGlzIHBhZ2UgW2h0dHA6Ly9kYWcuZ2l0aHViLmNvbS9jbGwvfGlzIGF2YWlsYWJs ZV0uCgoKClNlZSBhbHNvIFtXaGF0K2lzK0xvamJhbiUzRitlcnJhdGEmYmw9eXxXaGF0IGlzIExv amJhbj8gZXJyYXRhXSAoZm9yIHRoZSBwdWJsaXNoZWQgdmVyc2lvbiksIExldmVsIDAgQm9va2xl dCBFcnJhdGEgW3Rpa2ktZWRpdHBhZ2UucGhwP3BhZ2U9TGV2ZWwrMCtCb29rbGV0K0VycmF0YSZs YW5nPXw/XSAoZm9yIHRoZSBwcmUtcHVibGljYXRpb24gcmV2aWV3czsgbm93IGZpbmlzaGVkKSwg YW5kIFtMZXNzb25zK0VycmF0YSZibD15fExlc3NvbnMgRXJyYXRhXSAoZm9yIHRoZSBiZWdpbm5l cnMnIGNvdXJzZSkuCgoKClRoZSAiJydJTkNMVURFRCBJTiBEQUctQ0xMJyciIHRhZyBtZWFucyB0 aGF0IGh0dHA6Ly9kYWcuZ2l0aHViLmNvbS9jbGwvIGluY2x1ZGVzIHRoaXMgZml4LCB3aGljaCBh bHNvIG1lYW5zIGl0J2xsIHByb2JhYmx5IGJlIGluIHRoZSBuZXh0IENMTCB2ZXJzaW9uLgoKCgot LS0KCgoKIUNoYXB0ZXIgMQoKCgoqIFRoZXJlIGlzIGEgcGFyYWdyYXBoIGF0IHRoZSB2ZXJ5IGJl Z2lubmluZyBvZiBDTEwsIG9uIHBhZ2UgNCwgd2l0aCB0aGUgc2VudGVuY2UgJyciSW4gZXNzZW5j ZSwgQ2hhcHRlciAyIGdpdmVzIGEgYnJpZWYgb3ZlcnZpZXcgb2YgdGhlIGxhbmd1YWdlLCBDaGFw dGVyIDIxIGdpdmVzIHRoZSBmb3JtYWwgc3RydWN0dXJlIG9mIHRoZSBsYW5ndWFnZSwgYW5kIHRo ZSBjaGFwdGVycyBpbiBiZXR3ZWVuIHB1dCBzZW1hbnRpYyBib25lcyBvbiB0aGF0IGZvcm1hbCBm bGVzaC4iJycKCioqIFdvdWxkbid0IGl0IG1ha2UgbW9yZSBzZW5zZSB0byBzYXkgInB1dCBzZW1h bnRpYyBmbGVzaCBvbiB0aG9zZSBmb3JtYWwgYm9uZXMiPyAoKEFwcHJvdmVkIEVycmF0dW18amNv d2FuIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDYsIGl0 IHNheXMgIkxhcnJ5IEhvcm4ncyB3b3JrICcnVGhlIE5hdHVyYWwgSGlzdG9yeSBvZiBOZWdhdGlv bicnIi4gSXQgd291bGQgYXBwZWFyIHRoYXQgZXZlcnlvbmUgZWxzZSBjYWxscyBpdCAnJ19fQV9f IE5hdHVyYWwgSGlzdG9yeSBvZiBOZWdhdGlvbicnLCBieSBfX0xhdXJlbmNlX18gKFIuKSBIb3Ju LgoKKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycgKHpvcnQncyBmb3JrIGF0IGxlYXN0KSBidXQg bmVlZHMgYXBwcm92YWwKCgoKLS0tCgohQ2hhcHRlciAyCgoKCiogU2VjdGlvbiA1IGV4YW1wbGUg NS43IHVzZXMgInRpIiB0byBwb2ludCBhdCBhIGxhbmd1YWdlLCBhbmQgc2hvdWxkIGhhdmUgaXRz IGFjY29tcGFueWluZyBub3RlIGNoYW5nZWQgdG8gbW9yZSBhY2N1cmF0ZWx5IHJlZmxlY3QgdGhh dCB0aGlzIGlzIG5vdCBob3cgInRpIiB3b3Jrcy4KCgoKKiBTZWN0aW9uIDYgRXhhbXBsZSA2LjUg aGFzICJjdSIgYXMgZWxpZGFibGUsIHdoZW4gaW4gZmFjdCBpdCBpcyBzaW1wbHkgaWxsZWdhbCB0 aGVyZS4gIFJlbW92ZWQuICAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiogdWFuYWksIEkgc3Rp bGwgc2VlICJjdSIgaW4gREFHLUNMTC4KCgoKKiBTZWN0aW9uIDggcGFnZSAxNyBjbGFpbXMgdGhh dCAieHUiIGlzIGRpc2N1c3NlZCBpbiBzZWN0aW9uIDEuNywgd2hpY2ggaGFwcGVucyB0byBsaXN0 IHRoZSBjYXB0aW9ucyBmb3IgYWxsIHRoZSBjaGFwdGVyIHBpY3R1cmVzLgoKKiogSXQgc2hvdWxk IHJlZmVyIHRvIFNlY3Rpb24gMTUuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVk KSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCioqKiBUaGUgbGluayBpbiB0aGUgY3VycmVudCBE QUctQ0xMIGlzIHBvaW50aW5nIHRvICIyLzIvMTUiIGluc3RlYWQgb2YgdG8gIjIvMTUiLgoKCgoq IFNlY3Rpb24gMTAgc2F5cyB0aGF0IGV4YW1wbGUgMTAuMyAobWkgdGF2bGEgZG8gbGUgdGF2bGEg a3UpIG1lYW5zIHRoZSBzYW1lIGFzIChtaSB0YXZsYSBkbyBsZSB0YXZsYSBrdSkuIEV4YW1wbGUg MTAuMyBzaG91bGQgYmUgIm1pIHRhdmxhIGRvIGxlIHRhdmxhIiwgYXMgaXQgZGVzY3JpYmVzIGhv dyAia3UiIG1heSBiZSBvbWl0dGVkLgoKKiogSXQgYXBwZWFycyB0aGF0IGV4YW1wbGUgMTAuMyBp cyBpbmNvcnJlY3Qgb25seSBpbiB0aGUgb25saW5lIHZlcnNpb24sIG5vdCB0aGUgcHVibGlzaGVk IGJvb2suCgoKCiogU2VjdGlvbiAxNyBzYXlzICJOb3RlIHRoYXQgRXhhbXBsZSAxNy4zICBoYXMg YW5kIHJlcXVpcmVzIGEg4oCcY3XigJ0gdG8gcHJldmVudCDigJxiYWpyYeKAnSBhbmQg4oCca2xh bWHigJ0gZnJvbSBmb3JtaW5nIGEgdGFucnUsIGJ1dCBFeGFtcGxlIDE3LjQgIGFuZCBFeGFtcGxl IDE3LjUgIGxhY2sgdGhlIHVubmVjZXNzYXJ5IOKAnGN14oCdLiIsIGJ1dCBleGFtcGxlIDE3LjMg aXMgImxhIGRqYW4uIH5ucH5bY3Vdfi9ucH4ga2xhbWEgbGUgemFyY2kiLgoKKiogSXQgYXBwZWFy cyB0aGF0IHRoZSBvZmZlbmRpbmcgc2VudGVuY2UgaXMgcHJlc2VudCBvbmx5IGluIHRoZSBvbmxp bmUgdmVyc2lvbiwgbm90IHRoZSBwdWJsaXNoZWQgYm9vay4KCgoKKiBFeGFtcGxlIDE3LjkgaXMg ImxlIHZpIHRhdmxhIGt1IGN1IGJhIGtsYW1hIiBpbiB0aGUgb25saW5lIHZlcnNpb24sIGFuZCB0 b3RhbGx5IGJyb2tlbiBpbiB0aGUgcHVibGlzaGVkIGJvb2suCgoqKiBHbyB3aXRoIHRoZSBvbmxp bmUgdmVyc2lvbi4gICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lO Q0xVREVEIElOIERBRy1DTEwnJwoKCgoqIEV4YW1wbGUgMTcuOSBpbiBkYWctY2xsIGFzIG9mIDIw MTItMDUtMDUgaXMgImxlIHZpIHRhdmxhIH5ucH5ba3Vdfi9ucH4gY3UgYmEga2xhbWEiLiBTaW5j ZSB0aGUgc2FtZSBzZWN0aW9uIGhhcyBleHBsYWluZWQgdGhhdCB0ZW5zZSB0YWdzIG1ha2UgImN1 IiB1bm5lY2Vzc2FyeSwgSSB0aGluayB0aGUgZXhhbXBsZSBzaG91bGQgYmUgImxlIHZpIHRhdmxh IH5ucH5ba3VdIFtjdV1+L25wfiBiYSBrbGFtYSIuCgoKCi0tLQoKCgohIENoYXB0ZXIgMwoKCgpB IGxvdCBvZiB0aGUgSVBBIGV4YW1wbGVzIHVzZSBhIHNwYWNlIHRvIGluZGljYXRlIGEgc3lsbGFi bGUgYnJlYWsuIFRoaXMgaXMgbm90IHN0YW5kYXJkIElQQSB1c2FnZTsgYWNjb3JkaW5nIHRvIElQ QSwgdGhlIHBlcmlvZCDigJwu4oCdIHNob3VsZCBiZSB1c2VkIHRvIGluZGljYXRlIGEgc3lsbGFi bGUgZGl2aXNpb24uCgoKCiogU2VjdGlvbiAyLCBwYWdlIDMwOiBpbiB0aGUgdGFibGUgdGhlIGRl c2NyaXB0aW9uIG9mICJhcG9zdHJvcGhlIiBzaG91bGQgcmVhZCAiYW4gdW52b2ljZWQgZ2xvdHRh bCBzcGlyYW50Iiwgbm90ICJhIHVudm9pY2VkIi4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1n dXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMiwg ZGlnaXRhbCB2ZXJzaW9uLiAgVGhlIElQQSB0YWJsZSBnb3QgaG9ycmlibHkgbWFuZ2xlZCBzb21l d2hlcmUgYWxvbmcgdGhlIHdheS4gIEl0IHNob3VsZCBsb29rIGxpa2UgKFNBTVBBIGNvbHVtbiBh ZGRlZCk6CgoKCnx8IExldHRlciB8IElQQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgU0FNUEEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IERl c2NyaXB0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiAnICAgICAg fCBbaF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtoXSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhbiB1bnZvaWNlZCBnbG90dGFsIHNw aXJhbnQgICAgICAgICAgICAgICAgICAgICAgCgogLCAgICAgIHwgLS0tICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAtLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgdGhlIHN5bGxhYmxlIHNlcGFyYXRvciAgICAgICAgICAgICAgICAgICAg ICAgICAgIAoKIC4gICAgICB8IFvKlF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8IFs/XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhIGds b3R0YWwgc3RvcCBvciBhIHBhdXNlICAgICAgICAgICAgICAgICAgICAgICAgCgogYSAgICAgIHwg W2FdLCBbyZFdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW2FdLCBbQV0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGFuIG9wZW4gdm93ZWwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAKCiBiICAgICAgfCBbYl0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8IFtiXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCBhIHZvaWNlZCBiaWxhYmlhbCBzdG9wICAgICAgICAgICAgICAgICAgICAg ICAgICAgCgogYyAgICAgIHwgW8qDXSwgW8qCXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8IFtTXSwgW3NgXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhbiB1 bnZvaWNlZCBwb3N0YWx2ZW9sYXIgZnJpY2F0aXZlICAgICAgICAgICAgICAgICAgICAgCgogZCAg ICAgIHwgW2RdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbZF0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSB2b2ljZWQgZGVudGFsL2Fs dmVvbGFyIHN0b3AgICAgICAgICAgICAgICAgICAgIAoKIGUgICAgICB8IFvJm10sIFtlXSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtFXSwgW2VdICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCBhIGZyb250IG1pZCB2b3dlbCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgCgogZiAgICAgIHwgW2ZdLCBbybhdICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgW2ZdLCBbcFxdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 IGFuIHVudm9pY2VkIGxhYmlhbCBmcmljYXRpdmUgICAgICAgICAgICAgICAgICAgICAKCiBnICAg ICAgfCBbyaFdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbZ10gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSB2b2ljZWQgdmVsYXIgc3Rv cCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKIGkgICAgICB8IFtpXSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgW2ldICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IGEgZnJvbnQgY2xvc2Ugdm93ZWwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAKCiBqICAgICAgfCBbypJdLCBbypBdICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgW1pdLCBbemBdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 IGEgdm9pY2VkIHBvc3RhbHZlb2xhciBmcmljYXRpdmUgICAgICAgICAgICAgICAgICAgICAgICAK CiBrICAgICAgfCBba10gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtrXSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhbiB1bnZvaWNlZCB2 ZWxhciBzdG9wICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogbCAgICAgIHwgW2xdLCBbbMyp XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtsXSwgW2w9XSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCBhIHZvaWNlZCBsYXRlcmFsIGFwcHJveGltYW50ICht YXkgYmUgc3lsbGFiaWMpICAgCgogbSAgICAgIHwgW21dLCBbbcypXSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8IFttXSwgW209XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCBhIHZvaWNlZCBiaWxhYmlhbCBuYXNhbCAobWF5IGJlIHN5bGxhYmljKSAgICAgICAg CgogbiAgICAgIHwgW25dLCBbbsypXSwgW8WLXSwgW8WLzKldICAgICAgICAgICAgICAgICAgICAg fCBbbl0sIFtuPV0sIFtOXSwgW049XSAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSB2b2lj ZWQgZGVudGFsIG9yIHZlbGFyIG5hc2FsIChtYXkgYmUgc3lsbGFiaWMpIAoKIG8gICAgICB8IFtv XSwgW8mUXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtvXSwgW09dICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhIGJhY2sgbWlkIHZvd2VsICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgCgogcCAgICAgIHwgW3BdICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCBbcF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgYW4gdW52b2ljZWQgYmlsYWJpYWwgc3RvcCAgICAgICAgICAgICAgICAgICAg ICAgIAoKIHIgICAgICB8IFtyXSwgW8m5XSwgW8m+XSwgW8qAXSwgW3LMqV0sIFvJucypXSwgW8m+ zKldLCBbyoDMqV0gfCBbcl0sIFtyXF0sIFs0XSwgW1JcXSwgW3I9XSwgW3JcPV0sIFs0PV0sIFtS XD1dIHwgYSByaG90aWMgc291bmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoK IHMgICAgICB8IFtzXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW3NdICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGFuIHVudm9pY2VkIGFs dmVvbGFyIHNpYmlsYW50ICAgICAgICAgICAgICAgICAgICAKCiB0ICAgICAgfCBbdF0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFt0XSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCBhbiB1bnZvaWNlZCBkZW50YWwvYWx2ZW9sYXIgc3RvcCAg ICAgICAgICAgICAgICAgCgogdSAgICAgIHwgW3VdICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCBbdV0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgYSBiYWNrIGNsb3NlIHZvd2VsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKIHYg ICAgICB8IFt2XSwgW86yXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFt2XSwgW0Jd ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhIHZvaWNlZCBsYWJpYWwg ZnJpY2F0aXZlICAgICAgICAgICAgICAgICAgICAgIAoKIHggICAgICB8IFt4XSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgW3hdICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IGFuIHVudm9pY2VkIHZlbGFyIGZyaWNhdGl2ZSAgICAgICAgICAg ICAgICAgICAgICAKCiB5ICAgICAgfCBbyZldICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCBbQF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg YSBjZW50cmFsIG1pZCB2b3dlbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKIHogICAg ICB8IFt6XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW3pdICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgdm9pY2VkIGFsdmVvbGFyIHNp YmlsYW50ICAgICAgICAgICAgICAgICAgICAgICB8fAoKCgoqKiBTb3J0LW9mICgoQXBwcm92ZWQg RXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKTsgd2hhdCBJIGFjdHVhbGx5IGRpZCBpcyBoYWQg QXJudCByZXZpZXcgd2hhdCBzb21lb25lIGVudGVyZWQgaW4gREFHLUNMTCwgd2hpY2ggcHJlc3Vt YWJseSB3YXMgYmFzZWQgb24gdGhlIGFib3ZlLiAgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoK KiBTZWN0aW9uIDIsIHBhZ2UgMzAuIGZvciB0aGUgc2Vjb25kIGVuZyAoaW1tZWRpYXRlbHkgdG8g dGhlIGxlZnQgb2YgIihtYXkgYmUgc3lsbGFiaWMpIikgdGhlIHN5bGxhYmljaXR5IG1hcmtlciBp cyBjb25jZWFsZWQgYnkgdGhlIHJpZ2h0IHRhaWwuCgoqKiBJIGNhbiBqdXN0IGJhcmVseSBzZWUg dGhlIG1hcmtlciB1bmRlciBhIGdvb2QgbGlnaHQuICAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dh biBBcHByb3ZlZCkpCgoqKiogRm9yIGZ1dHVyZSBlZGl0aW9ucyA6LSkgLCBub3RlIHRoYXQgdGhl IElQQSBhcHByb3ZlcyBwdXR0aW5nIGRpYWNyaXRpY3MgYWJvdmUgcmF0aGVyIHRoYW4gYmVsb3cg dGhlIGxldHRlciBpbiBjYXNlcyBsaWtlIHRoZXNlLiBVbmZvcnR1bmF0ZWx5LCB0aGUgZm9udHMg aGl0aGVydG8gYXZhaWxhYmxlIGhhdmUgbm90IG1hZGUgdGhpcyBmYWNpbGl0eSBhdmFpbGFibGUs IHNvIG91dHNpZGUgdGhlIGpvdXJuYWwgb2YgdGhlIElQQSBpdHNlbGYsIHN1Y2ggb3Zlci1kaWFj cml0aWNzIGFyZSBzZWxkb20gc2Vlbi4g4oCUIG5pdGNpb24KCgoKKiBJbiBzZWN0aW9uIDMuMiwg dGhlIGNvbW1hIHNob3VsZCAocHJvYmFibHkpIGJlIHJlcHJlc2VudGVkIGJ5IHRoZSBJUEEgbm90 YXRpb24gWy58Ll0sIGFzIHRoZSBwZXJpb2QgaXMgdXNlZCBpbiBJUEEgdG8gZGVub3RlIHN5bGxh YmxlIGJyZWFrcy4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNl Y3Rpb24gMiwgcGFnZSAzMC4gRm9yIHRoZSBMb2piYW4gcGhvbmVtZSAvci8sIHRoZSBJUEEgc3lt Ym9sIGZvciBhIGRlbnRhbC9hbHZlb2xhciB2b2ljZWQgYXBpY2FsIHRhcCBpcyBnaXZlbiB3aXRo IGEgc3lsbGFiaWNpdHkgbWFya2VyIGJlbG93LiBBIHRhcCBjYW4ndCBiZSBzeWxsYWJpYywgYmVj YXVzZSBpdCBpcyBieSBkZWZpbml0aW9uIGluc3RhbnRhbmVvdXMuICAoKEFwcHJvdmVkIEVycmF0 dW18amNvd2FuIEFwcHJvdmVkKSkgSnVzdCByZW1vdmUgdGhhdCBjYXNlIGFsdG9nZXRoZXIuCgoK CiogU2VjdGlvbiAyLiAgVGhlIGRlc2NyaXB0aW9ucyBvZiAnJ2MnJyBhbmQgJydqJycgYXJlIGxp c3RlZCBhcyAiY29yb25hbCBzaWJpbGFudCJzLiAgVGhlIGRlc2NyaXB0aW9ucyBzaG91bGQgcmVh ZCAidm9pY2VsZXNzIHBvc3RhbHZlb2xhciBmcmljYXRpdmUiIGFuZCAidm9pY2VkIHBvc3RhbHZl b2xhciBmcmljYXRpdmUiLCByZXNwZWN0aXZlbHkuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2Fu IEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDMsIHRoaXJkIHBhcmFncmFwaCAocGFnZSAzMSk6ICJh IHVudm9pY2VkIHZvd2VsIGdsaWRlIiBzaG91bGQgYmUgImFuIHVudm9pY2VkIHZvd2VsIGdsaWRl Ii4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVE IElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gNiwgcGFnZSAzNi4gSVBBIGZvciB0aGUgdW5hY2Nl cHRhYmxlIEFtZXJpY2FuIGZsYXAgdmFyaWFudCBvZiBpbnRlcnZvY2FsaWMgJyd0Jycgc2hvd3Mg dGhlIEdBICcncicnIHNvdW5kICh1cHNpZGUtZG93biByKSBpbnN0ZWFkIG9mIHRoZSBmbGFwIChs aWtlIGFuIHIgd2l0aCBubyB2ZXJ0aWNhbCBiaXQgYXQgdGhlIHRvcCDigJQgc2VlIHRoZSBsaXN0 IG9mIGFjY2VwdGlibGUgJydyJycgdmFyaWFudHMgb24gb24gcGFnZSA0NCB3aGVyZSBpdCBhcHBl YXJzIGNvcnJlY3RseSkgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiog KChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFH LUNMTCcnCgoKCiogU2VjdGlvbiA2LCBwYWdlIDM2LiAoU2FtZSBhcyBwcmV2aW91cyBlcnJhdHVt KSBUaGUgY29uc29uYW50IGlzIHJlZmVycmVkIHRvIGFzIGEgZmxhcCwgd2hpbGUgaXQgaXMgYWN0 dWFsbHkgYSB0YXAuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBT ZWN0aW9uIDcuIEluIGJldHdlZW4gdGhlIHNoYWRlZCBib3hlcywgImEgcGFpcmluZyBvZiB2b2lj ZWQgYW5kIHVudm9pY2VkIGVxdWl2YWxlbnQgdm93ZWxzIiBzaG91bGQgcmVhZCAiYSBwYWlyaW5n IG9mIHZvaWNlZCBhbmQgdW52b2ljZWQgZXF1aXZhbGVudCBjb25zb25hbnRzIi4KCgoKKiBTZWN0 aW9uIDgsIHBhZ2UgMzguIElQQSBmb3IgcHJvbnVuY2lhdGlvbiBvZiAieGFwY2tlIiBoYXMgYyB3 aGVyZSBpdCBzaG91bGQgaGF2ZSBTIChsb25nIHMpLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dh biBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiA5LCBwYWdlIDQwLiBJUEEgZm9yIHByb251bmNpYXRp b24gb2YgImRpa3lqdm8iIGhhcyBqIHdoZXJlIGl0IHNob3VsZCBoYXZlIFogKHRoYXQgbGl0dGxl IHNjcmlwdCB6IHRoaW5nKSAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoq KiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBE QUctQ0xMJycKCgoKKiBTZWN0aW9uIDEyLCBwYWdlIDQ2LiBXaGF0IHNob3VsZCBiZSB0aGUgQ3ly aWxsaWMgbGV0dGVyIDsgaXMgcHJpbnRlZCBhcyBzb21ldGhpbmcgdGhhdCBsb29rcyBsaWtlIHRo ZSBHcmVlayBsZXR0ZXIgLiBJcyB0aGlzIG9ubHkgYSB0eXBvZ3JhcGhpY2FsIHZhcmlhbnQgb2Yg dGhlIDssIG9yIGlzIGl0IGEgdmFyaWFudD8KCgoKKiogVGhpcyBlcnJhdHVtIGlzIGluZGVjaXBo ZXJhYmxlIGFuZCBzaG91bGQgYmUgZHJvcHBlZCwgdW5sZXNzIHNvbWVvbmUgY2FuIHJlY29uc3Ry dWN0IGl0LiAgVGhlIEN5cmlsbGljIGxldHRlcnMgbG9vayBmaW5lLiAgLS1qY293YW4KCgoKKiBT ZWN0aW9uIDEyLCBwYWdlIDQ2LiBSZXBsYWNlIHRoZSB3b3JkcyAidGhlIGhhcmQgc2lnbiIgd2l0 aCBhbiBhY3R1YWwgaGFyZCBzaWduLCBVKzA0NEEgQ1lSSUxMSUMgU01BTEwgTEVUVEVSIEhBUkQg U0lHTi4KCgoKKiBTZWN0aW9uIDEyLCBwYWdlIDQ3LiAiYXJlLyJlc3NlIiBzaG91bGQgcHJvYmFi bHkgYmUgImFyZSIvImVzc2UiICh0aGUgYWN1dGUgb24gdGhlIGEgbWF5IG9yIG1heSBub3QgaGF2 ZSBiZWVuIGxlZnQgb2ZmLCBidXQgdGhlIGNsb3NpbmcgcXVvdGUgYWZ0ZXIgYXJlIGlzIGRlZmlu YXRlbHkgbWlzc2luZy4pCgoqKiBNeSBjb3B5IHNob3dzIHRoZSBhY3V0ZS4KCioqICgoQXBwcm92 ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoK CgotLS0KCgoKIUNoYXB0ZXIgNAoKCgoqIFNlY3Rpb24gNCwgcGFnZSA1NC4gVGhlIGJvb2sgc3Rh dGVzIHRoYXQgZnUnaXZsYSB3aXRoIGEgZm9ybSBsaWtlICcnc3BhJ2knJyBhcmUgdmFsaWQuIFRo ZXkgYXJlIG5vdCwgdGhleSBmYWlsIHRoZSBzbGlua3UnaSB0ZXN0LiAoKEFwcHJvdmVkIEVycmF0 dW18amNvd2FuIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9u IDYsIHAgNTgsICItbGFjIiBpbiB0aGUgdGhpcmQgdGFibGUgaW4gdGhhdCBzZWN0aW9uIHNob3Vs ZCBiZSAiLWxhYy0iCgoKCiogU2VjdGlvbiA2LCBpdCBzYXlzICJNb3N0IGNtYXZvIHRoYXQgaGF2 ZSByYWZzaSBhcmUgb25lcyB1c2VkIGluIGNvbXBvc2luZyB0YW5ydSAoZm9yIGEgY29tcGxldGUg bGlzdCwgc2VlIENoYXB0ZXIgMTIpIiwgYnV0IHRoZXJlIGlzIG5vIHN1Y2ggbGlzdCBpbiBDaGFw dGVyIDEyLCBvciBhbnl3aGVyZSBpbiB0aGUgYm9vayAoanUnb3NhaSkuIFBlcmhhcHMgaXQgd2Fu dHMgdG8gcG9pbnQgdG8gdGhlIGxpc3Qgb2YgUEEgcmFmc2kgaW4gQ2hhcHRlciAxOCBzZWN0aW9u IDI1PyBPciB0byB0aGUgbGlzdHMgb2YgdGFucnUgaW4gQ2hhcHRlciA1IHNlY3Rpb25zIDE0IGFu ZCAxNT8KCioqIFdoYXQgSSBwcm9iYWJseSBtZWFudCB3YXMgdGhhdCBDaGFwdGVyIDEyLCB0YWtl biBhcyBhIHdob2xlLCBkaXNjdXNzZXMgdGhlIGNtYXZvIHVzZWQgaW4gY29uc3RydWN0aW5nIHRh bnJ1LiAgSSBkb24ndCB0aGluayBhbnkgc3BlY2lmaWMgbGlzdCBldmVyIGV4aXN0ZWQuICBJJ2Qg anVzdCBkcm9wIHRoZSBwYXJlbnRoZXRpY2FsIHNlbnRlbmNlLgoKCgoqIFNlY3Rpb24gNiwganVz dCBhZnRlciBleGFtcGxlIDYuOS4gSXQgc2F5cyAic29tZSBvZiB0aGUgdW5yZWR1Y2VkIGZvcm1z IGluIHRoZSBwcmV2aW91cyBleGFtcGxlIiwgYnV0IGl0IGlzIG5vdCByZWZlcnJpbmcgdG8gdGhl IHByZXZpb3VzIGV4YW1wbGU6IGl0IGlzIHJlZmVycmluZyBhbGwgdGhlIHdheSBiYWNrIHRvIGV4 YW1wbGVzIDYuMSBhbmQgNi4yLCBzbyBpdCBzaG91bGQgYmUgInNvbWUgb2YgdGhlIHVucmVkdWNl ZCBmb3JtcyBpbiB0aGUgcHJldmlvdXMgZXhhbXBsZV9fc19fIi4KCioqICcnSU5DTFVERUQgSU4g REFHLUNMTCcnICh6b3J0J3MgZm9yayBhdCBsZWFzdCkKCihBcHByb3ZlZCBFcnJhdHVtfGpjb3dh biBBcHByb3ZlZCkpICBSZWZlciBleHBsaWNpdGx5IHRvIDYuMSBhbmQgNi4yCgoKCiogU2VjdGlv biA3LCBwYWdlIDYwLiBJbiBleGFtcGxlIDYuMTYsIHRoZSB3b3JkICJ4YXJueWthcmNlIiBpcyBn bG9zc2VkIGFzICJ3YXItY2FyIi4gRWl0aGVyIHRoZSBnbG9zcyBzaG91bGQgYmUgdXBkYXRlZCB0 byByZWZsZWN0IHRoZSB2ZWxqdm8gKCJzdHViYm9ybi1jYXIiKSwgb3IgdGhlIGx1anZvIHNob3Vs ZCBiZSB1cGRhdGVkIHRvIHJlZmxlY3QgdGhlIGdsb3NzICJqYW1rYXJjZSIKCioqIFRoZSBsYXR0 ZXIgKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4g REFHLUNMTCcnCgoKCiogU2VjdGlvbiA3LCBtYWtpbmcgYSB0eXBlIDMgZnUnaXZsYSwgc3RlcCA1 IHNob3VsZCByZWFkICJzdGVwcyAxLTQiLCBub3QgInN0ZXBzIDEtNSIuICAoKEFwcHJvdmVkIEVy cmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDcsIHN0ZXAgNSBvZiB0aGUgU3Rh Z2UgMyBmdSdpdmxhOiAiaWYgdGhlIHJhZnNpIGVuZHMgaW4gJydyJycgYW5kIHRoZSByZXN0IG9m IHRoZSBmdSdpdmxhIGJlZ2lucyB3aXRoICcnbicnIChvciB2aWNlIHZlcnNhKSB1c2UgYW4gJyds JyctaHlwaGVuIiBzaG91bGQgcmVhZCAgImlmIHRoZSByYWZzaSBlbmRzIGluICcncicnIGFuZCB0 aGUgcmVzdCBvZiB0aGUgZnUnaXZsYSBiZWdpbnMgd2l0aCAnJ24nJywgJyd0YycnLCAnJ3RzJycs ICcnZHonJyBvciAnJ2RqJycsIG9yIHRoZSByYWZzaSBlbmRzIGluICcnbicnIGFuZCB0aGUgcmVz dCBvZiB0aGUgZnUnaXZsYSBiZWdpbnMgd2l0aCAnJ3InJyB1c2UgYW4gJydsJyctaHlwaGVuIi4g ICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFRoZSBlbmQgb2Ygc2Vj dGlvbiA3IHNlZW1zIHRvIGltcGx5IHRoYXQgY21lbmUgYXJlIGV4ZW1wdCBmcm9tIHRoZSBub3Jt YWwgcmVzdHJpY3Rpb25zIG9uIGNvbnNvbmFudCBjbHVzdGVycyBhcyBsb25nIGFzIGVhY2ggY29u c29uYW50IHBhaXIgaXMgdmFsaWQuCgoKCiogU2VjdGlvbiA4LiBFeGFtcGxlIDguMTAgJydkamFu ZGpvbnonJyBpcyBub3QgdmFsaWQgbG9qYmFuIGFzIGl0IGNvbnRhaW5zIHRoZSBmb3JiaWRkZW4g Y29uc29uYW50IHNlcXVlbmNlIGBuZGpgLiAgICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFw cHJvdmVkKSkgIFJlcGxhY2Ugd2l0aCBhIGRpZmZlcmVudCBuYW1lLgoKKiogUmVwbGFjaW5nIHdp dGggIkpvaG4gQnJvd24iIGFzICJkamFuYnJhdW4iLiAtLXJscG93ZWxsICcnSU5DTFVERUQgSU4g REFHLUNMTCcnCgoKCiogU2VjdGlvbiA4LCBwYWdlIDY2LiBFeGFtcGxlIDguMTIuIFNheXMgdGhh dCB0aGUgZ2lzbXUgInNvbHJpIiBtZWFucyAiYWN0dWFsbHksICdwZXJ0YWluaW5nIHRvIHRoZSBz dW4nIi4gVGhpcyBpcyBmYWxzZS4gQWNjb3JkaW5nIHRvIHRoZSBnaXNtdSBsaXN0LCBpdCBtZWFu cyAnJ2lzJydhIHN1bi4KCioqIExlYXZlIHRoaXMgb25lIGFsb25lLiAgQXMgYSBzZWx0YXUsICJz b2xyaSIgZG9lcyBpbmRlZWQgbWVhbiAic29sYXIiLiAgLS1qY293YW4KCgoKKiBTZWN0aW9uIDEx LCA1YSkgJydFeGFtaW5lIGFsbCB0aGUgQy9DIGNvbnNvbmFudCBwYWlycyB0aGF0IGpvaW4gdGhl IENWQyByYWZzaSwgYW5kIGFsc28gdGhlIHBhaXIgYmV0d2VlbiB0aGUgbGFzdCBDVkMgYW5kIHRo ZSBYIHBvcnRpb24sIGlnbm9yaW5nIGFueSAieSItaHlwaGVuIGJlZm9yZSB0aGUgWC4nJyBzaG91 bGQgcmVhZCBpbnN0ZWFkOiAnJ0V4YW1pbmUgYWxsIHRoZSBDL0MgY29uc29uYW50IHBhaXJzIHVw IHRvIHRoZSBmaXJzdCAieSItaHlwaGVuLCBvciB1cCB0byB0aGUgZW5kIG9mIHRoZSB3b3JkIGlu IGNhc2UgdGhlcmUgYXJlIG5vICJ5Ii1oeXBoZW5zLicnCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18 Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9u IDEyLiBJbiBFeGFtcGxlcyAxMi4yLCAxMi4zIGFuZCAxMi40IHRoZSBjYWxjdWxhdGlvbnMgYXJl IGdpdmVuIGFzIDMyNTAwIG1pbnVzIHRoZSBzY29yZSwgaW5zdGVhZCBvZiBzaW1wbHkgdGhlIHNj b3JlLiAoUHJvYmFibHkgZnJvbSBwcmV2aW91cyB2ZXJzaW9ucyBvZiB0aGUgYWxnb3JpdGhtLikg ICAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAxMywg cGFnZSA3NCwgdGhpcmQgdGFibGU6IHRoZXJlIGlzIG5vIHNwYWNlIGJldHdlZW4gImxvamJhdWdy aSIgYW5kICJsb2piYW5neWdyaSIsIHNvIHRoYXQgdGhleSBhcmUgcnVuIGludG8gb25lIHdvcmQg aW4gdGhlIHNlY29uZCBjb2x1bW4gb2YgdGhlIHRhYmxlLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpj b3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAxNSBzdGF0ZXMgdGhhdCAiZHppcG8iIGNvbWVz IGZyb20gImNhZHp1IGNpcG5pIiAoIndhbGtpbmcgYmlyZCIpLiAgVGhpcyBmYWlscyB0byBtYWtl IHNlbnNlIGVpdGhlciBldHltb2xvZ2ljYWxseSBvciBzZW1hbnRpY2FsbHkgKElmIHRoZSBuYW1l IHJlZmVycyB0byBwZW5ndWlucywgdGhlcmUgYXJlIGEgbG90IG9mIG90aGVyIGZlYXR1cmVzIG9m IEFudGFyY3RpY2EgdGhhdCBhcmUgbW9yZSBwcm9taW5lbnQgYW5kIG5vdCBzaGFyZWQgYnkgb3Ro ZXIgcGxhY2VzKS4gIEkgc3VzcGVjdCB0aGF0IHRoZSB3b3JkIG1heSBhY3R1YWxseSBjb21lIGZy b20gImRpemxvIGRhcGx1IiAoImxvdyBpc2xhbmQiKSwgd2hpY2ggaXMgYSBzb21ld2hhdCBtb3Jl IHJlYXNvbmFibGUgbmFtZS4KCioqIE5vdCBhbiBlcnJhdHVtLCB0aGUgd29yZCByZWFsbHkgZG9l cyBjb21lIGZyb20gImNhRFp1IGNJUG5pIi4gVGhhdCBpdCBmYWlscyB0byBtYWtlIHNlbnNlIGRv ZXNuJ3QgY2hhbmdlIHRoZSBmYWN0IHRoYXQgdGhhdCBpcyBob3cgdGhleSBjb25zdHJ1Y3RlZCBp dC4gVGhlIGV0eW1vbG9naWVzIG9mICJiZW1ybyIgYW5kICJrZXRjbyIgbWFrZSBldmVuIGxlc3Mg c2Vuc2UsIGJ5IHRoZSB3YXkuCgoqKiogQ29ycmVjdCwgYnV0IHRoZSBldHltb2xvZ2llcyBhcmUg d2hhdCB0aGV5IGFyZS4gIC0tamNvd2FuCgoKCi0tLQoKCgohQ2hhcHRlciA1CgoKCiogU2VjdGlv biA2LCBleGFtcGxlIDYuMTU6IEl0IHNheXMge3hhbWd1IGpvIGNvcnR1IG51bnRhdmxhfSwgYW5k IHRoZSBnbG9zcyBzYXlzIHsoZ29vZCBpZi1hbmQtb25seS1pZiBzaG9ydCkgc3BlZWNofSwgYnV0 IHtjb3J0dX0gbWVhbnMgImh1cnQiLCBub3QgInNob3J0Ii4KCioqICcnSU5DTFVERUQgSU4gREFH LUNMTCcnICAoY2hhbmdlZCB0byB7dG9yZHV9KSAoaW4gem9ydCdzIGZvcmsgYXQgbGVhc3QpICgo QXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIEV4YW1wbGUgNi4xNjogdmFq bmkganUgc2VscGx1a2EgbnVudGF2bGEgLCAgKGltcG9ydGFudCB3aGV0aGVyLW9yLW5vdCBwbGVh c2luZykgZXZlbnQtb2YtdGFsa2luZwoKKiogU2hvdWxkIGJlIHBsdWthLCBub3Qgc2VscGx1a2Eu ICAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBE QUctQ0xMJycKCgoKKiBTZWN0aW9uIDggc2F5cyAiaW52b2x2aW5nIHNlbG1hJ28gVk9oQSBhbmQg R09oSSwgZXhwbGFpbmVkIGluIENoYXB0ZXIgNyIsIGJ1dCBWT2hBIGRvZXNuJ3QgYXBwZWFyIGlu IENoYXB0ZXIgNy4gVk9oQSBkb2Vzbid0IGV2ZW4gc2VlbSB0byBiZSBhIHNlbG1hJ28sIGZvciB0 aGF0IG1hdHRlci4gQWxzbywgcHJvYmFibHkgR09oSSBzaG91bGQgYmUgR09oQT8KCgoKKiBTZWN0 aW9uIDgsIHBhZ2UgOTYvOTc6IEV4YW1wbGUgOC4xMyBuZWVkcyBzb21lIGtpbmQgb2YgdGVybWlu YXRvciAobGlrZSAiYmUnbyIpIGJlZm9yZSB0aGUgImNvIi4gICAoKEFwcHJvdmVkIEVycmF0dW18 amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBBbHNvLCB0aGUgcHJlY2VkaW5nIHBhcmFncmFwaCBzdWdn ZXN0cyB0aGF0ICJiZSIgaXMgdGhlIG9ubHkgd2F5IHRvIGZpbGwgc2VsYnJpIHBsYWNlcyBvdGhl ciB0aGFuIHgxLiBUaGlzIGlzIG5vdCB0aGUgY2FzZTogIm1pIGxlIHphcmNpIGN1IGtsYW1hIGNv IHN1dHJhIiB3b3VsZCBhbHMKCm8gd29yay4KCioqIEkgZG9uJ3QgYWdyZWUgdGhhdCB0aGVyZSdz IGFueSBzdWNoIHN1Z2dlc3Rpb24sIGFsdGhvdWdoIGFkZGluZyBhIHNlY29uZCBwb3NzaWJpbGl0 eSBpcyBmaW5lIHdpdGggbWUuICAtLWpjb3dhbgoKCgoqIFNlY3Rpb24gOSBsaXN0cyAia2VpIiBh cyB0aGUgdGVybWluYXRvciBmb3IgbnUsIGJ1dCBpdCdzIG5vdCBvbmx5IGZvciBudSwgYnV0IGZv ciBhbGwgb2YgTlUuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBT ZWN0aW9uIDE0LCBwYWdlIDEwNCBzYXlzICJkYWR5bHNpIiBmb3IgImRhZHlzbGkiLgoKKiogKChB cHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNM TCcnCgoKCiogU2VjdGlvbiAxNCwgcGFnZSAxMDUgdXNlcyAiemRhbmkgbGlqZ3JpIiBpbiB0aGUg ZXhhbXBsZSBsaXN0LCBidXQgdGhlIHBhcmFncmFwaCBhZnRlciwgYXMgd2VsbCBhcyB0aGUgbmV4 dCBsaXN0LCByZWZlciB0byAiemRhbmkgbGluamkiIGFuZCAibGluamkgemRhbmkiLgoKCgoqIFNl Y3Rpb24gMTQsIHBhZ2UgMTA1IGhhcyB0aGUgbHVqdm8gImNwdW1pJ2kiIGJ1dCBkZWZpbmVzIGl0 IGF0IHRoZSBib3R0b20gb2YgdGhlIHNldCBhcyAiY3BhbWknaSIuCgoqKiBjdWFtaSdpIHMgcHVs bC1tYWNoaW5lLCBzbyB1c2luZyB0aGF0ICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBw cm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTQsIHBhZ2UgMTA2 IHNheXMgInBsaXNlIHRhcGxhIiBmb3IgImFwcGxlIGNha2UiLiBEb2VzIFR1cmtpc2ggcmVhbGx5 IHJlZmVyIHRvIGEgY2FrZSBhcyBhIHRpbGUsIG9yIGlzIHRoaXMgYSBtaXN1bmRlcnN0YW5kaW5n IG9mIHRoZSBkZWZpbml0aW9uIG9mICJ0YXBsYSI/CgoqKiBObywgaXQncyB0aGF0IHt0YXBsYX0g Y2FuIG1lYW4gYm90aCBjYWtlIGFuZCB0aWxlLCBhcyB0aGUgZ2lzbXUgbGlzdCBzaG93czsgaXQn cyBhIGdlbmVyaWMgd29yZCBmb3IgYSBmbGF0IDMtRCBzaGFwZSwgb3Igc2hvcnQgY3lsaW5kZXIu ICBTdGV0LiAgLS1qY293YW4KCgoKKiBTZWN0aW9uIDE0LCBwYWdlIDEwOCBzYXlzICJ0dW1sYSBz cGlzYSIuIFRoaXMgc2hvdWxkIHByb2JhYmx5IGJlICJ0dW1sYSBwYWdidSIsIHNpbmNlIHBpZWNl cyBvZiBsYW5kIGFyZSBub3QgYWN0dWFsbHkgZGV0YWNoZWQuCgoqKiBXaGF0IG1ha2VzIHlvdSB0 aGluayB0aGF0IHNwaXNhIGhhdmUgdG8gYmUgZGV0YWNoZWQ/ICBTdGV0LiAgLS1qY293YW4KCgoK KiBTZWN0aW9uIDE0LCBwYWdlIDEwOSBzYXlzICJyb3N0dSBtb2p5c3UnYSIuICJyb3N0dSIgaXMg bm90IGEgTG9qYmFuIGdpc211LCBub3IgYW4gT2xkIExvZ2xhbiBwcmltaXRpdmUuIEl0J3Mgc3Vw cG9zZWQgdG8gYmUgIm1yb3N0Cgp1Ii4KCioqICJNcm9zdHUiIGlzIGNvcnJlY3QsIGFuZCB0aGF0 J3MgdGhlIHJlYWRpbmcgb2YgdGhlIG9ubGluZSB2ZXJzaW9uLiAgKChBcHByb3ZlZCBFcnJhdHVt fGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAxNCwgIm51bmtpbGJyYSIgaXMgY2xlYXJs eSBub3QgInNoYXJwZW5lciIsIGFuZCBldmVuIGlmIGl0IHdhcyB1c2luZyB0aGUgcmlnaHQgcmFm c2kgZm9yIGNhYnJhLCB0aGF0IHN0cmlrZXMgbWUgYXMgYSBwcmV0dHkgY3JhcHB5IGx1anZvOyBu ZWVkcyB6ZW5iYSBvciB6bWFkdSBvciBiaW54byBvciBzb21ldGhpbmcuCgoKCiogU2VjdGlvbiAx NCwgcGFnZSAxMTIgbGlzdHMgbnVtZXJvdXMgdGFucnUgZXhhbXBsZXMgd2hvc2UgbWVhbmluZ3Mg YXJlIGh5cGVybnltcyBvZiB0aGUgdGVydGF1IGluc3RlYWQgb2YgaHlwb255bXMuIFRoaXMgY29u dHJhZGljdHMgdGhlIHByaW1hcmluZXNzIG9mIHRoZSB0ZXJ0YXUgYXMgZGVmaW5lZCBvbiBwYWdl IDg0LiBUaGUgd29yZCAiamEiIHNob3VsZCBwcm9iYWJseSBiZSBpbnNlcnRlZCBiZXR3ZWVuIHRo ZSBjb25zdGl0dWVudHMsIG9yIHRoZSBlbnRpcmUgc2VjdGlvbiBzaG91bGQgYmUgcmVtb3ZlZC4K CioqIFN0ZXQuICBMaW9ucyBjYW4ndCBiZSBtYWRlIG9mIHN0b25lLCBidXQge3Jva2NpIGNpbmZv fSBpcyBhIGxlZ2l0aW1hdGUgdGFucnUgbm9uZXRoZWxlc3MuICAtLWpjb3dhbgoKCgotLS0KCgoK IUNoYXB0ZXIgNgoKCgoqIEVuZCBvZiBzZWN0aW9uIDIsIGl0IHNheXMgImNvbXBvdW5kIG5lZ2F0 b3IgYGBuYWt1JycgKGRpc2N1c3NlZCBpbiBDaGFwdGVyIDE1KSIsIGJ1dCAibmFrdSIgaXMgbmV2 ZXIgbWVudGlvbmVkIGluIGNoYXB0ZXIgMTU7IGluZGVlZCwgdGhlIG9ubHkgdXNlcyBvZiB0aGUg d29yZCB7a3V9IGF0IGFsbCBhcmUgYWZ0ZXIgdGhlIHdvcmRzIHtqaSd1fSBvciB7bmEnaX0uIENo YXB0ZXIgMTYgdGFsa3MgYWJvdXQge25ha3V9LgoKKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycg KHpvcnQncyBmb3JrIGF0IGxlYXN0KSBidXQgbmVlZHMgYXBwcm92YWwKCgoKKiBTZWN0aW9uIDEy LCBwLiAxMzggY2xhaW1zIHRoYXQgdGhlIHN1bXRpIGluIGV4YW1wbGVzIDEyLjIgYW5kIDEyLjMg b3BlcmF0ZSBsaWtlIGV4YW1wbGVzIDIuNSBhbmQgMy42IHJlc3BlY3RpdmVseS4gIjIuNiBhbmQg My42IiBpcyBhbG1vc3Qgc3VyZWx5IHdoYXQgd2FzIG1lYW50LiAgKChBcHByb3ZlZCBFcnJhdHVt fGpjb3dhbiBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogSW4gc2VjdGlv biAxMSBFeGFtcGxlIDExLjIgb2NjdXJzIHR3aWNlLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNh bWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAy IGhhcyBleGFtcGxlcyAyLjMgYW5kIDIuNSB0byBzaG93IHRoZSBkaWZmZXJlbmNlIGJldHdlZW4g e2xvfSBhbmQge2xlfS4gRXhhbXBsZSAyLjUgYW5kIHRoZSBzdWJzZXF1ZW50IHRleHQgc2F5IHRo YXQge2xvIG5hbm11IGN1IG5pbm11fSBpcyBuZWNlc3NhcmlseSBmYWxzZSBpbiBsb2piYW4gc2lu Y2Uge25vZGEgbmFubXUgZ2knZSBuaW5tdX0uIFRoaXMgY29udHJpYnV0ZXMgdG8gdHJhbnMtZXJh c3VyZSwgYW5kIHNob3VsZCBiZSByZXZpc2VkLgoKCgoqIEluIHNlY3Rpb24gNSBiZXR3ZWVuIGV4 YW1wbGVzIDUuMiBhbmQgNS4zLCBpdCBzYXlzIHRoYXQgdGhlIHR5cGljYWwgbGlvbiBiZXN0IGV4 ZW1wbGlmaWVzIHRoZSBzZXQgb2YgbGlvbnMuIFRoaXMgaXMgZmFsc2UsIGl0IGV4ZW1wbGlmaWVz IG5vdCB0aGUgc2V0LCBidXQgdGhlIG1lbWJlcnMgb2YgdGhhdCBzZXQuCgoKCi0tLQoKCgohIENo YXB0ZXIgNwoKCgoqIFNlY3Rpb24gNiwgcGFnZSAxNTUgaGFzIGEgbm90ZSBiZWxvdyBleGFtcGxl IDYuMTMgdGhhdCBzYXlzLCBpbiBwYXJ0OiAiVGhlIExvamJhbiBkb2VzIG5vdCBjb250YWluIGFu IGVxdWl2YWxlbnQgb2YgdGhlICJteSIgaW4gY29sbG9xdWlhbCBFbmdsaXNoOyIgYW5kIHRoZW4g Z29lcyBvbiB0byBleHBsYWluIGhvdyBleGFtcGxlIDYuMTMgY291bGQgYmUgbW9kaWZpZWQgdG8g aW5jbHVkZSAgdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHRoZSBzcGVha2VyIGFuZCB0aGVpciBz b24gYW5kIGRhdWdodGVyLiAgSSBiZWxpZXZlIHlvdSBjb3VsZCBzYXkgImxlIG1pIGJlcnNhIiBv ciAibGUgYmVyc2EgcGUgbWkiIHRvIGV4cHJlc3MgdGhlIEVuZ2xpc2ggIm15LCIgdGhlcmVmb3Ig cmVtb3ZpbmcgdGhlIChwcmVzdW1hYmx5IGluYWNjdXJhdGUpIG5vdGUgYW5kIG1ha2luZyB0aGUg TG9qYmFuIHRyYW5zbGF0aW9uIG1vcmUgYWNjdXJhdGUuCgoqKiBTdXJlIHlvdSBjb3VsZCwgYnV0 IHRoZSBwb2ludCBvZiB0aGUgbm90ZSAod2hpY2ggaXMgJydub3QnJyBpbmFjY3VyYXRlKSBpcyBu b3QgdGVhY2hpbmcgaG93IHRvIHVzZSByZWxhdGl2ZSBjbGF1c2VzLCBidXQgdG8gY2xhcmlmeSB0 aGF0IHRoZSBpZGlvbWF0aWMgRW5nbGlzaCB2ZXJzaW9uIGNvbnRhaW5zIG1vcmUgaW5mb3JtYXRp b24gdGhhbiB0aGUgTG9qYmFuIHZlcnNpb24gZG9lcy4gIFN0ZXQuCgoKCiogU2VjdGlvbiA2LCBw YWdlIDE1NiBoYXMgJydrYXJjYScnIGZvciAnJ2thcmNlJycuICAoKEFwcHJvdmVkIEVycmF0dW18 amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBBZnRlciBleGFtcGxlIDYuMTggaXMgYSBwYXJhZ3JhcGgg dGhhdCBxdW90ZXMgbm9uLWV4aXN0ZW50IHRleHQgZnJvbSBleGFtcGxlIDYuMTAuICAiZ28nZSBy YSdvIiBzaG91bGQgcmVhZCAiZ28naSByYSdvIiBhbmQgImRvIGdvJ2UiIHNob3VsZCByZWFkICJt aSBnbydpIgoKKiogVGhlIGNvcnJlY3QgY29ycmVjdGlvbiBpcyB0byByZXBsYWNlICJCJ3Mgc3Rh dGVtZW50IiB3aXRoICJBJ3Mgc2Vjb25kIHN0YXRlbWVudCIuICAoKEFwcHJvdmVkIEVycmF0dW18 amNvd2FuIEFwcHJvdmVkKSkKCioqKiBOb3QgcmVhbGx5LiAiZ28nZSByYSdvIiBpbiBBJ3Mgc2Vj b25kIHN0YXRlbWVudCB3b3VsZCBtZWFuIHRoZSBzYW1lIGFzICJnbydlIiwgd2hpY2ggaXMgd3Jv bmcuIFRoZSBvcmlnaW5hbCBjb3JyZWN0aW9uIGlzIHZhbGlkIHRob3VnaC4KCgoKKlNlY3Rpb24g NiwgdGhlIGV4Y2VwdGlvbnMgdG8gdGhlIGFuYXBob3JhIHJ1bGVzIGFyZSBhbG1vc3QgY2VydGFp bmx5IGluY29tcGxldGUuIEluIHBhcnRpY3VsYXIgIm1hIiBhbmQgImNlJ3UiIGRlZmluaXRlbHkg d2FycmFudCBleGNlcHRpb25zLgoKCgoqIFNlY3Rpb24gNywgZXhhbXBsZSA3LjcgaGFzICJtaSB6 YmFzdSBsb2kgbXVkcmkgemknbyIgZm9yICJtaSB6YmFzdSBsZSBkaW5qdSB6aSdvIgoKKiogKChB cHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNM TCcnCgoKCiogU2VjdGlvbiA4LCBwLiAxNTggaW1wbGllcyB0aGF0ICcndm8nYScnLXNlcmllcyBh bmFwaG9yYSByZWZlciB0byBzdW10aSBvZiB0aGUgYnJpZGkgdGhleSB0aGVtc2VsdmVzIGFyZSBz dW10aSBvZi4gVGhpcyBjb250cmFkaWN0cyB0aGUgY21hdm8gbGlzdCwgYW5kIGlzIGluY29ycmVj dDogJyd2bydhJyctc2VyaWVzIGFuYXBob3JhIChhY2NvcmRpbmcgdG8gdGhlIG1hJ29zdGUpIHJl ZmVyIHRvIHN1bXRpIG9mIHRoZSBvdXRlcm1vc3QgYnJpZGkgd2l0aGluIHRoZSBjdXJyZW50IHNl bnRlbmNlLiBUaGlzIG1ha2VzIHRoZW0gbG9nb3Bob3JzL2xvbmcgZGlzdGFuY2UgcmVmbGV4aXZl cywgcmF0aGVyIHRoYW4gc2hvcnQtZGlzdGFuY2UgcmVmbGV4aXZlcywgYXMgaXMgbm9ybWFsIGlu IGh1bWFuIGxhbmd1YWdlLiBUaHVzLCBpbiAnJ21pIG5lbGNpIGxlbnUgZG8gcHJhbWkgdm8nYScn LCAnJ3ZvJ2EnJ21lYW5zICcnbWknJywgbm90ICcnZG8nJy4KCioqX18tLT5fXygoV2h5IHRoZSBC b29rIGlzIFJpZ2h0IGFuZCB0aGUgbWEnb3N0ZSBpcyBXcm9uZykpCgoqKipXaGljaCBvZiB0aGUg dHdvIGNhc2VzIGlzIG5vcm1hbCBpbiBodW1hbiBsYW5ndWFnZT8gSWYgeW91J2Qgd3JpdHRlbiBp dCBpbiBMb2piYW4sIEknZCBrbm93IQoKKioqKiBJJ2QgZ3Vlc3MgdGhhdCBzaG9ydC1kaXN0YW5j ZSBpcyBub3JtYWwsIGIvYyBvdGhlcndpc2UgaXQgd291bGQgbm90IGJlIHdvcnRoIGNvbXBhcmlu ZyB0aGUgdHdvLiBCdXQgb2YgY291cnNlIGluIGxvamJhbiB3ZSB3b3VsZG4ndCBoYXZlIHRvIGds b3JrIHRoYXQuCgoqKioqKiBTaG9ydC1kaXN0YW5jZSBpcyBpbmRlZWQgbm9ybWFsLCBidXQgTG9q YmFuaXN0cyBoYXZlIGNvbnNpc3RlbnRseSB1c2VkIGxvbmctZGlzdGFuY2UuICBOaWNrIHdyb3Rl IGEgcGVlci1yZXZpZXdlZCBwYXBlciBvbiB0aGlzLiAgLS1qY293YW4KCgoKKiBFeGFtcGxlIDcu OC41IChwMTU5KTogYmFqcmEgb24gdGhpcmQgbGluZSBzaG91bGQgYmUgYmFqeWtsYSwgbGlrZSB0 aGUgb3RoZXJzLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcn SU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA4LCBpdCBzYXlzICJFeGFtcGxlIDku MyBpcyBhIHRydWx5IHByZWduYW50IHF1ZXN0aW9uLi4uIiB3aGVuIGV4YW1wbGUgOS4yIGlzIHRo ZSBwcmVnbmFudCBxdWVzdGlvbiwgYW5kIGV4YW1wbGUgOS4zIGlzIGEgYmV0dGVyIHdheSBvZiBl eHByZXNzaW5nICJXaG8gYXJlIHlvdT8iCgoKCiogU2VjdGlvbiAxNSwgaXQgc2F5cyAiRmluYWxs eSwgbHVqdm8gaW52b2x2aW5nIGBgemknbycnIGFyZSBhbHNvIHBvc3NpYmxlLCBhbmQgYXJlIGZ1 bGx5IGRpc2N1c3NlZCBpbiBDaGFwdGVyIDEyIiwgYnV0IG5vd2hlcmUgZG9lcyBDaGFwdGVyIDEy IG1lbnRpb24gdGhlIHdvcmQge3ppJ299LCBtdWNoIGxlc3MgbHVqdm8gaW52b2x2aW5nIGl0LiBU aGlzIGlzIHByb2JhYmx5IGEgQ2hhcHRlciAxMiBlcnJhdHVtLgoKLS0tCgoKCiFDaGFwdGVyIDgK CgoKKiBJbiBTZWN0aW9uIDMgdGhlIGV4YW1wbGUgMy4yMCBzaG91bGQgaGF2ZSB7eGFuY2V9IGlu c3RlYWQgb2Yge3hhbmNpfSwgd2hpY2ggaXMgZGVmaW5pdGVseSBhIHR5cG8uIC0taWRvbnRrbncK CioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElO IERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gOCwgcC4gMTgxOiAgOC4xKSAnJ2xpIHBhaSBub2kgbmEn ZSBmcmludSBuYW1jdScnc2hvdWxkIGJlICcnbGkgcGFpIG5vaSBuYSdlIGZyaW51IGN1IG5hbWN1 JycuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDgs IEV4YW1wbGUgOC42LCB0aGUgdGhpcmQgbGluZSwgIkkgcnVubmluZ2x5LWdvIHRvLXRoaXMgW3Jl Y2lwcm9jaXR5XSBbeDMgb2YgdGhpcyBicmlkaV0gZnJvbS10aGF0IiwgaXMgbm90IHRoZSB1c3Vh bCBkZWNlbnQgRW5nbGlzaCBvbmUgd291bGQgZXhwZWN0IGluIHRoYXQgcG9zaXRpb247IHJlcGxh Y2VkIHdpdGggIkkgcnVuIHRvIHRoaXMgZnJvbSB0aGF0IGFuZCB2aWNlIHZlcnNhLiIgaXMgZGFn LWNsbCAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gOSwgZXhhbXBsZSA5LjIg aXMgJydjbydvIHhpcm1hJycuIFRoZW4sICcnTm90ZSB0aGF0IEV4YW1wbGUgOS4yIHNheXMgZmFy ZXdlbGwgdG8gc29tZXRoaW5nIHdoaWNoIGRvZXNu4oCZdCByZWFsbHkgaGF2ZSB0byBiZSBhIGhv cnNlLCBzb21ldGhpbmcgdGhhdCB0aGUgc3BlYWtlciBzaW1wbHkgdGhpbmtzIG9mIGFzIGJlaW5n IGEgaG9yc2UsIG9yIGV2ZW4gbWlnaHQgYmUgc29tZXRoaW5nIChhIHBlcnNvbiwgZm9yIGV4YW1w bGUpIHdobyBpcyBuYW1lZCAiSG9yc2UiLiBJbiBhIHNlbnNlLCBFeGFtcGxlIDkuMiBpcyBhbWJp Z3VvdXMgYmV0d2VlbiAiY28nbyBsZSB4aXJtYSIgYW5kICJjbydvIGxhIHhpcm1hIicnLiBJcyB0 aGlzIHRydWU/CgoqKiBZZXMsIGluIHRoZSBzZW5zZSB0aGF0IGFsbCB1c2VzIG9mICJsZSIgJydt aWdodCcnIG1lYW4gImxhIi4gIEJ1dCBpdCdzIHByb2JhYmx5IG1vcmUgY29uZnVzaW5nIHRoYW4g aXQncyB3b3J0aC4gIFRydW5jYXRlIGFmdGVyICJ0aGlua3Mgb2YgYXMgYmVpbmcgYSBob3JzZSIu ICAtLWpjb3dhbgoKCgoqIFNlY3Rpb24gOSBzYXlzICcnSW4gdm9jYXRpdmUgcGhyYXNlcyB3aGlj aCBhcmUgc2ltcGxlIG5hbWVzIChhZnRlciB0aGUgdm9jYXRpdmUgd29yZHMpLCBhbnkgcmVsYXRp dmUgY2xhdXNlcyBtdXN0IGNvbWUganVzdCBhZnRlciB0aGUgbmFtZXMnJy4gVGhpcyBpc24ndCB0 cnVlLiBSZWxhdGl2ZSBjbGF1c2VzIGNhbiBnbyBiZXR3ZWVuIHRoZSB2b2NhdGl2ZSBhbmQgdGhl IGNtZXZsYS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKSAgRHJvcCBpdDsg aXQgcmVmbGVjdHMgYW4gZWFybGllciBzdGF0ZSBvZiB0aGUgbGFuZ3VhZ2UuCgoKCiogU2VjdGlv biAxMCwgZXhhbXBsZSAxMC4zIHVzZXMgImtlJ2EgZ29pIGtvJ2Ugem8ndSBrbydhIHpiYXN1IGtl J2EiIGJ1dCBnbG9zc2VzIGl0IGFzICIoSVQgPSBpdDIgOiBpdDEgYnVpbHQgaXQyKSIuIFRoZSBh c3NpZ25lZCAia28nZSIgaXMgbm90IHVzZWQgYXMgZXhwZWN0ZWQgb3IgZGVzY3JpYmVkLCBhbmQg c2hvdWxkIHByb2JhYmx5IGJlICJrbydhIHpiYXN1IGtvJ2UiLiAgKChBcHByb3ZlZCBFcnJhdHVt fGpjb3dhbiBBcHByb3ZlZCkpICBZZXMsICJrbydhIHpiYXN1IGtvJ2UiIGlzIGNsZWFybHkgd2hh dCdzIG1lYW50LgoKCgotLS0KCiFDaGFwdGVyIDkKCgoKKiBTZWN0aW9uIDYsIHBsYWNlIHN0cnVj dHVyZSBvZiAnJ3BpbG5vJycgaXMgbWlzc2luZyAiZm9yIHB1cnBvc2UgeDMiLiAgKChBcHByb3Zl ZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiA4LCB0aGUgZXhhbXBsZXMg OC41IGFuZCA4LjYgYXJlIHN1cHBvc2VkIHRvIG1lYW4gdGhlIHNhbWUgdGhpbmcsIGJ1dCBkbyBu b3QuCgoqKiBQbGVhc2UgZWxhYm9yYXRlLiAgLS1qY293YW4KCioqKiA4LjUgbWVhbnMgIkkgZ2F2 ZSB0aGUgYm9vayB0byBKb2huLCBiZWNhdXNlIEpvaG4gZ2F2ZSB0aGUgbW9uZXkgdG8gbWUiIGJ1 dCA4LjYgbWVhbnMgIkpvaG4gZ2F2ZSB0aGUgbW9uZXkgdG8gbWUgYmVjYXVzZSBJIGdhdmUgdGhl IGJvb2sgdG8gSm9obi4iCgoqKiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJyAoKEFwcHJvdmVkIEVy cmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDExLCBkZXNjcmlwdGlvbiBvZiB0 aGUgbWVhbmluZyBvZiAiLmlqZSBzZXJpJ2EgdHUnZSIgY29udHJhZGljdHMgdGhlIGV4cGxhbmF0 aW9uIG9mIEV4YW1wbGUgOS45LCB3aGljaCB3b3VsZCBzdWdnZXN0ICIuaWplIHJpJ2EgdHUnZSIu CgoKCiogc2VjdGlvbiAxNywgImZyb20gc291cmNlIGFzIGFuIG9yaWdpbiBvZiIgc2hvdWxkIGJl IHR3byBlbnRyaWVzOyAiZnJvbSBzb3VyY2UiIGFuZCAiYXMgYW4gb3JpZ2luIG9mIiAnJ0lOQ0xV REVEIElOIERBRy1DTEwnJwoKCgotLS0KCgoKIUNoYXB0ZXIgMTAKCgoKKiBTZWN0aW9uIDQsICJ3 aGVuIGJvdGggc3BhdGlhbCBhbmQgdGVtcG9yYWwgdGVuc2UgY21hdm8gYXJlIGdpdmVuIGluIGEg c2luZ2xlIHRlbnNlIGNvbnN0cnVjdCwgdGhlIHRlbXBvcmFsIHRlbnNlIGlzIGV4cHJlc3NlZCBm aXJzdCIgZGlzYWdyZWVzIHdpdGggdGhlIHJ1bGUgc2ltcGxlLXRlbnNlLW1vZGFsLTk3MiBpbiB0 aGUgQk5GIGdyYW1tYXIuCgoKCiogU2VjdGlvbiA5LCBleGFtcGxlIDkuOSBvbiBwYWdlIDIyNyBo YXMgImNpcmxpIiBmb3IgImNpcmxhIi4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMg QXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTIsIGV4YW1w bGUgMTIuNiB0cmFuc2xhdGVzIG1vcnNpIGFzICJkaWUiIHJhdGhlciB0aGFuICJhbSBkZWFkIiBp biB0aGUgdHJhbnNsYXRpb24gKGFzIG9wcG9zZWQgdG8gdGhlIGdsb3NzKS4KCgoKKiBTZWN0aW9u IDE2LCBhdCB0aGUgZW5kLCB0aGUgWCBhbmQgWSBpbiB0aGUgMyBmb3JtcyBkb24ndCBmaXQgcHJv cGVybHkgKHRoZSAzcmQgZG9lc24ndCBtYXRjaCB0aGUgZmlyc3QgdHdvKS4gSSByZWNvbW1lbmQs IGNvcHlpbmcgZnJvbSBTZWN0aW9uIDIzICh3aGVyZSB0aGV5IGFyZSB3cml0dGVuIGFnYWluIGNv cnJlY3RseSk6CgogICAgICAgWCAuaSBURU5TRSBibyBZCgogICAgICAgVEVOU0UgZ2kgWCBnaSBZ CgogICAgICAgWSBURU5TRSBsZSBudSBYCgoKCiogU2VjdGlvbiAxNywgZXhhbXBsZSAxNy4xMiBz aG91bGQgbm90IGhhdmUgdGhlIHNlY29uZCAiYmV2cmkiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVt fGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlv biAxOCwgZXhhbXBsZSAxOC45IGlzIHN1cHBvc2VkIHRvIHNob3cgc2NhbGFyIG5lZ2F0aW9uIG9m IHRlbnNlcyBub3QgbGltaXRlZCB0byBQVSBhbmQgRkFoQSwgYnV0IHRoZSBleGFtcGxlIHRlbnNl IGlzIHJpJ3UgKEZBaEEyKS4KCgoKKiBTZWN0aW9uIDE5LCBleGFtcGxlIDE5LjEwIHNob3VsZCBo YXZlICJiYSIsIG5vdCAicHUiLCBhbmQgIltmdXR1cmVdIiwgbm90ICJbcGFzdF0iLiAgKChBcHBy b3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAyNSwgZXhhbXBsZXMg MjUuMSBhbmQgMjUuMiBoYXZlICcnbHUnYScnIGZvciAnJ2xhJ3UnJy4KCioqICgoQXBwcm92ZWQg RXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoq IFNlY3Rpb24gMjUsIHRoaXMgd2hvbGUgc2VjdGlvbiBpcyBhdCBvZGRzIHdpdGggdGhlIGZvcm1h bCBncmFtbWFyLiBJdCBzYXlzOiAnJ0l0IGlzIGdyYW1tYXRpY2FsIGZvciBhIHRlcm1zZXQgdG8g YmUgcGxhY2VkIGFmdGVyIGEgdGVuc2Ugb3IgbW9kYWwgdGFnIHJhdGhlciB0aGFuIGEgc3VtdGkn Jy4gIEJ1dCB0aGF0IGlzIGluIGZhY3QgaW5jb3JyZWN0LCBpdCBpcyBub3QgZ3JhbW1hdGljYWwg Zm9yIGEgdGVybXNldCB0byBiZSB0aGUgYXJndW1lbnQgb2YgYSB0YWcuCgoqKiBVbmZvcnR1bmF0 ZWx5IHRydWUuICBUZXJtc2V0cyBzdWNrIHJvY2tzLCBhbmQgc29tZSB3b3JrIHdpbGwgaGF2ZSB0 byBiZSBkb25lIHRvIG1ha2UgZXZlcnl0aGluZyBzYWlkIGFib3V0IHRoZW0gY29uc2lzdGVudCAt LSBpZiBpdCBpcyBldmVuIHBvc3NpYmxlLiAgUGVyc29uYWxseSwgSSdkIGxpa2UgdG8ganVzdCBi dXJuIHRoZW0uICAtLWpjb3dhbiAgJycnTk9GSVgnJycKCgoKKiBTZWN0aW9uIDI3OiBNT2hJIHNl ZSBTZWN0aW9uIDI4LCBub3QgMjcuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVk KSkKCgoKLS0tCgoKCiFDaGFwdGVyIDExCgoKCiogU2VjdGlvbiA0OiBUaGUgdXNlIG9mIGthIGlu IEV4YW1wbGUgNC40IChwYWdlIDI1OSkgaXMgZXJyb25lb3VzOyBpdCBzaG91bGQgYmUgZHUndS4g LS0oKEpvaG4gQ293YW4pKSAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoK KiBMYXN0IHBhcmFncmFwaCBvZiBzZWN0aW9uIDcgcmVmZXJlbmNlcyBjaGFwdGVyIDUgZm9yIGEg ZGlzY3Vzc2lvbiBvZiAibHUnZSIuICBsdSdlIGlzbid0IG1lbnRpb25lZCBpbiBjaGFwdGVyIDUu ICBQcm9iYWJseSBjaGFwdGVyIDYgaXMgbWVhbnQgaGVyZS4KCioqIFllcywgc2hvdWxkIGJlIFNl Y3Rpb24gNS4xMC4gICAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiog U2VjdGlvbiA5LCBwYWdlIDI2NiBoYXMgInNhbydyZHppZmEnYSIgaW5zdGVhZCBvZiAic2Enb3Jk emlmYSdhIi4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lO Q0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFRoZSBzYW1lIGV4YW1wbGUgKDkuNikgYWxzbyBoYXMg a3VjdHJhIGluc3RlYWQgb2Yga3VjdGFpCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlz IEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBUaGUgYm9vayB0aXRsZSBp biBleGFtcGxlIDkuNiBzZWVtcyB0byBiZSBpbmNvcnJlY3Q6ICJUaGUgQ3J1Y2lmaXhpb24gb2Yg SmVzdXMgQ29uc2lkZXJlZCBBcyBBIERvd25oaWxsIEJpY3ljbGUgUmFjZSIgaXMgYWN0dWFsbHkg IltodHRwOi8vd3d3LmV2ZXJncmVlbnJldmlldy5jb20vMTAyL2ZpY3Rpb24vZHVvLmh0bWx8VGhl IENydWNpZml4aW9uIENvbnNpZGVyZWQgQXMgQW4gVXBoaWxsIEJpY3ljbGUgUmFjZV0uIgoKKiog VW5hcHByb3ZlZAoKCgoqIFNlY3Rpb24gMTA6IFBhcmFncmFwaCBhYm92ZSBleGFtcGxlIDEwLjcg cmVmZXJlbmNlcyAiQ2hhcHRlciAxMSIuIFRoYXQgc2hvdWxkIHJlYWQgIkNoYXB0ZXIgMTAiLgoK KiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4g REFHLUNMTCcnCgoKCiogU2VjdGlvbiAxMiwgcGFnZSAyNjkgaGFzIGV4YW1wbGVzIDEzLjEgYW5k IDEzLjIsIHRob3NlIHNob3VsZCBiZSBjYWxsZWQgMTIuMSBhbmQgMTIuMi4gICgoQXBwcm92ZWQg RXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgotLS0KCgoKIUNoYXB0ZXIgMTIKCgoKKiBTZWN0 aW9uIDIsIHBhZ2UgMjc1LiBUaGUgcGFyYWdyYXBoIHVuZGVyIEV4YW1wbGUgMi4zIHJlZmVycyB0 byBpdCBhcyBFeGFtcGxlIDIuNCAoMi40IGRvZXNuJ3QgZXZlbiBleGlzdCkuICAoKEFwcHJvdmVk IEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDUsIHJpZ2h0IGFmdGVyIGV4 YW1wbGUgNS43LiBJdCBzYXlzICJhIiBpbnN0ZWFkIG9mICJhbiIuICAoKEFwcHJvdmVkIEVycmF0 dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDYsIHBhZ2UgMjgwLiBFeGFtcGxlIDYu NiBzaG91bGQgaGF2ZSBhIHNwYWNlIGJldHdlZW4gImxhIHNwYXQuIiBhbmQgIm5vaSIuCgoqKiAo KEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUct Q0xMJycKCgoKKiBTZWN0aW9uIDcsIHBhZ2UgMjgyLiBFeGFtcGxlIDcuNSBoYXMgImJhbnNvaSIg aW5zdGVhZCBvZiAiYmFsc29pIi4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBw cm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTEsIHBhZ2UgMjg1 IGhhcyAieGFzY2FrY3VybnUiIGluc3RlYWQgb2YgInhhc3ljYWtjdXJudSIuCgoqKiAoKEFwcHJv dmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycK CgoKKiBTZWN0aW9uIDEyIHJlZmVycyB0byAibnVua2xhbWEiIGFzIHRoZSBzYW1lIGx1anZvIGFz ICJudW5rbGEiLiAgRXZlbiBpZiB0aGVzZSBhcmUgZXF1aXZhbGVudCBhbHRlcm5hdGl2ZXMgaXQg d291bGQgYmUgbGVzcyBjb25mdXNpbmcgdG8gYmUgY29uc2lzdGVudC4KCgoKKiBTZWN0aW9uIDEy IGNsYWltcyB0aGF0IC1qYXgtIGlzIGEgcmFmc2kgZm9yIHtqYWl9LCBidXQgaXQgaXNuJ3QgaW4g W2h0dHA6Ly93d3cubG9qYmFuLm9yZy9wdWJsaWNhdGlvbnMvd29yZGxpc3RzL3JhZnNpLnR4dHxo dHRwOi8vd3d3LmxvamJhbi5vcmcvcHVibGljYXRpb25zL3dvcmRsaXN0cy9yYWZzaS50eHRdLiBE b2VzIHtqYWl9IGhhdmUgYSByYWZzaSBvciBub3Q/CgoqKiBJdCBzaG91bGQsIGJ1dCBzb21laG93 IGl0IG5ldmVyIGdvdCBpbnRvIHRoZSBnaXNtdSBsaXN0LCBhbmQgY29uc2VxdWVudGx5IG5vdCBp bnRvIHRoZSByYWZzaSBsaXN0IGVpdGhlci4gIFN0ZXQsIGFuZCB3ZSdsbCBhZGQgaXQgdG8gdGhl IGdpc211IGxpc3QuICAtLWpjb3dhbgoKCgoqIFNlY3Rpb24gMTIsIHJpZ2h0IGF0IHRoZSBlbmQs IHNheXMgdGhhdCB7ZmFpfSBpcyBleHBsYWluZWQgaW4gQ2hhcHRlciAxMSwgYnV0IENoYXB0ZXIg MTEgbWFrZXMgbm8gbWVudGlvbiBvZiB7ZmFpfS4gT25seSBjaGFwdGVycyA5IGFuZCAxMCBkby4K CioqICcnSU5DTFVERUQgSU4gREFHLUNMTCcnICh6b3J0J3MgZm9yayBhdCBsZWFzdCkgICgoQXBw cm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTQsIGV4YW1wbGUg MTQuMi4gTWlzc2luZyA8IC9wcmUgPiB0YWcsIGFuZCBtaXNzaW5nIDwgcHJlPiB0YWcgZm9sbG93 aW5nIGV4cGxhbmF0b3J5IHBhcmFncmFwaC4KCgoKKiBTZWN0aW9uIDE0LCBwYWdlIDI5MS4gVGhl IHBhcmFncmFwaCB1bmRlciBleGFtcGxlIDE0Ljcgc2F5cyAic2UgeGFuY2UgbWluZHUiIGluc3Rl YWQgb2YgInNlIHhhbmNlIG1pbmRlIi4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMg QXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTUsIHR3byBw YXJhZ3JhcGhzIGJlZm9yZSBleGFtcGxlIDE1LjcuIEl0IHNheXMgIlRoZXJlIGFyZSBzb21lIGNv bXBhcmF0aXZlIGNvbmNlcHRzIHdoaWNoIGFyZSBpbiB3aGljaCB0aGUgJ3NlIHptYWR1JyBpcyBk aWZmaWN1bHQgdG8gc3BlY2lmeS4iIFRoZSAid2hpY2ggYXJlIGluIHdoaWNoIiBzZWVtcyBncmFt bWF0aWNhbGx5IGluY29ycmVjdC4KCioqIERyb3AgIndoaWNoIGFyZSIuICAtLWpjb3dhbiAgICgo QXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTUsIGV4YW1w bGUgMTUuMSwgdGhlIHg0IG9mIHt6bWFkdX0gYW5kIHttbGVjYX0gc2hvdWxkIGJlICJieSBhbW91 bnQiIG9yICJieSBxdWFudGl0eSIsIG5vdCAiaW4gcXVhbnRpdHkiLgoKCgoqIFNlY3Rpb24gMTUs IHBhZ2UgMjk0LCBleGFtcGxlIDE1LjE0LiAibGEgYWluY3RhaW4iIG5lZWRzIGEgcGVyaW9kIGJl Zm9yZSBpdCBiZWNhdXNlIGl0IHN0YXJ0cyB3aXRoIGEgdm93ZWwuCgoqKiAoKEFwcHJvdmVkIEVy cmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKLS0t CgoKCiFDaGFwdGVyIDEzCgoKCiogTWFueSBpbmNpZGVudHMgb2Ygbm90IGhhdmluZyBwZXJpb2Rz IGluIGZyb250IG9mIHZvd2VsLWluaXRpYWwgY21hdm8uCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18 Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBJbiBzZWN0 aW9uIDIsIHAuIDMwMCByZWZlcmVuY2VzIHRvIHRoZSBleGFtcGxlcyBmb3IgLnVlIGFuZCAudWVj dSdpIGFyZSBmbGlwcGVkLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoK CiogU2VjdGlvbiAzLCBwYWdlIDMwMywgZXhhbXBsZSAzLjkuICJlJ2UiIG5lZWRzIGEgcGVyaW9k IGJlZm9yZSBpdC4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAn J0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMywgcGFnZSAzMDMsIGV4YW1wbGUg My4xMC4gInRpc25hIiBuZWVkcyB0byBiZSByZXBsYWNlZCB3aXRoICJ0aXN5Z2F1Ii4KCioqICgo QXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1D TEwnJwoKCgoqIFNlY3Rpb24gNCwgcGFnZSAzMDUuIFRoZSBzY2FsZSB3aXRoIHRoZSBnaXNtdSBt bmVtb25pY3MgaXMgbWlzYWxpZ25lZCB3aXRoIHRoZSBzY2FsZSB3aXRoIHRoZSBtZW1iZXJzIG9m IHNlbG1hJ28gQ0FJLiAic2FpIiBzaG91bGQgYmUgdGFiYmVkIG9uZSBwbGFjZSBsZWZ0LCBzbyB0 aGF0IGl0IGFsaWducyB3aXRoIHRzYWxpLCAmYy4KCgoKKiBTZWN0aW9uIDcsIGl0IHNheXMgIkl0 IGlzIG5vdCBjbGVhciBob3cgbXVjaCB1c2UgbG9naWNhbGx5IGNvbm5lY3RlZCBhYnN0cmFjdG9y cyB3aWxsIGJlOiBzZWUgQ2hhcHRlciAxMy4iIEl0IHNob3VsZCBiZSAiQ2hhcHRlciAxNS4iCgoq KiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJyAoem9ydCdzIGZvcmsgYXQgbGVhc3QpIGJ1dCBuZWVk cyBhcHByb3ZhbAoKKiBTZWN0aW9uIDEwLCBwYWdlIDMxMy4gVGhlcmUgaXMgYSBtaXNzaW5nIHNw YWNlIGJldHdlZW4gImNvbnRpbnVlIGVtb3Rpb24iIGFuZCAiZW5kIGVtb3Rpb24iLgoKCgoqIFNl Y3Rpb24gMTUuIEEgc2FtcGxlIGRpYWxvZ3VlICAxNS40KSAvIH5ucH5bQ29tbWVudF0gUGFtIHNh eXMsIFtQbGVhc2VdIEFsaWNlLCBbZW5kLW9mLWNvbW1lbnRdIC8gW0NvbW1lbnRdIFBhbSBzYXlz LCBbZW5kLW9mLWNvbW1lbnRdIFtQbGVhc2VdIEFsaWNlLC9+L25wfiAoKEFwcHJvdmVkIEVycmF0 dW18amNvd2FuIEFwcHJvdmVkKSkKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBw cm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTUsIGV4YW1wbGUg MTUuNSAveGFtZ3UvZ2xla2kvID8KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBw cm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTUsIGV4YW1wbGUg MTUuMTApIC9maSdpIHJvIHp2YXRpIGtvIHBpbnhlIHBhIGNrYWZpL2ZpJ2kgcm8genZhdGkgLmkg a28gcGlueGUgcGEgY2thZmkvCgoqKiBObywgdGhpcyBvbmUgaXMgcGVyZmVjdGx5IGZpbmU6ICJm aSdpIHJvIHp2YXRpIiBpcyBhIHZvY2F0aXZlIHBocmFzZSwgd2hpY2ggaXMgYSBmcmVlIG1vZGlm aWVyLCBtZWFuaW5nIHRoYXQgaXQgY2FuIG9jY3VyIGFsbW9zdCBhbnl3aGVyZS4gICgoQXBwcm92 ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTUsIGV4YW1wbGUgMTUu MTMpIC9maSdvIHNlbHBsZWppIG1pL2ZpJ28gcGxlamkgbWkvCgoqKiBBbmQgIndpdGggcGF5ZXIi IHJhdGhlciB0aGFuICJ3aXRoIHBheW1lbnQiOyBleSdzIG5vdCBwYXlpbmcgd2l0aCBlbXNlbGYh IC0tIGNhbWd1c21pcwoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkp ICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxNSwgZXhhbXBsZSAxNS4xMy4g V3JvbmcgdXNlIG9mIHtzZWxmdX0uIHtiZXZyaX0gd291bGQgZml0IGJldHRlci4KCi0tLQoKCgoh Q2hhcHRlciAxNAoKCgoqIFNlY3Rpb24gOCwgcmlnaHQgYmVmb3JlIGV4YW1wbGUgOC45IGlzICJw cm9kdWNpbmcgZXhhbXBsZSA4LjEwIiB3aGljaCBzaG91bGQgaW4gZmFjdCByZWFkICJwcm9kdWNp bmcgZXhhbXBsZSA4LjkiLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoK CiogU2VjdGlvbiA5OiBiZXR3ZWVuIGV4YW1wbGUgOS4xMCBhbmQgOS4xMSwgImlkZW50aWZpZWQi IHNob3VsZCByZWFkICJpZGVudGljYWwiCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlz IEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDExLCByaWdo dCBiZWZvcmUgc2VjdGlvbiAxMi4gSXQgc2F5cyAidGVybXNldHMuLi5hcmUgZXhwbGFpbmVkIGlu IENoYXB0ZXIgMTIgYW5kIENoYXB0ZXIgMTYiIGJ1dCBjaGFwdGVyIDEyICh3aGljaCBpcyBvbiBs dWp2bykgbWFrZXMgYWJzb2x1dGVseSBubyBtZW50aW9uIG9mIHRlcm1zZXRzLiBDaGFwdGVycyA5 IGFuZCAxMCBkaXNjdXNzIHRlcm1zZXRzLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHBy b3ZlZCkpCgoKCiogU2VjdGlvbiAxNCwgZXhhbXBsZSAxNC4xNSBpcyBub3QgZ3JhbW1hdGljYWwg KGFjY29yZGluZyB0byBqYm9maSdlIGFuZCBjYW14ZXMpIGJlY2F1c2UgaXQgc2F5cyAicGUnZSAu ZSIgd2hlbiBpdCBzaG91bGQgc2F5ICJwZSdlIGplIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293 YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTQsIGV4YW1wbGUgMTQuMTYgbWVudGlvbnMgInNv cm1lIiwgd2hpY2ggaXMgcHJvYmFibHkgT2xkIExvZ2xhbiwgYW5kIHNob3VsZCBiZSByZXBsYWNl ZCBieSAibWVuc2kiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkp ICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxNCwgInRoZSBzdGF0ZWQgZ2xv c3Mgb2YgVEZUVGFzIOKAnG9ubHkgaWbigJ0gd29ya3MgbmF0dXJhbGx5IG9ubHkgd2hlbiB0aGUg cmlnaHQtaGFuZCBicmlkaSBpcyB0cnVlOyBpZiBpdCBpcyBmYWxzZSwgdGhlIGxlZnQtaGFuZCBi cmlkaSBtYXkgYmUgZWl0aGVyIHRydWUgb3IgZmFsc2UuIiBjaGFuZ2VkIHRvICJ0aGUgc3RhdGVk IGdsb3NzIG9mIFRGVFRhcyDigJxvbmx5IGlm4oCdIHdvcmtzIG5hdHVyYWxseSBvbmx5IHdoZW4g dGhlIHJpZ2h0LWhhbmQgYnJpZGkgaXMgZmFsc2U7IGlmIGl0IGlzIHRydWUsIHRoZSBsZWZ0LWhh bmQgYnJpZGkgbWF5IGJlIGVpdGhlciB0cnVlIG9yIGZhbHNlLiIKCioqICgoQXBwcm92ZWQgRXJy YXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNl Y3Rpb24gMTUsIHJpZ2h0IGFmdGVyIDE1LjksIGl0IHNheXMgImV4YW1wbGUgMTQuMTciIHdoZXJl IGl0IHNob3VsZCBzYXkgImV4YW1wbGUgMTUuOSIgKDE0LjE3IGRvZXMgbm90IGV4aXN0KS4gICgo QXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTUsIGV4YW1w bGUgMTUuOSBpcyBub3QgZ3JhbW1hdGljYWw7IGl0IHNob3VsZCBiZSAibGEgZGphbi4gZmEndSBs YSBmcmFuay4gY3Vza3UgbnUnaSBiYXUgbGEgbG9qYmFuLiBwZSdlIGZhJ3UgYmFpIGxhIGRqb3Jk ai4iLgoKCgoqIFNlY3Rpb24gMTksIGV4YW1wbGUgMTkuNCBpcyB0cmFuc2xhdGVkIGFzICJJIG9w aW5lIHRoZSBmYWN0LXRoYXQgYS1tYXNzLW9mIGxpdmluZy10aGluZ3MgaXMtYXQgSnVwaXRlciBv ci1lbHNlIEkgb3BpbmUgdGhlIGZhY3QtdGhhdCBhLW1hc3Mtb2YgbGl2aW5nLXRoaW5ncyBpc24n dC1hdCBKdXBpdGVyIiBidXQgcmVhbGx5IGl0J3MgIkkgb3BpbmUgdGhlIGZhY3QtdGhhdCBhLW1h c3Mtb2YgbGl2aW5nLXRoaW5ncyBpcy1hdCBKdXBpdGVyIG9yLWVsc2UgSSBfX2RvLW5vdF9fIG9w aW5lIHRoZSBmYWN0LXRoYXQgYS1tYXNzLW9mIGxpdmluZy10aGluZ3MgX19pcy1hdF9fIEp1cGl0 ZXIiLiBTbyAxOS40IGlzIGFjdHVhbGx5IHRydWUsIG5vdCBmYWxzZSBhcyBpdCBpcyBjbGFpbWVk IHRvIGJlLgoKKiogQ29ycmVjdCwgc28gdGhpcyBleGFtcGxlIHdpbGwgbmVlZCByZXBsYWNpbmcu ICAgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIEFsc28gdGhlcmUg aXNuJ3QgcmVhbGx5IGEgcmVhc29uIGZvciBpdCB0byBzYXkgYSBtYXNzIG9mIGxpdmluZyB0aGlu Z3MgYW5kIG5vdCBzb21lIGluZGl2aWR1YWwgbGl2aW5nIHRoaW5ncy4KCioqIFN0ZXQuICBUaGUg YXV0aG9yIHByZWZlcnMgaXQgdGhhdCB3YXksIHRoYW5reW91dmVyeW11Y2guICAtLWpjb3dhbi4K CgoKCgotLS0KCgoKISBDaGFwdGVyIDE1CgoKCiogU2VjdGlvbiAyLCBtaXNzaW5nIDwgL3ByZSA+ IHRhZyBhZnRlciBleGFtcGxlIDIuOCBhbmQgPCBwcmU+IHRhZyBiZWZvcmUgZXhhbXBsZSAyLjku CgoKCiogU2VjdGlvbiA0LCBleGFtcGxlIDQuMTIgL25ha2UvbmEnZWtlLwoKCgoqIFNlY3Rpb24g OSwgdHdvIHBhcmFncmFwaHMgYWJvdmUgZXhhbXBsZSA5LjQgdGhlIHdvcmQgIm5lZ2F0aXYiIHNo b3VsZCBiZSAibmVnYXRpdmUiLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkp CgoKCiogU2VjdGlvbiA5OiBJcyB0aGVyZSBzdXBwb3NlZCB0byBiZSBhbnkgZGlmZmVyZW5jZSBi ZXR3ZWVuIGV4LiA5LjUgYW5kIDkuNj8KCioqIFRoYXQgcHJvYmxlbSBpcyBvbmx5IGluIHRoZSBv bmxpbmUgdmVyc2lvbi4KCgoKKiBTZWN0aW9uIDEwLCB0aHJlZSBwYXJhZ3JhcGhzIGFmdGVyIGV4 YW1wbGUgMTAuMTQsIHRoZXJlJ3MgYSBzZW1pY29sb24gd2hpY2ggc2hvdWxkIGJlIGEgY29tbWEg YWZ0ZXIgIihzYXksIGEgc3BlbGxpbmcgZXJyb3IpIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293 YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTAsIGl0IHNheXMgIidqaSd1bmEnaWt1JyBtZXRh bGluZ3Vpc3RpY2FsbHkgc2F5cyB0aGF0IHNvbWV0aGluZyBpcyB3cm9uZyB3aXRoIHRoYXQgYXNz dW1wdGlvbi4gKFNlZSBDaGFwdGVyIDEwLikiLiBTaG91bGRuJ3QgdGhhdCBiZSBDaGFwdGVyIDks IG1vZGFscz8KCioqICcnSU5DTFVERUQgSU4gREFHLUNMTCcnICh6b3J0J3MgZm9yayBhdCBsZWFz dCkgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgotLS0KCgoKIUNoYXB0ZXIg MTYKCgoKKiBTZWN0aW9uIDUsIGV4YW1wbGUgNS41OiBFbmdsaXNoIGhhcyAiZXZlcnkgWSIgd2hl biBpdCBzaG91bGQgcmVhZCAiZXZlcnkgWCIKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNt aXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gNiwgZXhh bXBsZSA2LjYgaGFzIGEgbWlzc2luZyAiY3UiIGJlZm9yZSAidmlza2EiLgoKKiogKChBcHByb3Zl ZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoK CiogU2VjdGlvbiA4LCB0aGUgZXhwbGFuYXRpb24gb2YgZXhhbXBsZSA4LjMgc2F5cyAiYW55IGVu dGl0eSB3aGljaCBpcyBvbmUgaXMgYWxzbyB0aGUgb3RoZXIiLiBUaGF0IHdvdWxkIGJlIHRydWUg aWYgdGhlIGV4YW1wbGUgdXNlZCB7Z299LCBidXQgaXQgdXNlcyB7Z2FuYWl9LiA4LjMgZG9lcyBu b3QgY2xhaW0gdGhhdCBpZiBzb21ldGhpbmcgd2Fsa3MgYWNyb3NzIHRoZSBmaWVsZCB0aGVuIGl0 IGdvZXMgdG8gdGhlIHN0b3JlLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkp ICBDaGFuZ2UgaXQgdG8gdXNlIHtnb30uICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqKiBTYW1l IHBsYWNlOiBuZWVkcyB0byBibyB7ZGEgZ299LCBub3Qge2dvIGRhfSAgQW5kIHRoZSBnbG9zcyBz aG91bGQgYmUgIkZvci1ldmVyeSBYOiBYIGlzLWEtZ29lci10byB0aGUgc3RvcmUgaWYtYW5kLW9u bHktaWYgaXQgaXMtYS13YWxrZXItb24gdGhlIGZpZWxkLiIgJydJTkNMVURFRCBJTiBEQUctQ0xM JycKCgoKKiBTZWN0aW9uIDgsIGV4YW1wbGUgOC4zLiBFaXRoZXIgdGhlIHtkYX0gc2hvdWxkIGNv bWUgYmVmb3JlIHRoZSB7Z2FuYWl9IChvciwgYnkgdGhlIHByZXZpb3VzIF4gZXJyYXR1bSwge2dv fSkgYW5kIHRoZSBnbG9zcyBzaG91bGQgYmUgY2hhbmdlZCB0byBvbmx5IG1lbnRpb24gIlgiIG9u Y2UsIG9yIGEge2RhfSBzaG91bGQgYmUgaW5zZXJ0ZWQgYmVmb3JlIHtjYWR6dX0uCgoqKiAnJ0lO Q0xVREVEIElOIERBRy1DTEwnJyAgY2hvc2UgZmlyc3Qgb3B0aW9uIHNpbmNlIGl0J3MgdGVyc2Vy ICh6b3J0J3MgZm9yayBhdCBsZWFzdCkgYnV0IG5lZWRzIGFwcHJvdmFsCgoKCiogVGhpczogIkFk amFjZW50IG5lZ2F0aW9uIGJvdW5kYXJpZXMgaW4gdGhlIHByZW5leCBjYW4gYmUgZHJvcHBlZCwi IHJlYWRzIGJldHRlciBhcyAiQWRqYWNlbnQgcGFpcnMgb2YgbmVnYXRpb24gYm91bmRhcmllcyBp biB0aGUgcHJlbmV4IGNhbiBiZSBkcm9wcGVkLCIKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1n dXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKioqIFRoZSBvbmxpbmUg dmVyc2lvbiBzYXlzICJBZGphY2VudCBkb3VibGUgbmVnYXRpb24gYm91bmRhcmllcyIsIGJ1dCBJ J20gb2theSB3aXRoIGVpdGhlciAiZG91YmxlIiBvciAicGFpcnMgb2YiLiAgLS1qY293YW4KCgoK KiBTZWN0aW9uIDEwLCBleC4gMTAuNSBhbmQgMTAuNiBoYXZlIGEgcHJlbmV4LCAibmFrdSB6byd1 IiwgYWZ0ZXIgYW4gaWplay4gVGhpcyBpcyBub3QgYWxsb3dlZCBieSB0aGUgZ3JhbW1hci4gSXQg Y291bGQgYmUgZml4ZWQgYnkgcmVtb3ZpbmcgdGhlICJ6byd1IiBhbmQgdXNpbmcgIm5ha3UiIG91 dHNpZGUgdGhlIHByZW5leCwgYWx0aG91Z2ggdGhpcyBpcyBvbmx5IGV4cGxhaW5lZCBpbiB0aGUg Zm9sbG93aW5nIFNlY3Rpb24gMTEuCgoqKiBUaGlzIGlzIGEgYmlnIHByb2JsZW0sIGFuZCBJJ20g bm90IHN1cmUgd2hhdCBzaG91bGQgYmUgZml4ZWQuICAtLWpjb3dhbiAgJycnTk9GSVgnJycKCiog U2VjdGlvbiAxMiwgZXguIDEyLjcgYW5kIDEyLjkgaGF2ZSBtaXNzaW5nICJjdSJzLgoKKiogKChB cHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNM TCcnCgoKCiogU2VjdGlvbiAxNCwgRXhhbXBsZSAxNC4xIGhhcyAiYmxhY2kiIChnbGFzcykgbm90 ICJibGFiaSIgKHdoaXRlKSBhcyBwZXIgdGhlIEVuZ2xpc2guCgoqKiAoKEFwcHJvdmVkIEVycmF0 dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKLS0tCgoK CiFDaGFwdGVyIDE3CgoKCiogU2VjdGlvbiA1LCBhZnRlciBleGFtcGxlIDUuMSwgcGFyYWdyYXBo IHN0YXJ0aW5nICJIb3dldmVyLCAiIGhhcyBpbmNvcnJlY3QgZm9udC4gICgoQXBwcm92ZWQgRXJy YXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gNSwgaW4gdGhlIHNlY29uZCBwYXJh Z3JhcGggYWZ0ZXIgZXhhbXBsZSA1LjEsIHNheXMgJ3RoZSBsZXJmdSB3b3JkIOKAnHR54oCdIHdv dWxkIHJlcHJlc2VudCBub3QgTGF0aW4g4oCcdOKAnSBidXQgR3JlZWsg4oCcdGF14oCdLicgU2hv dWxkbid0IGl0IGJlICJ0eS4iPwoKCgoqIFNlY3Rpb24gOSwgcGFnZSA0MjEuIGxlcmZ1IHN0cmlu Z3MgYXJlIHdyaXR0ZW4gd2l0aG91dCBwYXVzZXMgb3Igc3BhY2VzLCBldmVuIHRob3VnaCBCWSB3 b3JkcyBoYXZlIHRvIGVuZCB3aXRoIGEgY29uc29uYW50LgoKKiogU3RldC4gIEJZIHdvcmRzIGRv IG5vdCBlbmQgd2l0aCBhIGNvbnNvbmFudCwgYW5kIGEgc3RyaW5nIG9mIHRoZW0gY2FuIG5ldmVy IGJlIGFtYmlndW91cywgc28gcGF1c2VzL3NwYWNlcyBhcmUgbm90IHJlcXVpcmVkLiAgLS1qY293 YW4KCgoKKiBTZWN0aW9uIDksIEV4YW1wbGUgOS40OiBzaG91bGRuJ3QgInN5bXlqeSIgYmUgInN5 bXlkeSIgKGxvamJhbiBtb3JwaG9sb2d5KT8gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBw cm92ZWQpKQoKCgoqIFNlY3Rpb24gMTAuIEFmdGVyIEV4YW1wbGUgMTAuNC41LCB0aGUgcmVmZXJl bmNlIHRvIEV4YW1wbGUgMTAuNCBzaG91bGQgYmUgaW5zdGVhZCB0byBFeGFtcGxlIDEwLjQuNS4K CioqSW4gdGhlIGN1cnJlbnQgREFHLUNMTCwgdGhlIGV4YW1wbGVzIG51bWJlcmluZyBpcyBzYW5l LCBidXQgYWZ0ZXIgRXhhbXBsZSAxMC4zLCB0aGUgdHdvIHJlZmVyZW5jZXMgdG8gRXhhbXBsZSAx MC40IHNob3VsZCBiZSB0byBFeGFtcGxlIDEwLjMuCgoKCiogUmlnaHQgYmVmb3JlIHNlY3Rpb24g MTIsIHRoZXJlIGlzIGEgbGluZSBicmVhayBpbiB0aGUgbWlkZGxlIG9mIHRoZSBwYXJhZ3JhcGgu ICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBJbiBzZWN0aW9uIDEz LCB0aGUgZmlyc3QgcGFyYWdyYXBoIHN0YXRlcyAiSGlzdG9yaWNhbGx5LCB0aGVzZSBjaGFyYWN0 ZXIgc2V0cyBoYXZlIG9ubHkgY292ZXJlZCB0aGUgRW5nbGlzaCBhbHBoYWJldCBhbmQgYSBmZXcg c2VsZWN0ZWQgcHVuY3R1YXRpb24gbWFya3MuIiwgd2hpY2ggaXMgaW5jb3JyZWN0LiBUaGVyZSBo YXZlIGJlZW4gbXVsdGl0dWRlcyBvZiBjaGFyYWN0ZXIgc2V0cyBmb3Igd3JpdGluZyBzeXN0ZW1z IG90aGVyIHRoYW4gdGhlIEVuZ2xpc2ggYWxwaGFiZXQuCgoqKiBDaGFuZ2UgdG8gc29tZXRoaW5n IGFsb25nIHRoZSBsaW5lIG9mICJIaXN0b3JpY2FsbHksIGVhY2ggb2YgdGhlc2UgY2hhcmFjdGVy IHNldHMgaGFzIG9ubHkgY292ZXJlZCBhIHBhcnRpY3VsYXIgd3JpdGluZyBzeXN0ZW0uIgoKCgoq IFNlY3Rpb24gMTcsIHBhZ2UgNDI3LiAiLnR2cml5ZG9zLiBidSIgYmVnaW5zIHdpdGggdGhlIGNv bnNvbmFudCBjbHVzdGVyLCB3aGljaCBpc24ndCBldmVuIHBlcm1pc3NpYmxlIG1lZGlhbGx5LgoK KiogY2hhbmdlIHRvIHR5dnJpeWRvcwoKKioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMg QXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKioqKiBBY3R1YWxseSwgaXQgc2hv dWxkIGJlICJ0eXZyZG9zLiBidSIgIC0tamNvd2FuCgoKCiogSW4gdGhlIHRhYmxlIGluIHNlY3Rp b24gMTksIHRoZSBsZXJ2bGEgZm9yIG92ZXItZG90ICgiLmdhcm1vYy4gYnUiKSBhbmQgb3Zlci1y aW5nICgiLmdhcmppbi4gYnUiKSBzaG91bGQgYmUgdXBkYXRlZCB0byB0aGVpciBwb3N0LVJlYWxs b2NhdGlvbiBmb3JtcywgIi5nYXBtb2MuIGJ1IiBhbmQgIi5nYXB5amluLiBidSIuCgoqKiogKChB cHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNM TCcnCgoKCiogU2VjdGlvbiAxOSBoYXMgdHdvIGNvbHVtbnMgcnVuIHRvZ2V0aGVyIGluIHRoZSBy b3cgdGhhdCBzYXlzICJEYW5pc2gvTGF0aW4gYWV0ZWkgLmFidSAuZWJ1IGZvaSIKCgoKLS0tCgoh Q2hhcHRlciAxOAoKCgoqIFNlY3Rpb24gMywgZXguIDMuMTAsIHNob3VsZCB0cmFuc2xhdGUgYXMg Ii4xMDEyMDAxIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIElu IHNlY3Rpb24gNCBleGFtcGxlIDQuNSBpcyBsaW5rZWQgaW5zdGVhZCBvZiA0LjcgLSAiRXhhbXBs ZSA0LjUgaXMgbm90IGBgMSBtaW51cyAyJycsIFsuLi58Li4uXSIgd2hlcmUgZXhhbXBsZSA0LjUg aXMganVzdCAidGUnbyIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoK KiBTZWN0aW9uIDUsIHA0MzcgZXg1LjkgW2dsb3NzXTogb3VyIC0+IGZvdXIgKChBcHByb3ZlZCBF cnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqKiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoq IFNlY3Rpb24gNiwgcDQzODogaiB2dSd1IC0+IHZ1J3UgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293 YW4gQXBwcm92ZWQpKQoKKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTdGFydCBvZiBz ZWN0aW9uIDExIHNob3VsZCByZWFkIHRoZXJlIGFyZSBmaXZlIG1lbWJlcnMgb2YgTU9JIChub3Qg Zm91cikuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBJbiBzZWN0 aW9uIDExLCBleCAxMS4xMCBvbiB2YSdlICJzb2ZpJ3VwYW5vIiBpbiB0aGUgZXhhbXBsZSBpcyBn bG9zc2VkIGFzICI4LzEwIiBpbnN0ZWFkIG9mICI5LzEwIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxq Y293YW4gQXBwcm92ZWQpKQoKKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBJbiBzZWN0 aW9uIDExLCAibGVpIHJhdGN1IHBvaSB6dmF0aSBsZSBwYW5rYSBjdSBzbyd1bWVpIGZvIGxvJ2kg cmF0Y3UiLCBidXQgdGhlcmUgaXMgbm8gNHRoIHBsYWNlIG9mIG1laS4KCioqIFJlbW92ZSB0aGUg ImZvIjsgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4g REFHLUNMTCcnCgoKCiogRXhhbXBsZSAxNC40IG5lZWRzIGEgc3ViLTIgYWZ0ZXIgYm90aCBudW1i ZXJzLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVE RUQgSU4gREFHLUNMTCcnCgoKCiogSW4gc2VjdGlvbiAxNywgYXQgdGhlIGJvdHRvbSBvZiBwYWdl IDQ1NCwgdGhlIHF1YWRyYXRpYyBmb3JtdWxhIHNob3VsZCBiZSBkZXNjcmliZWQgYXMgYSBjbGFz c2ljIGV4YW1wbGUgb2Ygb3BlcmF0b3IgbG9naWNhbCBjb25uZWN0aW9uLCBub3Qgb3BlcmFuZC4g ICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMjAsIHA0 NTg6IC1lc3RhYmxpc2hlZCAtPiBlc3RhYmxpc2hlZCAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dh biBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAyMSBzdGF0ZXMgdGhhdCB0aGUgcmFmc2kgb2YgImZy aW51IiBtYXkgYmUgdXNlZCBhcyByYWZzaSBmb3IgImZpJ3UiOyBob3dldmVyLCAiZnJpbnUiIGxv c3QgYm90aCBvZiBpdHMgc2hvcnQgcmFmc2kgaW4gdGhlIFJlYWxsb2NhdGlvbiwgc28gdGhpcyBy ZWFsbHkgaXNuJ3QgdmVyeSB1c2VmdWwuIFRoZSB0YWJsZSBiZWxvdyBsaXN0cyAiZmkndSIgYXMg YSByYWZzaSB1c2FibGUgZm9yICJmaSd1IiwgdGhlcmVmb3JlIG9mICJmcmludSI7IHRoZSBnaW1z dGUgbGlzdHMgImZpJ3UiIGFzIGEgcmFmc2kgb2YgImNmaXB1Ii4KCioqIFRoaXMgaXMgYSBzZXJp b3VzIHByb2JsZW0gd2hpY2ggbmVlZHMgc29tZSB0aG91Z2h0LiAgVGhlcmUgbmVlZHMgdG8gYmUg YSByYWZzaSBmb3IgZmkndSBzb21laG93LiAgLS1qY293YW4gICcnJ05PRklYJycnCgoKCiogU2Vj dGlvbiAyMiBleGFtcGxlIDIyLjMsICJtbydlIHZvYm9pIHJlbm9tZWkgc3UnaSB6ZSIsIGRvZXMg bm90IHBhcnNlLgoKKiogSXQgbmVlZHMgInZlaSIgaW4gZnJvbnQgdG8gYmUgYSBxdWFudGlmaWVy IChhbiBvcGVyYW5kIGJ5IGl0c2VsZiBpcyBub3QgYSBwZXJtaXR0ZWQgZnJhZ21lbnQpLiBBbHNv LCB0aGUgZm9sbG93aW5nIHRleHQgbWVudGlvbnMgInRlJ3UiIGJ1dCB0aGUgZXhhbXBsZSBvbWl0 cyBpdC4KCioqKiBOb25lIG9mIHRob3NlIGV4YW1wbGVzIHBhcnNlIHdpdGhvdXQge2xpfSwgd2hp Y2ggSSBoYXZlIGFkZGVkIHRvIGFsbC4gIFJlcGxhY2VkIHRoZSBvbmUgaW4gcXVlc3Rpb24gd2l0 aCAibGkgbW8nZSB2b2JvaSByZW5vbWVpIHRlJ3Ugc3UnaSB6ZSIgKChBcHByb3ZlZCBFcnJhdHVt fGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCi0tLQoKIUNo YXB0ZXIgMTkKCgoKKiBTZWN0aW9uIDQsIHA0NjcgZXg0LjM6IHp1J28gLT4gem8ndSAgKChBcHBy b3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2Ft Z3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDYs IHBhZ2UgNDcyLiBFeGFtcGxlIDYuNiBlbmRzIHdpdGggImtsYW1hIiwgYnV0IGZvciB0aGUgYXJn dW1lbnQgdG8gbWFrZSBzZW5zZSwgaXQgaGFzIHRvIHNheSAibnVua2xhIi4KCioqICgoQXBwcm92 ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoK CgoqIFNlY3Rpb24gNywgRXhhbXBsZSA3LjEgaGFzIGFzIHRoZSBFbmdsaXNoOiAiSSBnby10byAo Zmlyc3RseSkgdGhlIHN0b3JlIGFuZCAoc2Vjb25kbHkpIHRoZSBtYXJrZXQuIiAgInRoZSBtYXJr ZXQiIHNob3VsZCBiZSAidGhlIGhvdXNlIi4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNt aXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIEV4YW1wbGUgMTEuOCwg dGhlcmUncyBhIGRlbnBhYnUgYWZ0ZXIge3phJ2V9IGFuZCBubyBkZW5wYWJ1IGFmdGVyIHthbGJl aW5pYXN9LgoKKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycgKHpvcnQncyBmb3JrIGF0IGxlYXN0 KSBidXQgbmVlZHMgYXBwcm92YWwKCgoKKiBTZWN0aW9uIDExLCB0aGUgcGFyYWdyYXBoIGFmdGVy IGV4YW1wbGUgMTEuOCBzYXlzICJjdGlpcHlyaXMiIGJ1dCBpdCBzaG91bGQgYmUgImNraWlweXJp cyIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCi0tLQoKCgohQ2hhcHRl ciAyMAoKCgoqIFNlY3Rpb24gTEUsIHBhZ2UgNDk4LiBJbiAibGUgZ2Vya3Uga2xhbWEgbGUgemRh bmkiLCAiY3UiIGlzIG1pc3NpbmcuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFw cHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIFRVaEUsIHBhZ2Ug NTA1LiBJbiAieGFnbWF1IHpvJ3UgdHUnZSBnYW5haSBjaWRqYSBnaSBjbmlubyAuaSBnYW5haSB2 YW5qdSBnaSB0b2xjaSdvIHR1J3UiLCAiY25pbm8iIHNob3VsZCBiZSByZXBsYWNlZCBieSAiY2l0 bm8iLiAgQWxzbywgYSBwcmVuZXggY2FuJ3QgaGF2ZSBhIHNlbGJyaSwgc28gJyd4YWdtYXUnJyBz aG91bGQgYmUgcmVwbGFjZWQgYnkgJydsbyB4YWdtYXUnJy4KCioqICgoQXBwcm92ZWQgRXJyYXR1 bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rp b24gU0UsIHBhZ2UgNTA0OiBtaXNzaW5nICJjdSIgYWZ0ZXIgInphcmNpIi4KCioqICgoQXBwcm92 ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoK CgoqIEluIHRoZSBwYXNzYWdlcyBvbiBWRUkgYW5kIFZFaE8sIHRoZSAiYm8icyBzaG91bGQgYmUg Y2hhbmdlZCB0byAiYmknZSJzLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkp CgoKCi0tLQoKCgohQ2hhcHRlciAyMQoKCgoqIEluIHRoZSBCTkYgZ3JhbW1hciwgdGhlIHJ1bGUg c2ltcGxlLXRlbnNlLW1vZGFsLTk3MiBpcyBtaXNzaW5nIGEgInwiIGJlZm9yZSB0aGUgQ1VoRS4g ICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIEluIHRoZSBCTkYgZ3Jh bW1hciwgdGhlIHJ1bGUgc2ltcGxlLXRlbnNlLW1vZGFsLTk3MiBoYXMgYW4gZXh0cmEgbmV3bGlu ZSBpbiB0aGUgc3BhY2UvdGltZSBzdWJwaHJhc2UuCgoKCiogSW4gdGhlIEJORiBncmFtbWFyLCB0 aGUgcnVsZSBzZWxicmktMS0xMzEgaXMgbWlzc2luZyBhICJ8IiBiZWZvcmUgdGhlIE5BLiAgKChB cHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogSW4gdGhlIEJORiBncmFtbWFy LCB0aGUgcnVsZSB0YW5ydS11bml0LTItMTUyIGlzIG1pc3NpbmcgYSAifCIgYmVmb3JlIHRoZSBK QUkuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiogKChBcHByb3Zl ZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnIDsg Yml6YXJlbGx5LCB0aGUgV29yZCBkb2MgdGhlIGJvb2sgd2FzIHByaW50ZWQgZnJvbSBkb2VzIG5v dCBoYXZlIHRoaXMgcHJvYmxlbSBhdCBhbGwuCgoKCiogSW4gdGhlIEJORiBncmFtbWFyLCB0aGUg cnVsZSBvcGVyYXRvci0xLTM3MSBpcyBtaXNzaW5nIHR3byAifCIuICAoKEFwcHJvdmVkIEVycmF0 dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBJbiB0aGUgQk5GIGdyYW1tYXIsIHRoZSBydWxlIG1l eC1vcGVyYXRvci0zNzQgaXMgbWlzc2luZyBhICJ8IiBiZWZvcmUgdGhlIE1BaE8gYW5kIGFub3Ro ZXIgYmVmb3JlIHRoZSBWVWhVLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkp CgoKCiogSW4gdGhlIEJORiBncmFtbWFyLCB0aGUgcnVsZSBvcGVyYW5kLTMtMzg1IGlzIG1pc3Np bmcgYSAifCIgYmVmb3JlIHRoZSBOSWhFLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHBy b3ZlZCkpCgoKCiogSW4gdGhlIEJORiBncmFtbWFyLCBpbiB0aGUgcnVsZSB0aW1lXzEwMzAsIHRo ZSAiWkVoQSBbUFUgW05BSV0gXSIgc2hvdWxkIGJlIGVuY2xvc2VkIGluIHBhcmVudGhlc2VzLiAg KChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KV2lraWNoYW5nZXMgbWFpbGluZyBsaXN0Cldp a2ljaGFuZ2VzQGxvamJhbi5vcmcKaHR0cDovL21haWwubG9qYmFuLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL3dpa2ljaGFuZ2VzCg==