Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 5A55A200C80 for ; Thu, 25 May 2017 18:45:35 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 58CDB160BCA; Thu, 25 May 2017 16:45:35 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 35F35160BB4 for ; Thu, 25 May 2017 18:45:33 +0200 (CEST) Received: (qmail 87283 invoked by uid 500); 25 May 2017 16:45:32 -0000 Mailing-List: contact dev-help@nifi.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@nifi.apache.org Delivered-To: mailing list dev@nifi.apache.org Received: (qmail 87262 invoked by uid 99); 25 May 2017 16:45:31 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 25 May 2017 16:45:31 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 7845C1AFE4D for ; Thu, 25 May 2017 16:45:31 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -2.301 X-Spam-Level: X-Spam-Status: No, score=-2.301 tagged_above=-999 required=6.31 tests=[RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id JNcQ4a2PklOs for ; Thu, 25 May 2017 16:45:21 +0000 (UTC) Received: from mailout.micron.com (mailout.micron.com [137.201.242.129]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id 9E53E5F36F for ; Thu, 25 May 2017 16:45:20 +0000 (UTC) Received: from mail.micron.com (bowex17h.micron.com [137.201.20.32]) by mailout.micron.com (8.14.4/8.14.6) with ESMTP id v4PGjIYx000344 for ; Thu, 25 May 2017 10:45:18 -0600 Received: from bowex36a.micron.com (137.201.85.222) by BOWEX17H.micron.com (137.201.20.32) with Microsoft SMTP Server (TLS) id 15.0.1263.5; Thu, 25 May 2017 10:45:18 -0600 Received: from bowex36a.micron.com ([fe80::7d25:b732:713d:53c4]) by bowex36a.micron.com ([fe80::7d25:b732:713d:53c4%22]) with mapi id 15.00.1263.000; Thu, 25 May 2017 10:45:18 -0600 From: "Karthik Kothareddy (karthikk) [CONT - Type 2]" To: "dev@nifi.apache.org" Subject: RE: [EXT] Re: OverlappingFileLockException while restarting Thread-Topic: [EXT] Re: OverlappingFileLockException while restarting Thread-Index: AdLVcHGJmULj82TqSfC7dM80NBSmKQAM7xyAAAvSJ4A= Date: Thu, 25 May 2017 16:45:17 +0000 Message-ID: <2dc3aacd03ad4ed88acbb6771568fc52@bowex36a.micron.com> References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [137.201.84.23] x-tm-as-product-ver: SMEX-12.0.0.1464-8.100.1062-23090.005 x-tm-as-result: No--9.019000-0.000000-31 x-tm-as-matchedid: 150567-150680-701625-704425-700685-709584-702598-700383-7 02747-701384-187067-184142-711232-705861-703788-706891-700354-701142-700661 -700264-701053-700748-705602-703366-709908-701741-706249-707909-860493-7119 53-121155-700693-188019-148004-148133-24831-42000-42003-63 x-tm-as-user-approved-sender: Yes x-tm-as-user-blocked-sender: No x-mt-checkinternalsenderrule: True Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.78 on 137.201.82.98 archived-at: Thu, 25 May 2017 16:45:35 -0000 Sm9lLA0KDQpMb29rcyBsaWtlIHRoZXJlIHdhcyBubyBvdGhlciBwcm9jZXNzIHJ1bm5pbmcgYnV0 IHRoZSBhY3R1YWwgY3VscHJpdCB3YXMgdGhpcyBwcm9wZXJ0eSAiIG5pZmkucmVtb3RlLmlucHV0 LnNlY3VyZT1mYWxzZSIuIEkgc2V0IHRoZSBmbGFnIGJhY2sgdG8gdHJ1ZSBhbmQgZXZlcnl0aGlu ZyBzdGFydGVkIHdvcmtpbmcgYWdhaW4gYW5kIEkgYW0gcmVhbGx5IGNvbmZ1c2VkIGJ5IHRoaXMg dmFndWUgZXJyb3IsIHJpZ2h0IG5vdyBJIGFtIGZhY2luZyBhIGRpZmZlcmVudCBpc3N1ZSB3aGVu IEknbSB0cnlpbmcgdG8gc2VuZCBkYXRhIHZpYSBzaXRlIHRvIHNpdGUgZm9yIHRoZSBzYW1lIGlu c3RhbmNlICwgSSBrZWVwIGdldHRpbmcgdGhlIGJlbG93IHRyYWNlLg0KDQoNCkVSUk9SIFtOaUZp IFdlYiBTZXJ2ZXItNjQ2XSBvLmEubmlmaS53ZWIuYXBpLkFwcGxpY2F0aW9uUmVzb3VyY2UgVW5l eHBlY3RlZCBleGNlcHRpb24gb2NjdXJyZWQuIHBvcnRJZD00MDFhMzA4My0wMTVjLTEwMDAtNjk1 Yi1mYTI2OWZjNzQzMmYNCjIwMTctMDUtMjUgMTY6Mjg6NDcsMzQ5IEVSUk9SIFtOaUZpIFdlYiBT ZXJ2ZXItNjQ2XSBvLmEubmlmaS53ZWIuYXBpLkFwcGxpY2F0aW9uUmVzb3VyY2UgRXhjZXB0aW9u IGRldGFpbDoNCm9yZy5hcGFjaGUubmlmaS5wcm9jZXNzb3IuZXhjZXB0aW9uLlByb2Nlc3NFeGNl cHRpb246IG9yZy5hcGFjaGUubmlmaS5wcm9jZXNzb3IuZXhjZXB0aW9uLkZsb3dGaWxlQWNjZXNz RXhjZXB0aW9uOiBGYWlsZWQgdG8gaW1wb3J0IGRhdGEgZnJvbSBvcmcuYXBhY2hlLm5pZmkuc3Ry ZWFtLmlvLk1pbmltdW1MZW5ndGhJbnB1dFN0cmVhbUAxYTFjN2IyOSBmb3IgU3RhbmRhcmRGbG93 RmlsZVJlY29yZFt1dWlkPWFlYmYxZTg2LWJiMTUtNDQ1ZS1iNGZhLTRjNDZlNzUyYTc2MSxjbGFp bT0sb2Zmc2V0PTAsbmFtZT0xMzQyNDA1NDgwOTQwMTEsc2l6ZT0wXSBkdWUgdG8gb3JnLmFwYWNo ZS5uaWZpLnByb2Nlc3Nvci5leGNlcHRpb24uRmxvd0ZpbGVBY2Nlc3NFeGNlcHRpb246IFVuYWJs ZSB0byBjcmVhdGUgQ29udGVudENsYWltIGR1ZSB0byBvcmcuZWNsaXBzZS5qZXR0eS5pby5Fb2ZF eGNlcHRpb246IEVhcmx5IEVPRg0KICAgICAgICBhdCBvcmcuYXBhY2hlLm5pZmkucmVtb3RlLlN0 YW5kYXJkUm9vdEdyb3VwUG9ydC5yZWNlaXZlRmxvd0ZpbGVzKFN0YW5kYXJkUm9vdEdyb3VwUG9y dC5qYXZhOjU0MykgfltuaWZpLXNpdGUtdG8tc2l0ZS0xLjIuMC1TTkFQU0hPVC5qYXI6MS4yLjAt U05BUFNIT1RdDQogICAgICAgIGF0IG9yZy5hcGFjaGUubmlmaS53ZWIuYXBpLkRhdGFUcmFuc2Zl clJlc291cmNlLnJlY2VpdmVGbG93RmlsZXMoRGF0YVRyYW5zZmVyUmVzb3VyY2UuamF2YToyNzcp IH5bY2xhc3Nlcy86bmFdDQogICAgICAgIGF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vz c29ySW1wbC5pbnZva2UwKE5hdGl2ZSBNZXRob2QpIH5bbmE6MS44LjBfMTAxXQ0KICAgICAgICBh dCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKE5hdGl2ZU1ldGhv ZEFjY2Vzc29ySW1wbC5qYXZhOjYyKSB+W25hOjEuOC4wXzEwMV0NCiAgICAgICAgYXQgc3VuLnJl ZmxlY3QuRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoRGVsZWdhdGluZ01ldGhv ZEFjY2Vzc29ySW1wbC5qYXZhOjQzKSB+W25hOjEuOC4wXzEwMV0NCiAgICAgICAgYXQgamF2YS5s YW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZShNZXRob2QuamF2YTo0OTgpIH5bbmE6MS44LjBfMTAx XQ0KICAgICAgICBhdCBjb20uc3VuLmplcnNleS5zcGkuY29udGFpbmVyLkphdmFNZXRob2RJbnZv a2VyRmFjdG9yeSQxLmludm9rZShKYXZhTWV0aG9kSW52b2tlckZhY3RvcnkuamF2YTo2MCkgW2pl cnNleS1zZXJ2ZXItMS4xOS5qYXI6MS4xOV0NCiAgICAgICAgYXQgY29tLnN1bi5qZXJzZXkuc2Vy dmVyLmltcGwubW9kZWwubWV0aG9kLmRpc3BhdGNoLkFic3RyYWN0UmVzb3VyY2VNZXRob2REaXNw YXRjaFByb3ZpZGVyJFJlc3BvbnNlT3V0SW52b2tlci5fZGlzcGF0Y2goQWJzdHJhY3RSZXNvdXJj ZU1ldGhvZERpc3BhdGNoUHJvdmlkZXIuamF2YToyMDUpIFtqZXJzZXktc2VydmVyLTEuMTkuamFy OjEuMTldDQogICAgICAgIGF0IGNvbS5zdW4uamVyc2V5LnNlcnZlci5pbXBsLm1vZGVsLm1ldGhv ZC5kaXNwYXRjaC5SZXNvdXJjZUphdmFNZXRob2REaXNwYXRjaGVyLmRpc3BhdGNoKFJlc291cmNl SmF2YU1ldGhvZERpc3BhdGNoZXIuamF2YTo3NSkgW2plcnNleS1zZXJ2ZXItMS4xOS5qYXI6MS4x OV0NCiAgICAgICAgYXQgY29tLnN1bi5qZXJzZXkuc2VydmVyLmltcGwudXJpLnJ1bGVzLkh0dHBN ZXRob2RSdWxlLmFjY2VwdChIdHRwTWV0aG9kUnVsZS5qYXZhOjMwMikgW2plcnNleS1zZXJ2ZXIt MS4xOS5qYXI6MS4xOV0NCiAgICAgICAgYXQgY29tLnN1bi5qZXJzZXkuc2VydmVyLmltcGwudXJp LnJ1bGVzLlJpZ2h0SGFuZFBhdGhSdWxlLmFjY2VwdChSaWdodEhhbmRQYXRoUnVsZS5qYXZhOjE0 NykgW2plcnNleS1zZXJ2ZXItMS4xOS5qYXI6MS4xOV0NCiAgICAgICAgYXQgY29tLnN1bi5qZXJz ZXkuc2VydmVyLmltcGwudXJpLnJ1bGVzLlJlc291cmNlQ2xhc3NSdWxlLmFjY2VwdChSZXNvdXJj ZUNsYXNzUnVsZS5qYXZhOjEwOCkgW2plcnNleS1zZXJ2ZXItMS4xOS5qYXI6MS4xOV0NCiAgICAg ICAgYXQgY29tLnN1bi5qZXJzZXkuc2VydmVyLmltcGwudXJpLnJ1bGVzLlJpZ2h0SGFuZFBhdGhS dWxlLmFjY2VwdChSaWdodEhhbmRQYXRoUnVsZS5qYXZhOjE0NykgW2plcnNleS1zZXJ2ZXItMS4x OS5qYXI6MS4xOV0NCiAgICAgICAgYXQgY29tLnN1bi5qZXJzZXkuc2VydmVyLmltcGwudXJpLnJ1 bGVzLlJvb3RSZXNvdXJjZUNsYXNzZXNSdWxlLmFjY2VwdChSb290UmVzb3VyY2VDbGFzc2VzUnVs ZS5qYXZhOjg0KSBbamVyc2V5LXNlcnZlci0xLjE5LmphcjoxLjE5XQ0KICAgICAgICBhdCBjb20u c3VuLmplcnNleS5zZXJ2ZXIuaW1wbC5hcHBsaWNhdGlvbi5XZWJBcHBsaWNhdGlvbkltcGwuX2hh bmRsZVJlcXVlc3QoV2ViQXBwbGljYXRpb25JbXBsLmphdmE6MTU0MikgW2plcnNleS1zZXJ2ZXIt MS4xOS5qYXI6MS4xOV0NCiAgICAgICAgYXQgY29tLnN1bi5qZXJzZXkuc2VydmVyLmltcGwuYXBw bGljYXRpb24uV2ViQXBwbGljYXRpb25JbXBsLl9oYW5kbGVSZXF1ZXN0KFdlYkFwcGxpY2F0aW9u SW1wbC5qYXZhOjE0NzMpIFtqZXJzZXktc2VydmVyLTEuMTkuamFyOjEuMTldDQogICAgICAgIGF0 IGNvbS5zdW4uamVyc2V5LnNlcnZlci5pbXBsLmFwcGxpY2F0aW9uLldlYkFwcGxpY2F0aW9uSW1w bC5oYW5kbGVSZXF1ZXN0KFdlYkFwcGxpY2F0aW9uSW1wbC5qYXZhOjE0MTkpIFtqZXJzZXktc2Vy dmVyLTEuMTkuamFyOjEuMTldDQogICAgICAgIGF0IGNvbS5zdW4uamVyc2V5LnNlcnZlci5pbXBs LmFwcGxpY2F0aW9uLldlYkFwcGxpY2F0aW9uSW1wbC5oYW5kbGVSZXF1ZXN0KFdlYkFwcGxpY2F0 aW9uSW1wbC5qYXZhOjE0MDkpIFtqZXJzZXktc2VydmVyLTEuMTkuamFyOjEuMTldDQogICAgICAg IGF0IGNvbS5zdW4uamVyc2V5LnNwaS5jb250YWluZXIuc2VydmxldC5XZWJDb21wb25lbnQuc2Vy dmljZShXZWJDb21wb25lbnQuamF2YTo0MDkpIFtqZXJzZXktc2VydmxldC0xLjE5LmphcjoxLjE5 XQ0KICAgICAgICBhdCBjb20uc3VuLmplcnNleS5zcGkuY29udGFpbmVyLnNlcnZsZXQuU2Vydmxl dENvbnRhaW5lci5zZXJ2aWNlKFNlcnZsZXRDb250YWluZXIuamF2YTo1NTgpIFtqZXJzZXktc2Vy dmxldC0xLjE5LmphcjoxLjE5XQ0KICAgICAgICBhdCBjb20uc3VuLmplcnNleS5zcGkuY29udGFp bmVyLnNlcnZsZXQuU2VydmxldENvbnRhaW5lci5zZXJ2aWNlKFNlcnZsZXRDb250YWluZXIuamF2 YTo3MzMpIFtqZXJzZXktc2VydmxldC0xLjE5LmphcjoxLjE5XQ0KICAgICAgICBhdCBqYXZheC5z ZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXQuc2VydmljZShIdHRwU2VydmxldC5qYXZhOjc5MCkgW2ph dmF4LnNlcnZsZXQtYXBpLTMuMS4wLmphcjozLjEuMF0NCiAgICAgICAgYXQgb3JnLmVjbGlwc2Uu amV0dHkuc2VydmxldC5TZXJ2bGV0SG9sZGVyLmhhbmRsZShTZXJ2bGV0SG9sZGVyLmphdmE6ODQ1 KSBbamV0dHktc2VydmxldC05LjMuOS52MjAxNjA1MTcuamFyOjkuMy45LnYyMDE2MDUxN10NCiAg ICAgICAgYXQgb3JnLmVjbGlwc2UuamV0dHkuc2VydmxldC5TZXJ2bGV0SGFuZGxlciRDYWNoZWRD aGFpbi5kb0ZpbHRlcihTZXJ2bGV0SGFuZGxlci5qYXZhOjE2ODkpIFtqZXR0eS1zZXJ2bGV0LTku My45LnYyMDE2MDUxNy5qYXI6OS4zLjkudjIwMTYwNTE3XQ0KICAgICAgICBhdCBvcmcuYXBhY2hl Lm5pZmkud2ViLmZpbHRlci5SZXF1ZXN0TG9nZ2VyLmRvRmlsdGVyKFJlcXVlc3RMb2dnZXIuamF2 YTo2NikgW2NsYXNzZXMvOm5hXQ0KICAgICAgICBhdCBvcmcuZWNsaXBzZS5qZXR0eS5zZXJ2bGV0 LlNlcnZsZXRIYW5kbGVyJENhY2hlZENoYWluLmRvRmlsdGVyKFNlcnZsZXRIYW5kbGVyLmphdmE6 MTY3NikgW2pldHR5LXNlcnZsZXQtOS4zLjkudjIwMTYwNTE3Lmphcjo5LjMuOS52MjAxNjA1MTdd DQogICAgICAgIGF0IG9yZy5zcHJpbmdmcmFtZXdvcmsuc2VjdXJpdHkud2ViLkZpbHRlckNoYWlu UHJveHkkVmlydHVhbEZpbHRlckNoYWluLmRvRmlsdGVyKEZpbHRlckNoYWluUHJveHkuamF2YToz MTYpIFtzcHJpbmctc2VjdXJpdHktd2ViLTQuMC4zLlJFTEVBU0UuamFyOjQuMC4zLlJFTEVBU0Vd DQogICAgICAgIGF0IG9yZy5zcHJpbmdmcmFtZXdvcmsuc2VjdXJpdHkud2ViLmFjY2Vzcy5pbnRl cmNlcHQuRmlsdGVyU2VjdXJpdHlJbnRlcmNlcHRvci5pbnZva2UoRmlsdGVyU2VjdXJpdHlJbnRl cmNlcHRvci5qYXZhOjEyNikgW3NwcmluZy1zZWN1cml0eS13ZWItNC4wLjMuUkVMRUFTRS5qYXI6 NC4wLjMuUkVMRUFTRV0NCiAgICAgICAgYXQgb3JnLnNwcmluZ2ZyYW1ld29yay5zZWN1cml0eS53 ZWIuYWNjZXNzLmludGVyY2VwdC5GaWx0ZXJTZWN1cml0eUludGVyY2VwdG9yLmRvRmlsdGVyKEZp bHRlclNlY3VyaXR5SW50ZXJjZXB0b3IuamF2YTo5MCkgW3NwcmluZy1zZWN1cml0eS13ZWItNC4w LjMuUkVMRUFTRS5qYXI6NC4wLjMuUkVMRUFTRV0NCiAgICAgICAgYXQgb3JnLnNwcmluZ2ZyYW1l d29yay5zZWN1cml0eS53ZWIuRmlsdGVyQ2hhaW5Qcm94eSRWaXJ0dWFsRmlsdGVyQ2hhaW4uZG9G aWx0ZXIoRmlsdGVyQ2hhaW5Qcm94eS5qYXZhOjMzMCkgW3NwcmluZy1zZWN1cml0eS13ZWItNC4w LjMuUkVMRUFTRS5qYXI6NC4wLjMuUkVMRUFTRV0NCiAgICAgICAgYXQgb3JnLnNwcmluZ2ZyYW1l d29yay5zZWN1cml0eS53ZWIuc2Vzc2lvbi5TZXNzaW9uTWFuYWdlbWVudEZpbHRlci5kb0ZpbHRl cihTZXNzaW9uTWFuYWdlbWVudEZpbHRlci5qYXZhOjEyMikgW3NwcmluZy1zZWN1cml0eS13ZWIt NC4wLjMuUkVMRUFTRS5qYXI6NC4wLjMuUkVMRUFTRV0NCiAgICAgICAgYXQgb3JnLnNwcmluZ2Zy YW1ld29yay5zZWN1cml0eS53ZWIuRmlsdGVyQ2hhaW5Qcm94eSRWaXJ0dWFsRmlsdGVyQ2hhaW4u ZG9GaWx0ZXIoRmlsdGVyQ2hhaW5Qcm94eS5qYXZhOjMzMCkgW3NwcmluZy1zZWN1cml0eS13ZWIt NC4wLjMuUkVMRUFTRS5qYXI6NC4wLjMuUkVMRUFTRV0NCiAgICAgICAgYXQgb3JnLnNwcmluZ2Zy YW1ld29yay5zZWN1cml0eS53ZWIuYXV0aGVudGljYXRpb24uQW5vbnltb3VzQXV0aGVudGljYXRp b25GaWx0ZXIuZG9GaWx0ZXIoQW5vbnltb3VzQXV0aGVudGljYXRpb25GaWx0ZXIuamF2YToxMTEp IFtzcHJpbmctc2VjdXJpdHktd2ViLTQuMC4zLlJFTEVBU0UuamFyOjQuMC4zLlJFTEVBU0VdDQog ICAgICAgIGF0IG9yZy5zcHJpbmdmcmFtZXdvcmsuc2VjdXJpdHkud2ViLkZpbHRlckNoYWluUHJv eHkkVmlydHVhbEZpbHRlckNoYWluLmRvRmlsdGVyKEZpbHRlckNoYWluUHJveHkuamF2YTozMzAp IFtzcHJpbmctc2VjdXJpdHktd2ViLTQuMC4zLlJFTEVBU0UuamFyOjQuMC4zLlJFTEVBU0VdDQog ICAgICAgIGF0IG9yZy5hcGFjaGUubmlmaS53ZWIuc2VjdXJpdHkuTmlGaUF1dGhlbnRpY2F0aW9u RmlsdGVyLmRvRmlsdGVyKE5pRmlBdXRoZW50aWNhdGlvbkZpbHRlci5qYXZhOjU5KSBbbmlmaS13 ZWItc2VjdXJpdHktMS4yLjAtU05BUFNIT1QuamFyOjEuMi4wLVNOQVBTSE9UXQ0KICAgICAgICBh dCBvcmcuc3ByaW5nZnJhbWV3b3JrLnNlY3VyaXR5LndlYi5GaWx0ZXJDaGFpblByb3h5JFZpcnR1 YWxGaWx0ZXJDaGFpbi5kb0ZpbHRlcihGaWx0ZXJDaGFpblByb3h5LmphdmE6MzMwKSBbc3ByaW5n LXNlY3VyaXR5LXdlYi00LjAuMy5SRUxFQVNFLmphcjo0LjAuMy5SRUxFQVNFXQ0KICAgICAgICBh dCBvcmcuYXBhY2hlLm5pZmkud2ViLnNlY3VyaXR5Lk5pRmlBdXRoZW50aWNhdGlvbkZpbHRlci5k b0ZpbHRlcihOaUZpQXV0aGVudGljYXRpb25GaWx0ZXIuamF2YTo1OSkgW25pZmktd2ViLXNlY3Vy aXR5LTEuMi4wLVNOQVBTSE9ULmphcjoxLjIuMC1TTkFQU0hPVF0NCiAgICAgICAgYXQgb3JnLnNw cmluZ2ZyYW1ld29yay5zZWN1cml0eS53ZWIuRmlsdGVyQ2hhaW5Qcm94eSRWaXJ0dWFsRmlsdGVy Q2hhaW4uZG9GaWx0ZXIoRmlsdGVyQ2hhaW5Qcm94eS5qYXZhOjMzMCkgW3NwcmluZy1zZWN1cml0 eS13ZWItNC4wLjMuUkVMRUFTRS5qYXI6NC4wLjMuUkVMRUFTRV0NCiAgICAgICAgYXQgb3JnLmFw YWNoZS5uaWZpLndlYi5zZWN1cml0eS5OaUZpQXV0aGVudGljYXRpb25GaWx0ZXIuYXV0aGVudGlj YXRlKE5pRmlBdXRoZW50aWNhdGlvbkZpbHRlci5qYXZhOjgzKSBbbmlmaS13ZWItc2VjdXJpdHkt MS4yLjAtU05BUFNIT1QuamFyOjEuMi4wLVNOQVBTSE9UXQ0KICAgICAgICBhdCBvcmcuYXBhY2hl Lm5pZmkud2ViLnNlY3VyaXR5Lk5pRmlBdXRoZW50aWNhdGlvbkZpbHRlci5kb0ZpbHRlcihOaUZp QXV0aGVudGljYXRpb25GaWx0ZXIuamF2YTo1NykgW25pZmktd2ViLXNlY3VyaXR5LTEuMi4wLVNO QVBTSE9ULmphcjoxLjIuMC1TTkFQU0hPVF0NCiAgICAgICAgYXQgb3JnLnNwcmluZ2ZyYW1ld29y ay5zZWN1cml0eS53ZWIuRmlsdGVyQ2hhaW5Qcm94eSRWaXJ0dWFsRmlsdGVyQ2hhaW4uZG9GaWx0 ZXIoRmlsdGVyQ2hhaW5Qcm94eS5qYXZhOjMzMCkgW3NwcmluZy1zZWN1cml0eS13ZWItNC4wLjMu UkVMRUFTRS5qYXI6NC4wLjMuUkVMRUFTRV0NCiAgICAgICAgYXQgb3JnLnNwcmluZ2ZyYW1ld29y ay5zZWN1cml0eS53ZWIuRmlsdGVyQ2hhaW5Qcm94eS5kb0ZpbHRlckludGVybmFsKEZpbHRlckNo YWluUHJveHkuamF2YToyMTMpIFtzcHJpbmctc2VjdXJpdHktd2ViLTQuMC4zLlJFTEVBU0UuamFy OjQuMC4zLlJFTEVBU0VdDQogICAgICAgIGF0IG9yZy5zcHJpbmdmcmFtZXdvcmsuc2VjdXJpdHku d2ViLkZpbHRlckNoYWluUHJveHkuZG9GaWx0ZXIoRmlsdGVyQ2hhaW5Qcm94eS5qYXZhOjE3Nikg W3NwcmluZy1zZWN1cml0eS13ZWItNC4wLjMuUkVMRUFTRS5qYXI6NC4wLjMuUkVMRUFTRV0NCiAg ICAgICAgYXQgb3JnLnNwcmluZ2ZyYW1ld29yay53ZWIuZmlsdGVyLkRlbGVnYXRpbmdGaWx0ZXJQ cm94eS5pbnZva2VEZWxlZ2F0ZShEZWxlZ2F0aW5nRmlsdGVyUHJveHkuamF2YTozNDYpIFtzcHJp bmctd2ViLTQuMi40LlJFTEVBU0UuamFyOjQuMi40LlJFTEVBU0VdDQogICAgICAgIGF0IG9yZy5z cHJpbmdmcmFtZXdvcmsud2ViLmZpbHRlci5EZWxlZ2F0aW5nRmlsdGVyUHJveHkuZG9GaWx0ZXIo RGVsZWdhdGluZ0ZpbHRlclByb3h5LmphdmE6MjYyKSBbc3ByaW5nLXdlYi00LjIuNC5SRUxFQVNF Lmphcjo0LjIuNC5SRUxFQVNFXQ0KICAgICAgICBhdCBvcmcuZWNsaXBzZS5qZXR0eS5zZXJ2bGV0 LlNlcnZsZXRIYW5kbGVyJENhY2hlZENoYWluLmRvRmlsdGVyKFNlcnZsZXRIYW5kbGVyLmphdmE6 MTY3NikgW2pldHR5LXNlcnZsZXQtOS4zLjkudjIwMTYwNTE3Lmphcjo5LjMuOS52MjAxNjA1MTdd DQogICAgICAgIGF0IG9yZy5hcGFjaGUubmlmaS53ZWIuZmlsdGVyLlRpbWVyRmlsdGVyLmRvRmls dGVyKFRpbWVyRmlsdGVyLmphdmE6NTEpIFtjbGFzc2VzLzpuYV0NCiAgICAgICAgYXQgb3JnLmVj bGlwc2UuamV0dHkuc2VydmxldC5TZXJ2bGV0SGFuZGxlciRDYWNoZWRDaGFpbi5kb0ZpbHRlcihT ZXJ2bGV0SGFuZGxlci5qYXZhOjE2NjgpIFtqZXR0eS1zZXJ2bGV0LTkuMy45LnYyMDE2MDUxNy5q YXI6OS4zLjkudjIwMTYwNTE3XQ0KICAgICAgICBhdCBvcmcuZWNsaXBzZS5qZXR0eS5zZXJ2bGV0 LlNlcnZsZXRIYW5kbGVyLmRvSGFuZGxlKFNlcnZsZXRIYW5kbGVyLmphdmE6NTgxKSBbamV0dHkt c2VydmxldC05LjMuOS52MjAxNjA1MTcuamFyOjkuMy45LnYyMDE2MDUxN10NCiAgICAgICAgYXQg b3JnLmVjbGlwc2UuamV0dHkuc2VydmVyLmhhbmRsZXIuU2NvcGVkSGFuZGxlci5oYW5kbGUoU2Nv cGVkSGFuZGxlci5qYXZhOjE0MykgW2pldHR5LXNlcnZlci05LjMuOS52MjAxNjA1MTcuamFyOjku My45LnYyMDE2MDUxN10NCiAgICAgICAgYXQgb3JnLmVjbGlwc2UuamV0dHkuc2VjdXJpdHkuU2Vj dXJpdHlIYW5kbGVyLmhhbmRsZShTZWN1cml0eUhhbmRsZXIuamF2YTo1NDgpIFtqZXR0eS1zZWN1 cml0eS05LjMuOS52MjAxNjA1MTcuamFyOjkuMy45LnYyMDE2MDUxN10NCiAgICAgICAgYXQgb3Jn LmVjbGlwc2UuamV0dHkuc2VydmVyLnNlc3Npb24uU2Vzc2lvbkhhbmRsZXIuZG9IYW5kbGUoU2Vz c2lvbkhhbmRsZXIuamF2YToyMjYpIFtqZXR0eS1zZXJ2ZXItOS4zLjkudjIwMTYwNTE3Lmphcjo5 LjMuOS52MjAxNjA1MTddDQogICAgICAgIGF0IG9yZy5lY2xpcHNlLmpldHR5LnNlcnZlci5oYW5k bGVyLkNvbnRleHRIYW5kbGVyLmRvSGFuZGxlKENvbnRleHRIYW5kbGVyLmphdmE6MTE3NCkgW2pl dHR5LXNlcnZlci05LjMuOS52MjAxNjA1MTcuamFyOjkuMy45LnYyMDE2MDUxN10NCiAgICAgICAg YXQgb3JnLmVjbGlwc2UuamV0dHkuc2VydmxldC5TZXJ2bGV0SGFuZGxlci5kb1Njb3BlKFNlcnZs ZXRIYW5kbGVyLmphdmE6NTExKSBbamV0dHktc2VydmxldC05LjMuOS52MjAxNjA1MTcuamFyOjku My45LnYyMDE2MDUxN10NCiAgICAgICAgYXQgb3JnLmVjbGlwc2UuamV0dHkuc2VydmVyLnNlc3Np b24uU2Vzc2lvbkhhbmRsZXIuZG9TY29wZShTZXNzaW9uSGFuZGxlci5qYXZhOjE4NSkgW2pldHR5 LXNlcnZlci05LjMuOS52MjAxNjA1MTcuamFyOjkuMy45LnYyMDE2MDUxN10NCiAgICAgICAgYXQg b3JnLmVjbGlwc2UuamV0dHkuc2VydmVyLmhhbmRsZXIuQ29udGV4dEhhbmRsZXIuZG9TY29wZShD b250ZXh0SGFuZGxlci5qYXZhOjExMDYpIFtqZXR0eS1zZXJ2ZXItOS4zLjkudjIwMTYwNTE3Lmph cjo5LjMuOS52MjAxNjA1MTddDQogICAgICAgIGF0IG9yZy5lY2xpcHNlLmpldHR5LnNlcnZlci5o YW5kbGVyLlNjb3BlZEhhbmRsZXIuaGFuZGxlKFNjb3BlZEhhbmRsZXIuamF2YToxNDEpIFtqZXR0 eS1zZXJ2ZXItOS4zLjkudjIwMTYwNTE3Lmphcjo5LjMuOS52MjAxNjA1MTddDQogICAgICAgIGF0 IG9yZy5lY2xpcHNlLmpldHR5LnNlcnZlci5oYW5kbGVyLkhhbmRsZXJDb2xsZWN0aW9uLmhhbmRs ZShIYW5kbGVyQ29sbGVjdGlvbi5qYXZhOjExOSkgW2pldHR5LXNlcnZlci05LjMuOS52MjAxNjA1 MTcuamFyOjkuMy45LnYyMDE2MDUxN10NCiAgICAgICAgYXQgb3JnLmVjbGlwc2UuamV0dHkuc2Vy dmVyLmhhbmRsZXIuZ3ppcC5HemlwSGFuZGxlci5oYW5kbGUoR3ppcEhhbmRsZXIuamF2YTo0NTkp IFtqZXR0eS1zZXJ2ZXItOS4zLjkudjIwMTYwNTE3Lmphcjo5LjMuOS52MjAxNjA1MTddDQogICAg ICAgIGF0IG9yZy5lY2xpcHNlLmpldHR5LnNlcnZlci5oYW5kbGVyLkhhbmRsZXJXcmFwcGVyLmhh bmRsZShIYW5kbGVyV3JhcHBlci5qYXZhOjEzNCkgW2pldHR5LXNlcnZlci05LjMuOS52MjAxNjA1 MTcuamFyOjkuMy45LnYyMDE2MDUxN10NCiAgICAgICAgYXQgb3JnLmVjbGlwc2UuamV0dHkuc2Vy dmVyLlNlcnZlci5oYW5kbGUoU2VydmVyLmphdmE6NTI0KSBbamV0dHktc2VydmVyLTkuMy45LnYy MDE2MDUxNy5qYXI6OS4zLjkudjIwMTYwNTE3XQ0KICAgICAgICBhdCBvcmcuZWNsaXBzZS5qZXR0 eS5zZXJ2ZXIuSHR0cENoYW5uZWwuaGFuZGxlKEh0dHBDaGFubmVsLmphdmE6MzE5KSBbamV0dHkt c2VydmVyLTkuMy45LnYyMDE2MDUxNy5qYXI6OS4zLjkudjIwMTYwNTE3XQ0KICAgICAgICBhdCBv cmcuZWNsaXBzZS5qZXR0eS5zZXJ2ZXIuSHR0cENvbm5lY3Rpb24ub25GaWxsYWJsZShIdHRwQ29u bmVjdGlvbi5qYXZhOjI1MykgW2pldHR5LXNlcnZlci05LjMuOS52MjAxNjA1MTcuamFyOjkuMy45 LnYyMDE2MDUxN10NCiAgICAgICAgYXQgb3JnLmVjbGlwc2UuamV0dHkuaW8uQWJzdHJhY3RDb25u ZWN0aW9uJFJlYWRDYWxsYmFjay5zdWNjZWVkZWQoQWJzdHJhY3RDb25uZWN0aW9uLmphdmE6Mjcz KSBbamV0dHktaW8tOS4zLjkudjIwMTYwNTE3Lmphcjo5LjMuOS52MjAxNjA1MTddDQogICAgICAg IGF0IG9yZy5lY2xpcHNlLmpldHR5LmlvLkZpbGxJbnRlcmVzdC5maWxsYWJsZShGaWxsSW50ZXJl c3QuamF2YTo5NSkgW2pldHR5LWlvLTkuMy45LnYyMDE2MDUxNy5qYXI6OS4zLjkudjIwMTYwNTE3 XQ0KICAgICAgICBhdCBvcmcuZWNsaXBzZS5qZXR0eS5pby5zc2wuU3NsQ29ubmVjdGlvbi5vbkZp bGxhYmxlKFNzbENvbm5lY3Rpb24uamF2YToxODYpIFtqZXR0eS1pby05LjMuOS52MjAxNjA1MTcu amFyOjkuMy45LnYyMDE2MDUxN10NCiAgICAgICAgYXQgb3JnLmVjbGlwc2UuamV0dHkuaW8uQWJz dHJhY3RDb25uZWN0aW9uJFJlYWRDYWxsYmFjay5zdWNjZWVkZWQoQWJzdHJhY3RDb25uZWN0aW9u LmphdmE6MjczKSBbamV0dHktaW8tOS4zLjkudjIwMTYwNTE3Lmphcjo5LjMuOS52MjAxNjA1MTdd DQogICAgICAgIGF0IG9yZy5lY2xpcHNlLmpldHR5LmlvLkZpbGxJbnRlcmVzdC5maWxsYWJsZShG aWxsSW50ZXJlc3QuamF2YTo5NSkgW2pldHR5LWlvLTkuMy45LnYyMDE2MDUxNy5qYXI6OS4zLjku djIwMTYwNTE3XQ0KICAgICAgICBhdCBvcmcuZWNsaXBzZS5qZXR0eS5pby5TZWxlY3RDaGFubmVs RW5kUG9pbnQkMi5ydW4oU2VsZWN0Q2hhbm5lbEVuZFBvaW50LmphdmE6OTMpIFtqZXR0eS1pby05 LjMuOS52MjAxNjA1MTcuamFyOjkuMy45LnYyMDE2MDUxN10NCiAgICAgICAgYXQgb3JnLmVjbGlw c2UuamV0dHkudXRpbC50aHJlYWQuc3RyYXRlZ3kuRXhlY3V0ZVByb2R1Y2VDb25zdW1lLmV4ZWN1 dGVQcm9kdWNlQ29uc3VtZShFeGVjdXRlUHJvZHVjZUNvbnN1bWUuamF2YTozMDMpIFtqZXR0eS11 dGlsLTkuMy45LnYyMDE2MDUxNy5qYXI6OS4zLjkudjIwMTYwNTE3XQ0KICAgICAgICBhdCBvcmcu ZWNsaXBzZS5qZXR0eS51dGlsLnRocmVhZC5zdHJhdGVneS5FeGVjdXRlUHJvZHVjZUNvbnN1bWUu cHJvZHVjZUNvbnN1bWUoRXhlY3V0ZVByb2R1Y2VDb25zdW1lLmphdmE6MTQ4KSBbamV0dHktdXRp bC05LjMuOS52MjAxNjA1MTcuamFyOjkuMy45LnYyMDE2MDUxN10NCiAgICAgICAgYXQgb3JnLmVj bGlwc2UuamV0dHkudXRpbC50aHJlYWQuc3RyYXRlZ3kuRXhlY3V0ZVByb2R1Y2VDb25zdW1lLnJ1 bihFeGVjdXRlUHJvZHVjZUNvbnN1bWUuamF2YToxMzYpIFtqZXR0eS11dGlsLTkuMy45LnYyMDE2 MDUxNy5qYXI6OS4zLjkudjIwMTYwNTE3XQ0KICAgICAgICBhdCBvcmcuZWNsaXBzZS5qZXR0eS51 dGlsLnRocmVhZC5RdWV1ZWRUaHJlYWRQb29sLnJ1bkpvYihRdWV1ZWRUaHJlYWRQb29sLmphdmE6 NjcxKSBbamV0dHktdXRpbC05LjMuOS52MjAxNjA1MTcuamFyOjkuMy45LnYyMDE2MDUxN10NCiAg ICAgICAgYXQgb3JnLmVjbGlwc2UuamV0dHkudXRpbC50aHJlYWQuUXVldWVkVGhyZWFkUG9vbCQy LnJ1bihRdWV1ZWRUaHJlYWRQb29sLmphdmE6NTg5KSBbamV0dHktdXRpbC05LjMuOS52MjAxNjA1 MTcuamFyOjkuMy45LnYyMDE2MDUxN10NCiAgICAgICAgYXQgamF2YS5sYW5nLlRocmVhZC5ydW4o VGhyZWFkLmphdmE6NzQ1KSBbbmE6MS44LjBfMTAxXQ0KQ2F1c2VkIGJ5OiBvcmcuYXBhY2hlLm5p ZmkucHJvY2Vzc29yLmV4Y2VwdGlvbi5GbG93RmlsZUFjY2Vzc0V4Y2VwdGlvbjogRmFpbGVkIHRv IGltcG9ydCBkYXRhIGZyb20gb3JnLmFwYWNoZS5uaWZpLnN0cmVhbS5pby5NaW5pbXVtTGVuZ3Ro SW5wdXRTdHJlYW1AMWExYzdiMjkgZm9yIFN0YW5kYXJkRmxvd0ZpbGVSZWNvcmRbdXVpZD1hZWJm MWU4Ni1iYjE1LTQ0NWUtYjRmYS00YzQ2ZTc1MmE3NjEsY2xhaW09LG9mZnNldD0wLG5hbWU9MTM0 MjQwNTQ4MDk0MDExLHNpemU9MF0gZHVlIHRvIG9yZy5hcGFjaGUubmlmaS5wcm9jZXNzb3IuZXhj ZXB0aW9uLkZsb3dGaWxlQWNjZXNzRXhjZXB0aW9uOiBVbmFibGUgdG8gY3JlYXRlIENvbnRlbnRD bGFpbSBkdWUgdG8gb3JnLmVjbGlwc2UuamV0dHkuaW8uRW9mRXhjZXB0aW9uOiBFYXJseSBFT0YN CiAgICAgICAgYXQgb3JnLmFwYWNoZS5uaWZpLmNvbnRyb2xsZXIucmVwb3NpdG9yeS5TdGFuZGFy ZFByb2Nlc3NTZXNzaW9uLmltcG9ydEZyb20oU3RhbmRhcmRQcm9jZXNzU2Vzc2lvbi5qYXZhOjI2 OTApIH5bbmlmaS1mcmFtZXdvcmstY29yZS0xLjIuMC1TTkFQU0hPVC5qYXI6MS4yLjAtU05BUFNI T1RdDQogICAgICAgIGF0IG9yZy5hcGFjaGUubmlmaS5yZW1vdGUucHJvdG9jb2wuQWJzdHJhY3RG bG93RmlsZVNlcnZlclByb3RvY29sLnJlY2VpdmVGbG93RmlsZXMoQWJzdHJhY3RGbG93RmlsZVNl cnZlclByb3RvY29sLmphdmE6NDQ4KSB+W25pZmktc2l0ZS10by1zaXRlLTEuMi4wLVNOQVBTSE9U LmphcjoxLjIuMC1TTkFQU0hPVF0NCiAgICAgICAgYXQgb3JnLmFwYWNoZS5uaWZpLnJlbW90ZS5T dGFuZGFyZFJvb3RHcm91cFBvcnQucmVjZWl2ZUZsb3dGaWxlcyhTdGFuZGFyZFJvb3RHcm91cFBv cnQuamF2YToyNjIpIH5bbmlmaS1zaXRlLXRvLXNpdGUtMS4yLjAtU05BUFNIT1QuamFyOjEuMi4w LVNOQVBTSE9UXQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLm5pZmkucmVtb3RlLlN0YW5kYXJkUm9v dEdyb3VwUG9ydC5vblRyaWdnZXIoU3RhbmRhcmRSb290R3JvdXBQb3J0LmphdmE6MjM2KSB+W25p Zmktc2l0ZS10by1zaXRlLTEuMi4wLVNOQVBTSE9ULmphcjoxLjIuMC1TTkFQU0hPVF0NCiAgICAg ICAgYXQgb3JnLmFwYWNoZS5uaWZpLnJlbW90ZS5TdGFuZGFyZFJvb3RHcm91cFBvcnQub25Ucmln Z2VyKFN0YW5kYXJkUm9vdEdyb3VwUG9ydC5qYXZhOjE3MSkgfltuaWZpLXNpdGUtdG8tc2l0ZS0x LjIuMC1TTkFQU0hPVC5qYXI6MS4yLjAtU05BUFNIT1RdDQogICAgICAgIGF0IG9yZy5hcGFjaGUu bmlmaS5jb250cm9sbGVyLnRhc2tzLkNvbnRpbnVhbGx5UnVuQ29ubmVjdGFibGVUYXNrLmNhbGwo Q29udGludWFsbHlSdW5Db25uZWN0YWJsZVRhc2suamF2YTo4MCkgfltuaWZpLWZyYW1ld29yay1j b3JlLTEuMi4wLVNOQVBTSE9ULmphcjoxLjIuMC1TTkFQU0hPVF0NCiAgICAgICAgYXQgb3JnLmFw YWNoZS5uaWZpLmNvbnRyb2xsZXIudGFza3MuQ29udGludWFsbHlSdW5Db25uZWN0YWJsZVRhc2su Y2FsbChDb250aW51YWxseVJ1bkNvbm5lY3RhYmxlVGFzay5qYXZhOjQwKSB+W25pZmktZnJhbWV3 b3JrLWNvcmUtMS4yLjAtU05BUFNIT1QuamFyOjEuMi4wLVNOQVBTSE9UXQ0KICAgICAgICBhdCBv cmcuYXBhY2hlLm5pZmkuY29udHJvbGxlci5zY2hlZHVsaW5nLlRpbWVyRHJpdmVuU2NoZWR1bGlu Z0FnZW50JDEucnVuKFRpbWVyRHJpdmVuU2NoZWR1bGluZ0FnZW50LmphdmE6MTMyKSB+W25pZmkt ZnJhbWV3b3JrLWNvcmUtMS4yLjAtU05BUFNIT1QuamFyOjEuMi4wLVNOQVBTSE9UXQ0KICAgICAg ICBhdCBqYXZhLnV0aWwuY29uY3VycmVudC5FeGVjdXRvcnMkUnVubmFibGVBZGFwdGVyLmNhbGwo RXhlY3V0b3JzLmphdmE6NTExKSB+W25hOjEuOC4wXzEwMV0NCiAgICAgICAgYXQgamF2YS51dGls LmNvbmN1cnJlbnQuRnV0dXJlVGFzay5ydW5BbmRSZXNldChGdXR1cmVUYXNrLmphdmE6MzA4KSB+ W25hOjEuOC4wXzEwMV0NCiAgICAgICAgYXQgamF2YS51dGlsLmNvbmN1cnJlbnQuU2NoZWR1bGVk VGhyZWFkUG9vbEV4ZWN1dG9yJFNjaGVkdWxlZEZ1dHVyZVRhc2suYWNjZXNzJDMwMShTY2hlZHVs ZWRUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxODApIH5bbmE6MS44LjBfMTAxXQ0KICAgICAgICBh dCBqYXZhLnV0aWwuY29uY3VycmVudC5TY2hlZHVsZWRUaHJlYWRQb29sRXhlY3V0b3IkU2NoZWR1 bGVkRnV0dXJlVGFzay5ydW4oU2NoZWR1bGVkVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6Mjk0KSB+ W25hOjEuOC4wXzEwMV0NCiAgICAgICAgYXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9v bEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQyKSB+W25hOjEu OC4wXzEwMV0NCiAgICAgICAgYXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1 dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjE3KSB+W25hOjEuOC4wXzEw MV0NCiAgICAgICAgLi4uIDEgY29tbW9uIGZyYW1lcyBvbWl0dGVkDQpDYXVzZWQgYnk6IG9yZy5h cGFjaGUubmlmaS5wcm9jZXNzb3IuZXhjZXB0aW9uLkZsb3dGaWxlQWNjZXNzRXhjZXB0aW9uOiBV bmFibGUgdG8gY3JlYXRlIENvbnRlbnRDbGFpbSBkdWUgdG8gb3JnLmVjbGlwc2UuamV0dHkuaW8u RW9mRXhjZXB0aW9uOiBFYXJseSBFT0YNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5uaWZpLmNvbnRy b2xsZXIucmVwb3NpdG9yeS5TdGFuZGFyZFByb2Nlc3NTZXNzaW9uLmltcG9ydEZyb20oU3RhbmRh cmRQcm9jZXNzU2Vzc2lvbi5qYXZhOjI2ODMpIH5bbmlmaS1mcmFtZXdvcmstY29yZS0xLjIuMC1T TkFQU0hPVC5qYXI6MS4yLjAtU05BUFNIT1RdDQogICAgICAgIC4uLiAxNCBjb21tb24gZnJhbWVz IG9taXR0ZWQNCkNhdXNlZCBieTogb3JnLmVjbGlwc2UuamV0dHkuaW8uRW9mRXhjZXB0aW9uOiBF YXJseSBFT0YNCiAgICAgICAgYXQgb3JnLmVjbGlwc2UuamV0dHkuc2VydmVyLkh0dHBJbnB1dCQz Lm5vQ29udGVudChIdHRwSW5wdXQuamF2YTo4MjEpIH5bbmE6bmFdDQogICAgICAgIGF0IG9yZy5l Y2xpcHNlLmpldHR5LnNlcnZlci5IdHRwSW5wdXQucmVhZChIdHRwSW5wdXQuamF2YToxNjApIH5b bmE6bmFdDQogICAgICAgIGF0IG9yZy5hcGFjaGUubmlmaS5yZW1vdGUuaW8uSW50ZXJydXB0YWJs ZUlucHV0U3RyZWFtLnJlYWQoSW50ZXJydXB0YWJsZUlucHV0U3RyZWFtLmphdmE6NTcpIH5bbmlm aS11dGlscy0xLjIuMC1TTkFQU0hPVC5qYXI6MS4yLjAtU05BUFNIT1RdDQogICAgICAgIGF0IG9y Zy5hcGFjaGUubmlmaS5zdHJlYW0uaW8uQnl0ZUNvdW50aW5nSW5wdXRTdHJlYW0ucmVhZChCeXRl Q291bnRpbmdJbnB1dFN0cmVhbS5qYXZhOjUxKSB+W25pZmktdXRpbHMtMS4yLjAtU05BUFNIT1Qu amFyOjEuMi4wLVNOQVBTSE9UXQ0KICAgICAgICBhdCBqYXZhLmlvLkRhdGFJbnB1dFN0cmVhbS5y ZWFkKERhdGFJbnB1dFN0cmVhbS5qYXZhOjE0OSkgfltuYToxLjguMF8xMDFdDQogICAgICAgIGF0 IGphdmEudXRpbC56aXAuQ2hlY2tlZElucHV0U3RyZWFtLnJlYWQoQ2hlY2tlZElucHV0U3RyZWFt LmphdmE6ODIpIH5bbmE6MS44LjBfMTAxXQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLm5pZmkuc3Ry ZWFtLmlvLkxpbWl0aW5nSW5wdXRTdHJlYW0ucmVhZChMaW1pdGluZ0lucHV0U3RyZWFtLmphdmE6 ODgpIH5bbmlmaS11dGlscy0xLjIuMC1TTkFQU0hPVC5qYXI6MS4yLjAtU05BUFNIT1RdDQogICAg ICAgIGF0IGphdmEuaW8uRmlsdGVySW5wdXRTdHJlYW0ucmVhZChGaWx0ZXJJbnB1dFN0cmVhbS5q YXZhOjEzMykgfltuYToxLjguMF8xMDFdDQogICAgICAgIGF0IG9yZy5hcGFjaGUubmlmaS5zdHJl YW0uaW8uTWluaW11bUxlbmd0aElucHV0U3RyZWFtLnJlYWQoTWluaW11bUxlbmd0aElucHV0U3Ry ZWFtLmphdmE6NTcpIH5bbmlmaS11dGlscy0xLjIuMC1TTkFQU0hPVC5qYXI6MS4yLjAtU05BUFNI T1RdDQogICAgICAgIGF0IG9yZy5hcGFjaGUubmlmaS5zdHJlYW0uaW8uTWluaW11bUxlbmd0aElu cHV0U3RyZWFtLnJlYWQoTWluaW11bUxlbmd0aElucHV0U3RyZWFtLmphdmE6NTMpIH5bbmlmaS11 dGlscy0xLjIuMC1TTkFQU0hPVC5qYXI6MS4yLjAtU05BUFNIT1RdDQogICAgICAgIGF0IG9yZy5h cGFjaGUubmlmaS5zdHJlYW0uaW8uU3RyZWFtVXRpbHMuY29weShTdHJlYW1VdGlscy5qYXZhOjM1 KSB+W25pZmktdXRpbHMtMS4yLjAtU05BUFNIT1QuamFyOjEuMi4wLVNOQVBTSE9UXQ0KICAgICAg ICBhdCBvcmcuYXBhY2hlLm5pZmkuY29udHJvbGxlci5yZXBvc2l0b3J5LkZpbGVTeXN0ZW1SZXBv c2l0b3J5LmltcG9ydEZyb20oRmlsZVN5c3RlbVJlcG9zaXRvcnkuamF2YTo3MDApIH5bbmlmaS1m cmFtZXdvcmstY29yZS0xLjIuMC1TTkFQU0hPVC5qYXI6MS4yLjAtU05BUFNIT1RdDQogICAgICAg IGF0IG9yZy5hcGFjaGUubmlmaS5jb250cm9sbGVyLnJlcG9zaXRvcnkuU3RhbmRhcmRQcm9jZXNz U2Vzc2lvbi5pbXBvcnRGcm9tKFN0YW5kYXJkUHJvY2Vzc1Nlc3Npb24uamF2YToyNjgwKSB+W25p ZmktZnJhbWV3b3JrLWNvcmUtMS4yLjAtU05BUFNIT1QuamFyOjEuMi4wLVNOQVBTSE9UXQ0KICAg ICAgICAuLi4gMTQgY29tbW9uIGZyYW1lcyBvbWl0dGVkDQoyMDE3LTA1LTI1IDE2OjI4OjQ3LDM1 MCBXQVJOIFtOaUZpIFdlYiBTZXJ2ZXItNjQ2XSBvcmcuZWNsaXBzZS5qZXR0eS5zZXJ2bGV0LlNl cnZsZXRIYW5kbGVyIC9uaWZpLWFwaS9kYXRhLXRyYW5zZmVyL2lucHV0LXBvcnRzLzQwMWEzMDgz LTAxNWMtMTAwMC02OTViLWZhMjY5ZmM3NDMyZi90cmFuc2FjdGlvbnMvZWYxYWE2YTgtNGVlNC00 NjI4LTgyNmItZWNlMmM5YWYyNDQxL2Zsb3ctZmlsZXMNCmphdmEubmlvLmNoYW5uZWxzLkNsb3Nl ZENoYW5uZWxFeGNlcHRpb246IG51bGwNCiAgICAgICAgYXQgb3JnLmVjbGlwc2UuamV0dHkudXRp bC5JdGVyYXRpbmdDYWxsYmFjay5jbG9zZShJdGVyYXRpbmdDYWxsYmFjay5qYXZhOjQyNykgfltq ZXR0eS11dGlsLTkuMy45LnYyMDE2MDUxNy5qYXI6OS4zLjkudjIwMTYwNTE3XQ0KICAgICAgICBh dCBvcmcuZWNsaXBzZS5qZXR0eS5zZXJ2ZXIuSHR0cENvbm5lY3Rpb24ub25DbG9zZShIdHRwQ29u bmVjdGlvbi5qYXZhOjQ5MSkgfltqZXR0eS1zZXJ2ZXItOS4zLjkudjIwMTYwNTE3Lmphcjo5LjMu OS52MjAxNjA1MTddDQogICAgICAgIGF0IG9yZy5lY2xpcHNlLmpldHR5LmlvLnNzbC5Tc2xDb25u ZWN0aW9uLm9uQ2xvc2UoU3NsQ29ubmVjdGlvbi5qYXZhOjE1MikgfltqZXR0eS1pby05LjMuOS52 MjAxNjA1MTcuamFyOjkuMy45LnYyMDE2MDUxN10NCiAgICAgICAgYXQgb3JnLmVjbGlwc2UuamV0 dHkuaW8uU2VsZWN0b3JNYW5hZ2VyLmNvbm5lY3Rpb25DbG9zZWQoU2VsZWN0b3JNYW5hZ2VyLmph dmE6MzQ1KSB+W2pldHR5LWlvLTkuMy45LnYyMDE2MDUxNy5qYXI6OS4zLjkudjIwMTYwNTE3XQ0K ICAgICAgICBhdCBvcmcuZWNsaXBzZS5qZXR0eS5pby5NYW5hZ2VkU2VsZWN0b3IkMi5ydW4oTWFu YWdlZFNlbGVjdG9yLmphdmE6NDQyKSB+W2pldHR5LWlvLTkuMy45LnYyMDE2MDUxNy5qYXI6OS4z LjkudjIwMTYwNTE3XQ0KICAgICAgICBhdCBvcmcuZWNsaXBzZS5qZXR0eS51dGlsLnRocmVhZC5z dHJhdGVneS5FeGVjdXRlUHJvZHVjZUNvbnN1bWUuZXhlY3V0ZVByb2R1Y2VDb25zdW1lKEV4ZWN1 dGVQcm9kdWNlQ29uc3VtZS5qYXZhOjMwMykgW2pldHR5LXV0aWwtOS4zLjkudjIwMTYwNTE3Lmph cjo5LjMuOS52MjAxNjA1MTddDQogICAgICAgIGF0IG9yZy5lY2xpcHNlLmpldHR5LnV0aWwudGhy ZWFkLnN0cmF0ZWd5LkV4ZWN1dGVQcm9kdWNlQ29uc3VtZS5wcm9kdWNlQ29uc3VtZShFeGVjdXRl UHJvZHVjZUNvbnN1bWUuamF2YToxNDgpIFtqZXR0eS11dGlsLTkuMy45LnYyMDE2MDUxNy5qYXI6 OS4zLjkudjIwMTYwNTE3XQ0KICAgICAgICBhdCBvcmcuZWNsaXBzZS5qZXR0eS51dGlsLnRocmVh ZC5zdHJhdGVneS5FeGVjdXRlUHJvZHVjZUNvbnN1bWUucnVuKEV4ZWN1dGVQcm9kdWNlQ29uc3Vt ZS5qYXZhOjEzNikgW2pldHR5LXV0aWwtOS4zLjkudjIwMTYwNTE3Lmphcjo5LjMuOS52MjAxNjA1 MTddDQogICAgICAgIGF0IG9yZy5lY2xpcHNlLmpldHR5LnV0aWwudGhyZWFkLlF1ZXVlZFRocmVh ZFBvb2wucnVuSm9iKFF1ZXVlZFRocmVhZFBvb2wuamF2YTo2NzEpIFtqZXR0eS11dGlsLTkuMy45 LnYyMDE2MDUxNy5qYXI6OS4zLjkudjIwMTYwNTE3XQ0KICAgICAgICBhdCBvcmcuZWNsaXBzZS5q ZXR0eS51dGlsLnRocmVhZC5RdWV1ZWRUaHJlYWRQb29sJDIucnVuKFF1ZXVlZFRocmVhZFBvb2wu amF2YTo1ODkpIFtqZXR0eS11dGlsLTkuMy45LnYyMDE2MDUxNy5qYXI6OS4zLjkudjIwMTYwNTE3 XQ0KICAgICAgICBhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDUpIFtuYTox LjguMF8xMDFdDQoyMDE3LTA1LTI1IDE2OjI4OjQ3LDM1MSBXQVJOIFtOaUZpIFdlYiBTZXJ2ZXIt NjQ2XSBvcmcuZWNsaXBzZS5qZXR0eS5zZXJ2ZXIuSHR0cENoYW5uZWwgaHR0cHM6Ly9kb21haW46 ODQ0My9uaWZpLWFwaS9kYXRhLXRyYW5zZmVyL2lucHV0LXBvcnRzLzQwMWEzMDgzLTAxNWMtMTAw MC02OTViLWZhMjY5ZmM3NDMyZi90cmFuc2FjdGlvbnMvZWYxYWE2YTgtNGVlNC00NjI4LTgyNmIt ZWNlMmM5YWYyNDQxL2Zsb3ctZmlsZXMNCmphdmEubmlvLmNoYW5uZWxzLkNsb3NlZENoYW5uZWxF eGNlcHRpb246IG51bGwNCiAgICAgICAgYXQgb3JnLmVjbGlwc2UuamV0dHkudXRpbC5JdGVyYXRp bmdDYWxsYmFjay5jbG9zZShJdGVyYXRpbmdDYWxsYmFjay5qYXZhOjQyNykgfltqZXR0eS11dGls LTkuMy45LnYyMDE2MDUxNy5qYXI6OS4zLjkudjIwMTYwNTE3XQ0KICAgICAgICBhdCBvcmcuZWNs aXBzZS5qZXR0eS5zZXJ2ZXIuSHR0cENvbm5lY3Rpb24ub25DbG9zZShIdHRwQ29ubmVjdGlvbi5q YXZhOjQ5MSkgfltqZXR0eS1zZXJ2ZXItOS4zLjkudjIwMTYwNTE3Lmphcjo5LjMuOS52MjAxNjA1 MTddDQogICAgICAgIGF0IG9yZy5lY2xpcHNlLmpldHR5LmlvLnNzbC5Tc2xDb25uZWN0aW9uLm9u Q2xvc2UoU3NsQ29ubmVjdGlvbi5qYXZhOjE1MikgfltqZXR0eS1pby05LjMuOS52MjAxNjA1MTcu amFyOjkuMy45LnYyMDE2MDUxN10NCiAgICAgICAgYXQgb3JnLmVjbGlwc2UuamV0dHkuaW8uU2Vs ZWN0b3JNYW5hZ2VyLmNvbm5lY3Rpb25DbG9zZWQoU2VsZWN0b3JNYW5hZ2VyLmphdmE6MzQ1KSB+ W2pldHR5LWlvLTkuMy45LnYyMDE2MDUxNy5qYXI6OS4zLjkudjIwMTYwNTE3XQ0KICAgICAgICBh dCBvcmcuZWNsaXBzZS5qZXR0eS5pby5NYW5hZ2VkU2VsZWN0b3IkMi5ydW4oTWFuYWdlZFNlbGVj dG9yLmphdmE6NDQyKSB+W2pldHR5LWlvLTkuMy45LnYyMDE2MDUxNy5qYXI6OS4zLjkudjIwMTYw NTE3XQ0KICAgICAgICBhdCBvcmcuZWNsaXBzZS5qZXR0eS51dGlsLnRocmVhZC5zdHJhdGVneS5F eGVjdXRlUHJvZHVjZUNvbnN1bWUuZXhlY3V0ZVByb2R1Y2VDb25zdW1lKEV4ZWN1dGVQcm9kdWNl Q29uc3VtZS5qYXZhOjMwMykgW2pldHR5LXV0aWwtOS4zLjkudjIwMTYwNTE3Lmphcjo5LjMuOS52 MjAxNjA1MTddDQogICAgICAgIGF0IG9yZy5lY2xpcHNlLmpldHR5LnV0aWwudGhyZWFkLnN0cmF0 ZWd5LkV4ZWN1dGVQcm9kdWNlQ29uc3VtZS5wcm9kdWNlQ29uc3VtZShFeGVjdXRlUHJvZHVjZUNv bnN1bWUuamF2YToxNDgpIFtqZXR0eS11dGlsLTkuMy45LnYyMDE2MDUxNy5qYXI6OS4zLjkudjIw MTYwNTE3XQ0KICAgICAgICBhdCBvcmcuZWNsaXBzZS5qZXR0eS51dGlsLnRocmVhZC5zdHJhdGVn eS5FeGVjdXRlUHJvZHVjZUNvbnN1bWUucnVuKEV4ZWN1dGVQcm9kdWNlQ29uc3VtZS5qYXZhOjEz NikgW2pldHR5LXV0aWwtOS4zLjkudjIwMTYwNTE3Lmphcjo5LjMuOS52MjAxNjA1MTddDQogICAg ICAgIGF0IG9yZy5lY2xpcHNlLmpldHR5LnV0aWwudGhyZWFkLlF1ZXVlZFRocmVhZFBvb2wucnVu Sm9iKFF1ZXVlZFRocmVhZFBvb2wuamF2YTo2NzEpIFtqZXR0eS11dGlsLTkuMy45LnYyMDE2MDUx Ny5qYXI6OS4zLjkudjIwMTYwNTE3XQ0KICAgICAgICBhdCBvcmcuZWNsaXBzZS5qZXR0eS51dGls LnRocmVhZC5RdWV1ZWRUaHJlYWRQb29sJDIucnVuKFF1ZXVlZFRocmVhZFBvb2wuamF2YTo1ODkp IFtqZXR0eS11dGlsLTkuMy45LnYyMDE2MDUxNy5qYXI6OS4zLjkudjIwMTYwNTE3XQ0KICAgICAg ICBhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDUpIFtuYToxLjguMF8xMDFd DQoyMDE3LTA1LTI1IDE2OjI4OjQ3LDkyMiBJTkZPIFtUaW1lci1Ecml2ZW4gUHJvY2VzcyBUaHJl YWQtM10gby5hcGFjaGUubmlmaS5yZW1vdGUuY2xpZW50LlBlZXJTZWxlY3RvciBOZXcgV2VpZ2h0 ZWQgRGlzdHJpYnV0aW9uIG9mIE5vZGVzOg0KUGVlclN0YXR1c1tob3N0bmFtZT1ib2xoZHBwYnVm ZmVyMDEscG9ydD04NDQzLHNlY3VyZT10cnVlLGZsb3dGaWxlQ291bnQ9MF0gd2lsbCByZWNlaXZl IDEwMC4wJSBvZiBkYXRhDQoyMDE3LTA1LTI1IDE2OjI4OjUxLDE1NSBXQVJOIFtIdHRwIFNpdGUt dG8tU2l0ZSBQZWVyU2VsZWN0b3JdIG8uYS5uLnIudXRpbC5TaXRlVG9TaXRlUmVzdEFwaUNsaWVu dCBGYWlsZWQgdG8gZ2V0IGNvbnRyb2xsZXIgZnJvbSBodHRwczovL3RzbGhkcHBidWZmZXIwMTo4 NDQzL25pZmktYXBpIGR1ZSB0byBvcmcuYXBhY2hlLm5pZmkucmVtb3RlLnV0aWwuU2l0ZVRvU2l0 ZVJlc3RBcGlDbGllbnQkSHR0cEdldEZhaWxlZEV4Y2VwdGlvbjogcmVzcG9uc2UgY29kZSA0MDM6 Rm9yYmlkZGVuIHdpdGggZXhwbGFuYXRpb246IG51bGwNCjIwMTctMDUtMjUgMTY6Mjg6NTEsMTU1 IFdBUk4gW0h0dHAgU2l0ZS10by1TaXRlIFBlZXJTZWxlY3Rvcl0gby5hcGFjaGUubmlmaS5yZW1v dGUuY2xpZW50LlBlZXJTZWxlY3RvciBvcmcuYXBhY2hlLm5pZmkucmVtb3RlLmNsaWVudC5QZWVy U2VsZWN0b3JANzJiODVjMjkgVW5hYmxlIHRvIHJlZnJlc2ggUmVtb3RlIEdyb3VwJ3MgcGVlcnMg ZHVlIHRvIHJlc3BvbnNlIGNvZGUgNDAzOkZvcmJpZGRlbiB3aXRoIGV4cGxhbmF0aW9uOiBudWxs DQoyMDE3LTA1LTI1IDE2OjI4OjUxLDM4NCBFUlJPUiBbSS9PIGRpc3BhdGNoZXIgNDYyXSBvLmEu bi5yLnV0aWwuU2l0ZVRvU2l0ZVJlc3RBcGlDbGllbnQgRmFpbGVkIHRvIHNlbmQgZGF0YSB0byBo dHRwczovL2RvbWFpbjo4NDQzL25pZmktYXBpL2RhdGEtdHJhbnNmZXIvaW5wdXQtcG9ydHMvNDAx YTMwODMtMDE1Yy0xMDAwLTY5NWItZmEyNjlmYzc0MzJmL3RyYW5zYWN0aW9ucy8wN2MyMTI1ZC1h YzY2LTRiMTktOTRlNS1iYzcyYTBhMzE2MzIvZmxvdy1maWxlcyBkdWUgdG8gamF2YS5uZXQuU29j a2V0VGltZW91dEV4Y2VwdGlvbg0KamF2YS5uZXQuU29ja2V0VGltZW91dEV4Y2VwdGlvbjogbnVs bA0KICAgICAgICBhdCBvcmcuYXBhY2hlLmh0dHAubmlvLnByb3RvY29sLkh0dHBBc3luY1JlcXVl c3RFeGVjdXRvci50aW1lb3V0KEh0dHBBc3luY1JlcXVlc3RFeGVjdXRvci5qYXZhOjM3NSkgW2h0 dHBjb3JlLW5pby00LjQuNS5qYXI6NC40LjVdDQogICAgICAgIGF0IG9yZy5hcGFjaGUuaHR0cC5p bXBsLm5pby5jbGllbnQuSW50ZXJuYWxJT0Rpc3BhdGNoLm9uVGltZW91dChJbnRlcm5hbElPRGlz cGF0Y2guamF2YTo5MikgW2h0dHBhc3luY2NsaWVudC00LjEuMi5qYXI6NC4xLjJdDQogICAgICAg IGF0IG9yZy5hcGFjaGUuaHR0cC5pbXBsLm5pby5jbGllbnQuSW50ZXJuYWxJT0Rpc3BhdGNoLm9u VGltZW91dChJbnRlcm5hbElPRGlzcGF0Y2guamF2YTozOSkgW2h0dHBhc3luY2NsaWVudC00LjEu Mi5qYXI6NC4xLjJdDQogICAgICAgIGF0IG9yZy5hcGFjaGUuaHR0cC5pbXBsLm5pby5yZWFjdG9y LkFic3RyYWN0SU9EaXNwYXRjaC50aW1lb3V0KEFic3RyYWN0SU9EaXNwYXRjaC5qYXZhOjE3NSkg W2h0dHBjb3JlLW5pby00LjQuNS5qYXI6NC40LjVdDQogICAgICAgIGF0IG9yZy5hcGFjaGUuaHR0 cC5pbXBsLm5pby5yZWFjdG9yLkJhc2VJT1JlYWN0b3Iuc2Vzc2lvblRpbWVkT3V0KEJhc2VJT1Jl YWN0b3IuamF2YToyNjMpIFtodHRwY29yZS1uaW8tNC40LjUuamFyOjQuNC41XQ0KICAgICAgICBh dCBvcmcuYXBhY2hlLmh0dHAuaW1wbC5uaW8ucmVhY3Rvci5BYnN0cmFjdElPUmVhY3Rvci50aW1l b3V0Q2hlY2soQWJzdHJhY3RJT1JlYWN0b3IuamF2YTo0OTIpIFtodHRwY29yZS1uaW8tNC40LjUu amFyOjQuNC41XQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLmh0dHAuaW1wbC5uaW8ucmVhY3Rvci5C YXNlSU9SZWFjdG9yLnZhbGlkYXRlKEJhc2VJT1JlYWN0b3IuamF2YToyMTMpIFtodHRwY29yZS1u aW8tNC40LjUuamFyOjQuNC41XQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLmh0dHAuaW1wbC5uaW8u cmVhY3Rvci5BYnN0cmFjdElPUmVhY3Rvci5leGVjdXRlKEFic3RyYWN0SU9SZWFjdG9yLmphdmE6 MjgwKSBbaHR0cGNvcmUtbmlvLTQuNC41Lmphcjo0LjQuNV0NCiAgICAgICAgYXQgb3JnLmFwYWNo ZS5odHRwLmltcGwubmlvLnJlYWN0b3IuQmFzZUlPUmVhY3Rvci5leGVjdXRlKEJhc2VJT1JlYWN0 b3IuamF2YToxMDQpIFtodHRwY29yZS1uaW8tNC40LjUuamFyOjQuNC41XQ0KICAgICAgICBhdCBv cmcuYXBhY2hlLmh0dHAuaW1wbC5uaW8ucmVhY3Rvci5BYnN0cmFjdE11bHRpd29ya2VySU9SZWFj dG9yJFdvcmtlci5ydW4oQWJzdHJhY3RNdWx0aXdvcmtlcklPUmVhY3Rvci5qYXZhOjU4OCkgW2h0 dHBjb3JlLW5pby00LjQuNS5qYXI6NC40LjVdDQogICAgICAgIGF0IGphdmEubGFuZy5UaHJlYWQu cnVuKFRocmVhZC5qYXZhOjc0NSkgW25hOjEuOC4wXzEwMV0NCjIwMTctMDUtMjUgMTY6Mjg6NTEs Mzg2IEVSUk9SIFtUaW1lci1Ecml2ZW4gUHJvY2VzcyBUaHJlYWQtOF0gby5hLm5pZmkucmVtb3Rl LlN0YW5kYXJkUmVtb3RlR3JvdXBQb3J0IFJlbW90ZUdyb3VwUG9ydFtuYW1lPXRlc3QsdGFyZ2V0 cz1odHRwczovL2RvbWFpbjo4NDQzL25pZmkvXSBmYWlsZWQgdG8gY29tbXVuaWNhdGUgd2l0aCBy ZW1vdGUgTmlGaSBpbnN0YW5jZSBkdWUgdG8gb3JnLmFwYWNoZS5uaWZpLnByb2Nlc3Nvci5leGNl cHRpb24uUHJvY2Vzc0V4Y2VwdGlvbjogSU9FeGNlcHRpb24gdGhyb3duIGZyb20gUmVtb3RlR3Jv dXBQb3J0W25hbWU9dGVzdCx0YXJnZXRzPWh0dHBzOi8vZG9tYWluOjg0NDMvbmlmaS9dOiBqYXZh LmlvLklPRXhjZXB0aW9uOiBGYWlsZWQgdG8gc2VuZCBkYXRhIHRvIFBlZXJbdXJsPWh0dHBzOi8v ZG9tYWluOjg0NDMvbmlmaS1hcGldIGR1ZSB0byBqYXZhLmlvLklPRXhjZXB0aW9uOiBQaXBlIGNs b3NlZA0KMjAxNy0wNS0yNSAxNjoyODo1MSw5MjAgSU5GTyBbVGltZXItRHJpdmVuIFByb2Nlc3Mg VGhyZWFkLTNdIG8uYS5uaWZpLnJlbW90ZS5TdGFuZGFyZFJlbW90ZUdyb3VwUG9ydCBSZW1vdGVH cm91cFBvcnRbbmFtZT1SZWNlaXZlX1NpZ21hLHRhcmdldHM9aHR0cHM6Ly9ib2xoZHBwYnVmZmVy MDE6ODQ0My9uaWZpL10gU3VjY2Vzc2Z1bGx5IHNlbnQgW1N0YW5kYXJkRmxvd0ZpbGVSZWNvcmRb dXVpZD00ZWJmODVhZS1iMmM2LTQ2YWUtOWM2Ny1lMjkyZGEzMDg0MTYsY2xhaW09U3RhbmRhcmRD b250ZW50Q2xhaW0gW3Jlc291cmNlQ2xhaW09U3RhbmRhcmRSZXNvdXJjZUNsYWltW2lkPTE0OTU3 MjU5ODUwNzUtNjU3LCBjb250YWluZXI9ZGVmYXVsdCwgc2VjdGlvbj02NTddLCBvZmZzZXQ9MCwg bGVuZ3RoPTgyMTU3OV0sb2Zmc2V0PTAsbmFtZT1zaWdtYV9tZWFzdXJlbWVudC5kYXQuMjAxN18w NV8yNV8wMF80MF8wMi45NzM2XzY1Lmd6LHNpemU9ODIxNTc5XV0gKDgwMi4zMiBLQikgdG8gaHR0 cHM6Ly9ib2xoZHBwYnVmZmVyMDE6ODQ0My9uaWZpLWFwaSBpbiAyNDUyIG1pbGxpc2Vjb25kcyBh dCBhIHJhdGUgb2YgMzI3LjEyIEtCL3NlYw0KMjAxNy0wNS0yNSAxNjoyODo1Miw2NDMgRVJST1Ig W05pRmkgV2ViIFNlcnZlci0xN10gby5hLm5pZmkud2ViLmFwaS5BcHBsaWNhdGlvblJlc291cmNl IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIG9jY3VycmVkLiBwb3J0SWQ9NDAxYTMwODMtMDE1Yy0xMDAw LTY5NWItZmEyNjlmYzc0MzJmDQoyMDE3LTA1LTI1IDE2OjI4OjUyLDY0OSBFUlJPUiBbTmlGaSBX ZWIgU2VydmVyLTE3XSBvLmEubmlmaS53ZWIuYXBpLkFwcGxpY2F0aW9uUmVzb3VyY2UgRXhjZXB0 aW9uIGRldGFpbDoNCm9yZy5hcGFjaGUubmlmaS5wcm9jZXNzb3IuZXhjZXB0aW9uLlByb2Nlc3NF eGNlcHRpb246IG9yZy5hcGFjaGUubmlmaS5wcm9jZXNzb3IuZXhjZXB0aW9uLkZsb3dGaWxlQWNj ZXNzRXhjZXB0aW9uOiBGYWlsZWQgdG8gaW1wb3J0IGRhdGEgZnJvbSBvcmcuYXBhY2hlLm5pZmku c3RyZWFtLmlvLk1pbmltdW1MZW5ndGhJbnB1dFN0cmVhbUA2NTczZWI4ZSBmb3IgU3RhbmRhcmRG bG93RmlsZVJlY29yZFt1dWlkPWE5YTg4NGYxLTRjMTgtNDRiNi1iNTQ5LTM0NGVlOWQxZWZhMixj bGFpbT0sb2Zmc2V0PTAsbmFtZT0xMzQyNDU4MDI4OTk1MzAsc2l6ZT0wXSBkdWUgdG8gb3JnLmFw YWNoZS5uaWZpLnByb2Nlc3Nvci5leGNlcHRpb24uRmxvd0ZpbGVBY2Nlc3NFeGNlcHRpb246IFVu YWJsZSB0byBjcmVhdGUgQ29udGVudENsYWltIGR1ZSB0byBvcmcuZWNsaXBzZS5qZXR0eS5pby5F b2ZFeGNlcHRpb246IEVhcmx5IEVPRg0KICAgICAgICBhdCBvcmcuYXBhY2hlLm5pZmkucmVtb3Rl LlN0YW5kYXJkUm9vdEdyb3VwUG9ydC5yZWNlaXZlRmxvd0ZpbGVzKFN0YW5kYXJkUm9vdEdyb3Vw UG9ydC5qYXZhOjU0MykgfltuaWZpLXNpdGUtdG8tc2l0ZS0xLjIuMC1TTkFQU0hPVC5qYXI6MS4y LjAtU05BUFNIT1RdDQogICAgICAgIGF0IG9yZy5hcGFjaGUubmlmaS53ZWIuYXBpLkRhdGFUcmFu c2ZlclJlc291cmNlLnJlY2VpdmVGbG93RmlsZXMoRGF0YVRyYW5zZmVyUmVzb3VyY2UuamF2YToy NzcpIH5bY2xhc3Nlcy86bmFdDQogICAgICAgIGF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFj Y2Vzc29ySW1wbC5pbnZva2UwKE5hdGl2ZSBNZXRob2QpIH5bbmE6MS44LjBfMTAxXQ0KICAgICAg ICBhdCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKE5hdGl2ZU1l dGhvZEFjY2Vzc29ySW1wbC5qYXZhOjYyKSB+W25hOjEuOC4wXzEwMV0NCiAgICAgICAgYXQgc3Vu LnJlZmxlY3QuRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoRGVsZWdhdGluZ01l dGhvZEFjY2Vzc29ySW1wbC5qYXZhOjQzKSB+W25hOjEuOC4wXzEwMV0NCiAgICAgICAgYXQgamF2 YS5sYW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZShNZXRob2QuamF2YTo0OTgpIH5bbmE6MS44LjBf MTAxXQ0KICAgICAgICBhdCBjb20uc3VuLmplcnNleS5zcGkuY29udGFpbmVyLkphdmFNZXRob2RJ bnZva2VyRmFjdG9yeSQxLmludm9rZShKYXZhTWV0aG9kSW52b2tlckZhY3RvcnkuamF2YTo2MCkg W2plcnNleS1zZXJ2ZXItMS4xOS5qYXI6MS4xOV0NCiAgICAgICAgYXQgY29tLnN1bi5qZXJzZXku c2VydmVyLmltcGwubW9kZWwubWV0aG9kLmRpc3BhdGNoLkFic3RyYWN0UmVzb3VyY2VNZXRob2RE aXNwYXRjaFByb3ZpZGVyJFJlc3BvbnNlT3V0SW52b2tlci5fZGlzcGF0Y2goQWJzdHJhY3RSZXNv dXJjZU1ldGhvZERpc3BhdGNoUHJvdmlkZXIuamF2YToyMDUpIFtqZXJzZXktc2VydmVyLTEuMTku amFyOjEuMTldDQogICAgICAgIGF0IGNvbS5zdW4uamVyc2V5LnNlcnZlci5pbXBsLm1vZGVsLm1l dGhvZC5kaXNwYXRjaC5SZXNvdXJjZUphdmFNZXRob2REaXNwYXRjaGVyLmRpc3BhdGNoKFJlc291 cmNlSmF2YU1ldGhvZERpc3BhdGNoZXIuamF2YTo3NSkgW2plcnNleS1zZXJ2ZXItMS4xOS5qYXI6 MS4xOV0NCiAgICAgICAgYXQgY29tLnN1bi5qZXJzZXkuc2VydmVyLmltcGwudXJpLnJ1bGVzLkh0 dHBNZXRob2RSdWxlLmFjY2VwdChIdHRwTWV0aG9kUnVsZS5qYXZhOjMwMikgW2plcnNleS1zZXJ2 ZXItMS4xOS5qYXI6MS4xOV0NCiAgICAgICAgYXQgY29tLnN1bi5qZXJzZXkuc2VydmVyLmltcGwu dXJpLnJ1bGVzLlJpZ2h0SGFuZFBhdGhSdWxlLmFjY2VwdChSaWdodEhhbmRQYXRoUnVsZS5qYXZh OjE0NykgW2plcnNleS1zZXJ2ZXItMS4xOS5qYXI6MS4xOV0NCiAgICAgICAgYXQgY29tLnN1bi5q ZXJzZXkuc2VydmVyLmltcGwudXJpLnJ1bGVzLlJlc291cmNlQ2xhc3NSdWxlLmFjY2VwdChSZXNv dXJjZUNsYXNzUnVsZS5qYXZhOjEwOCkgW2plcnNleS1zZXJ2ZXItMS4xOS5qYXI6MS4xOV0NCiAg ICAgICAgYXQgY29tLnN1bi5qZXJzZXkuc2VydmVyLmltcGwudXJpLnJ1bGVzLlJpZ2h0SGFuZFBh dGhSdWxlLmFjY2VwdChSaWdodEhhbmRQYXRoUnVsZS5qYXZhOjE0NykgW2plcnNleS1zZXJ2ZXIt MS4xOS5qYXI6MS4xOV0NCiAgICAgICAgYXQgY29tLnN1bi5qZXJzZXkuc2VydmVyLmltcGwudXJp LnJ1bGVzLlJvb3RSZXNvdXJjZUNsYXNzZXNSdWxlLmFjY2VwdChSb290UmVzb3VyY2VDbGFzc2Vz UnVsZS5qYXZhOjg0KSBbamVyc2V5LXNlcnZlci0xLjE5LmphcjoxLjE5XQ0KICAgICAgICBhdCBj b20uc3VuLmplcnNleS5zZXJ2ZXIuaW1wbC5hcHBsaWNhdGlvbi5XZWJBcHBsaWNhdGlvbkltcGwu X2hhbmRsZVJlcXVlc3QoV2ViQXBwbGljYXRpb25JbXBsLmphdmE6MTU0MikgW2plcnNleS1zZXJ2 ZXItMS4xOS5qYXI6MS4xOV0NCiAgICAgICAgYXQgY29tLnN1bi5qZXJzZXkuc2VydmVyLmltcGwu YXBwbGljYXRpb24uV2ViQXBwbGljYXRpb25JbXBsLl9oYW5kbGVSZXF1ZXN0KFdlYkFwcGxpY2F0 aW9uSW1wbC5qYXZhOjE0NzMpIFtqZXJzZXktc2VydmVyLTEuMTkuamFyOjEuMTldDQogICAgICAg IGF0IGNvbS5zdW4uamVyc2V5LnNlcnZlci5pbXBsLmFwcGxpY2F0aW9uLldlYkFwcGxpY2F0aW9u SW1wbC5oYW5kbGVSZXF1ZXN0KFdlYkFwcGxpY2F0aW9uSW1wbC5qYXZhOjE0MTkpIFtqZXJzZXkt c2VydmVyLTEuMTkuamFyOjEuMTldDQogICAgICAgIGF0IGNvbS5zdW4uamVyc2V5LnNlcnZlci5p bXBsLmFwcGxpY2F0aW9uLldlYkFwcGxpY2F0aW9uSW1wbC5oYW5kbGVSZXF1ZXN0KFdlYkFwcGxp Y2F0aW9uSW1wbC5qYXZhOjE0MDkpIFtqZXJzZXktc2VydmVyLTEuMTkuamFyOjEuMTldDQogICAg ICAgIGF0IGNvbS5zdW4uamVyc2V5LnNwaS5jb250YWluZXIuc2VydmxldC5XZWJDb21wb25lbnQu c2VydmljZShXZWJDb21wb25lbnQuamF2YTo0MDkpIFtqZXJzZXktc2VydmxldC0xLjE5Lmphcjox LjE5XQ0KICAgICAgICBhdCBjb20uc3VuLmplcnNleS5zcGkuY29udGFpbmVyLnNlcnZsZXQuU2Vy dmxldENvbnRhaW5lci5zZXJ2aWNlKFNlcnZsZXRDb250YWluZXIuamF2YTo1NTgpIFtqZXJzZXkt c2VydmxldC0xLjE5LmphcjoxLjE5XQ0KICAgICAgICBhdCBjb20uc3VuLmplcnNleS5zcGkuY29u dGFpbmVyLnNlcnZsZXQuU2VydmxldENvbnRhaW5lci5zZXJ2aWNlKFNlcnZsZXRDb250YWluZXIu amF2YTo3MzMpIFtqZXJzZXktc2VydmxldC0xLjE5LmphcjoxLjE5XQ0KICAgICAgICBhdCBqYXZh eC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXQuc2VydmljZShIdHRwU2VydmxldC5qYXZhOjc5MCkg W2phdmF4LnNlcnZsZXQtYXBpLTMuMS4wLmphcjozLjEuMF0NCiAgICAgICAgYXQgb3JnLmVjbGlw c2UuamV0dHkuc2VydmxldC5TZXJ2bGV0SG9sZGVyLmhhbmRsZShTZXJ2bGV0SG9sZGVyLmphdmE6 ODQ1KSBbamV0dHktc2VydmxldC05LjMuOS52MjAxNjA1MTcuamFyOjkuMy45LnYyMDE2MDUxN10N CiAgICAgICAgYXQgb3JnLmVjbGlwc2UuamV0dHkuc2VydmxldC5TZXJ2bGV0SGFuZGxlciRDYWNo ZWRDaGFpbi5kb0ZpbHRlcihTZXJ2bGV0SGFuZGxlci5qYXZhOjE2ODkpIFtqZXR0eS1zZXJ2bGV0 LTkuMy45LnYyMDE2MDUxNy5qYXI6OS4zLjkudjIwMTYwNTE3XQ0KICAgICAgICBhdCBvcmcuYXBh Y2hlLm5pZmkud2ViLmZpbHRlci5SZXF1ZXN0TG9nZ2VyLmRvRmlsdGVyKFJlcXVlc3RMb2dnZXIu amF2YTo2NikgW2NsYXNzZXMvOm5hXQ0KICAgICAgICBhdCBvcmcuZWNsaXBzZS5qZXR0eS5zZXJ2 bGV0LlNlcnZsZXRIYW5kbGVyJENhY2hlZENoYWluLmRvRmlsdGVyKFNlcnZsZXRIYW5kbGVyLmph dmE6MTY3NikgW2pldHR5LXNlcnZsZXQtOS4zLjkudjIwMTYwNTE3Lmphcjo5LjMuOS52MjAxNjA1 MTddDQogICAgICAgIGF0IG9yZy5zcHJpbmdmcmFtZXdvcmsuc2VjdXJpdHkud2ViLkZpbHRlckNo YWluUHJveHkkVmlydHVhbEZpbHRlckNoYWluLmRvRmlsdGVyKEZpbHRlckNoYWluUHJveHkuamF2 YTozMTYpIFtzcHJpbmctc2VjdXJpdHktd2ViLTQuMC4zLlJFTEVBU0UuamFyOjQuMC4zLlJFTEVB U0VdDQogICAgICAgIGF0IG9yZy5zcHJpbmdmcmFtZXdvcmsuc2VjdXJpdHkud2ViLmFjY2Vzcy5p bnRlcmNlcHQuRmlsdGVyU2VjdXJpdHlJbnRlcmNlcHRvci5pbnZva2UoRmlsdGVyU2VjdXJpdHlJ bnRlcmNlcHRvci5qYXZhOjEyNikgW3NwcmluZy1zZWN1cml0eS13ZWItNC4wLjMuUkVMRUFTRS5q YXI6NC4wLjMuUkVMRUFTRV0NCiAgICAgICAgYXQgb3JnLnNwcmluZ2ZyYW1ld29yay5zZWN1cml0 eS53ZWIuYWNjZXNzLmludGVyY2VwdC5GaWx0ZXJTZWN1cml0eUludGVyY2VwdG9yLmRvRmlsdGVy KEZpbHRlclNlY3VyaXR5SW50ZXJjZXB0b3IuamF2YTo5MCkgW3NwcmluZy1zZWN1cml0eS13ZWIt NC4wLjMuUkVMRUFTRS5qYXI6NC4wLjMuUkVMRUFTRV0NCiAgICAgICAgYXQgb3JnLnNwcmluZ2Zy YW1ld29yay5zZWN1cml0eS53ZWIuRmlsdGVyQ2hhaW5Qcm94eSRWaXJ0dWFsRmlsdGVyQ2hhaW4u ZG9GaWx0ZXIoRmlsdGVyQ2hhaW5Qcm94eS5qYXZhOjMzMCkgW3NwcmluZy1zZWN1cml0eS13ZWIt NC4wLjMuUkVMRUFTRS5qYXI6NC4wLjMuUkVMRUFTRV0NCiAgICAgICAgYXQgb3JnLnNwcmluZ2Zy YW1ld29yay5zZWN1cml0eS53ZWIuc2Vzc2lvbi5TZXNzaW9uTWFuYWdlbWVudEZpbHRlci5kb0Zp bHRlcihTZXNzaW9uTWFuYWdlbWVudEZpbHRlci5qYXZhOjEyMikgW3NwcmluZy1zZWN1cml0eS13 ZWItNC4wLjMuUkVMRUFTRS5qYXI6NC4wLjMuUkVMRUFTRV0NCiAgICAgICAgYXQgb3JnLnNwcmlu Z2ZyYW1ld29yay5zZWN1cml0eS53ZWIuRmlsdGVyQ2hhaW5Qcm94eSRWaXJ0dWFsRmlsdGVyQ2hh aW4uZG9GaWx0ZXIoRmlsdGVyQ2hhaW5Qcm94eS5qYXZhOjMzMCkgW3NwcmluZy1zZWN1cml0eS13 ZWItNC4wLjMuUkVMRUFTRS5qYXI6NC4wLjMuUkVMRUFTRV0NCiAgICAgICAgYXQgb3JnLnNwcmlu Z2ZyYW1ld29yay5zZWN1cml0eS53ZWIuYXV0aGVudGljYXRpb24uQW5vbnltb3VzQXV0aGVudGlj YXRpb25GaWx0ZXIuZG9GaWx0ZXIoQW5vbnltb3VzQXV0aGVudGljYXRpb25GaWx0ZXIuamF2YTox MTEpIFtzcHJpbmctc2VjdXJpdHktd2ViLTQuMC4zLlJFTEVBU0UuamFyOjQuMC4zLlJFTEVBU0Vd DQogICAgICAgIGF0IG9yZy5zcHJpbmdmcmFtZXdvcmsuc2VjdXJpdHkud2ViLkZpbHRlckNoYWlu UHJveHkkVmlydHVhbEZpbHRlckNoYWluLmRvRmlsdGVyKEZpbHRlckNoYWluUHJveHkuamF2YToz MzApIFtzcHJpbmctc2VjdXJpdHktd2ViLTQuMC4zLlJFTEVBU0UuamFyOjQuMC4zLlJFTEVBU0Vd DQogICAgICAgIGF0IG9yZy5hcGFjaGUubmlmaS53ZWIuc2VjdXJpdHkuTmlGaUF1dGhlbnRpY2F0 aW9uRmlsdGVyLmRvRmlsdGVyKE5pRmlBdXRoZW50aWNhdGlvbkZpbHRlci5qYXZhOjU5KSBbbmlm aS13ZWItc2VjdXJpdHktMS4yLjAtU05BUFNIT1QuamFyOjEuMi4wLVNOQVBTSE9UXQ0KICAgICAg ICBhdCBvcmcuc3ByaW5nZnJhbWV3b3JrLnNlY3VyaXR5LndlYi5GaWx0ZXJDaGFpblByb3h5JFZp cnR1YWxGaWx0ZXJDaGFpbi5kb0ZpbHRlcihGaWx0ZXJDaGFpblByb3h5LmphdmE6MzMwKSBbc3By aW5nLXNlY3VyaXR5LXdlYi00LjAuMy5SRUxFQVNFLmphcjo0LjAuMy5SRUxFQVNFXQ0KICAgICAg ICBhdCBvcmcuYXBhY2hlLm5pZmkud2ViLnNlY3VyaXR5Lk5pRmlBdXRoZW50aWNhdGlvbkZpbHRl ci5kb0ZpbHRlcihOaUZpQXV0aGVudGljYXRpb25GaWx0ZXIuamF2YTo1OSkgW25pZmktd2ViLXNl Y3VyaXR5LTEuMi4wLVNOQVBTSE9ULmphcjoxLjIuMC1TTkFQU0hPVF0NCiAgICAgICAgYXQgb3Jn LnNwcmluZ2ZyYW1ld29yay5zZWN1cml0eS53ZWIuRmlsdGVyQ2hhaW5Qcm94eSRWaXJ0dWFsRmls dGVyQ2hhaW4uZG9GaWx0ZXIoRmlsdGVyQ2hhaW5Qcm94eS5qYXZhOjMzMCkgW3NwcmluZy1zZWN1 cml0eS13ZWItNC4wLjMuUkVMRUFTRS5qYXI6NC4wLjMuUkVMRUFTRV0NCiAgICAgICAgYXQgb3Jn LmFwYWNoZS5uaWZpLndlYi5zZWN1cml0eS5OaUZpQXV0aGVudGljYXRpb25GaWx0ZXIuYXV0aGVu dGljYXRlKE5pRmlBdXRoZW50aWNhdGlvbkZpbHRlci5qYXZhOjgzKSBbbmlmaS13ZWItc2VjdXJp dHktMS4yLjAtU05BUFNIT1QuamFyOjEuMi4wLVNOQVBTSE9UXQ0KICAgICAgICBhdCBvcmcuYXBh Y2hlLm5pZmkud2ViLnNlY3VyaXR5Lk5pRmlBdXRoZW50aWNhdGlvbkZpbHRlci5kb0ZpbHRlcihO aUZpQXV0aGVudGljYXRpb25GaWx0ZXIuamF2YTo1NykgW25pZmktd2ViLXNlY3VyaXR5LTEuMi4w LVNOQVBTSE9ULmphcjoxLjIuMC1TTkFQU0hPVF0NCiAgICAgICAgYXQgb3JnLnNwcmluZ2ZyYW1l d29yay5zZWN1cml0eS53ZWIuRmlsdGVyQ2hhaW5Qcm94eSRWaXJ0dWFsRmlsdGVyQ2hhaW4uZG9G aWx0ZXIoRmlsdGVyQ2hhaW5Qcm94eS5qYXZhOjMzMCkgW3NwcmluZy1zZWN1cml0eS13ZWItNC4w LjMuUkVMRUFTRS5qYXI6NC4wLjMuUkVMRUFTRV0NCiAgICAgICAgYXQgb3JnLnNwcmluZ2ZyYW1l d29yay5zZWN1cml0eS53ZWIuRmlsdGVyQ2hhaW5Qcm94eS5kb0ZpbHRlckludGVybmFsKEZpbHRl ckNoYWluUHJveHkuamF2YToyMTMpIFtzcHJpbmctc2VjdXJpdHktd2ViLTQuMC4zLlJFTEVBU0Uu amFyOjQuMC4zLlJFTEVBU0VdDQogICAgICAgIGF0IG9yZy5zcHJpbmdmcmFtZXdvcmsuc2VjdXJp dHkud2ViLkZpbHRlckNoYWluUHJveHkuZG9GaWx0ZXIoRmlsdGVyQ2hhaW5Qcm94eS5qYXZhOjE3 NikgW3NwcmluZy1zZWN1cml0eS13ZWItNC4wLjMuUkVMRUFTRS5qYXI6NC4wLjMuUkVMRUFTRV0N CiAgICAgICAgYXQgb3JnLnNwcmluZ2ZyYW1ld29yay53ZWIuZmlsdGVyLkRlbGVnYXRpbmdGaWx0 ZXJQcm94eS5pbnZva2VEZWxlZ2F0ZShEZWxlZ2F0aW5nRmlsdGVyUHJveHkuamF2YTozNDYpIFtz cHJpbmctd2ViLTQuMi40LlJFTEVBU0UuamFyOjQuMi40LlJFTEVBU0VdDQogICAgICAgIGF0IG9y Zy5zcHJpbmdmcmFtZXdvcmsud2ViLmZpbHRlci5EZWxlZ2F0aW5nRmlsdGVyUHJveHkuZG9GaWx0 ZXIoRGVsZWdhdGluZ0ZpbHRlclByb3h5LmphdmE6MjYyKSBbc3ByaW5nLXdlYi00LjIuNC5SRUxF QVNFLmphcjo0LjIuNC5SRUxFQVNFXQ0KICAgICAgICBhdCBvcmcuZWNsaXBzZS5qZXR0eS5zZXJ2 bGV0LlNlcnZsZXRIYW5kbGVyJENhY2hlZENoYWluLmRvRmlsdGVyKFNlcnZsZXRIYW5kbGVyLmph dmE6MTY3NikgW2pldHR5LXNlcnZsZXQtOS4zLjkudjIwMTYwNTE3Lmphcjo5LjMuOS52MjAxNjA1 MTddDQogICAgICAgIGF0IG9yZy5hcGFjaGUubmlmaS53ZWIuZmlsdGVyLlRpbWVyRmlsdGVyLmRv RmlsdGVyKFRpbWVyRmlsdGVyLmphdmE6NTEpIFtjbGFzc2VzLzpuYV0NCiAgICAgICAgYXQgb3Jn LmVjbGlwc2UuamV0dHkuc2VydmxldC5TZXJ2bGV0SGFuZGxlciRDYWNoZWRDaGFpbi5kb0ZpbHRl cihTZXJ2bGV0SGFuZGxlci5qYXZhOjE2NjgpIFtqZXR0eS1zZXJ2bGV0LTkuMy45LnYyMDE2MDUx Ny5qYXI6OS4zLjkudjIwMTYwNTE3XQ0KICAgICAgICBhdCBvcmcuZWNsaXBzZS5qZXR0eS5zZXJ2 bGV0LlNlcnZsZXRIYW5kbGVyLmRvSGFuZGxlKFNlcnZsZXRIYW5kbGVyLmphdmE6NTgxKSBbamV0 dHktc2VydmxldC05LjMuOS52MjAxNjA1MTcuamFyOjkuMy45LnYyMDE2MDUxN10NCiAgICAgICAg YXQgb3JnLmVjbGlwc2UuamV0dHkuc2VydmVyLmhhbmRsZXIuU2NvcGVkSGFuZGxlci5oYW5kbGUo U2NvcGVkSGFuZGxlci5qYXZhOjE0MykgW2pldHR5LXNlcnZlci05LjMuOS52MjAxNjA1MTcuamFy OjkuMy45LnYyMDE2MDUxN10NCiAgICAgICAgYXQgb3JnLmVjbGlwc2UuamV0dHkuc2VjdXJpdHku U2VjdXJpdHlIYW5kbGVyLmhhbmRsZShTZWN1cml0eUhhbmRsZXIuamF2YTo1NDgpIFtqZXR0eS1z ZWN1cml0eS05LjMuOS52MjAxNjA1MTcuamFyOjkuMy45LnYyMDE2MDUxN10NCiAgICAgICAgYXQg b3JnLmVjbGlwc2UuamV0dHkuc2VydmVyLnNlc3Npb24uU2Vzc2lvbkhhbmRsZXIuZG9IYW5kbGUo U2Vzc2lvbkhhbmRsZXIuamF2YToyMjYpIFtqZXR0eS1zZXJ2ZXItOS4zLjkudjIwMTYwNTE3Lmph cjo5LjMuOS52MjAxNjA1MTddDQogICAgICAgIGF0IG9yZy5lY2xpcHNlLmpldHR5LnNlcnZlci5o YW5kbGVyLkNvbnRleHRIYW5kbGVyLmRvSGFuZGxlKENvbnRleHRIYW5kbGVyLmphdmE6MTE3NCkg W2pldHR5LXNlcnZlci05LjMuOS52MjAxNjA1MTcuamFyOjkuMy45LnYyMDE2MDUxN10NCiAgICAg ICAgYXQgb3JnLmVjbGlwc2UuamV0dHkuc2VydmxldC5TZXJ2bGV0SGFuZGxlci5kb1Njb3BlKFNl cnZsZXRIYW5kbGVyLmphdmE6NTExKSBbamV0dHktc2VydmxldC05LjMuOS52MjAxNjA1MTcuamFy OjkuMy45LnYyMDE2MDUxN10NCiAgICAgICAgYXQgb3JnLmVjbGlwc2UuamV0dHkuc2VydmVyLnNl c3Npb24uU2Vzc2lvbkhhbmRsZXIuZG9TY29wZShTZXNzaW9uSGFuZGxlci5qYXZhOjE4NSkgW2pl dHR5LXNlcnZlci05LjMuOS52MjAxNjA1MTcuamFyOjkuMy45LnYyMDE2MDUxN10NCiAgICAgICAg YXQgb3JnLmVjbGlwc2UuamV0dHkuc2VydmVyLmhhbmRsZXIuQ29udGV4dEhhbmRsZXIuZG9TY29w ZShDb250ZXh0SGFuZGxlci5qYXZhOjExMDYpIFtqZXR0eS1zZXJ2ZXItOS4zLjkudjIwMTYwNTE3 Lmphcjo5LjMuOS52MjAxNjA1MTddDQogICAgICAgIGF0IG9yZy5lY2xpcHNlLmpldHR5LnNlcnZl ci5oYW5kbGVyLlNjb3BlZEhhbmRsZXIuaGFuZGxlKFNjb3BlZEhhbmRsZXIuamF2YToxNDEpIFtq ZXR0eS1zZXJ2ZXItOS4zLjkudjIwMTYwNTE3Lmphcjo5LjMuOS52MjAxNjA1MTddDQogICAgICAg IGF0IG9yZy5lY2xpcHNlLmpldHR5LnNlcnZlci5oYW5kbGVyLkhhbmRsZXJDb2xsZWN0aW9uLmhh bmRsZShIYW5kbGVyQ29sbGVjdGlvbi5qYXZhOjExOSkgW2pldHR5LXNlcnZlci05LjMuOS52MjAx NjA1MTcuamFyOjkuMy45LnYyMDE2MDUxN10NCiAgICAgICAgYXQgb3JnLmVjbGlwc2UuamV0dHku c2VydmVyLmhhbmRsZXIuZ3ppcC5HemlwSGFuZGxlci5oYW5kbGUoR3ppcEhhbmRsZXIuamF2YTo0 NTkpIFtqZXR0eS1zZXJ2ZXItOS4zLjkudjIwMTYwNTE3Lmphcjo5LjMuOS52MjAxNjA1MTddDQog ICAgICAgIGF0IG9yZy5lY2xpcHNlLmpldHR5LnNlcnZlci5oYW5kbGVyLkhhbmRsZXJXcmFwcGVy LmhhbmRsZShIYW5kbGVyV3JhcHBlci5qYXZhOjEzNCkgW2pldHR5LXNlcnZlci05LjMuOS52MjAx NjA1MTcuamFyOjkuMy45LnYyMDE2MDUxN10NCiAgICAgICAgYXQgb3JnLmVjbGlwc2UuamV0dHku c2VydmVyLlNlcnZlci5oYW5kbGUoU2VydmVyLmphdmE6NTI0KSBbamV0dHktc2VydmVyLTkuMy45 LnYyMDE2MDUxNy5qYXI6OS4zLjkudjIwMTYwNTE3XQ0KICAgICAgICBhdCBvcmcuZWNsaXBzZS5q ZXR0eS5zZXJ2ZXIuSHR0cENoYW5uZWwuaGFuZGxlKEh0dHBDaGFubmVsLmphdmE6MzE5KSBbamV0 dHktc2VydmVyLTkuMy45LnYyMDE2MDUxNy5qYXI6OS4zLjkudjIwMTYwNTE3XQ0KICAgICAgICBh dCBvcmcuZWNsaXBzZS5qZXR0eS5zZXJ2ZXIuSHR0cENvbm5lY3Rpb24ub25GaWxsYWJsZShIdHRw Q29ubmVjdGlvbi5qYXZhOjI1MykgW2pldHR5LXNlcnZlci05LjMuOS52MjAxNjA1MTcuamFyOjku My45LnYyMDE2MDUxN10NCiAgICAgICAgYXQgb3JnLmVjbGlwc2UuamV0dHkuaW8uQWJzdHJhY3RD b25uZWN0aW9uJFJlYWRDYWxsYmFjay5zdWNjZWVkZWQoQWJzdHJhY3RDb25uZWN0aW9uLmphdmE6 MjczKSBbamV0dHktaW8tOS4zLjkudjIwMTYwNTE3Lmphcjo5LjMuOS52MjAxNjA1MTddDQogICAg ICAgIGF0IG9yZy5lY2xpcHNlLmpldHR5LmlvLkZpbGxJbnRlcmVzdC5maWxsYWJsZShGaWxsSW50 ZXJlc3QuamF2YTo5NSkgW2pldHR5LWlvLTkuMy45LnYyMDE2MDUxNy5qYXI6OS4zLjkudjIwMTYw NTE3XQ0KICAgICAgICBhdCBvcmcuZWNsaXBzZS5qZXR0eS5pby5zc2wuU3NsQ29ubmVjdGlvbi5v bkZpbGxhYmxlKFNzbENvbm5lY3Rpb24uamF2YToxODYpIFtqZXR0eS1pby05LjMuOS52MjAxNjA1 MTcuamFyOjkuMy45LnYyMDE2MDUxN10NCiAgICAgICAgYXQgb3JnLmVjbGlwc2UuamV0dHkuaW8u QWJzdHJhY3RDb25uZWN0aW9uJFJlYWRDYWxsYmFjay5zdWNjZWVkZWQoQWJzdHJhY3RDb25uZWN0 aW9uLmphdmE6MjczKSBbamV0dHktaW8tOS4zLjkudjIwMTYwNTE3Lmphcjo5LjMuOS52MjAxNjA1 MTddDQogICAgICAgIGF0IG9yZy5lY2xpcHNlLmpldHR5LmlvLkZpbGxJbnRlcmVzdC5maWxsYWJs ZShGaWxsSW50ZXJlc3QuamF2YTo5NSkgW2pldHR5LWlvLTkuMy45LnYyMDE2MDUxNy5qYXI6OS4z LjkudjIwMTYwNTE3XQ0KICAgICAgICBhdCBvcmcuZWNsaXBzZS5qZXR0eS5pby5TZWxlY3RDaGFu bmVsRW5kUG9pbnQkMi5ydW4oU2VsZWN0Q2hhbm5lbEVuZFBvaW50LmphdmE6OTMpIFtqZXR0eS1p by05LjMuOS52MjAxNjA1MTcuamFyOjkuMy45LnYyMDE2MDUxN10NCiAgICAgICAgYXQgb3JnLmVj bGlwc2UuamV0dHkudXRpbC50aHJlYWQuc3RyYXRlZ3kuRXhlY3V0ZVByb2R1Y2VDb25zdW1lLmV4 ZWN1dGVQcm9kdWNlQ29uc3VtZShFeGVjdXRlUHJvZHVjZUNvbnN1bWUuamF2YTozMDMpIFtqZXR0 eS11dGlsLTkuMy45LnYyMDE2MDUxNy5qYXI6OS4zLjkudjIwMTYwNTE3XQ0KICAgICAgICBhdCBv cmcuZWNsaXBzZS5qZXR0eS51dGlsLnRocmVhZC5zdHJhdGVneS5FeGVjdXRlUHJvZHVjZUNvbnN1 bWUucHJvZHVjZUNvbnN1bWUoRXhlY3V0ZVByb2R1Y2VDb25zdW1lLmphdmE6MTQ4KSBbamV0dHkt dXRpbC05LjMuOS52MjAxNjA1MTcuamFyOjkuMy45LnYyMDE2MDUxN10NCiAgICAgICAgYXQgb3Jn LmVjbGlwc2UuamV0dHkudXRpbC50aHJlYWQuc3RyYXRlZ3kuRXhlY3V0ZVByb2R1Y2VDb25zdW1l LnJ1bihFeGVjdXRlUHJvZHVjZUNvbnN1bWUuamF2YToxMzYpIFtqZXR0eS11dGlsLTkuMy45LnYy MDE2MDUxNy5qYXI6OS4zLjkudjIwMTYwNTE3XQ0KICAgICAgICBhdCBvcmcuZWNsaXBzZS5qZXR0 eS51dGlsLnRocmVhZC5RdWV1ZWRUaHJlYWRQb29sLnJ1bkpvYihRdWV1ZWRUaHJlYWRQb29sLmph dmE6NjcxKSBbamV0dHktdXRpbC05LjMuOS52MjAxNjA1MTcuamFyOjkuMy45LnYyMDE2MDUxN10N CiAgICAgICAgYXQgb3JnLmVjbGlwc2UuamV0dHkudXRpbC50aHJlYWQuUXVldWVkVGhyZWFkUG9v bCQyLnJ1bihRdWV1ZWRUaHJlYWRQb29sLmphdmE6NTg5KSBbamV0dHktdXRpbC05LjMuOS52MjAx NjA1MTcuamFyOjkuMy45LnYyMDE2MDUxN10NCiAgICAgICAgYXQgamF2YS5sYW5nLlRocmVhZC5y dW4oVGhyZWFkLmphdmE6NzQ1KSBbbmE6MS44LjBfMTAxXQ0KQ2F1c2VkIGJ5OiBvcmcuYXBhY2hl Lm5pZmkucHJvY2Vzc29yLmV4Y2VwdGlvbi5GbG93RmlsZUFjY2Vzc0V4Y2VwdGlvbjogRmFpbGVk IHRvIGltcG9ydCBkYXRhIGZyb20gb3JnLmFwYWNoZS5uaWZpLnN0cmVhbS5pby5NaW5pbXVtTGVu Z3RoSW5wdXRTdHJlYW1ANjU3M2ViOGUgZm9yIFN0YW5kYXJkRmxvd0ZpbGVSZWNvcmRbdXVpZD1h OWE4ODRmMS00YzE4LTQ0YjYtYjU0OS0zNDRlZTlkMWVmYTIsY2xhaW09LG9mZnNldD0wLG5hbWU9 MTM0MjQ1ODAyODk5NTMwLHNpemU9MF0gZHVlIHRvIG9yZy5hcGFjaGUubmlmaS5wcm9jZXNzb3Iu ZXhjZXB0aW9uLkZsb3dGaWxlQWNjZXNzRXhjZXB0aW9uOiBVbmFibGUgdG8gY3JlYXRlIENvbnRl bnRDbGFpbSBkdWUgdG8gb3JnLmVjbGlwc2UuamV0dHkuaW8uRW9mRXhjZXB0aW9uOiBFYXJseSBF T0YNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5uaWZpLmNvbnRyb2xsZXIucmVwb3NpdG9yeS5TdGFu ZGFyZFByb2Nlc3NTZXNzaW9uLmltcG9ydEZyb20oU3RhbmRhcmRQcm9jZXNzU2Vzc2lvbi5qYXZh OjI2OTApIH5bbmlmaS1mcmFtZXdvcmstY29yZS0xLjIuMC1TTkFQU0hPVC5qYXI6MS4yLjAtU05B UFNIT1RdDQogICAgICAgIGF0IG9yZy5hcGFjaGUubmlmaS5yZW1vdGUucHJvdG9jb2wuQWJzdHJh Y3RGbG93RmlsZVNlcnZlclByb3RvY29sLnJlY2VpdmVGbG93RmlsZXMoQWJzdHJhY3RGbG93Rmls ZVNlcnZlclByb3RvY29sLmphdmE6NDQ4KSB+W25pZmktc2l0ZS10by1zaXRlLTEuMi4wLVNOQVBT SE9ULmphcjoxLjIuMC1TTkFQU0hPVF0NCiAgICAgICAgYXQgb3JnLmFwYWNoZS5uaWZpLnJlbW90 ZS5TdGFuZGFyZFJvb3RHcm91cFBvcnQucmVjZWl2ZUZsb3dGaWxlcyhTdGFuZGFyZFJvb3RHcm91 cFBvcnQuamF2YToyNjIpIH5bbmlmaS1zaXRlLXRvLXNpdGUtMS4yLjAtU05BUFNIT1QuamFyOjEu Mi4wLVNOQVBTSE9UXQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLm5pZmkucmVtb3RlLlN0YW5kYXJk Um9vdEdyb3VwUG9ydC5vblRyaWdnZXIoU3RhbmRhcmRSb290R3JvdXBQb3J0LmphdmE6MjM2KSB+ W25pZmktc2l0ZS10by1zaXRlLTEuMi4wLVNOQVBTSE9ULmphcjoxLjIuMC1TTkFQU0hPVF0NCiAg ICAgICAgYXQgb3JnLmFwYWNoZS5uaWZpLnJlbW90ZS5TdGFuZGFyZFJvb3RHcm91cFBvcnQub25U cmlnZ2VyKFN0YW5kYXJkUm9vdEdyb3VwUG9ydC5qYXZhOjE3MSkgfltuaWZpLXNpdGUtdG8tc2l0 ZS0xLjIuMC1TTkFQU0hPVC5qYXI6MS4yLjAtU05BUFNIT1RdDQogICAgICAgIGF0IG9yZy5hcGFj aGUubmlmaS5jb250cm9sbGVyLnRhc2tzLkNvbnRpbnVhbGx5UnVuQ29ubmVjdGFibGVUYXNrLmNh bGwoQ29udGludWFsbHlSdW5Db25uZWN0YWJsZVRhc2suamF2YTo4MCkgfltuaWZpLWZyYW1ld29y ay1jb3JlLTEuMi4wLVNOQVBTSE9ULmphcjoxLjIuMC1TTkFQU0hPVF0NCiAgICAgICAgYXQgb3Jn LmFwYWNoZS5uaWZpLmNvbnRyb2xsZXIudGFza3MuQ29udGludWFsbHlSdW5Db25uZWN0YWJsZVRh c2suY2FsbChDb250aW51YWxseVJ1bkNvbm5lY3RhYmxlVGFzay5qYXZhOjQwKSB+W25pZmktZnJh bWV3b3JrLWNvcmUtMS4yLjAtU05BUFNIT1QuamFyOjEuMi4wLVNOQVBTSE9UXQ0KICAgICAgICBh dCBvcmcuYXBhY2hlLm5pZmkuY29udHJvbGxlci5zY2hlZHVsaW5nLlRpbWVyRHJpdmVuU2NoZWR1 bGluZ0FnZW50JDEucnVuKFRpbWVyRHJpdmVuU2NoZWR1bGluZ0FnZW50LmphdmE6MTMyKSB+W25p ZmktZnJhbWV3b3JrLWNvcmUtMS4yLjAtU05BUFNIT1QuamFyOjEuMi4wLVNOQVBTSE9UXQ0KICAg ICAgICBhdCBqYXZhLnV0aWwuY29uY3VycmVudC5FeGVjdXRvcnMkUnVubmFibGVBZGFwdGVyLmNh bGwoRXhlY3V0b3JzLmphdmE6NTExKSB+W25hOjEuOC4wXzEwMV0NCiAgICAgICAgYXQgamF2YS51 dGlsLmNvbmN1cnJlbnQuRnV0dXJlVGFzay5ydW5BbmRSZXNldChGdXR1cmVUYXNrLmphdmE6MzA4 KSB+W25hOjEuOC4wXzEwMV0NCiAgICAgICAgYXQgamF2YS51dGlsLmNvbmN1cnJlbnQuU2NoZWR1 bGVkVGhyZWFkUG9vbEV4ZWN1dG9yJFNjaGVkdWxlZEZ1dHVyZVRhc2suYWNjZXNzJDMwMShTY2hl ZHVsZWRUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxODApIH5bbmE6MS44LjBfMTAxXQ0KICAgICAg ICBhdCBqYXZhLnV0aWwuY29uY3VycmVudC5TY2hlZHVsZWRUaHJlYWRQb29sRXhlY3V0b3IkU2No ZWR1bGVkRnV0dXJlVGFzay5ydW4oU2NoZWR1bGVkVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6Mjk0 KSB+W25hOjEuOC4wXzEwMV0NCiAgICAgICAgYXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFk UG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQyKSB+W25h OjEuOC4wXzEwMV0NCiAgICAgICAgYXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4 ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjE3KSB+W25hOjEuOC4w XzEwMV0NCiAgICAgICAgLi4uIDEgY29tbW9uIGZyYW1lcyBvbWl0dGVkDQpDYXVzZWQgYnk6IG9y Zy5hcGFjaGUubmlmaS5wcm9jZXNzb3IuZXhjZXB0aW9uLkZsb3dGaWxlQWNjZXNzRXhjZXB0aW9u OiBVbmFibGUgdG8gY3JlYXRlIENvbnRlbnRDbGFpbSBkdWUgdG8gb3JnLmVjbGlwc2UuamV0dHku aW8uRW9mRXhjZXB0aW9uOiBFYXJseSBFT0YNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5uaWZpLmNv bnRyb2xsZXIucmVwb3NpdG9yeS5TdGFuZGFyZFByb2Nlc3NTZXNzaW9uLmltcG9ydEZyb20oU3Rh bmRhcmRQcm9jZXNzU2Vzc2lvbi5qYXZhOjI2ODMpIH5bbmlmaS1mcmFtZXdvcmstY29yZS0xLjIu MC1TTkFQU0hPVC5qYXI6MS4yLjAtU05BUFNIT1RdDQogICAgICAgIC4uLiAxNCBjb21tb24gZnJh bWVzIG9taXR0ZWQNCkNhdXNlZCBieTogb3JnLmVjbGlwc2UuamV0dHkuaW8uRW9mRXhjZXB0aW9u OiBFYXJseSBFT0YNCiAgICAgICAgYXQgb3JnLmVjbGlwc2UuamV0dHkuc2VydmVyLkh0dHBJbnB1 dCQzLm5vQ29udGVudChIdHRwSW5wdXQuamF2YTo4MjEpIH5bbmE6bmFdDQogICAgICAgIGF0IG9y Zy5lY2xpcHNlLmpldHR5LnNlcnZlci5IdHRwSW5wdXQucmVhZChIdHRwSW5wdXQuamF2YToxNjAp IH5bbmE6bmFdDQogICAgICAgIGF0IG9yZy5hcGFjaGUubmlmaS5yZW1vdGUuaW8uSW50ZXJydXB0 YWJsZUlucHV0U3RyZWFtLnJlYWQoSW50ZXJydXB0YWJsZUlucHV0U3RyZWFtLmphdmE6NTcpIH5b bmlmaS11dGlscy0xLjIuMC1TTkFQU0hPVC5qYXI6MS4yLjAtU05BUFNIT1RdDQogICAgICAgIGF0 IG9yZy5hcGFjaGUubmlmaS5zdHJlYW0uaW8uQnl0ZUNvdW50aW5nSW5wdXRTdHJlYW0ucmVhZChC eXRlQ291bnRpbmdJbnB1dFN0cmVhbS5qYXZhOjUxKSB+W25pZmktdXRpbHMtMS4yLjAtU05BUFNI T1QuamFyOjEuMi4wLVNOQVBTSE9UXQ0KICAgICAgICBhdCBqYXZhLmlvLkRhdGFJbnB1dFN0cmVh bS5yZWFkKERhdGFJbnB1dFN0cmVhbS5qYXZhOjE0OSkgfltuYToxLjguMF8xMDFdDQogICAgICAg IGF0IGphdmEudXRpbC56aXAuQ2hlY2tlZElucHV0U3RyZWFtLnJlYWQoQ2hlY2tlZElucHV0U3Ry ZWFtLmphdmE6ODIpIH5bbmE6MS44LjBfMTAxXQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLm5pZmku c3RyZWFtLmlvLkxpbWl0aW5nSW5wdXRTdHJlYW0ucmVhZChMaW1pdGluZ0lucHV0U3RyZWFtLmph dmE6ODgpIH5bbmlmaS11dGlscy0xLjIuMC1TTkFQU0hPVC5qYXI6MS4yLjAtU05BUFNIT1RdDQog ICAgICAgIGF0IGphdmEuaW8uRmlsdGVySW5wdXRTdHJlYW0ucmVhZChGaWx0ZXJJbnB1dFN0cmVh bS5qYXZhOjEzMykgfltuYToxLjguMF8xMDFdDQogICAgICAgIGF0IG9yZy5hcGFjaGUubmlmaS5z dHJlYW0uaW8uTWluaW11bUxlbmd0aElucHV0U3RyZWFtLnJlYWQoTWluaW11bUxlbmd0aElucHV0 U3RyZWFtLmphdmE6NTcpIH5bbmlmaS11dGlscy0xLjIuMC1TTkFQU0hPVC5qYXI6MS4yLjAtU05B UFNIT1RdDQogICAgICAgIGF0IG9yZy5hcGFjaGUubmlmaS5zdHJlYW0uaW8uTWluaW11bUxlbmd0 aElucHV0U3RyZWFtLnJlYWQoTWluaW11bUxlbmd0aElucHV0U3RyZWFtLmphdmE6NTMpIH5bbmlm aS11dGlscy0xLjIuMC1TTkFQU0hPVC5qYXI6MS4yLjAtU05BUFNIT1RdDQogICAgICAgIGF0IG9y Zy5hcGFjaGUubmlmaS5zdHJlYW0uaW8uU3RyZWFtVXRpbHMuY29weShTdHJlYW1VdGlscy5qYXZh OjM1KSB+W25pZmktdXRpbHMtMS4yLjAtU05BUFNIT1QuamFyOjEuMi4wLVNOQVBTSE9UXQ0KICAg ICAgICBhdCBvcmcuYXBhY2hlLm5pZmkuY29udHJvbGxlci5yZXBvc2l0b3J5LkZpbGVTeXN0ZW1S ZXBvc2l0b3J5LmltcG9ydEZyb20oRmlsZVN5c3RlbVJlcG9zaXRvcnkuamF2YTo3MDApIH5bbmlm aS1mcmFtZXdvcmstY29yZS0xLjIuMC1TTkFQU0hPVC5qYXI6MS4yLjAtU05BUFNIT1RdDQogICAg ICAgIGF0IG9yZy5hcGFjaGUubmlmaS5jb250cm9sbGVyLnJlcG9zaXRvcnkuU3RhbmRhcmRQcm9j ZXNzU2Vzc2lvbi5pbXBvcnRGcm9tKFN0YW5kYXJkUHJvY2Vzc1Nlc3Npb24uamF2YToyNjgwKSB+ W25pZmktZnJhbWV3b3JrLWNvcmUtMS4yLjAtU05BUFNIT1QuamFyOjEuMi4wLVNOQVBTSE9UXQ0K ICAgICAgICAuLi4gMTQgY29tbW9uIGZyYW1lcyBvbWl0dGVkDQoyMDE3LTA1LTI1IDE2OjI4OjUy LDY1MSBXQVJOIFtOaUZpIFdlYiBTZXJ2ZXItMTddIG9yZy5lY2xpcHNlLmpldHR5LnNlcnZsZXQu U2VydmxldEhhbmRsZXIgL25pZmktYXBpL2RhdGEtdHJhbnNmZXIvaW5wdXQtcG9ydHMvNDAxYTMw ODMtMDE1Yy0xMDAwLTY5NWItZmEyNjlmYzc0MzJmL3RyYW5zYWN0aW9ucy82OGU3YjRhYy02Yjgx LTRkY2EtYTUzMC02Y2JkMmIzMTQzNjUvZmxvdy1maWxlcw0KamF2YS5uaW8uY2hhbm5lbHMuQ2xv c2VkQ2hhbm5lbEV4Y2VwdGlvbjogbnVsbA0KICAgICAgICBhdCBvcmcuZWNsaXBzZS5qZXR0eS51 dGlsLkl0ZXJhdGluZ0NhbGxiYWNrLmNsb3NlKEl0ZXJhdGluZ0NhbGxiYWNrLmphdmE6NDI3KSB+ W2pldHR5LXV0aWwtOS4zLjkudjIwMTYwNTE3Lmphcjo5LjMuOS52MjAxNjA1MTddDQogICAgICAg IGF0IG9yZy5lY2xpcHNlLmpldHR5LnNlcnZlci5IdHRwQ29ubmVjdGlvbi5vbkNsb3NlKEh0dHBD b25uZWN0aW9uLmphdmE6NDkxKSB+W2pldHR5LXNlcnZlci05LjMuOS52MjAxNjA1MTcuamFyOjku My45LnYyMDE2MDUxN10NCiAgICAgICAgYXQgb3JnLmVjbGlwc2UuamV0dHkuaW8uc3NsLlNzbENv bm5lY3Rpb24ub25DbG9zZShTc2xDb25uZWN0aW9uLmphdmE6MTUyKSB+W2pldHR5LWlvLTkuMy45 LnYyMDE2MDUxNy5qYXI6OS4zLjkudjIwMTYwNTE3XQ0KICAgICAgICBhdCBvcmcuZWNsaXBzZS5q ZXR0eS5pby5TZWxlY3Rvck1hbmFnZXIuY29ubmVjdGlvbkNsb3NlZChTZWxlY3Rvck1hbmFnZXIu amF2YTozNDUpIH5bamV0dHktaW8tOS4zLjkudjIwMTYwNTE3Lmphcjo5LjMuOS52MjAxNjA1MTdd DQogICAgICAgIGF0IG9yZy5lY2xpcHNlLmpldHR5LmlvLk1hbmFnZWRTZWxlY3RvciQyLnJ1bihN YW5hZ2VkU2VsZWN0b3IuamF2YTo0NDIpIH5bamV0dHktaW8tOS4zLjkudjIwMTYwNTE3Lmphcjo5 LjMuOS52MjAxNjA1MTddDQogICAgICAgIGF0IG9yZy5lY2xpcHNlLmpldHR5LnV0aWwudGhyZWFk LnN0cmF0ZWd5LkV4ZWN1dGVQcm9kdWNlQ29uc3VtZS5leGVjdXRlUHJvZHVjZUNvbnN1bWUoRXhl Y3V0ZVByb2R1Y2VDb25zdW1lLmphdmE6MzAzKSBbamV0dHktdXRpbC05LjMuOS52MjAxNjA1MTcu amFyOjkuMy45LnYyMDE2MDUxN10NCiAgICAgICAgYXQgb3JnLmVjbGlwc2UuamV0dHkudXRpbC50 aHJlYWQuc3RyYXRlZ3kuRXhlY3V0ZVByb2R1Y2VDb25zdW1lLnByb2R1Y2VDb25zdW1lKEV4ZWN1 dGVQcm9kdWNlQ29uc3VtZS5qYXZhOjE0OCkgW2pldHR5LXV0aWwtOS4zLjkudjIwMTYwNTE3Lmph cjo5LjMuOS52MjAxNjA1MTddDQogICAgICAgIGF0IG9yZy5lY2xpcHNlLmpldHR5LnV0aWwudGhy ZWFkLnN0cmF0ZWd5LkV4ZWN1dGVQcm9kdWNlQ29uc3VtZS5ydW4oRXhlY3V0ZVByb2R1Y2VDb25z dW1lLmphdmE6MTM2KSBbamV0dHktdXRpbC05LjMuOS52MjAxNjA1MTcuamFyOjkuMy45LnYyMDE2 MDUxN10NCiAgICAgICAgYXQgb3JnLmVjbGlwc2UuamV0dHkudXRpbC50aHJlYWQuUXVldWVkVGhy ZWFkUG9vbC5ydW5Kb2IoUXVldWVkVGhyZWFkUG9vbC5qYXZhOjY3MSkgW2pldHR5LXV0aWwtOS4z LjkudjIwMTYwNTE3Lmphcjo5LjMuOS52MjAxNjA1MTddDQogICAgICAgIGF0IG9yZy5lY2xpcHNl LmpldHR5LnV0aWwudGhyZWFkLlF1ZXVlZFRocmVhZFBvb2wkMi5ydW4oUXVldWVkVGhyZWFkUG9v bC5qYXZhOjU4OSkgW2pldHR5LXV0aWwtOS4zLjkudjIwMTYwNTE3Lmphcjo5LjMuOS52MjAxNjA1 MTddDQogICAgICAgIGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0NSkgW25h OjEuOC4wXzEwMV0NCjIwMTctMDUtMjUgMTY6Mjg6NTIsNjUxIFdBUk4gW05pRmkgV2ViIFNlcnZl ci0xN10gb3JnLmVjbGlwc2UuamV0dHkuc2VydmVyLkh0dHBDaGFubmVsIGh0dHBzOi8vZG9tYWlu Ojg0NDMvbmlmaS1hcGkvZGF0YS10cmFuc2Zlci9pbnB1dC1wb3J0cy80MDFhMzA4My0wMTVjLTEw MDAtNjk1Yi1mYTI2OWZjNzQzMmYvdHJhbnNhY3Rpb25zLzY4ZTdiNGFjLTZiODEtNGRjYS1hNTMw LTZjYmQyYjMxNDM2NS9mbG93LWZpbGVzDQpqYXZhLm5pby5jaGFubmVscy5DbG9zZWRDaGFubmVs RXhjZXB0aW9uOiBudWxsDQogICAgICAgIGF0IG9yZy5lY2xpcHNlLmpldHR5LnV0aWwuSXRlcmF0 aW5nQ2FsbGJhY2suY2xvc2UoSXRlcmF0aW5nQ2FsbGJhY2suamF2YTo0MjcpIH5bamV0dHktdXRp bC05LjMuOS52MjAxNjA1MTcuamFyOjkuMy45LnYyMDE2MDUxN10NCiAgICAgICAgYXQgb3JnLmVj bGlwc2UuamV0dHkuc2VydmVyLkh0dHBDb25uZWN0aW9uLm9uQ2xvc2UoSHR0cENvbm5lY3Rpb24u amF2YTo0OTEpIH5bamV0dHktc2VydmVyLTkuMy45LnYyMDE2MDUxNy5qYXI6OS4zLjkudjIwMTYw NTE3XQ0KICAgICAgICBhdCBvcmcuZWNsaXBzZS5qZXR0eS5pby5zc2wuU3NsQ29ubmVjdGlvbi5v bkNsb3NlKFNzbENvbm5lY3Rpb24uamF2YToxNTIpIH5bamV0dHktaW8tOS4zLjkudjIwMTYwNTE3 Lmphcjo5LjMuOS52MjAxNjA1MTddDQogICAgICAgIGF0IG9yZy5lY2xpcHNlLmpldHR5LmlvLlNl bGVjdG9yTWFuYWdlci5jb25uZWN0aW9uQ2xvc2VkKFNlbGVjdG9yTWFuYWdlci5qYXZhOjM0NSkg fltqZXR0eS1pby05LjMuOS52MjAxNjA1MTcuamFyOjkuMy45LnYyMDE2MDUxN10NCiAgICAgICAg YXQgb3JnLmVjbGlwc2UuamV0dHkuaW8uTWFuYWdlZFNlbGVjdG9yJDIucnVuKE1hbmFnZWRTZWxl Y3Rvci5qYXZhOjQ0MikgfltqZXR0eS1pby05LjMuOS52MjAxNjA1MTcuamFyOjkuMy45LnYyMDE2 MDUxN10NCiAgICAgICAgYXQgb3JnLmVjbGlwc2UuamV0dHkudXRpbC50aHJlYWQuc3RyYXRlZ3ku RXhlY3V0ZVByb2R1Y2VDb25zdW1lLmV4ZWN1dGVQcm9kdWNlQ29uc3VtZShFeGVjdXRlUHJvZHVj ZUNvbnN1bWUuamF2YTozMDMpIFtqZXR0eS11dGlsLTkuMy45LnYyMDE2MDUxNy5qYXI6OS4zLjku djIwMTYwNTE3XQ0KICAgICAgICBhdCBvcmcuZWNsaXBzZS5qZXR0eS51dGlsLnRocmVhZC5zdHJh dGVneS5FeGVjdXRlUHJvZHVjZUNvbnN1bWUucHJvZHVjZUNvbnN1bWUoRXhlY3V0ZVByb2R1Y2VD b25zdW1lLmphdmE6MTQ4KSBbamV0dHktdXRpbC05LjMuOS52MjAxNjA1MTcuamFyOjkuMy45LnYy MDE2MDUxN10NCiAgICAgICAgYXQgb3JnLmVjbGlwc2UuamV0dHkudXRpbC50aHJlYWQuc3RyYXRl Z3kuRXhlY3V0ZVByb2R1Y2VDb25zdW1lLnJ1bihFeGVjdXRlUHJvZHVjZUNvbnN1bWUuamF2YTox MzYpIFtqZXR0eS11dGlsLTkuMy45LnYyMDE2MDUxNy5qYXI6OS4zLjkudjIwMTYwNTE3XQ0KICAg ICAgICBhdCBvcmcuZWNsaXBzZS5qZXR0eS51dGlsLnRocmVhZC5RdWV1ZWRUaHJlYWRQb29sLnJ1 bkpvYihRdWV1ZWRUaHJlYWRQb29sLmphdmE6NjcxKSBbamV0dHktdXRpbC05LjMuOS52MjAxNjA1 MTcuamFyOjkuMy45LnYyMDE2MDUxN10NCiAgICAgICAgYXQgb3JnLmVjbGlwc2UuamV0dHkudXRp bC50aHJlYWQuUXVldWVkVGhyZWFkUG9vbCQyLnJ1bihRdWV1ZWRUaHJlYWRQb29sLmphdmE6NTg5 KSBbamV0dHktdXRpbC05LjMuOS52MjAxNjA1MTcuamFyOjkuMy45LnYyMDE2MDUxN10NCiAgICAg ICAgYXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ1KSBbbmE6MS44LjBfMTAx XQ0KDQpCZWxvdyBhcmUgdGhlIHNldHRpbmdzIEkndmUgYmVlbiB1c2luZyANCg0KIyBTaXRlIHRv IFNpdGUgcHJvcGVydGllcw0KbmlmaS5yZW1vdGUuaW5wdXQuaG9zdD1kb21haW4NCm5pZmkucmVt b3RlLmlucHV0LnNlY3VyZT10cnVlDQpuaWZpLnJlbW90ZS5pbnB1dC5zb2NrZXQucG9ydD0xMDQ0 Mw0KbmlmaS5yZW1vdGUuaW5wdXQuaHR0cC5lbmFibGVkPXRydWUNCm5pZmkucmVtb3RlLmlucHV0 Lmh0dHAudHJhbnNhY3Rpb24udHRsPTMwIHNlYw0KDQojIHdlYiBwcm9wZXJ0aWVzICMNCm5pZmku d2ViLndhci5kaXJlY3Rvcnk9Li9saWINCm5pZmkud2ViLmh0dHAuaG9zdD0NCm5pZmkud2ViLmh0 dHAucG9ydD0NCm5pZmkud2ViLmh0dHBzLmhvc3Q9ZG9tYWluDQpuaWZpLndlYi5odHRwcy5wb3J0 PTg0NDMNCm5pZmkud2ViLmpldHR5LndvcmtpbmcuZGlyZWN0b3J5PS4vd29yay9qZXR0eQ0Kbmlm aS53ZWIuamV0dHkudGhyZWFkcz0yMDANCg0KDQpUaGFua3MNCkthcnRoaWsNCg0KDQoNCi0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBKb2UgV2l0dCBbbWFpbHRvOmpvZS53aXR0QGdt YWlsLmNvbV0gDQpTZW50OiBUaHVyc2RheSwgTWF5IDI1LCAyMDE3IDEwOjE0IEFNDQpUbzogZGV2 QG5pZmkuYXBhY2hlLm9yZw0KU3ViamVjdDogW0VYVF0gUmU6IE92ZXJsYXBwaW5nRmlsZUxvY2tF eGNlcHRpb24gd2hpbGUgcmVzdGFydGluZw0KDQptb3N0IGxpa2VseSB0aGVyZSBpcyBhbm90aGVy IGluc3RhbmNlIG9mIG5pZmkgc3RpbGwgcnVubmluZy4gIENoZWNrIHBzIC1lZiB8IGdyZXAgbmlm aS4gIEtpbGwgdGhhdCBhbmQgdHJ5IGFnYWluLg0KDQpUaGFua3MNCg0KT24gVGh1LCBNYXkgMjUs IDIwMTcgYXQgMTI6MTAgUE0sIEthcnRoaWsgS290aGFyZWRkeSAoa2FydGhpa2spIFtDT05UDQot IFR5cGUgMl0gPGthcnRoaWtrQG1pY3Jvbi5jb20+IHdyb3RlOg0KPiBIZWxsbywNCj4NCj4gSSBh bSBydW5uaW5nIDEuMi4wIFNuYXBzaG90IG9uIGEgTGludXggaW5zdGFuY2Ugd2l0aCBzb21lIGN1 c3RvbSANCj4gcHJvY2Vzc29ycy4gSSB3YXMgdHJ5aW5nIHRvIHVwZGF0ZSBhIGNlcnRpZmljYXRl IHRoaXMgbW9ybmluZyBhbmQgDQo+IHJlc3RhcnQgdGhlIGluc3RhbmNlIGFuZCBJJ20gc3R1Y2sg d2l0aCB0aGUgDQo+ICJPdmVybGFwcGluZ0ZpbGVMb2NrRXhjZXB0aW9uIi4gVGhlIGluc3RhbmNl IHdvdWxkIG5vdCBzdGFydCBhbmQgc29vbiANCj4gYWZ0ZXIgSSBzdGFydCBpdCAsaXQgd2lsbCBz aHV0ZG93biB3aXRoIHRoZSBmb2xsb3dpbmcgbG9ncyBpbiANCj4gYm9vdHN0cmFwLmxvZw0KPg0K PiAyMDE3LTA1LTI1IDE1OjM3OjEyLDkzNSBFUlJPUiBbTmlGaSBsb2dnaW5nIGhhbmRsZXJdIG9y Zy5hcGFjaGUubmlmaS5TdGRFcnIgRmFpbGVkIHRvIHN0YXJ0IHdlYiBzZXJ2ZXI6IFVuYWJsZSB0 byBzdGFydCBGbG93IENvbnRyb2xsZXIuDQo+IDIwMTctMDUtMjUgMTU6Mzc6MTIsOTM2IEVSUk9S IFtOaUZpIGxvZ2dpbmcgaGFuZGxlcl0gb3JnLmFwYWNoZS5uaWZpLlN0ZEVyciBTaHV0dGluZyBk b3duLi4uDQo+IDIwMTctMDUtMjUgMTU6Mzc6MTMsODg0IElORk8gW21haW5dIG9yZy5hcGFjaGUu bmlmaS5ib290c3RyYXAuUnVuTmlGaSANCj4gTmlGaSBuZXZlciBzdGFydGVkLiBXaWxsIG5vdCBy ZXN0YXJ0IE5pRmkNCj4NCj4gSG93ZXZlciwgSSB3YXMgZ29pbmcgdGhyb3VnaCB0aGUgYXBwLWxv ZyB0byBtYWtlIHN1cmUgZXZlcnl0aGluZyBpcyANCj4gb2theSBhbmQgSSBmb3VuZCB0aGUgYmVs b3cgdHJhY2UNCj4NCj4NCj4gV0FSTiBbVGhyZWFkLTFdIG9yZy5hcGFjaGUubmlmaS53ZWIuc2Vy dmVyLkpldHR5U2VydmVyIEZhaWxlZCB0byBzdG9wIA0KPiB3ZWIgc2VydmVyDQo+IG9yZy5zcHJp bmdmcmFtZXdvcmsuYmVhbnMuZmFjdG9yeS5CZWFuQ3JlYXRpb25FeGNlcHRpb246IEVycm9yIGNy ZWF0aW5nIGJlYW4gd2l0aCBuYW1lICdmbG93U2VydmljZSc6IEZhY3RvcnlCZWFuIHRocmV3IGV4 Y2VwdGlvbiBvbiBvYmplY3QgY3JlYXRpb247IG5lc3RlZCBleGNlcHRpb24gaXMgb3JnLnNwcmlu Z2ZyYW1ld29yay5iZWFucy5mYWN0b3J5LkJlYW5DcmVhdGlvbkV4Y2VwdGlvbjogRXJyb3IgY3Jl YXRpbmcgYmVhbiB3aXRoIG5hbWUgJ2Zsb3dDb250cm9sbGVyJzogRmFjdG9yeUJlYW4gdGhyZXcg ZXhjZXB0aW9uIG9uIG9iamVjdCBjcmVhdGlvbjsgbmVzdGVkIGV4Y2VwdGlvbiBpcyBqYXZhLmxh bmcuUnVudGltZUV4Y2VwdGlvbjogamF2YS5uaW8uY2hhbm5lbHMuT3ZlcmxhcHBpbmdGaWxlTG9j a0V4Y2VwdGlvbg0KPiAgICAgICAgIGF0IG9yZy5zcHJpbmdmcmFtZXdvcmsuYmVhbnMuZmFjdG9y eS5zdXBwb3J0LkZhY3RvcnlCZWFuUmVnaXN0cnlTdXBwb3J0LmRvR2V0T2JqZWN0RnJvbUZhY3Rv cnlCZWFuKEZhY3RvcnlCZWFuUmVnaXN0cnlTdXBwb3J0LmphdmE6MTc1KSB+W25hOm5hXQ0KPiAg ICAgICAgIGF0IG9yZy5zcHJpbmdmcmFtZXdvcmsuYmVhbnMuZmFjdG9yeS5zdXBwb3J0LkZhY3Rv cnlCZWFuUmVnaXN0cnlTdXBwb3J0LmdldE9iamVjdEZyb21GYWN0b3J5QmVhbihGYWN0b3J5QmVh blJlZ2lzdHJ5U3VwcG9ydC5qYXZhOjEwMykgfltuYTpuYV0NCj4gICAgICAgICBhdCBvcmcuc3By aW5nZnJhbWV3b3JrLmJlYW5zLmZhY3Rvcnkuc3VwcG9ydC5BYnN0cmFjdEJlYW5GYWN0b3J5Lmdl dE9iamVjdEZvckJlYW5JbnN0YW5jZShBYnN0cmFjdEJlYW5GYWN0b3J5LmphdmE6MTU4NSkgfltu YTpuYV0NCj4gICAgICAgICBhdCBvcmcuc3ByaW5nZnJhbWV3b3JrLmJlYW5zLmZhY3Rvcnkuc3Vw cG9ydC5BYnN0cmFjdEJlYW5GYWN0b3J5LmRvR2V0QmVhbihBYnN0cmFjdEJlYW5GYWN0b3J5Lmph dmE6MjU0KSB+W25hOm5hXQ0KPiAgICAgICAgIGF0IG9yZy5zcHJpbmdmcmFtZXdvcmsuYmVhbnMu ZmFjdG9yeS5zdXBwb3J0LkFic3RyYWN0QmVhbkZhY3RvcnkuZ2V0QmVhbihBYnN0cmFjdEJlYW5G YWN0b3J5LmphdmE6MjAyKSB+W25hOm5hXQ0KPiAgICAgICAgIGF0IG9yZy5zcHJpbmdmcmFtZXdv cmsuY29udGV4dC5zdXBwb3J0LkFic3RyYWN0QXBwbGljYXRpb25Db250ZXh0LmdldEJlYW4oQWJz dHJhY3RBcHBsaWNhdGlvbkNvbnRleHQuamF2YToxMDYwKSB+W25hOm5hXQ0KPiAgICAgICAgIGF0 IG9yZy5hcGFjaGUubmlmaS53ZWIuY29udGV4dGxpc3RlbmVyLkFwcGxpY2F0aW9uU3RhcnR1cENv bnRleHRMaXN0ZW5lci5jb250ZXh0RGVzdHJveWVkKEFwcGxpY2F0aW9uU3RhcnR1cENvbnRleHRM aXN0ZW5lci5qYXZhOjEwMykgfltuYTpuYV0NCj4gICAgICAgICBhdCBvcmcuZWNsaXBzZS5qZXR0 eS5zZXJ2ZXIuaGFuZGxlci5Db250ZXh0SGFuZGxlci5jYWxsQ29udGV4dERlc3Ryb3llZChDb250 ZXh0SGFuZGxlci5qYXZhOjg0NSkgfltuYTpuYV0NCj4gICAgICAgICBhdCBvcmcuZWNsaXBzZS5q ZXR0eS5zZXJ2bGV0LlNlcnZsZXRDb250ZXh0SGFuZGxlci5jYWxsQ29udGV4dERlc3Ryb3llZChT ZXJ2bGV0Q29udGV4dEhhbmRsZXIuamF2YTo1NDYpIH5bbmE6bmFdDQo+ICAgICAgICAgYXQgb3Jn LmVjbGlwc2UuamV0dHkuc2VydmVyLmhhbmRsZXIuQ29udGV4dEhhbmRsZXIuc3RvcENvbnRleHQo Q29udGV4dEhhbmRsZXIuamF2YTo4MjYpIH5bbmE6bmFdDQo+ICAgICAgICAgYXQgb3JnLmVjbGlw c2UuamV0dHkuc2VydmxldC5TZXJ2bGV0Q29udGV4dEhhbmRsZXIuc3RvcENvbnRleHQoU2Vydmxl dENvbnRleHRIYW5kbGVyLmphdmE6MzU2KSB+W25hOm5hXQ0KPiAgICAgICAgIGF0IG9yZy5lY2xp cHNlLmpldHR5LndlYmFwcC5XZWJBcHBDb250ZXh0LnN0b3BXZWJhcHAoV2ViQXBwQ29udGV4dC5q YXZhOjE0MTApIH5bbmE6bmFdDQo+ICAgICAgICAgYXQgb3JnLmVjbGlwc2UuamV0dHkud2ViYXBw LldlYkFwcENvbnRleHQuc3RvcENvbnRleHQoV2ViQXBwQ29udGV4dC5qYXZhOjEzNzQpIH5bbmE6 bmFdDQo+ICAgICAgICAgYXQgb3JnLmVjbGlwc2UuamV0dHkuc2VydmVyLmhhbmRsZXIuQ29udGV4 dEhhbmRsZXIuZG9TdG9wKENvbnRleHRIYW5kbGVyLmphdmE6ODc0KSB+W25hOm5hXQ0KPiAgICAg ICAgIGF0IG9yZy5lY2xpcHNlLmpldHR5LnNlcnZsZXQuU2VydmxldENvbnRleHRIYW5kbGVyLmRv U3RvcChTZXJ2bGV0Q29udGV4dEhhbmRsZXIuamF2YToyNzIpIH5bbmE6bmFdDQo+ICAgICAgICAg YXQgb3JnLmVjbGlwc2UuamV0dHkud2ViYXBwLldlYkFwcENvbnRleHQuZG9TdG9wKFdlYkFwcENv bnRleHQuamF2YTo1NDQpIH5bbmE6bmFdDQo+ICAgICAgICAgYXQgb3JnLmVjbGlwc2UuamV0dHku dXRpbC5jb21wb25lbnQuQWJzdHJhY3RMaWZlQ3ljbGUuc3RvcChBYnN0cmFjdExpZmVDeWNsZS5q YXZhOjg5KSB+W25hOm5hXQ0KPiAgICAgICAgIGF0IG9yZy5lY2xpcHNlLmpldHR5LnV0aWwuY29t cG9uZW50LkNvbnRhaW5lckxpZmVDeWNsZS5zdG9wKENvbnRhaW5lckxpZmVDeWNsZS5qYXZhOjE0 MykgfltuYTpuYV0NCj4gICAgICAgICBhdCBvcmcuZWNsaXBzZS5qZXR0eS51dGlsLmNvbXBvbmVu dC5Db250YWluZXJMaWZlQ3ljbGUuZG9TdG9wKENvbnRhaW5lckxpZmVDeWNsZS5qYXZhOjE2MSkg fltuYTpuYV0NCj4gICAgICAgICBhdCBvcmcuZWNsaXBzZS5qZXR0eS5zZXJ2ZXIuaGFuZGxlci5B YnN0cmFjdEhhbmRsZXIuZG9TdG9wKEFic3RyYWN0SGFuZGxlci5qYXZhOjczKSB+W25hOm5hXQ0K PiAgICAgICAgIGF0IG9yZy5lY2xpcHNlLmpldHR5LnV0aWwuY29tcG9uZW50LkFic3RyYWN0TGlm ZUN5Y2xlLnN0b3AoQWJzdHJhY3RMaWZlQ3ljbGUuamF2YTo4OSkgfltuYTpuYV0NCj4gICAgICAg ICBhdCBvcmcuZWNsaXBzZS5qZXR0eS51dGlsLmNvbXBvbmVudC5Db250YWluZXJMaWZlQ3ljbGUu c3RvcChDb250YWluZXJMaWZlQ3ljbGUuamF2YToxNDMpIH5bbmE6bmFdDQo+ICAgICAgICAgYXQg b3JnLmVjbGlwc2UuamV0dHkudXRpbC5jb21wb25lbnQuQ29udGFpbmVyTGlmZUN5Y2xlLmRvU3Rv cChDb250YWluZXJMaWZlQ3ljbGUuamF2YToxNjEpIH5bbmE6bmFdDQo+ICAgICAgICAgYXQgb3Jn LmVjbGlwc2UuamV0dHkuc2VydmVyLmhhbmRsZXIuQWJzdHJhY3RIYW5kbGVyLmRvU3RvcChBYnN0 cmFjdEhhbmRsZXIuamF2YTo3MykgfltuYTpuYV0NCj4gICAgICAgICBhdCBvcmcuZWNsaXBzZS5q ZXR0eS51dGlsLmNvbXBvbmVudC5BYnN0cmFjdExpZmVDeWNsZS5zdG9wKEFic3RyYWN0TGlmZUN5 Y2xlLmphdmE6ODkpIH5bbmE6bmFdDQo+ICAgICAgICAgYXQgb3JnLmVjbGlwc2UuamV0dHkudXRp bC5jb21wb25lbnQuQ29udGFpbmVyTGlmZUN5Y2xlLnN0b3AoQ29udGFpbmVyTGlmZUN5Y2xlLmph dmE6MTQzKSB+W25hOm5hXQ0KPiAgICAgICAgIGF0IG9yZy5lY2xpcHNlLmpldHR5LnV0aWwuY29t cG9uZW50LkNvbnRhaW5lckxpZmVDeWNsZS5kb1N0b3AoQ29udGFpbmVyTGlmZUN5Y2xlLmphdmE6 MTYxKSB+W25hOm5hXQ0KPiAgICAgICAgIGF0IG9yZy5lY2xpcHNlLmpldHR5LnNlcnZlci5oYW5k bGVyLkFic3RyYWN0SGFuZGxlci5kb1N0b3AoQWJzdHJhY3RIYW5kbGVyLmphdmE6NzMpIH5bbmE6 bmFdDQo+ICAgICAgICAgYXQgb3JnLmVjbGlwc2UuamV0dHkuc2VydmVyLlNlcnZlci5kb1N0b3Ao U2VydmVyLmphdmE6NDgyKSB+W25hOm5hXQ0KPiAgICAgICAgIGF0IG9yZy5lY2xpcHNlLmpldHR5 LnV0aWwuY29tcG9uZW50LkFic3RyYWN0TGlmZUN5Y2xlLnN0b3AoQWJzdHJhY3RMaWZlQ3ljbGUu amF2YTo4OSkgfltuYTpuYV0NCj4gICAgICAgICBhdCBvcmcuYXBhY2hlLm5pZmkud2ViLnNlcnZl ci5KZXR0eVNlcnZlci5zdG9wKEpldHR5U2VydmVyLmphdmE6ODU0KSB+W25hOm5hXQ0KPiAgICAg ICAgIGF0IG9yZy5hcGFjaGUubmlmaS5OaUZpLnNodXRkb3duSG9vayhOaUZpLmphdmE6MTg4KSBb bmlmaS1ydW50aW1lLTEuMi4wLVNOQVBTSE9ULmphcjoxLjIuMC1TTkFQU0hPVF0NCj4gICAgICAg ICBhdCBvcmcuYXBhY2hlLm5pZmkuTmlGaSQyLnJ1bihOaUZpLmphdmE6ODkpIFtuaWZpLXJ1bnRp bWUtMS4yLjAtU05BUFNIT1QuamFyOjEuMi4wLVNOQVBTSE9UXQ0KPiAgICAgICAgIGF0IGphdmEu bGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0NSkgW25hOjEuOC4wXzEwMV0gQ2F1c2VkIA0K PiBieTogb3JnLnNwcmluZ2ZyYW1ld29yay5iZWFucy5mYWN0b3J5LkJlYW5DcmVhdGlvbkV4Y2Vw dGlvbjogRXJyb3IgY3JlYXRpbmcgYmVhbiB3aXRoIG5hbWUgJ2Zsb3dDb250cm9sbGVyJzogRmFj dG9yeUJlYW4gdGhyZXcgZXhjZXB0aW9uIG9uIG9iamVjdCBjcmVhdGlvbjsgbmVzdGVkIGV4Y2Vw dGlvbiBpcyBqYXZhLmxhbmcuUnVudGltZUV4Y2VwdGlvbjogamF2YS5uaW8uY2hhbm5lbHMuT3Zl cmxhcHBpbmdGaWxlTG9ja0V4Y2VwdGlvbg0KPiAgICAgICAgIGF0IG9yZy5zcHJpbmdmcmFtZXdv cmsuYmVhbnMuZmFjdG9yeS5zdXBwb3J0LkZhY3RvcnlCZWFuUmVnaXN0cnlTdXBwb3J0LmRvR2V0 T2JqZWN0RnJvbUZhY3RvcnlCZWFuKEZhY3RvcnlCZWFuUmVnaXN0cnlTdXBwb3J0LmphdmE6MTc1 KSB+W25hOm5hXQ0KPiAgICAgICAgIGF0IG9yZy5zcHJpbmdmcmFtZXdvcmsuYmVhbnMuZmFjdG9y eS5zdXBwb3J0LkZhY3RvcnlCZWFuUmVnaXN0cnlTdXBwb3J0LmdldE9iamVjdEZyb21GYWN0b3J5 QmVhbihGYWN0b3J5QmVhblJlZ2lzdHJ5U3VwcG9ydC5qYXZhOjEwMykgfltuYTpuYV0NCj4gICAg ICAgICBhdCBvcmcuc3ByaW5nZnJhbWV3b3JrLmJlYW5zLmZhY3Rvcnkuc3VwcG9ydC5BYnN0cmFj dEJlYW5GYWN0b3J5LmdldE9iamVjdEZvckJlYW5JbnN0YW5jZShBYnN0cmFjdEJlYW5GYWN0b3J5 LmphdmE6MTU4NSkgfltuYTpuYV0NCj4gICAgICAgICBhdCBvcmcuc3ByaW5nZnJhbWV3b3JrLmJl YW5zLmZhY3Rvcnkuc3VwcG9ydC5BYnN0cmFjdEJlYW5GYWN0b3J5LmRvR2V0QmVhbihBYnN0cmFj dEJlYW5GYWN0b3J5LmphdmE6MjU0KSB+W25hOm5hXQ0KPiAgICAgICAgIGF0IG9yZy5zcHJpbmdm cmFtZXdvcmsuYmVhbnMuZmFjdG9yeS5zdXBwb3J0LkFic3RyYWN0QmVhbkZhY3RvcnkuZ2V0QmVh bihBYnN0cmFjdEJlYW5GYWN0b3J5LmphdmE6MjAyKSB+W25hOm5hXQ0KPiAgICAgICAgIGF0IG9y Zy5zcHJpbmdmcmFtZXdvcmsuY29udGV4dC5zdXBwb3J0LkFic3RyYWN0QXBwbGljYXRpb25Db250 ZXh0LmdldEJlYW4oQWJzdHJhY3RBcHBsaWNhdGlvbkNvbnRleHQuamF2YToxMDYwKSB+W25hOm5h XQ0KPiAgICAgICAgIGF0IG9yZy5hcGFjaGUubmlmaS5zcHJpbmcuU3RhbmRhcmRGbG93U2Vydmlj ZUZhY3RvcnlCZWFuLmdldE9iamVjdChTdGFuZGFyZEZsb3dTZXJ2aWNlRmFjdG9yeUJlYW4uamF2 YTo0OCkgfltuYTpuYV0NCj4gICAgICAgICBhdCBvcmcuc3ByaW5nZnJhbWV3b3JrLmJlYW5zLmZh Y3Rvcnkuc3VwcG9ydC5GYWN0b3J5QmVhblJlZ2lzdHJ5U3VwcG9ydC5kb0dldE9iamVjdEZyb21G YWN0b3J5QmVhbihGYWN0b3J5QmVhblJlZ2lzdHJ5U3VwcG9ydC5qYXZhOjE2OCkgfltuYTpuYV0N Cj4gICAgICAgICAuLi4gMzMgY29tbW9uIGZyYW1lcyBvbWl0dGVkDQo+IENhdXNlZCBieTogamF2 YS5sYW5nLlJ1bnRpbWVFeGNlcHRpb246IGphdmEubmlvLmNoYW5uZWxzLk92ZXJsYXBwaW5nRmls ZUxvY2tFeGNlcHRpb24NCj4gICAgICAgICBhdCBvcmcuYXBhY2hlLm5pZmkuY29udHJvbGxlci5G bG93Q29udHJvbGxlci5jcmVhdGVGbG93RmlsZVJlcG9zaXRvcnkoRmxvd0NvbnRyb2xsZXIuamF2 YTo2NDEpIH5bbmE6bmFdDQo+ICAgICAgICAgYXQgb3JnLmFwYWNoZS5uaWZpLmNvbnRyb2xsZXIu Rmxvd0NvbnRyb2xsZXIuPGluaXQ+KEZsb3dDb250cm9sbGVyLmphdmE6NDQ3KSB+W25hOm5hXQ0K PiAgICAgICAgIGF0IG9yZy5hcGFjaGUubmlmaS5jb250cm9sbGVyLkZsb3dDb250cm9sbGVyLmNy ZWF0ZVN0YW5kYWxvbmVJbnN0YW5jZShGbG93Q29udHJvbGxlci5qYXZhOjM3NSkgfltuYTpuYV0N Cj4gICAgICAgICBhdCBvcmcuYXBhY2hlLm5pZmkuc3ByaW5nLkZsb3dDb250cm9sbGVyRmFjdG9y eUJlYW4uZ2V0T2JqZWN0KEZsb3dDb250cm9sbGVyRmFjdG9yeUJlYW4uamF2YTo3NCkgfltuYTpu YV0NCj4gICAgICAgICBhdCBvcmcuc3ByaW5nZnJhbWV3b3JrLmJlYW5zLmZhY3Rvcnkuc3VwcG9y dC5GYWN0b3J5QmVhblJlZ2lzdHJ5U3VwcG9ydC5kb0dldE9iamVjdEZyb21GYWN0b3J5QmVhbihG YWN0b3J5QmVhblJlZ2lzdHJ5U3VwcG9ydC5qYXZhOjE2OCkgfltuYTpuYV0NCj4gICAgICAgICAu Li4gNDAgY29tbW9uIGZyYW1lcyBvbWl0dGVkDQo+IENhdXNlZCBieTogamF2YS5uaW8uY2hhbm5l bHMuT3ZlcmxhcHBpbmdGaWxlTG9ja0V4Y2VwdGlvbjogbnVsbA0KPiAgICAgICAgIGF0IHN1bi5u aW8uY2guU2hhcmVkRmlsZUxvY2tUYWJsZS5jaGVja0xpc3QoRmlsZUxvY2tUYWJsZS5qYXZhOjI1 NSkgfltuYToxLjguMF8xMDFdDQo+ICAgICAgICAgYXQgc3VuLm5pby5jaC5TaGFyZWRGaWxlTG9j a1RhYmxlLmFkZChGaWxlTG9ja1RhYmxlLmphdmE6MTUyKSB+W25hOjEuOC4wXzEwMV0NCj4gICAg ICAgICBhdCBzdW4ubmlvLmNoLkZpbGVDaGFubmVsSW1wbC5sb2NrKEZpbGVDaGFubmVsSW1wbC5q YXZhOjEwNjMpIH5bbmE6MS44LjBfMTAxXQ0KPiAgICAgICAgIGF0IGphdmEubmlvLmNoYW5uZWxz LkZpbGVDaGFubmVsLmxvY2soRmlsZUNoYW5uZWwuamF2YToxMDUzKSB+W25hOjEuOC4wXzEwMV0N Cj4gICAgICAgICBhdCBvcmcud2FsaS5NaW5pbWFsTG9ja2luZ1dyaXRlQWhlYWRMb2cuPGluaXQ+ KE1pbmltYWxMb2NraW5nV3JpdGVBaGVhZExvZy5qYXZhOjE4NykgfltuYTpuYV0NCj4gICAgICAg ICBhdCBvcmcud2FsaS5NaW5pbWFsTG9ja2luZ1dyaXRlQWhlYWRMb2cuPGluaXQ+KE1pbmltYWxM b2NraW5nV3JpdGVBaGVhZExvZy5qYXZhOjExMikgfltuYTpuYV0NCj4gICAgICAgICBhdCBvcmcu YXBhY2hlLm5pZmkuY29udHJvbGxlci5yZXBvc2l0b3J5LldyaXRlQWhlYWRGbG93RmlsZVJlcG9z aXRvcnkuaW5pdGlhbGl6ZShXcml0ZUFoZWFkRmxvd0ZpbGVSZXBvc2l0b3J5LmphdmE6MTQ4KSB+ W25hOm5hXQ0KPiAgICAgICAgIGF0IG9yZy5hcGFjaGUubmlmaS5jb250cm9sbGVyLkZsb3dDb250 cm9sbGVyLmNyZWF0ZUZsb3dGaWxlUmVwb3NpdG9yeShGbG93Q29udHJvbGxlci5qYXZhOjYzNykg fltuYTpuYV0NCj4gICAgICAgICAuLi4gNDQgY29tbW9uIGZyYW1lcyBvbWl0dGVkDQo+IDIwMTct MDUtMjUgMTU6NDE6MjgsMTE3IElORk8gW1RocmVhZC0xXSBvcmcuYXBhY2hlLm5pZmkuTmlGaSBK ZXR0eSB3ZWIgc2VydmVyIHNodXRkb3duIGNvbXBsZXRlZCAobmljZWx5IG9yIG90aGVyd2lzZSku DQo+DQo+DQo+IENhbiBhbnlvbmUgc3VnZ2VzdCBhbnl0aGluZyBhdCB0aGlzIHBvaW50LCBJIGRv dWJsZSBjaGVja2VkIGFsbCB0aGUgc2VydmVyIGNvbmZpZ3VyYXRpb25zIGxpa2UgamV0dHkgcHJv cGVydGllcyBhbmQgd2ViIHBvcnRzLCBldmVyeXRoaW5nIHNlZW1zIHRvIGJlIG5vcm1hbC4gSSBz dGlsbCBjYW5ub3QgdGhpbmsgb2Ygd2h5IHRoaXMgd291bGQgYmUgaGFwcGVuaW5nIGFsbCBvZiBh IHN1ZGRlbi4gQW55IGhlbHAgb24gdGhpcyB3b3VsZCBiZSBhcHByZWNpYXRlZC4NCj4NCj4NCj4g VGhhbmtzDQo+IEthcnRoaWsNCj4NCj4NCj4NCj4NCj4NCg==