From user-return-219221-archive-asf-public=cust-asf.ponee.io@struts.apache.org Thu Jan 24 12:13:28 2019 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id 83E6818062C for ; Thu, 24 Jan 2019 12:13:27 +0100 (CET) Received: (qmail 27016 invoked by uid 500); 24 Jan 2019 11:13:21 -0000 Mailing-List: contact user-help@struts.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Help: List-Post: List-Id: "Struts Users Mailing List" Reply-To: "Struts Users Mailing List" Delivered-To: mailing list user@struts.apache.org Received: (qmail 27004 invoked by uid 99); 24 Jan 2019 11:13:20 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 24 Jan 2019 11:13:20 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 5EDD2C1411 for ; Thu, 24 Jan 2019 11:13:20 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -0.102 X-Spam-Level: X-Spam-Status: No, score=-0.102 tagged_above=-999 required=6.31 tests=[DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd4-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=live.com Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id 37kXzwkmw-Hj for ; Thu, 24 Jan 2019 11:13:17 +0000 (UTC) Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-oln040092070021.outbound.protection.outlook.com [40.92.70.21]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id 2A8F45F6BF for ; Thu, 24 Jan 2019 11:13:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=live.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IcP3X+t4zAijoV+/2aarJYYyi3jEG6Cr23AKDJd5ADY=; b=ckck2K8KuafgnShWWa0RfEcUEBypkgUuPwQPCT38Bb9qT9qDvkTCYRVPJTQhPNr/Ii7Sk6zSqNVfToX6ijRG1/Id665WwVj/D49Syms+F39QdqtbAnFPloj9Tpw4QwBKfoDV6d2Z17C80UfTkQYTPEUN45A99ZKHbREsqhn67DholWfs1P5vdrkYLtIlLFH7MJ04TR/sPEpbYQ5CV3DWEzOR/pkgDA3PygwYIjuaU+m1eFzvIe90nUDp4HT3wJB2u0V7crOvCbqUy+NClvozmaZqwfyg1yLW85k1e9mfO4v5Mlqi3DBC1pdhb7sJ7VYsxOj4JxtPB5FWNarqbPHozg== Received: from VE1EUR03FT027.eop-EUR03.prod.protection.outlook.com (10.152.18.56) by VE1EUR03HT095.eop-EUR03.prod.protection.outlook.com (10.152.19.227) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1382.18; Thu, 24 Jan 2019 11:13:09 +0000 Received: from AM6PR08MB4358.eurprd08.prod.outlook.com (10.152.18.59) by VE1EUR03FT027.mail.protection.outlook.com (10.152.18.154) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1382.18 via Frontend Transport; Thu, 24 Jan 2019 11:13:07 +0000 Received: from AM6PR08MB4358.eurprd08.prod.outlook.com ([fe80::46f:e0fd:59ca:6f32]) by AM6PR08MB4358.eurprd08.prod.outlook.com ([fe80::46f:e0fd:59ca:6f32%4]) with mapi id 15.20.1558.016; Thu, 24 Jan 2019 11:13:07 +0000 From: Yasser Zamani To: "user@struts.apache.org" Subject: Re: Java 11 support Thread-Topic: Java 11 support Thread-Index: AQHUs9Fgemo2OjSackq/J4q6MZZX7KW+Q+oA Sender: Yasser Zamani Date: Thu, 24 Jan 2019 11:13:07 +0000 Message-ID: References: <73ca4e23-1a59-b6d4-8dc9-7df5828216ff@inform-technology.de> <2c13331d-5cd9-1fa5-c3fe-3fb4bd404a31@inform-technology.de> In-Reply-To: <2c13331d-5cd9-1fa5-c3fe-3fb4bd404a31@inform-technology.de> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: AM5P190CA0017.EURP190.PROD.OUTLOOK.COM (2603:10a6:206:14::30) To AM6PR08MB4358.eurprd08.prod.outlook.com (2603:10a6:20b:ba::21) x-incomingtopheadermarker: OriginalChecksum:B28CE9C5FB6D6786CB8ABEDB807E1B43F6FE2EF8CB09A5140CDAE35865620C09;UpperCasedChecksum:9186EAE42F9E2E773CEC043C0D770079B9CEBA32EEF03FF3C7B2BF4DBB2D7DB6;SizeAsReceived:9010;Count:65 x-ms-exchange-messagesentrepresentingtype: 2 x-tmn: [MTsG0vYQhzRD3m9s6L6IEwxY3fviuVua] x-microsoft-original-message-id: <5bfd6bc8-468b-2328-fc51-8a680e740300@apache.org> x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;VE1EUR03HT095;6:LRK45rpI1Yd/tPACsFmfOAe+DNHa4pPJ+8DNVZzh48Fw4h7Gud5GtyQ/QMGsvVIwQar3u4YB420kCFbNGup7DqIY23W5YNpWib3Q3nr89s2Y2zDEqFC4hUnoAAW485IxWtvZhx/l2ancmccG8f56e8X69LAt0KwXQwV9j0hOC4p0Ml6zy0/wtdsy3C/MHmA/W/VtJzjQdG5JxydpOqIGy7k6+q1l4ueaCnhfp2trtTFLnxpC8vk7LP+gKRqHB6ugq9qu3iCC27J1Lg412Rh3SbCp0UMkujYw0VvKDVRqC5i+t1LyIbSJB3g7bbgsrU9uri8pTlxq75O3yffojhMJQbbZVWM0Rw2j1X2sNVKkR7xDqcDswA2XOHV97pLBcMqbnZhLg1n4aRS9c3r2axJO4CElSdOBJhkOX+k48Oghm+NmjABKSncGK9zMqwM0zc7tBtB3Kkzxx3ru0kbE338baw==;5:Smdn9NKCG3upsXZ5MUNJialQ0tKrocu2Ijb/GwNthUR3/7IcJlxq5WtGeeRlaLXS1V3C9Md4vSXslEGtgmOX7dt1E7IL6iriANbaYWjWjTeqLjax1JU5LWOcgLlYgauCBJt35661FqMQ1wtKi+DSG7m9hqLl4gLB5x4kWYnTJ1M=;7:MV50DgaBL38H3svt0c+TfMeSq2tZZiOS4ijRAJO3ej77o+wjnmlqgk96WZbQqhUaCDwzwyazz/3pRPcgM2b+O5oki7/gN+w1csKT01lb6pjhwmnJI7jvN9FNVDCmi0tiYhUwkKf3aNF2liJUdrAK+A== x-incomingheadercount: 65 x-eopattributedmessage: 0 x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(201702061078)(5061506573)(5061507331)(1603103135)(2017031320274)(2017031323274)(2017031324274)(2017031322404)(1601125500)(1603101475)(1701031045);SRVR:VE1EUR03HT095; x-ms-traffictypediagnostic: VE1EUR03HT095: x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(4566010)(82015058);SRVR:VE1EUR03HT095;BCL:0;PCL:0;RULEID:;SRVR:VE1EUR03HT095; x-microsoft-antispam-message-info: aBbbG9lbGplqrdKPQvOFSHW35167EhkDkJm/VcruQO7f7/1HiDJow0BGAaNtViUT Content-Type: text/plain; charset="utf-8" Content-ID: <129F0010B3368E40A2F5C6E6FF65A069@eurprd08.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: live.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: b6587b75-6f1a-4db7-b0b6-5cad10ef59a7 X-MS-Exchange-CrossTenant-Network-Message-Id: 6a0bd7a1-3982-4014-4826-08d681eceabc X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: b6587b75-6f1a-4db7-b0b6-5cad10ef59a7 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jan 2019 11:13:06.2945 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1EUR03HT095 SGkgU2ViYXN0aWFuLCB0aGFua3MgYWdhaW4gZm9yIHlvdXIgdGltZSB0byBmZWVkIGJhY2shIEl0 J3MgcmVhbGx5IGENCmdyZWF0IGhlbHAuDQoNClJlZ2FyZGluZyB0aGUgd2ViIGFwcCBkb2Vzbid0 IHdvcmssIGl0IGFsd2F5cyBhIGdvb2QgcHJhY3RpY2UgdG8gZW5hYmxlDQpkZXZNb2RlIGFuZCBz ZXQgbG9nIG1vZGUgdG8gd2FybiBvciBhdCBuZXh0IHN0ZXAgdG8gZGVidWcuDQoNCktpbmQgUmVn YXJkcy4NCg0KT24gMS8yNC8yMDE5IDI6MTEgUE0sIFNlYmFzdGlhbiBHw7Z0eiB3cm90ZToNCj4g SGVsbG8gWWFzc2VyLA0KPiANCj4gSSBoYXZlIGZvbGxvd2VkIHlvdXIgaW5zdHJ1Y3Rpb25zLiBU aGUgZXhjZXB0aW9ucyBhcmUgZ29uZSBhbHRob3VnaCBteQ0KPiB3ZWJhcHAgZG9lcyBub3Qgd29y ayBlaXRoZXIuDQo+IEJ1dCBJIG5lZWQgbW9yZSB0aW1lIHRvIGZpZ3VyZSBvdXQgd2hldGhlciB0 aGlzIGlzIGEgZ2VuZXJhbA0KPiBjb21wYXRpYmlsaXR5IGlzc3VlIGJldHdlZW4gc3RydXRzMiAy LjUuMiBhbmQgMi41LjIwIG9yIGEgbWF0dGVyIG9mIHRoZQ0KPiBKYXZhIDExIGNvbXBpbGVyLg0K PiANCj4gDQo+IEFtIDIzLjAxLjIwMTkgdW0gMDg6MTcgc2NocmllYiBZYXNzZXIgWmFtYW5pOg0K Pj4NCj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4+IEZyb206IFNlYmFzdGlhbiBH w7Z0eiA8cy5nb2V0ekBpbmZvcm0tdGVjaG5vbG9neS5kZT4NCj4+PiBTZW50OiBUaHVyc2RheSwg SmFudWFyeSAxNywgMjAxOSA0OjQxIFBNDQo+Pj4gVG86IHVzZXJAc3RydXRzLmFwYWNoZS5vcmcN Cj4+PiBTdWJqZWN0OiBSZTogSmF2YSAxMSBzdXBwb3J0DQo+Pj4NCj4+PiBIaSBmb2xrcywNCj4+ Pg0KPj4+IGl0IGFwcGVhcnMgdGhhdCB0aGVyZSBpcyBzb21lIHdvcmsgbGVmdCBpbiB0aGUgY29u dmVudGlvbiBwbHVnaW4uIEFzIEkgY2FuIHNlZSBmcm9tDQo+Pj4gbXkgSVZZIHJlc29sdmUgcHJv Y2VzcyB0aGlzIHBsdWdpbiBkcmFncyBpbiBhc20gNS4yLiBGcm9tIGl0cyBzb3VyY2VzIGl0IGxv b2tzIGxpa2UgaXQNCj4+PiBzdXBwb3J0cyBjbGFzcyB2ZXJzaW9uIHVwIHRvIDEuOCAoY2xhc3Mg dmVyc2lvbiA1MikuDQo+Pj4gQXMgd2UgY29tcGlsZSB3aXRoIEpESyAxMSBhbHJlYWR5IChjbGFz cyB2ZXJzaW9uIDU1KSB3ZSBnZXQgYSBsb3Qgb2YgdGhlc2UNCj4+PiBleGNlcHRpb25zOg0KPj4+ DQo+Pj4gwqBqYXZhLmxhbmcuSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uDQo+Pj4gwqDCoMKgIGF0 IG9yZy5vYmplY3R3ZWIuYXNtLkNsYXNzUmVhZGVyLjxpbml0PihVbmtub3duIFNvdXJjZSkNCj4+ PiDCoMKgwqAgYXQgb3JnLm9iamVjdHdlYi5hc20uQ2xhc3NSZWFkZXIuPGluaXQ+KFVua25vd24g U291cmNlKQ0KPj4+IMKgwqDCoCBhdCBvcmcub2JqZWN0d2ViLmFzbS5DbGFzc1JlYWRlci48aW5p dD4oVW5rbm93biBTb3VyY2UpDQo+Pj4gwqDCoMKgIGF0DQo+Pj4gb3JnLmFwYWNoZS5zdHJ1dHMy LmNvbnZlbnRpb24uRGVmYXVsdENsYXNzRmluZGVyLnJlYWRDbGFzc0RlZihEZWZhdWx0Q2xhc3NG aW5kDQo+Pj4gZXIuamF2YTo0NjEpDQo+Pj4gwqDCoMKgIGF0DQo+Pj4gb3JnLmFwYWNoZS5zdHJ1 dHMyLmNvbnZlbnRpb24uRGVmYXVsdENsYXNzRmluZGVyLjxpbml0PihEZWZhdWx0Q2xhc3NGaW5k ZXIuamF2YToNCj4+PiA5MykNCj4+PiDCoMKgwqAgYXQNCj4+PiBvcmcuYXBhY2hlLnN0cnV0czIu Y29udmVudGlvbi5QYWNrYWdlQmFzZWRBY3Rpb25Db25maWdCdWlsZGVyLmJ1aWxkQ2xhc3NGaW5k DQo+Pj4gZXIoUGFja2FnZUJhc2VkQWN0aW9uQ29uZmlnQnVpbGRlci5qYXZhOjM5NSkNCj4+PiDC oMKgwqAgYXQNCj4+PiBvcmcuYXBhY2hlLnN0cnV0czIuY29udmVudGlvbi5QYWNrYWdlQmFzZWRB Y3Rpb25Db25maWdCdWlsZGVyLmZpbmRBY3Rpb25zKFBhDQo+Pj4gY2thZ2VCYXNlZEFjdGlvbkNv bmZpZ0J1aWxkZXIuamF2YTozNzcpDQo+Pj4gwqDCoMKgIGF0DQo+Pj4gb3JnLmFwYWNoZS5zdHJ1 dHMyLmNvbnZlbnRpb24uUGFja2FnZUJhc2VkQWN0aW9uQ29uZmlnQnVpbGRlci5idWlsZEFjdGlv bkNvDQo+Pj4gbmZpZ3MoUGFja2FnZUJhc2VkQWN0aW9uQ29uZmlnQnVpbGRlci5qYXZhOjMzMykN Cj4+PiDCoMKgwqAgYXQNCj4+PiBvcmcuYXBhY2hlLnN0cnV0czIuY29udmVudGlvbi5DbGFzc3Bh dGhQYWNrYWdlUHJvdmlkZXIubG9hZFBhY2thZ2VzKENsYXNzcGF0DQo+Pj4gaFBhY2thZ2VQcm92 aWRlci5qYXZhOjUyKQ0KPj4+IMKgwqDCoCBhdA0KPj4+IGNvbS5vcGVuc3ltcGhvbnkueHdvcmsy LmNvbmZpZy5pbXBsLkRlZmF1bHRDb25maWd1cmF0aW9uLnJlbG9hZENvbnRhaW5lcihEDQo+Pj4g ZWZhdWx0Q29uZmlndXJhdGlvbi5qYXZhOjIwNikNCj4+PiDCoMKgwqAgYXQNCj4+PiBjb20ub3Bl bnN5bXBob255Lnh3b3JrMi5jb25maWcuQ29uZmlndXJhdGlvbk1hbmFnZXIuZ2V0Q29uZmlndXJh dGlvbihDb24NCj4+PiBmaWd1cmF0aW9uTWFuYWdlci5qYXZhOjY2KQ0KPj4+IMKgwqDCoCBhdA0K Pj4+IG9yZy5hcGFjaGUuc3RydXRzMi5kaXNwYXRjaGVyLkRpc3BhdGNoZXIuZ2V0Q29udGFpbmVy KERpc3BhdGNoZXIuamF2YTo5NTcpDQo+Pj4gwqDCoMKgIGF0DQo+Pj4gb3JnLmFwYWNoZS5zdHJ1 dHMyLmRpc3BhdGNoZXIuRGlzcGF0Y2hlci5pbml0X1ByZWxvYWRDb25maWd1cmF0aW9uKERpc3Bh dGNoZXIuag0KPj4+IGF2YTo0NjMpDQo+Pj4gwqDCoMKgIGF0IG9yZy5hcGFjaGUuc3RydXRzMi5k aXNwYXRjaGVyLkRpc3BhdGNoZXIuaW5pdChEaXNwYXRjaGVyLmphdmE6NDk2KQ0KPj4+IMKgwqDC oCBhdA0KPj4+IG9yZy5hcGFjaGUuc3RydXRzMi5kaXNwYXRjaGVyLkluaXRPcGVyYXRpb25zLmlu aXREaXNwYXRjaGVyKEluaXRPcGVyYXRpb25zLmphdmE6Nw0KPj4+IDMpDQo+Pj4gwqDCoMKgIGF0 DQo+Pj4gb3JnLmFwYWNoZS5zdHJ1dHMyLmRpc3BhdGNoZXIuZmlsdGVyLlN0cnV0c1ByZXBhcmVB bmRFeGVjdXRlRmlsdGVyLmluaXQoU3RydXRzUHJlcA0KPj4+IGFyZUFuZEV4ZWN1dGVGaWx0ZXIu amF2YTo2MSkNCj4+PiDCoMKgwqAgYXQNCj4+PiBldS5pbmZvcm0uc2VydmxldC5jb250ZXh0LlVS SUV4Y2x1ZGVGaWx0ZXIuaW5pdChVUklFeGNsdWRlRmlsdGVyLmphdmE6MzcpDQo+Pj4gwqDCoMKg IGF0DQo+Pj4gb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLkFwcGxpY2F0aW9uRmlsdGVyQ29uZmln LmluaXRGaWx0ZXIoQXBwbGljYXRpb25GaWx0ZXJDb25maWcNCj4+PiAuamF2YToyNzApDQo+Pj4g wqDCoMKgIGF0DQo+Pj4gb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLkFwcGxpY2F0aW9uRmlsdGVy Q29uZmlnLmdldEZpbHRlcihBcHBsaWNhdGlvbkZpbHRlckNvbmZpZw0KPj4+IC5qYXZhOjI1MSkN Cj4+PiDCoMKgwqAgYXQNCj4+PiBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuQXBwbGljYXRpb25G aWx0ZXJDb25maWcuPGluaXQ+KEFwcGxpY2F0aW9uRmlsdGVyQ29uZmlnLmphDQo+Pj4gdmE6MTAy KQ0KPj4+IMKgwqDCoCBhdA0KPj4+IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFyZENv bnRleHQuZmlsdGVyU3RhcnQoU3RhbmRhcmRDb250ZXh0LmphdmE6NDQ5MSkNCj4+PiDCoMKgwqAg YXQNCj4+PiBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRDb250ZXh0LnN0YXJ0SW50 ZXJuYWwoU3RhbmRhcmRDb250ZXh0LmphdmE6NTENCj4+PiAzNSkNCj4+PiDCoMKgwqAgYXQgb3Jn LmFwYWNoZS5jYXRhbGluYS51dGlsLkxpZmVjeWNsZUJhc2Uuc3RhcnQoTGlmZWN5Y2xlQmFzZS5q YXZhOjE4MykNCj4+PiDCoMKgwqAgYXQNCj4+PiBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuQ29u dGFpbmVyQmFzZSRTdGFydENoaWxkLmNhbGwoQ29udGFpbmVyQmFzZS5qYXZhOjE0MzINCj4+PiAp DQo+Pj4gwqDCoMKgIGF0DQo+Pj4gb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLkNvbnRhaW5lckJh c2UkU3RhcnRDaGlsZC5jYWxsKENvbnRhaW5lckJhc2UuamF2YToxNDIyDQo+Pj4gKQ0KPj4+IMKg wqDCoCBhdCBqYXZhLmJhc2UvamF2YS51dGlsLmNvbmN1cnJlbnQuRnV0dXJlVGFzay5ydW4oRnV0 dXJlVGFzay5qYXZhOjI2NCkNCj4+PiDCoMKgwqAgYXQNCj4+PiBvcmcuYXBhY2hlLnRvbWNhdC51 dGlsLnRocmVhZHMuSW5saW5lRXhlY3V0b3JTZXJ2aWNlLmV4ZWN1dGUoSW5saW5lRXhlY3V0b3JT ZXJ2DQo+Pj4gaWNlLmphdmE6NzUpDQo+Pj4gwqDCoMKgIGF0DQo+Pj4gamF2YS5iYXNlL2phdmEu dXRpbC5jb25jdXJyZW50LkFic3RyYWN0RXhlY3V0b3JTZXJ2aWNlLnN1Ym1pdChBYnN0cmFjdEV4 ZWN1dG9yUw0KPj4+IGVydmljZS5qYXZhOjE0MCkNCj4+PiDCoMKgwqAgYXQNCj4+PiBvcmcuYXBh Y2hlLmNhdGFsaW5hLmNvcmUuQ29udGFpbmVyQmFzZS5zdGFydEludGVybmFsKENvbnRhaW5lckJh c2UuamF2YTo5NDQpDQo+Pj4gwqDCoMKgIGF0DQo+Pj4gb3JnLmFwYWNoZS5jYXRhbGluYS5jb3Jl LlN0YW5kYXJkSG9zdC5zdGFydEludGVybmFsKFN0YW5kYXJkSG9zdC5qYXZhOjgzMSkNCj4+PiDC oMKgwqAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS51dGlsLkxpZmVjeWNsZUJhc2Uuc3RhcnQoTGlm ZWN5Y2xlQmFzZS5qYXZhOjE4MykNCj4+PiDCoMKgwqAgYXQNCj4+PiBvcmcuYXBhY2hlLmNhdGFs aW5hLmNvcmUuQ29udGFpbmVyQmFzZSRTdGFydENoaWxkLmNhbGwoQ29udGFpbmVyQmFzZS5qYXZh OjE0MzINCj4+PiApDQo+Pj4gwqDCoMKgIGF0DQo+Pj4gb3JnLmFwYWNoZS5jYXRhbGluYS5jb3Jl LkNvbnRhaW5lckJhc2UkU3RhcnRDaGlsZC5jYWxsKENvbnRhaW5lckJhc2UuamF2YToxNDIyDQo+ Pj4gKQ0KPj4+IMKgwqDCoCBhdCBqYXZhLmJhc2UvamF2YS51dGlsLmNvbmN1cnJlbnQuRnV0dXJl VGFzay5ydW4oRnV0dXJlVGFzay5qYXZhOjI2NCkNCj4+PiDCoMKgwqAgYXQNCj4+PiBvcmcuYXBh Y2hlLnRvbWNhdC51dGlsLnRocmVhZHMuSW5saW5lRXhlY3V0b3JTZXJ2aWNlLmV4ZWN1dGUoSW5s aW5lRXhlY3V0b3JTZXJ2DQo+Pj4gaWNlLmphdmE6NzUpDQo+Pj4gwqDCoMKgIGF0DQo+Pj4gamF2 YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LkFic3RyYWN0RXhlY3V0b3JTZXJ2aWNlLnN1Ym1p dChBYnN0cmFjdEV4ZWN1dG9yUw0KPj4+IGVydmljZS5qYXZhOjE0MCkNCj4+PiDCoMKgwqAgYXQN Cj4+PiBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuQ29udGFpbmVyQmFzZS5zdGFydEludGVybmFs KENvbnRhaW5lckJhc2UuamF2YTo5NDQpDQo+Pj4gwqDCoMKgIGF0DQo+Pj4gb3JnLmFwYWNoZS5j YXRhbGluYS5jb3JlLlN0YW5kYXJkRW5naW5lLnN0YXJ0SW50ZXJuYWwoU3RhbmRhcmRFbmdpbmUu amF2YToyNjEpDQo+Pj4gwqDCoMKgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEudXRpbC5MaWZlY3lj bGVCYXNlLnN0YXJ0KExpZmVjeWNsZUJhc2UuamF2YToxODMpDQo+Pj4gwqDCoMKgIGF0DQo+Pj4g b3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJkU2VydmljZS5zdGFydEludGVybmFsKFN0 YW5kYXJkU2VydmljZS5qYXZhOjQyMikNCj4+PiDCoMKgwqAgYXQgb3JnLmFwYWNoZS5jYXRhbGlu YS51dGlsLkxpZmVjeWNsZUJhc2Uuc3RhcnQoTGlmZWN5Y2xlQmFzZS5qYXZhOjE4MykNCj4+PiDC oMKgwqAgYXQNCj4+PiBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRTZXJ2ZXIuc3Rh cnRJbnRlcm5hbChTdGFuZGFyZFNlcnZlci5qYXZhOjgwMSkNCj4+PiDCoMKgwqAgYXQgb3JnLmFw YWNoZS5jYXRhbGluYS51dGlsLkxpZmVjeWNsZUJhc2Uuc3RhcnQoTGlmZWN5Y2xlQmFzZS5qYXZh OjE4MykNCj4+PiDCoMKgwqAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5zdGFydHVwLkNhdGFsaW5h LnN0YXJ0KENhdGFsaW5hLmphdmE6Njk1KQ0KPj4+IMKgwqDCoCBhdA0KPj4+IGphdmEuYmFzZS9q ZGsuaW50ZXJuYWwucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlMChOYXRp dmUNCj4+PiBNZXRob2QpDQo+Pj4gwqDCoMKgIGF0DQo+Pj4gamF2YS5iYXNlL2pkay5pbnRlcm5h bC5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoTmF0aXZlTWV0aG9kQQ0K Pj4+IGNjZXNzb3JJbXBsLmphdmE6NjIpDQo+Pj4gwqDCoMKgIGF0DQo+Pj4gamF2YS5iYXNlL2pk ay5pbnRlcm5hbC5yZWZsZWN0LkRlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKERl bGVnYXRpbmcNCj4+PiBNZXRob2RBY2Nlc3NvckltcGwuamF2YTo0MykNCj4+PiDCoMKgwqAgYXQg amF2YS5iYXNlL2phdmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0aG9kLmphdmE6NTY2 KQ0KPj4+IMKgwqDCoCBhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLnN0YXJ0dXAuQm9vdHN0cmFwLnN0 YXJ0KEJvb3RzdHJhcC5qYXZhOjM1MCkNCj4+PiDCoMKgwqAgYXQgb3JnLmFwYWNoZS5jYXRhbGlu YS5zdGFydHVwLkJvb3RzdHJhcC5tYWluKEJvb3RzdHJhcC5qYXZhOjQ5MikNCj4+Pg0KPj4+IEkg dHJpZWQgdG8gZXhjbHVkZSBhc20gNS4yIG9uIGZhdm9yIG9mIDcuMCB3aGljaCB3b3JrcyBmcm9t IHRoZSBkZXBlbmRlbmN5DQo+Pj4gcmVzb2x2aW5nIHNpZGUuIEJ1dCB0aGUgU3RydXRzMiBDbGFz c1Zpc2l0b3IgaW1wbGVtZW50YXRpb24gaXMgdGllZCB0byBBU00gNToNCj4+Pg0KPj4+IHB1Ymxp YyBjbGFzcyBJbmZvQnVpbGRpbmdWaXNpdG9yIGV4dGVuZHMgQ2xhc3NWaXNpdG9yIHsNCj4+PiDC oMKgwqDCoMKgwqDCoCBwcml2YXRlIEluZm8gaW5mbzsNCj4+PiDCoMKgwqDCoMKgwqDCoCBwcml2 YXRlIENsYXNzRmluZGVyIGNsYXNzRmluZGVyOw0KPj4+DQo+Pj4gwqDCoMKgwqDCoMKgwqAgcHVi bGljIEluZm9CdWlsZGluZ1Zpc2l0b3IoQ2xhc3NGaW5kZXIgY2xhc3NGaW5kZXIpIHsNCj4+PiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN1cGVyKE9wY29kZXMuQVNNNSk7DQo+Pj4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCB0aGlzLmNsYXNzRmluZGVyID0gY2xhc3NGaW5kZXI7DQo+Pj4gwqDCoMKg wqDCoMKgwqAgfQ0KPj4+IC4uLg0KPj4+IH0NCj4+Pg0KPj4+IFRoZXJlZm9yZSB0aGlzIGxlYWRz IHRvIHRoZSBmb2xsb3dpbmcgcHJvYmxlbToNCj4+Pg0KPj4+IGphdmEubGFuZy5VbnN1cHBvcnRl ZE9wZXJhdGlvbkV4Y2VwdGlvbjogVGhpcyBmZWF0dXJlIHJlcXVpcmVzIEFTTTcNCj4+PiDCoMKg wqAgYXQNCj4+PiBvcmcub2JqZWN0d2ViLmFzbS5DbGFzc1Zpc2l0b3IudmlzaXROZXN0TWVtYmVy KENsYXNzVmlzaXRvci5qYXZhOjIzNikNCj4+PiDCoMKgwqAgYXQgb3JnLm9iamVjdHdlYi5hc20u Q2xhc3NSZWFkZXIuYWNjZXB0KENsYXNzUmVhZGVyLmphdmE6NjUxKQ0KPj4+IMKgwqDCoCBhdCBv cmcub2JqZWN0d2ViLmFzbS5DbGFzc1JlYWRlci5hY2NlcHQoQ2xhc3NSZWFkZXIuamF2YTozOTEp DQo+Pj4gwqDCoMKgIGF0DQo+Pj4gb3JnLmFwYWNoZS5zdHJ1dHMyLmNvbnZlbnRpb24uRGVmYXVs dENsYXNzRmluZGVyLnJlYWRDbGFzc0RlZihEZWZhdWx0Q2xhc3NGaW5kDQo+Pj4gZXIuamF2YTo0 NjIpDQo+Pj4gwqDCoMKgIGF0DQo+Pj4gb3JnLmFwYWNoZS5zdHJ1dHMyLmNvbnZlbnRpb24uRGVm YXVsdENsYXNzRmluZGVyLjxpbml0PihEZWZhdWx0Q2xhc3NGaW5kZXIuamF2YToNCj4+PiA5MykN Cj4+PiDCoMKgwqAgYXQNCj4+PiBvcmcuYXBhY2hlLnN0cnV0czIuY29udmVudGlvbi5QYWNrYWdl QmFzZWRBY3Rpb25Db25maWdCdWlsZGVyLmJ1aWxkQ2xhc3NGaW5kDQo+Pj4gZXIoUGFja2FnZUJh c2VkQWN0aW9uQ29uZmlnQnVpbGRlci5qYXZhOjM5NSkNCj4+PiDCoMKgwqAgYXQNCj4+PiBvcmcu YXBhY2hlLnN0cnV0czIuY29udmVudGlvbi5QYWNrYWdlQmFzZWRBY3Rpb25Db25maWdCdWlsZGVy LmZpbmRBY3Rpb25zKFBhDQo+Pj4gY2thZ2VCYXNlZEFjdGlvbkNvbmZpZ0J1aWxkZXIuamF2YToz NzcpDQo+Pj4gwqDCoMKgIGF0DQo+Pj4gb3JnLmFwYWNoZS5zdHJ1dHMyLmNvbnZlbnRpb24uUGFj a2FnZUJhc2VkQWN0aW9uQ29uZmlnQnVpbGRlci5idWlsZEFjdGlvbkNvDQo+Pj4gbmZpZ3MoUGFj a2FnZUJhc2VkQWN0aW9uQ29uZmlnQnVpbGRlci5qYXZhOjMzMykNCj4+PiDCoMKgwqAgYXQNCj4+ PiBvcmcuYXBhY2hlLnN0cnV0czIuY29udmVudGlvbi5DbGFzc3BhdGhQYWNrYWdlUHJvdmlkZXIu bG9hZFBhY2thZ2VzKENsYXNzcGF0DQo+Pj4gaFBhY2thZ2VQcm92aWRlci5qYXZhOjUyKQ0KPj4+ IMKgwqDCoCBhdA0KPj4+IGNvbS5vcGVuc3ltcGhvbnkueHdvcmsyLmNvbmZpZy5pbXBsLkRlZmF1 bHRDb25maWd1cmF0aW9uLnJlbG9hZENvbnRhaW5lcihEDQo+Pj4gZWZhdWx0Q29uZmlndXJhdGlv bi5qYXZhOjIwNikNCj4+PiDCoMKgwqAgYXQNCj4+PiBjb20ub3BlbnN5bXBob255Lnh3b3JrMi5j b25maWcuQ29uZmlndXJhdGlvbk1hbmFnZXIuZ2V0Q29uZmlndXJhdGlvbihDb24NCj4+PiBmaWd1 cmF0aW9uTWFuYWdlci5qYXZhOjY2KQ0KPj4+IMKgwqDCoCBhdA0KPj4+IG9yZy5hcGFjaGUuc3Ry dXRzMi5kaXNwYXRjaGVyLkRpc3BhdGNoZXIuZ2V0Q29udGFpbmVyKERpc3BhdGNoZXIuamF2YTo5 NTcpDQo+Pj4gwqDCoMKgIGF0DQo+Pj4gb3JnLmFwYWNoZS5zdHJ1dHMyLmRpc3BhdGNoZXIuRGlz cGF0Y2hlci5pbml0X1ByZWxvYWRDb25maWd1cmF0aW9uKERpc3BhdGNoZXIuag0KPj4+IGF2YTo0 NjMpDQo+Pj4gwqDCoMKgIGF0IG9yZy5hcGFjaGUuc3RydXRzMi5kaXNwYXRjaGVyLkRpc3BhdGNo ZXIuaW5pdChEaXNwYXRjaGVyLmphdmE6NDk2KQ0KPj4+IMKgwqDCoCBhdA0KPj4+IG9yZy5hcGFj aGUuc3RydXRzMi5kaXNwYXRjaGVyLkluaXRPcGVyYXRpb25zLmluaXREaXNwYXRjaGVyKEluaXRP cGVyYXRpb25zLmphdmE6Nw0KPj4+IDMpDQo+Pj4gwqDCoMKgIGF0DQo+Pj4gb3JnLmFwYWNoZS5z dHJ1dHMyLmRpc3BhdGNoZXIuZmlsdGVyLlN0cnV0c1ByZXBhcmVBbmRFeGVjdXRlRmlsdGVyLmlu aXQoU3RydXRzUHJlcA0KPj4+IGFyZUFuZEV4ZWN1dGVGaWx0ZXIuamF2YTo2MSkNCj4+PiDCoMKg wqAgYXQNCj4+PiBldS5pbmZvcm0uc2VydmxldC5jb250ZXh0LlVSSUV4Y2x1ZGVGaWx0ZXIuaW5p dChVUklFeGNsdWRlRmlsdGVyLmphdmE6MzcpDQo+Pj4gwqDCoMKgIGF0DQo+Pj4gb3JnLmFwYWNo ZS5jYXRhbGluYS5jb3JlLkFwcGxpY2F0aW9uRmlsdGVyQ29uZmlnLmluaXRGaWx0ZXIoQXBwbGlj YXRpb25GaWx0ZXJDb25maWcNCj4+PiAuamF2YToyNzApDQo+Pj4gwqDCoMKgIGF0DQo+Pj4gb3Jn LmFwYWNoZS5jYXRhbGluYS5jb3JlLkFwcGxpY2F0aW9uRmlsdGVyQ29uZmlnLmdldEZpbHRlcihB cHBsaWNhdGlvbkZpbHRlckNvbmZpZw0KPj4+IC5qYXZhOjI1MSkNCj4+PiDCoMKgwqAgYXQNCj4+ PiBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuQXBwbGljYXRpb25GaWx0ZXJDb25maWcuPGluaXQ+ KEFwcGxpY2F0aW9uRmlsdGVyQ29uZmlnLmphDQo+Pj4gdmE6MTAyKQ0KPj4+IMKgwqDCoCBhdA0K Pj4+IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFyZENvbnRleHQuZmlsdGVyU3RhcnQo U3RhbmRhcmRDb250ZXh0LmphdmE6NDQ5MSkNCj4+PiDCoMKgwqAgYXQNCj4+PiBvcmcuYXBhY2hl LmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRDb250ZXh0LnN0YXJ0SW50ZXJuYWwoU3RhbmRhcmRDb250 ZXh0LmphdmE6NTENCj4+PiAzNSkNCj4+PiDCoMKgwqAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS51 dGlsLkxpZmVjeWNsZUJhc2Uuc3RhcnQoTGlmZWN5Y2xlQmFzZS5qYXZhOjE4MykNCj4+PiDCoMKg wqAgYXQNCj4+PiBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuQ29udGFpbmVyQmFzZSRTdGFydENo aWxkLmNhbGwoQ29udGFpbmVyQmFzZS5qYXZhOjE0MzINCj4+PiApDQo+Pj4gwqDCoMKgIGF0DQo+ Pj4gb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLkNvbnRhaW5lckJhc2UkU3RhcnRDaGlsZC5jYWxs KENvbnRhaW5lckJhc2UuamF2YToxNDIyDQo+Pj4gKQ0KPj4+IMKgwqDCoCBhdCBqYXZhLmJhc2Uv amF2YS51dGlsLmNvbmN1cnJlbnQuRnV0dXJlVGFzay5ydW4oRnV0dXJlVGFzay5qYXZhOjI2NCkN Cj4+PiDCoMKgwqAgYXQNCj4+PiBvcmcuYXBhY2hlLnRvbWNhdC51dGlsLnRocmVhZHMuSW5saW5l RXhlY3V0b3JTZXJ2aWNlLmV4ZWN1dGUoSW5saW5lRXhlY3V0b3JTZXJ2DQo+Pj4gaWNlLmphdmE6 NzUpDQo+Pj4gwqDCoMKgIGF0DQo+Pj4gamF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LkFi c3RyYWN0RXhlY3V0b3JTZXJ2aWNlLnN1Ym1pdChBYnN0cmFjdEV4ZWN1dG9yUw0KPj4+IGVydmlj ZS5qYXZhOjE0MCkNCj4+PiDCoMKgwqAgYXQNCj4+PiBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUu Q29udGFpbmVyQmFzZS5zdGFydEludGVybmFsKENvbnRhaW5lckJhc2UuamF2YTo5NDQpDQo+Pj4g wqDCoMKgIGF0DQo+Pj4gb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJkSG9zdC5zdGFy dEludGVybmFsKFN0YW5kYXJkSG9zdC5qYXZhOjgzMSkNCj4+PiDCoMKgwqAgYXQgb3JnLmFwYWNo ZS5jYXRhbGluYS51dGlsLkxpZmVjeWNsZUJhc2Uuc3RhcnQoTGlmZWN5Y2xlQmFzZS5qYXZhOjE4 MykNCj4+PiDCoMKgwqAgYXQNCj4+PiBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuQ29udGFpbmVy QmFzZSRTdGFydENoaWxkLmNhbGwoQ29udGFpbmVyQmFzZS5qYXZhOjE0MzINCj4+PiApDQo+Pj4g wqDCoMKgIGF0DQo+Pj4gb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLkNvbnRhaW5lckJhc2UkU3Rh cnRDaGlsZC5jYWxsKENvbnRhaW5lckJhc2UuamF2YToxNDIyDQo+Pj4gKQ0KPj4+IMKgwqDCoCBh dCBqYXZhLmJhc2UvamF2YS51dGlsLmNvbmN1cnJlbnQuRnV0dXJlVGFzay5ydW4oRnV0dXJlVGFz ay5qYXZhOjI2NCkNCj4+PiDCoMKgwqAgYXQNCj4+PiBvcmcuYXBhY2hlLnRvbWNhdC51dGlsLnRo cmVhZHMuSW5saW5lRXhlY3V0b3JTZXJ2aWNlLmV4ZWN1dGUoSW5saW5lRXhlY3V0b3JTZXJ2DQo+ Pj4gaWNlLmphdmE6NzUpDQo+Pj4gwqDCoMKgIGF0DQo+Pj4gamF2YS5iYXNlL2phdmEudXRpbC5j b25jdXJyZW50LkFic3RyYWN0RXhlY3V0b3JTZXJ2aWNlLnN1Ym1pdChBYnN0cmFjdEV4ZWN1dG9y Uw0KPj4+IGVydmljZS5qYXZhOjE0MCkNCj4+PiDCoMKgwqAgYXQNCj4+PiBvcmcuYXBhY2hlLmNh dGFsaW5hLmNvcmUuQ29udGFpbmVyQmFzZS5zdGFydEludGVybmFsKENvbnRhaW5lckJhc2UuamF2 YTo5NDQpDQo+Pj4gwqDCoMKgIGF0DQo+Pj4gb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0YW5k YXJkRW5naW5lLnN0YXJ0SW50ZXJuYWwoU3RhbmRhcmRFbmdpbmUuamF2YToyNjEpDQo+Pj4gwqDC oMKgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEudXRpbC5MaWZlY3ljbGVCYXNlLnN0YXJ0KExpZmVj eWNsZUJhc2UuamF2YToxODMpDQo+Pj4gwqDCoMKgIGF0DQo+Pj4gb3JnLmFwYWNoZS5jYXRhbGlu YS5jb3JlLlN0YW5kYXJkU2VydmljZS5zdGFydEludGVybmFsKFN0YW5kYXJkU2VydmljZS5qYXZh OjQyMikNCj4+PiDCoMKgwqAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS51dGlsLkxpZmVjeWNsZUJh c2Uuc3RhcnQoTGlmZWN5Y2xlQmFzZS5qYXZhOjE4MykNCj4+PiDCoMKgwqAgYXQNCj4+PiBvcmcu YXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRTZXJ2ZXIuc3RhcnRJbnRlcm5hbChTdGFuZGFy ZFNlcnZlci5qYXZhOjgwMSkNCj4+PiDCoMKgwqAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS51dGls LkxpZmVjeWNsZUJhc2Uuc3RhcnQoTGlmZWN5Y2xlQmFzZS5qYXZhOjE4MykNCj4+PiDCoMKgwqAg YXQgb3JnLmFwYWNoZS5jYXRhbGluYS5zdGFydHVwLkNhdGFsaW5hLnN0YXJ0KENhdGFsaW5hLmph dmE6Njk1KQ0KPj4+IMKgwqDCoCBhdA0KPj4+IGphdmEuYmFzZS9qZGsuaW50ZXJuYWwucmVmbGVj dC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlMChOYXRpdmUNCj4+PiBNZXRob2QpDQo+ Pj4gwqDCoMKgIGF0DQo+Pj4gamF2YS5iYXNlL2pkay5pbnRlcm5hbC5yZWZsZWN0Lk5hdGl2ZU1l dGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoTmF0aXZlTWV0aG9kQQ0KPj4+IGNjZXNzb3JJbXBsLmph dmE6NjIpDQo+Pj4gwqDCoMKgIGF0DQo+Pj4gamF2YS5iYXNlL2pkay5pbnRlcm5hbC5yZWZsZWN0 LkRlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKERlbGVnYXRpbmcNCj4+PiBNZXRo b2RBY2Nlc3NvckltcGwuamF2YTo0MykNCj4+PiDCoMKgwqAgYXQgamF2YS5iYXNlL2phdmEubGFu Zy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0aG9kLmphdmE6NTY2KQ0KPj4+IMKgwqDCoCBhdCBv cmcuYXBhY2hlLmNhdGFsaW5hLnN0YXJ0dXAuQm9vdHN0cmFwLnN0YXJ0KEJvb3RzdHJhcC5qYXZh OjM1MCkNCj4+PiDCoMKgwqAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5zdGFydHVwLkJvb3RzdHJh cC5tYWluKEJvb3RzdHJhcC5qYXZhOjQ5MikNCj4+Pg0KPj4+IENhbiBzb21lb25lIHZlcmZpeSB0 aGF0IGFuZCBwcm9wb3NlIGEgZml4Pw0KPj4+DQo+Pg0KPj4gSGkgU2ViYXN0aWFuLA0KPj4NCj4+ IFRoYW5rIHlvdSB2ZXJ5IG11Y2ggZm9yIHlvdXIgZXhwbG9yZXMgc2hhcmUhDQo+Pg0KPj4gWWVz IHlvdSdyZSByaWdodC4gSXQgc2VlbXMgd2Ugc2hvdWxkIHVwZ3JhZGUgdG8gQVNNNyBpbiAyLjUu MjEgYWxzbyBpZiBpdCBwYXNzZWQgYWxsIHRlc3RzIGFzIHdlbGwuIEFuZCBzb3JyeSBmb3IgdGhl c2UgdHJvdWJsZXMgYWJvdmUhIFdlIG1pc3NlZCB0aG9zZSBiZWNhdXNlIHdlIHJ1biBvdXIgaW50 ZWdyYXRpb24gdGVzdHMgaW4gc3RydXRzIHNob3djYXNlIGFwcCBvbmx5IG9uIEpESzggYW5kIG9u bHkgd2l0aCB0YXJnZXQgamF2YSA3IChhcyB5b3UgZGlzY292ZXJlZCkuDQo+Pg0KPj4gQ291bGQg eW91IHBsZWFzZSBjaGVjayBpZiBhbnkgZnVydGhlciBpc3N1ZSBwZXJzaXN0cyB3aXRoIG15IGZv bGxvd2luZyBzb2x1dGlvbiAoYmVzaWRlIHlvdXIgd29ya2Fyb3VuZCBmb3IgZHJvcC1pbiBBU003 IGRlcGVuZGVuY3kpPyBJIHRoaW5rICJUaGlzIGZlYXR1cmUgcmVxdWlyZXMgQVNNNyIgd2lsbCB2 YW5pc2hlZCB3aXRoIGl0IGJ1dCBJJ20gbm90IGNvbXByZWhlbnNpdmVseSBzdXJlIGlmIGFueSBm dXJ0aGVyIGlzc3VlIGFyaXNlcyBhZnRlci4gSWYgc28sIGl0IHdvdWxkIGJlIG5pY2UgdG8gZml4 IHRoZW0gaW4gMi41LjIxIGFzIHdlbGwgKGJlc2lkZSBhc20udmVyc2lvbj03LjApLg0KPj4NCj4+ IFRoZSBzb2x1dGlvbiAod2l0aCB0aGFua3MgdG8gU3RydXRzIGF3ZXNvbWUgZGVzaWduKSA6KSA6 DQo+PiAxLiBDb3B5IG9yZy5hcGFjaGUuc3RydXRzMi5jb252ZW50aW9uLkRlZmF1bHRDbGFzc0Zp bmRlciBhbmQgcGFzdGUgdG8geW91ci5hcHAudGFyZ2V0LnBhY2thZ2UuQVNNN0RlZmF1bHRDbGFz c0ZpbmRlci4NCj4+IDIuIFJlcGxhY2UgYWxsIE9wY29kZXMuQVNNNSB3aXRoIE9wY29kZXMuQVNN NyBpbiB5b3VyLmFwcC50YXJnZXQucGFja2FnZS5BU003RGVmYXVsdENsYXNzRmluZGVyLg0KPj4g My4gRGVmaW5lIHRoZSBuZXcgY2xhc3MgeW91ci5hcHAudGFyZ2V0LnBhY2thZ2UuQVNNN0NsYXNz RmluZGVyRmFjdG9yeSBhcyBiZWxvdzoNCj4+IGltcG9ydCBjb20ub3BlbnN5bXBob255Lnh3b3Jr Mi51dGlsLmZpbmRlci5DbGFzc0ZpbmRlcjsNCj4+IGltcG9ydCBjb20ub3BlbnN5bXBob255Lnh3 b3JrMi51dGlsLmZpbmRlci5DbGFzc0ZpbmRlckZhY3Rvcnk7DQo+PiBpbXBvcnQgY29tLm9wZW5z eW1waG9ueS54d29yazIudXRpbC5maW5kZXIuQ2xhc3NMb2FkZXJJbnRlcmZhY2U7DQo+PiBpbXBv cnQgY29tLm9wZW5zeW1waG9ueS54d29yazIudXRpbC5maW5kZXIuVGVzdDsgDQo+PiBwdWJsaWMg Y2xhc3MgQVNNN0NsYXNzRmluZGVyRmFjdG9yeSBpbXBsZW1lbnRzIENsYXNzRmluZGVyRmFjdG9y eSB7DQo+PiAgICAgcHVibGljIENsYXNzRmluZGVyIGJ1aWxkQ2xhc3NGaW5kZXIoQ2xhc3NMb2Fk ZXJJbnRlcmZhY2UgY2xhc3NMb2FkZXJJbnRlcmZhY2UsIENvbGxlY3Rpb24gdXJscywgYm9vbGVh biBleHRyYWN0QmFzZUludGVyZmFjZXMsIFNldCBwcm90b2NvbHMsIFRlc3QgY2xhc3NOYW1lRmls dGVyKSB7DQo+PiAgICAgICAgIHJldHVybiBuZXcgQVNNN0RlZmF1bHRDbGFzc0ZpbmRlcihjbGFz c0xvYWRlckludGVyZmFjZSwgdXJscywgZXh0cmFjdEJhc2VJbnRlcmZhY2VzLCBwcm90b2NvbHMs IGNsYXNzTmFtZUZpbHRlcik7DQo+PiAgICAgfQ0KPj4gfQ0KPj4gNC4gUmVnaXN0ZXIgaXQgaW4g eW91ciBzdHJ1dHMueG1sIGFzIGJlbG93Og0KPj4gPGJlYW4gdHlwZT0iY29tLm9wZW5zeW1waG9u eS54d29yazIudXRpbC5maW5kZXIuQ2xhc3NGaW5kZXJGYWN0b3J5IiBjbGFzcz0ieW91ci5hcHAu dGFyZ2V0LnBhY2thZ2UuQVNNN0NsYXNzRmluZGVyRmFjdG9yeSIgc2NvcGU9InNpbmdsZXRvbiIv Pg0KPj4NCj4+IFRoYW5rcyBpbiBhZHZhbmNlIQ0KPj4NCj4+IEtpbmQgUmVnYXJkcy4NCj4+DQo+ PiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0NCj4+IFRvIHVuc3Vic2NyaWJlLCBlLW1haWw6IHVzZXItdW5zdWJzY3Jp YmVAc3RydXRzLmFwYWNoZS5vcmcNCj4+IEZvciBhZGRpdGlvbmFsIGNvbW1hbmRzLCBlLW1haWw6 IHVzZXItaGVscEBzdHJ1dHMuYXBhY2hlLm9yZw0KPiANCg== DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NClRvIHVuc3Vic2NyaWJlLCBlLW1haWw6IHVzZXItdW5zdWJz Y3JpYmVAc3RydXRzLmFwYWNoZS5vcmcNCkZvciBhZGRpdGlvbmFsIGNvbW1hbmRzLCBlLW1h aWw6IHVzZXItaGVscEBzdHJ1dHMuYXBhY2hlLm9yZw0K