Return-Path: X-Original-To: apmail-cayenne-dev-archive@www.apache.org Delivered-To: apmail-cayenne-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 5B2644806 for ; Fri, 24 Jun 2011 00:46:42 +0000 (UTC) Received: (qmail 98227 invoked by uid 500); 24 Jun 2011 00:46:42 -0000 Delivered-To: apmail-cayenne-dev-archive@cayenne.apache.org Received: (qmail 98209 invoked by uid 500); 24 Jun 2011 00:46:42 -0000 Mailing-List: contact dev-help@cayenne.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cayenne.apache.org Delivered-To: mailing list dev@cayenne.apache.org Received: (qmail 98200 invoked by uid 99); 24 Jun 2011 00:46:42 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 24 Jun 2011 00:46:42 +0000 X-ASF-Spam-Status: No, hits=3.8 required=5.0 tests=FREEMAIL_FROM,FSL_RU_URL,HTML_MESSAGE,RCVD_IN_DNSWL_LOW,RFC_ABUSE_POST,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of esudharaka@gmail.com designates 209.85.220.171 as permitted sender) Received: from [209.85.220.171] (HELO mail-vx0-f171.google.com) (209.85.220.171) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 24 Jun 2011 00:46:33 +0000 Received: by vxh11 with SMTP id 11so2843259vxh.16 for ; Thu, 23 Jun 2011 17:46:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:date:message-id:subject:from:to :content-type; bh=3GjCGkGgyFEb7A8WGZG+bBtN94es2siflRuKAFdMa5A=; b=ONqa4q38T+eNLjYL66XRuk9B02tNd3xPEduoaTgEBY33645BLPfGUkMzXbsNRzjIje RglrTQ8IfSWF3XWpm2MuJQQVtPmyM5c5GE++qjBtvaMqupoz2jCzt8RBiRfSVUseUaIp iNkyn2but552N130QIXGW1qM2xLqTfqc9ekDM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=HDx3uPGvQdqeCmYIumO2D+clfRqadX8CgWdBPHDLDNuFodMHQz6VKI1ayw+JA7XjQV DiOY9JJfsvS8xGfhepjSsAgK4oVs/t/cujHVQvshE1nbTxjXBvS58IKKPk449Bv7w8ON 4ES0CzQDSoGvGjztQmHNhmkx/AgKYfm3pqYiQ= MIME-Version: 1.0 Received: by 10.52.186.230 with SMTP id fn6mr3581464vdc.311.1308876371750; Thu, 23 Jun 2011 17:46:11 -0700 (PDT) Received: by 10.52.112.198 with HTTP; Thu, 23 Jun 2011 17:46:11 -0700 (PDT) Date: Fri, 24 Jun 2011 06:16:11 +0530 Message-ID: Subject: Import-Package header issue From: Eshan Sudharaka To: Ksenia Khailenko , dev@cayenne.apache.org Content-Type: multipart/mixed; boundary=bcaec54858ca316f2204a66a87dd X-Virus-Checked: Checked by ClamAV on apache.org --bcaec54858ca316f2204a66a87dd Content-Type: multipart/alternative; boundary=bcaec54858ca316f1d04a66a87db --bcaec54858ca316f1d04a66a87db Content-Type: text/plain; charset=ISO-8859-1 Hi Ksenia , I get some help from felix guys and did some changes (remove all unnecessary third party dependencies , add required bundles header and keep import package and export package default and change felix version to the latest one). Once we add all required bundles in to required bundle header felix is adding all necessary imports to the bundle. In this case it seems imports is not working. Actually i have a question regarding import header. As i understood when we mention a bundle in import header it looks existing manifests files in jar files is eclipse/plugin folder and the jar files existing in my bundle ( target/dependency folder ) ? And the plugin is compile with out those import dependencies which are created by felix plugin in import package header. So is it trying to resolve relative dependencies ? eg : bundle A require bindle C and when we I use bundle A should i add bindle C as well ? i think it is not since A has already resolved it's dependencies. when i delete that import package header and run the plugin as eclipse application it is working. -- *~Thanks & Regards~* *** * P.A.Eshan Sudharaka Dept of Computer Science and Engineering University of Moratuwa Sri Lanka http://esudharaka.blogspot.com/ --bcaec54858ca316f1d04a66a87db Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Hi Ksenia ,
=A0=A0=A0=A0=A0=A0=A0 I get some help from felix guys and di= d some changes (remove all unnecessary third party dependencies , add requi= red bundles header and keep import package and export package default and c= hange felix version to the latest one). Once we add all required bundles in= to required bundle header felix is adding all necessary imports to the bun= dle. In this case it seems imports is not working.

Actually i have a question regarding import=A0 header. As i understood = when we mention a bundle in import header it looks existing manifests files= in jar files is eclipse/plugin folder and the jar files existing in my bun= dle ( target/dependency=A0 folder )=A0 ?=A0 And the=A0 plugin is compile wi= th out those import dependencies which are created by felix plugin in impor= t package header. So is it trying to resolve relative dependencies ?
=A0=A0=A0=A0 eg : bundle A require bindle C and when we I use bundle A shou= ld i add bindle C as well ? i think it is not since A has already resolved = it's dependencies.

when i delete that import package header and= run the plugin as eclipse application it is working.

--
~Thanks &a= mp; Regards~

P.A.Eshan Sudharaka
Dept of Computer Science and Engineering
University of Moratuwa
Sri = Lanka
http= ://esudharaka.blogspot.com/


--bcaec54858ca316f1d04a66a87db-- --bcaec54858ca316f2204a66a87dd Content-Type: text/x-patch; charset=US-ASCII; name="gsoc-plugin.patch" Content-Disposition: attachment; filename="gsoc-plugin.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gpaey8270 SW5kZXg6IGNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi1nc29jL3JlcG9zaXRvcnkvb3Jn L2VjbGlwc2Uvb3NnaS9tYXZlbi1tZXRhZGF0YS1sb2NhbC54bWwKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gY2F5 ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLWdzb2MvcmVwb3NpdG9yeS9vcmcvZWNsaXBzZS9v c2dpL21hdmVuLW1ldGFkYXRhLWxvY2FsLnhtbAkocmV2aXNpb24gMCkKKysrIGNheWVubmUtbW9k ZWxlci1lY2xpcHNlLXBsdWdpbi1nc29jL3JlcG9zaXRvcnkvb3JnL2VjbGlwc2Uvb3NnaS9tYXZl bi1tZXRhZGF0YS1sb2NhbC54bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTIgQEAKKzw/eG1s IHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8bWV0YWRhdGE+CisgIDxncm91cElk Pm9yZy5lY2xpcHNlPC9ncm91cElkPgorICA8YXJ0aWZhY3RJZD5vc2dpPC9hcnRpZmFjdElkPgor ICA8dmVyc2lvbmluZz4KKyAgICA8cmVsZWFzZT4zLjYuMS5SMzZ4X3YyMDEwMDgwNjwvcmVsZWFz ZT4KKyAgICA8dmVyc2lvbnM+CisgICAgICA8dmVyc2lvbj4zLjYuMS5SMzZ4X3YyMDEwMDgwNjwv dmVyc2lvbj4KKyAgICA8L3ZlcnNpb25zPgorICAgIDxsYXN0VXBkYXRlZD4yMDExMDYxNjA3MDg0 MjwvbGFzdFVwZGF0ZWQ+CisgIDwvdmVyc2lvbmluZz4KKzwvbWV0YWRhdGE+CkluZGV4OiBjYXll bm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4tZ3NvYy9yZXBvc2l0b3J5L29yZy9lY2xpcHNlL29z Z2kvMy42LjEuUjM2eF92MjAxMDA4MDYvb3NnaS0zLjYuMS5SMzZ4X3YyMDEwMDgwNi5wb20KPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0gY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLWdzb2MvcmVwb3NpdG9y eS9vcmcvZWNsaXBzZS9vc2dpLzMuNi4xLlIzNnhfdjIwMTAwODA2L29zZ2ktMy42LjEuUjM2eF92 MjAxMDA4MDYucG9tCShyZXZpc2lvbiAwKQorKysgY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1 Z2luLWdzb2MvcmVwb3NpdG9yeS9vcmcvZWNsaXBzZS9vc2dpLzMuNi4xLlIzNnhfdjIwMTAwODA2 L29zZ2ktMy42LjEuUjM2eF92MjAxMDA4MDYucG9tCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDkg QEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8cHJvamVjdCB4c2k6 c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCBodHRwOi8v bWF2ZW4uYXBhY2hlLm9yZy94c2QvbWF2ZW4tNC4wLjAueHNkIiB4bWxucz0iaHR0cDovL21hdmVu LmFwYWNoZS5vcmcvUE9NLzQuMC4wIgorICAgIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcv MjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiPgorICA8bW9kZWxWZXJzaW9uPjQuMC4wPC9tb2RlbFZl cnNpb24+CisgIDxncm91cElkPm9yZy5lY2xpcHNlPC9ncm91cElkPgorICA8YXJ0aWZhY3RJZD5v c2dpPC9hcnRpZmFjdElkPgorICA8dmVyc2lvbj4zLjYuMS5SMzZ4X3YyMDEwMDgwNjwvdmVyc2lv bj4KKyAgPGRlc2NyaXB0aW9uPlBPTSB3YXMgY3JlYXRlZCBmcm9tIGluc3RhbGw6aW5zdGFsbC1m aWxlPC9kZXNjcmlwdGlvbj4KKzwvcHJvamVjdD4KSW5kZXg6IGNheWVubmUtbW9kZWxlci1lY2xp cHNlLXBsdWdpbi1nc29jL3JlcG9zaXRvcnkvb3JnL2VjbGlwc2Uvb3NnaS8zLjYuMS5SMzZ4X3Yy MDEwMDgwNi9vc2dpLTMuNi4xLlIzNnhfdjIwMTAwODA2Lmphcgo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBk aXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBw bGljYXRpb24vb2N0ZXQtc3RyZWFtCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBjYXllbm5lLW1vZGVs ZXItZWNsaXBzZS1wbHVnaW4tZ3NvYy9yZXBvc2l0b3J5L29yZy9lY2xpcHNlL29zZ2kvMy42LjEu UjM2eF92MjAxMDA4MDYvb3NnaS0zLjYuMS5SMzZ4X3YyMDEwMDgwNi5qYXIKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB ZGRlZDogc3ZuOm1pbWUtdHlwZQogICArIGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKSW5kZXg6 IGNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi1nc29jL3JlcG9zaXRvcnkvb3JnL2VjbGlw c2Uvb3NnaS8zLjYuMS5SMzZ4X3YyMDEwMDgwNi9fbWF2ZW4ucmVwb3NpdG9yaWVzCj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tIGNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi1nc29jL3JlcG9zaXRvcnkvb3Jn L2VjbGlwc2Uvb3NnaS8zLjYuMS5SMzZ4X3YyMDEwMDgwNi9fbWF2ZW4ucmVwb3NpdG9yaWVzCShy ZXZpc2lvbiAwKQorKysgY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLWdzb2MvcmVwb3Np dG9yeS9vcmcvZWNsaXBzZS9vc2dpLzMuNi4xLlIzNnhfdjIwMTAwODA2L19tYXZlbi5yZXBvc2l0 b3JpZXMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNCBAQAorI05PVEU6IFRoaXMgaXMgYW4gaW50 ZXJuYWwgaW1wbGVtZW50YXRpb24gZmlsZSwgaXRzIGZvcm1hdCBjYW4gYmUgY2hhbmdlZCB3aXRo b3V0IHByaW9yIG5vdGljZS4KKyNUaHUgSnVuIDE2IDEyOjM4OjQyIElTVCAyMDExCitvc2dpLTMu Ni4xLlIzNnhfdjIwMTAwODA2Lmphcj49Citvc2dpLTMuNi4xLlIzNnhfdjIwMTAwODA2LnBvbT49 CkluZGV4OiBjYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4tZ3NvYy9yZXBvc2l0b3J5L29y Zy9lY2xpcHNlL2pmYWNlL21hdmVuLW1ldGFkYXRhLWxvY2FsLnhtbAo9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBj YXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4tZ3NvYy9yZXBvc2l0b3J5L29yZy9lY2xpcHNl L2pmYWNlL21hdmVuLW1ldGFkYXRhLWxvY2FsLnhtbAkocmV2aXNpb24gMCkKKysrIGNheWVubmUt bW9kZWxlci1lY2xpcHNlLXBsdWdpbi1nc29jL3JlcG9zaXRvcnkvb3JnL2VjbGlwc2UvamZhY2Uv bWF2ZW4tbWV0YWRhdGEtbG9jYWwueG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEyIEBACis8 P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPG1ldGFkYXRhPgorICA8Z3Jv dXBJZD5vcmcuZWNsaXBzZTwvZ3JvdXBJZD4KKyAgPGFydGlmYWN0SWQ+amZhY2U8L2FydGlmYWN0 SWQ+CisgIDx2ZXJzaW9uaW5nPgorICAgIDxyZWxlYXNlPjMuNS4yLk0yMDEwMDEyMC0wODAwPC9y ZWxlYXNlPgorICAgIDx2ZXJzaW9ucz4KKyAgICAgIDx2ZXJzaW9uPjMuNS4yLk0yMDEwMDEyMC0w ODAwPC92ZXJzaW9uPgorICAgIDwvdmVyc2lvbnM+CisgICAgPGxhc3RVcGRhdGVkPjIwMTEwNjE5 MTM1ODEyPC9sYXN0VXBkYXRlZD4KKyAgPC92ZXJzaW9uaW5nPgorPC9tZXRhZGF0YT4KSW5kZXg6 IGNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi1nc29jL3JlcG9zaXRvcnkvb3JnL2VjbGlw c2UvamZhY2UvMy41LjIuTTIwMTAwMTIwLTA4MDAvamZhY2UtMy41LjIuTTIwMTAwMTIwLTA4MDAu cG9tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tIGNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi1nc29jL3Jl cG9zaXRvcnkvb3JnL2VjbGlwc2UvamZhY2UvMy41LjIuTTIwMTAwMTIwLTA4MDAvamZhY2UtMy41 LjIuTTIwMTAwMTIwLTA4MDAucG9tCShyZXZpc2lvbiAwKQorKysgY2F5ZW5uZS1tb2RlbGVyLWVj bGlwc2UtcGx1Z2luLWdzb2MvcmVwb3NpdG9yeS9vcmcvZWNsaXBzZS9qZmFjZS8zLjUuMi5NMjAx MDAxMjAtMDgwMC9qZmFjZS0zLjUuMi5NMjAxMDAxMjAtMDgwMC5wb20JKHJldmlzaW9uIDApCkBA IC0wLDAgKzEsOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxw cm9qZWN0IHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQu MC4wIGh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL3hzZC9tYXZlbi00LjAuMC54c2QiIHhtbG5zPSJo dHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9QT00vNC4wLjAiCisgICAgeG1sbnM6eHNpPSJodHRwOi8v d3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSI+CisgIDxtb2RlbFZlcnNpb24+NC4w LjA8L21vZGVsVmVyc2lvbj4KKyAgPGdyb3VwSWQ+b3JnLmVjbGlwc2U8L2dyb3VwSWQ+CisgIDxh cnRpZmFjdElkPmpmYWNlPC9hcnRpZmFjdElkPgorICA8dmVyc2lvbj4zLjUuMi5NMjAxMDAxMjAt MDgwMDwvdmVyc2lvbj4KKyAgPGRlc2NyaXB0aW9uPlBPTSB3YXMgY3JlYXRlZCBmcm9tIGluc3Rh bGw6aW5zdGFsbC1maWxlPC9kZXNjcmlwdGlvbj4KKzwvcHJvamVjdD4KSW5kZXg6IGNheWVubmUt bW9kZWxlci1lY2xpcHNlLXBsdWdpbi1nc29jL3JlcG9zaXRvcnkvb3JnL2VjbGlwc2UvamZhY2Uv My41LjIuTTIwMTAwMTIwLTA4MDAvX21hdmVuLnJlcG9zaXRvcmllcwo9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBj YXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4tZ3NvYy9yZXBvc2l0b3J5L29yZy9lY2xpcHNl L2pmYWNlLzMuNS4yLk0yMDEwMDEyMC0wODAwL19tYXZlbi5yZXBvc2l0b3JpZXMJKHJldmlzaW9u IDApCisrKyBjYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4tZ3NvYy9yZXBvc2l0b3J5L29y Zy9lY2xpcHNlL2pmYWNlLzMuNS4yLk0yMDEwMDEyMC0wODAwL19tYXZlbi5yZXBvc2l0b3JpZXMJ KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNCBAQAorI05PVEU6IFRoaXMgaXMgYW4gaW50ZXJuYWwg aW1wbGVtZW50YXRpb24gZmlsZSwgaXRzIGZvcm1hdCBjYW4gYmUgY2hhbmdlZCB3aXRob3V0IHBy aW9yIG5vdGljZS4KKyNTdW4gSnVuIDE5IDE5OjI4OjEyIElTVCAyMDExCitqZmFjZS0zLjUuMi5N MjAxMDAxMjAtMDgwMC5qYXI+PQoramZhY2UtMy41LjIuTTIwMTAwMTIwLTA4MDAucG9tPj0KSW5k ZXg6IGNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi1nc29jL3JlcG9zaXRvcnkvb3JnL2Vj bGlwc2UvamZhY2UvMy41LjIuTTIwMTAwMTIwLTA4MDAvamZhY2UtMy41LjIuTTIwMTAwMTIwLTA4 MDAuamFyCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5 IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KClByb3BlcnR5 IGNoYW5nZXMgb246IGNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi1nc29jL3JlcG9zaXRv cnkvb3JnL2VjbGlwc2UvamZhY2UvMy41LjIuTTIwMTAwMTIwLTA4MDAvamZhY2UtMy41LjIuTTIw MTAwMTIwLTA4MDAuamFyCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjptaW1lLXR5cGUKICAgKyBhcHBs aWNhdGlvbi9vY3RldC1zdHJlYW0KCkluZGV4OiBjYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVn aW4tZ3NvYy9yZXBvc2l0b3J5L29yZy9lY2xpcHNlL2NvcmUvcnVudGltZS8zLjAuMS9ydW50aW1l LTMuMC4xLnBvbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLSBjYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4t Z3NvYy9yZXBvc2l0b3J5L29yZy9lY2xpcHNlL2NvcmUvcnVudGltZS8zLjAuMS9ydW50aW1lLTMu MC4xLnBvbQkocmV2aXNpb24gMCkKKysrIGNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi1n c29jL3JlcG9zaXRvcnkvb3JnL2VjbGlwc2UvY29yZS9ydW50aW1lLzMuMC4xL3J1bnRpbWUtMy4w LjEucG9tCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIg ZW5jb2Rpbmc9IlVURi04Ij8+Cis8cHJvamVjdCB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9t YXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCBodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy94c2QvbWF2 ZW4tNC4wLjAueHNkIiB4bWxucz0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIgor ICAgIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2Ui PgorICA8bW9kZWxWZXJzaW9uPjQuMC4wPC9tb2RlbFZlcnNpb24+CisgIDxncm91cElkPm9yZy5l Y2xpcHNlLmNvcmU8L2dyb3VwSWQ+CisgIDxhcnRpZmFjdElkPnJ1bnRpbWU8L2FydGlmYWN0SWQ+ CisgIDx2ZXJzaW9uPjMuMC4xPC92ZXJzaW9uPgorICA8ZGVzY3JpcHRpb24+UE9NIHdhcyBjcmVh dGVkIGZyb20gaW5zdGFsbDppbnN0YWxsLWZpbGU8L2Rlc2NyaXB0aW9uPgorPC9wcm9qZWN0PgpJ bmRleDogY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLWdzb2MvcmVwb3NpdG9yeS9vcmcv ZWNsaXBzZS9jb3JlL3J1bnRpbWUvMy4wLjEvcnVudGltZS0zLjAuMS5qYXIKPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpD YW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlw ZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKUHJvcGVydHkgY2hhbmdlcyBvbjogY2F5ZW5u ZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLWdzb2MvcmVwb3NpdG9yeS9vcmcvZWNsaXBzZS9jb3Jl L3J1bnRpbWUvMy4wLjEvcnVudGltZS0zLjAuMS5qYXIKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1p bWUtdHlwZQogICArIGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKSW5kZXg6IGNheWVubmUtbW9k ZWxlci1lY2xpcHNlLXBsdWdpbi1nc29jL3JlcG9zaXRvcnkvb3JnL2VjbGlwc2UvY29yZS9ydW50 aW1lLzMuMC4xL19tYXZlbi5yZXBvc2l0b3JpZXMKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gY2F5ZW5uZS1tb2Rl bGVyLWVjbGlwc2UtcGx1Z2luLWdzb2MvcmVwb3NpdG9yeS9vcmcvZWNsaXBzZS9jb3JlL3J1bnRp bWUvMy4wLjEvX21hdmVuLnJlcG9zaXRvcmllcwkocmV2aXNpb24gMCkKKysrIGNheWVubmUtbW9k ZWxlci1lY2xpcHNlLXBsdWdpbi1nc29jL3JlcG9zaXRvcnkvb3JnL2VjbGlwc2UvY29yZS9ydW50 aW1lLzMuMC4xL19tYXZlbi5yZXBvc2l0b3JpZXMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNCBA QAorI05PVEU6IFRoaXMgaXMgYW4gaW50ZXJuYWwgaW1wbGVtZW50YXRpb24gZmlsZSwgaXRzIGZv cm1hdCBjYW4gYmUgY2hhbmdlZCB3aXRob3V0IHByaW9yIG5vdGljZS4KKyNUaHUgSnVuIDE2IDEy OjMxOjMwIElTVCAyMDExCitydW50aW1lLTMuMC4xLmphcj49CitydW50aW1lLTMuMC4xLnBvbT49 CkluZGV4OiBjYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4tZ3NvYy9yZXBvc2l0b3J5L29y Zy9lY2xpcHNlL2NvcmUvcnVudGltZS9tYXZlbi1tZXRhZGF0YS1sb2NhbC54bWwKPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0gY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLWdzb2MvcmVwb3NpdG9yeS9vcmcv ZWNsaXBzZS9jb3JlL3J1bnRpbWUvbWF2ZW4tbWV0YWRhdGEtbG9jYWwueG1sCShyZXZpc2lvbiAw KQorKysgY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLWdzb2MvcmVwb3NpdG9yeS9vcmcv ZWNsaXBzZS9jb3JlL3J1bnRpbWUvbWF2ZW4tbWV0YWRhdGEtbG9jYWwueG1sCShyZXZpc2lvbiAw KQpAQCAtMCwwICsxLDEyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/ PgorPG1ldGFkYXRhPgorICA8Z3JvdXBJZD5vcmcuZWNsaXBzZS5jb3JlPC9ncm91cElkPgorICA8 YXJ0aWZhY3RJZD5ydW50aW1lPC9hcnRpZmFjdElkPgorICA8dmVyc2lvbmluZz4KKyAgICA8cmVs ZWFzZT4zLjAuMTwvcmVsZWFzZT4KKyAgICA8dmVyc2lvbnM+CisgICAgICA8dmVyc2lvbj4zLjAu MTwvdmVyc2lvbj4KKyAgICA8L3ZlcnNpb25zPgorICAgIDxsYXN0VXBkYXRlZD4yMDExMDYxNjA3 MDEzMDwvbGFzdFVwZGF0ZWQ+CisgIDwvdmVyc2lvbmluZz4KKzwvbWV0YWRhdGE+CkluZGV4OiBj YXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4tZ3NvYy9yZXBvc2l0b3J5L29yZy9lY2xpcHNl L2NvcmUvcmVzb3VyY2VzLzMuNi4wLlIzNnhfdjIwMTAwODI1LTA2MDAvcmVzb3VyY2VzLTMuNi4w LlIzNnhfdjIwMTAwODI1LTA2MDAucG9tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGNheWVubmUtbW9kZWxlci1l Y2xpcHNlLXBsdWdpbi1nc29jL3JlcG9zaXRvcnkvb3JnL2VjbGlwc2UvY29yZS9yZXNvdXJjZXMv My42LjAuUjM2eF92MjAxMDA4MjUtMDYwMC9yZXNvdXJjZXMtMy42LjAuUjM2eF92MjAxMDA4MjUt MDYwMC5wb20JKHJldmlzaW9uIDApCisrKyBjYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4t Z3NvYy9yZXBvc2l0b3J5L29yZy9lY2xpcHNlL2NvcmUvcmVzb3VyY2VzLzMuNi4wLlIzNnhfdjIw MTAwODI1LTA2MDAvcmVzb3VyY2VzLTMuNi4wLlIzNnhfdjIwMTAwODI1LTA2MDAucG9tCShyZXZp c2lvbiAwKQpAQCAtMCwwICsxLDggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVU Ri04Ij8+Cis8cHJvamVjdCB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9tYXZlbi5hcGFjaGUu b3JnL1BPTS80LjAuMCBodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy94c2QvbWF2ZW4tNC4wLjAueHNk IiB4bWxucz0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIgorICAgIHhtbG5zOnhz aT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiPgorICA8bW9kZWxW ZXJzaW9uPjQuMC4wPC9tb2RlbFZlcnNpb24+CisgIDxncm91cElkPm9yZy5lY2xpcHNlLmNvcmU8 L2dyb3VwSWQ+CisgIDxhcnRpZmFjdElkPnJlc291cmNlczwvYXJ0aWZhY3RJZD4KKyAgPHZlcnNp b24+My42LjAuUjM2eF92MjAxMDA4MjUtMDYwMDwvdmVyc2lvbj4KKzwvcHJvamVjdD4KSW5kZXg6 IGNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi1nc29jL3JlcG9zaXRvcnkvb3JnL2VjbGlw c2UvY29yZS9yZXNvdXJjZXMvMy42LjAuUjM2eF92MjAxMDA4MjUtMDYwMC9yZXNvdXJjZXMtMy42 LjAuUjM2eF92MjAxMDA4MjUtMDYwMC5qYXIKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmls ZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29j dGV0LXN0cmVhbQoKUHJvcGVydHkgY2hhbmdlcyBvbjogY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2Ut cGx1Z2luLWdzb2MvcmVwb3NpdG9yeS9vcmcvZWNsaXBzZS9jb3JlL3Jlc291cmNlcy8zLjYuMC5S MzZ4X3YyMDEwMDgyNS0wNjAwL3Jlc291cmNlcy0zLjYuMC5SMzZ4X3YyMDEwMDgyNS0wNjAwLmph cgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkFkZGVkOiBzdm46bWltZS10eXBlCiAgICsgYXBwbGljYXRpb24vb2N0ZXQt c3RyZWFtCgpJbmRleDogY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLWdzb2MvcmVwb3Np dG9yeS9vcmcvZWNsaXBzZS9jb3JlL3Jlc291cmNlcy8zLjYuMC5SMzZ4X3YyMDEwMDgyNS0wNjAw L19tYXZlbi5yZXBvc2l0b3JpZXMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gY2F5ZW5uZS1tb2RlbGVyLWVjbGlw c2UtcGx1Z2luLWdzb2MvcmVwb3NpdG9yeS9vcmcvZWNsaXBzZS9jb3JlL3Jlc291cmNlcy8zLjYu MC5SMzZ4X3YyMDEwMDgyNS0wNjAwL19tYXZlbi5yZXBvc2l0b3JpZXMJKHJldmlzaW9uIDApCisr KyBjYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4tZ3NvYy9yZXBvc2l0b3J5L29yZy9lY2xp cHNlL2NvcmUvcmVzb3VyY2VzLzMuNi4wLlIzNnhfdjIwMTAwODI1LTA2MDAvX21hdmVuLnJlcG9z aXRvcmllcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0IEBACisjTk9URTogVGhpcyBpcyBhbiBp bnRlcm5hbCBpbXBsZW1lbnRhdGlvbiBmaWxlLCBpdHMgZm9ybWF0IGNhbiBiZSBjaGFuZ2VkIHdp dGhvdXQgcHJpb3Igbm90aWNlLgorI1RodSBKdW4gMTYgMTE6NDc6NDEgSVNUIDIwMTEKK3Jlc291 cmNlcy0zLjYuMC5SMzZ4X3YyMDEwMDgyNS0wNjAwLmphcj5yZXBvc2l0b3J5PQorcmVzb3VyY2Vz LTMuNi4wLlIzNnhfdjIwMTAwODI1LTA2MDAucG9tPnJlcG9zaXRvcnk9CkluZGV4OiBjYXllbm5l LW1vZGVsZXItZWNsaXBzZS1wbHVnaW4tZ3NvYy9yZXBvc2l0b3J5L29yZy9lY2xpcHNlL2NvcmUv cmVzb3VyY2VzLzMuNi4wLlIzNnhfdjIwMTAwODI1LTA2MDAvcmVzb3VyY2VzLTMuNi4wLlIzNnhf djIwMTAwODI1LTA2MDAucG9tLnNoYTEKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gY2F5ZW5uZS1tb2RlbGVyLWVj bGlwc2UtcGx1Z2luLWdzb2MvcmVwb3NpdG9yeS9vcmcvZWNsaXBzZS9jb3JlL3Jlc291cmNlcy8z LjYuMC5SMzZ4X3YyMDEwMDgyNS0wNjAwL3Jlc291cmNlcy0zLjYuMC5SMzZ4X3YyMDEwMDgyNS0w NjAwLnBvbS5zaGExCShyZXZpc2lvbiAwKQorKysgY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1 Z2luLWdzb2MvcmVwb3NpdG9yeS9vcmcvZWNsaXBzZS9jb3JlL3Jlc291cmNlcy8zLjYuMC5SMzZ4 X3YyMDEwMDgyNS0wNjAwL3Jlc291cmNlcy0zLjYuMC5SMzZ4X3YyMDEwMDgyNS0wNjAwLnBvbS5z aGExCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACitjN2VjMjEyMzE2ZTQyNDI3Yzc2NGRmNDg4 ZjRkMzE1MTA5YzNjNWVhClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogY2F5ZW5u ZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLWdzb2MvcmVwb3NpdG9yeS9vcmcvZWNsaXBzZS9jb3Jl L3Jlc291cmNlcy8zLjYuMC5SMzZ4X3YyMDEwMDgyNS0wNjAwL3Jlc291cmNlcy0zLjYuMC5SMzZ4 X3YyMDEwMDgyNS0wNjAwLmphci5zaGExCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGNheWVubmUtbW9kZWxlci1l Y2xpcHNlLXBsdWdpbi1nc29jL3JlcG9zaXRvcnkvb3JnL2VjbGlwc2UvY29yZS9yZXNvdXJjZXMv My42LjAuUjM2eF92MjAxMDA4MjUtMDYwMC9yZXNvdXJjZXMtMy42LjAuUjM2eF92MjAxMDA4MjUt MDYwMC5qYXIuc2hhMQkocmV2aXNpb24gMCkKKysrIGNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBs dWdpbi1nc29jL3JlcG9zaXRvcnkvb3JnL2VjbGlwc2UvY29yZS9yZXNvdXJjZXMvMy42LjAuUjM2 eF92MjAxMDA4MjUtMDYwMC9yZXNvdXJjZXMtMy42LjAuUjM2eF92MjAxMDA4MjUtMDYwMC5qYXIu c2hhMQkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorYmE3NGNkNzA2Y2VlYzUyNGZkMGZmMGFj MmI2MTZkZGEyYjAzYzRkOQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IGNheWVu bmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi1nc29jL3JlcG9zaXRvcnkvb3JnL2VjbGlwc2UvdWkv d29ya2JlbmNoLzMuNi4xLk0yMDEwMDgyNi0xMzMwL3dvcmtiZW5jaC0zLjYuMS5NMjAxMDA4MjYt MTMzMC5wb20KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0gY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLWdz b2MvcmVwb3NpdG9yeS9vcmcvZWNsaXBzZS91aS93b3JrYmVuY2gvMy42LjEuTTIwMTAwODI2LTEz MzAvd29ya2JlbmNoLTMuNi4xLk0yMDEwMDgyNi0xMzMwLnBvbQkocmV2aXNpb24gMCkKKysrIGNh eWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi1nc29jL3JlcG9zaXRvcnkvb3JnL2VjbGlwc2Uv dWkvd29ya2JlbmNoLzMuNi4xLk0yMDEwMDgyNi0xMzMwL3dvcmtiZW5jaC0zLjYuMS5NMjAxMDA4 MjYtMTMzMC5wb20JKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOCBAQAorPD94bWwgdmVyc2lvbj0i MS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxwcm9qZWN0IHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0 cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIGh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL3hz ZC9tYXZlbi00LjAuMC54c2QiIHhtbG5zPSJodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9QT00vNC4w LjAiCisgICAgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0 YW5jZSI+CisgIDxtb2RlbFZlcnNpb24+NC4wLjA8L21vZGVsVmVyc2lvbj4KKyAgPGdyb3VwSWQ+ b3JnLmVjbGlwc2UudWk8L2dyb3VwSWQ+CisgIDxhcnRpZmFjdElkPndvcmtiZW5jaDwvYXJ0aWZh Y3RJZD4KKyAgPHZlcnNpb24+My42LjEuTTIwMTAwODI2LTEzMzA8L3ZlcnNpb24+Cis8L3Byb2pl Y3Q+CkluZGV4OiBjYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4tZ3NvYy9yZXBvc2l0b3J5 L29yZy9lY2xpcHNlL3VpL3dvcmtiZW5jaC8zLjYuMS5NMjAxMDA4MjYtMTMzMC93b3JrYmVuY2gt My42LjEuTTIwMTAwODI2LTEzMzAuamFyCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUg bWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3Rl dC1zdHJlYW0KClByb3BlcnR5IGNoYW5nZXMgb246IGNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBs dWdpbi1nc29jL3JlcG9zaXRvcnkvb3JnL2VjbGlwc2UvdWkvd29ya2JlbmNoLzMuNi4xLk0yMDEw MDgyNi0xMzMwL3dvcmtiZW5jaC0zLjYuMS5NMjAxMDA4MjYtMTMzMC5qYXIKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB ZGRlZDogc3ZuOm1pbWUtdHlwZQogICArIGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKSW5kZXg6 IGNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi1nc29jL3JlcG9zaXRvcnkvb3JnL2VjbGlw c2UvdWkvd29ya2JlbmNoLzMuNi4xLk0yMDEwMDgyNi0xMzMwL19tYXZlbi5yZXBvc2l0b3JpZXMK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0gY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLWdzb2MvcmVwb3Np dG9yeS9vcmcvZWNsaXBzZS91aS93b3JrYmVuY2gvMy42LjEuTTIwMTAwODI2LTEzMzAvX21hdmVu LnJlcG9zaXRvcmllcwkocmV2aXNpb24gMCkKKysrIGNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBs dWdpbi1nc29jL3JlcG9zaXRvcnkvb3JnL2VjbGlwc2UvdWkvd29ya2JlbmNoLzMuNi4xLk0yMDEw MDgyNi0xMzMwL19tYXZlbi5yZXBvc2l0b3JpZXMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNCBA QAorI05PVEU6IFRoaXMgaXMgYW4gaW50ZXJuYWwgaW1wbGVtZW50YXRpb24gZmlsZSwgaXRzIGZv cm1hdCBjYW4gYmUgY2hhbmdlZCB3aXRob3V0IHByaW9yIG5vdGljZS4KKyNUaHUgSnVuIDE2IDEy OjIyOjM3IElTVCAyMDExCit3b3JrYmVuY2gtMy42LjEuTTIwMTAwODI2LTEzMzAuamFyPnJlcG9z aXRvcnk9Cit3b3JrYmVuY2gtMy42LjEuTTIwMTAwODI2LTEzMzAucG9tPnJlcG9zaXRvcnk9Cklu ZGV4OiBjYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4tZ3NvYy9yZXBvc2l0b3J5L29yZy9l Y2xpcHNlL3VpL3dvcmtiZW5jaC8zLjYuMS5NMjAxMDA4MjYtMTMzMC93b3JrYmVuY2gtMy42LjEu TTIwMTAwODI2LTEzMzAucG9tLnNoYTEKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gY2F5ZW5uZS1tb2RlbGVyLWVj bGlwc2UtcGx1Z2luLWdzb2MvcmVwb3NpdG9yeS9vcmcvZWNsaXBzZS91aS93b3JrYmVuY2gvMy42 LjEuTTIwMTAwODI2LTEzMzAvd29ya2JlbmNoLTMuNi4xLk0yMDEwMDgyNi0xMzMwLnBvbS5zaGEx CShyZXZpc2lvbiAwKQorKysgY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLWdzb2MvcmVw b3NpdG9yeS9vcmcvZWNsaXBzZS91aS93b3JrYmVuY2gvMy42LjEuTTIwMTAwODI2LTEzMzAvd29y a2JlbmNoLTMuNi4xLk0yMDEwMDgyNi0xMzMwLnBvbS5zaGExCShyZXZpc2lvbiAwKQpAQCAtMCww ICsxIEBACitlMDBkYmFmOTE0OWExNjNkNDZjNjVkMjhjZmU5NTgwZWZkMDc5OGI2ClwgTm8gbmV3 bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2lu LWdzb2MvcmVwb3NpdG9yeS9vcmcvZWNsaXBzZS91aS93b3JrYmVuY2gvMy42LjEuTTIwMTAwODI2 LTEzMzAvd29ya2JlbmNoLTMuNi4xLk0yMDEwMDgyNi0xMzMwLmphci5zaGExCj09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tIGNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi1nc29jL3JlcG9zaXRvcnkvb3JnL2Vj bGlwc2UvdWkvd29ya2JlbmNoLzMuNi4xLk0yMDEwMDgyNi0xMzMwL3dvcmtiZW5jaC0zLjYuMS5N MjAxMDA4MjYtMTMzMC5qYXIuc2hhMQkocmV2aXNpb24gMCkKKysrIGNheWVubmUtbW9kZWxlci1l Y2xpcHNlLXBsdWdpbi1nc29jL3JlcG9zaXRvcnkvb3JnL2VjbGlwc2UvdWkvd29ya2JlbmNoLzMu Ni4xLk0yMDEwMDgyNi0xMzMwL3dvcmtiZW5jaC0zLjYuMS5NMjAxMDA4MjYtMTMzMC5qYXIuc2hh MQkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorMTg1M2M1MTJkNjc4MWE2ZTA0MjdmYTU1ZjNm NzczN2FmMGE0NDBiYwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IGNheWVubmUt bW9kZWxlci1lY2xpcHNlLXBsdWdpbi1nc29jL3JlcG9zaXRvcnkvb3JnL2VjbGlwc2UvdWkvZWRp dG9ycy8zLjUuMC52MjAwOTA1MjctMjAwMC9lZGl0b3JzLTMuNS4wLnYyMDA5MDUyNy0yMDAwLnBv bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLSBjYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4tZ3NvYy9yZXBv c2l0b3J5L29yZy9lY2xpcHNlL3VpL2VkaXRvcnMvMy41LjAudjIwMDkwNTI3LTIwMDAvZWRpdG9y cy0zLjUuMC52MjAwOTA1MjctMjAwMC5wb20JKHJldmlzaW9uIDApCisrKyBjYXllbm5lLW1vZGVs ZXItZWNsaXBzZS1wbHVnaW4tZ3NvYy9yZXBvc2l0b3J5L29yZy9lY2xpcHNlL3VpL2VkaXRvcnMv My41LjAudjIwMDkwNTI3LTIwMDAvZWRpdG9ycy0zLjUuMC52MjAwOTA1MjctMjAwMC5wb20JKHJl dmlzaW9uIDApCkBAIC0wLDAgKzEsOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0i VVRGLTgiPz4KKzxwcm9qZWN0IHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL21hdmVuLmFwYWNo ZS5vcmcvUE9NLzQuMC4wIGh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL3hzZC9tYXZlbi00LjAuMC54 c2QiIHhtbG5zPSJodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9QT00vNC4wLjAiCisgICAgeG1sbnM6 eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSI+CisgIDxtb2Rl bFZlcnNpb24+NC4wLjA8L21vZGVsVmVyc2lvbj4KKyAgPGdyb3VwSWQ+b3JnLmVjbGlwc2UudWk8 L2dyb3VwSWQ+CisgIDxhcnRpZmFjdElkPmVkaXRvcnM8L2FydGlmYWN0SWQ+CisgIDx2ZXJzaW9u PjMuNS4wLnYyMDA5MDUyNy0yMDAwPC92ZXJzaW9uPgorICA8ZGVzY3JpcHRpb24+UE9NIHdhcyBj cmVhdGVkIGZyb20gaW5zdGFsbDppbnN0YWxsLWZpbGU8L2Rlc2NyaXB0aW9uPgorPC9wcm9qZWN0 PgpJbmRleDogY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLWdzb2MvcmVwb3NpdG9yeS9v cmcvZWNsaXBzZS91aS9lZGl0b3JzLzMuNS4wLnYyMDA5MDUyNy0yMDAwL2VkaXRvcnMtMy41LjAu djIwMDkwNTI3LTIwMDAuamFyCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2Vk IGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJl YW0KClByb3BlcnR5IGNoYW5nZXMgb246IGNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi1n c29jL3JlcG9zaXRvcnkvb3JnL2VjbGlwc2UvdWkvZWRpdG9ycy8zLjUuMC52MjAwOTA1MjctMjAw MC9lZGl0b3JzLTMuNS4wLnYyMDA5MDUyNy0yMDAwLmphcgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46 bWltZS10eXBlCiAgICsgYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCgpJbmRleDogY2F5ZW5uZS1t b2RlbGVyLWVjbGlwc2UtcGx1Z2luLWdzb2MvcmVwb3NpdG9yeS9vcmcvZWNsaXBzZS91aS9lZGl0 b3JzLzMuNS4wLnYyMDA5MDUyNy0yMDAwL19tYXZlbi5yZXBvc2l0b3JpZXMKPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0gY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLWdzb2MvcmVwb3NpdG9yeS9vcmcvZWNs aXBzZS91aS9lZGl0b3JzLzMuNS4wLnYyMDA5MDUyNy0yMDAwL19tYXZlbi5yZXBvc2l0b3JpZXMJ KHJldmlzaW9uIDApCisrKyBjYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4tZ3NvYy9yZXBv c2l0b3J5L29yZy9lY2xpcHNlL3VpL2VkaXRvcnMvMy41LjAudjIwMDkwNTI3LTIwMDAvX21hdmVu LnJlcG9zaXRvcmllcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0IEBACisjTk9URTogVGhpcyBp cyBhbiBpbnRlcm5hbCBpbXBsZW1lbnRhdGlvbiBmaWxlLCBpdHMgZm9ybWF0IGNhbiBiZSBjaGFu Z2VkIHdpdGhvdXQgcHJpb3Igbm90aWNlLgorI1N1biBKdW4gMTkgMjE6Mjk6NDQgSVNUIDIwMTEK K2VkaXRvcnMtMy41LjAudjIwMDkwNTI3LTIwMDAuamFyPj0KK2VkaXRvcnMtMy41LjAudjIwMDkw NTI3LTIwMDAucG9tPj0KSW5kZXg6IGNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi1nc29j L3JlcG9zaXRvcnkvb3JnL2VjbGlwc2UvdWkvZWRpdG9ycy9tYXZlbi1tZXRhZGF0YS1sb2NhbC54 bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0gY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLWdzb2MvcmVw b3NpdG9yeS9vcmcvZWNsaXBzZS91aS9lZGl0b3JzL21hdmVuLW1ldGFkYXRhLWxvY2FsLnhtbAko cmV2aXNpb24gMCkKKysrIGNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi1nc29jL3JlcG9z aXRvcnkvb3JnL2VjbGlwc2UvdWkvZWRpdG9ycy9tYXZlbi1tZXRhZGF0YS1sb2NhbC54bWwJKHJl dmlzaW9uIDApCkBAIC0wLDAgKzEsMTIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9 IlVURi04Ij8+Cis8bWV0YWRhdGE+CisgIDxncm91cElkPm9yZy5lY2xpcHNlLnVpPC9ncm91cElk PgorICA8YXJ0aWZhY3RJZD5lZGl0b3JzPC9hcnRpZmFjdElkPgorICA8dmVyc2lvbmluZz4KKyAg ICA8cmVsZWFzZT4zLjUuMC52MjAwOTA1MjctMjAwMDwvcmVsZWFzZT4KKyAgICA8dmVyc2lvbnM+ CisgICAgICA8dmVyc2lvbj4zLjUuMC52MjAwOTA1MjctMjAwMDwvdmVyc2lvbj4KKyAgICA8L3Zl cnNpb25zPgorICAgIDxsYXN0VXBkYXRlZD4yMDExMDYxOTE1NTk0NDwvbGFzdFVwZGF0ZWQ+Cisg IDwvdmVyc2lvbmluZz4KKzwvbWV0YWRhdGE+CkluZGV4OiBjYXllbm5lLW1vZGVsZXItZWNsaXBz ZS1wbHVnaW4tZ3NvYy8uY2xhc3NwYXRoCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGNheWVubmUtbW9kZWxlci1l Y2xpcHNlLXBsdWdpbi1nc29jLy5jbGFzc3BhdGgJKHJldmlzaW9uIDApCisrKyBjYXllbm5lLW1v ZGVsZXItZWNsaXBzZS1wbHVnaW4tZ3NvYy8uY2xhc3NwYXRoCShyZXZpc2lvbiAwKQpAQCAtMCww ICsxLDggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8Y2xhc3Nw YXRoPgorCTxjbGFzc3BhdGhlbnRyeSBraW5kPSJzcmMiIG91dHB1dD0idGFyZ2V0L2NsYXNzZXMi IHBhdGg9InNyYy9tYWluL2phdmEiLz4KKwk8Y2xhc3NwYXRoZW50cnkgZXhjbHVkaW5nPSIqKiIg a2luZD0ic3JjIiBvdXRwdXQ9InRhcmdldC9jbGFzc2VzIiBwYXRoPSJpY29ucyIvPgorCTxjbGFz c3BhdGhlbnRyeSBraW5kPSJjb24iIHBhdGg9Im9yZy5lY2xpcHNlLmpkdC5sYXVuY2hpbmcuSlJF X0NPTlRBSU5FUi9vcmcuZWNsaXBzZS5qZHQuaW50ZXJuYWwuZGVidWcudWkubGF1bmNoZXIuU3Rh bmRhcmRWTVR5cGUvSjJTRS0xLjUiLz4KKwk8Y2xhc3NwYXRoZW50cnkga2luZD0iY29uIiBwYXRo PSJvcmcubWF2ZW4uaWRlLmVjbGlwc2UuTUFWRU4yX0NMQVNTUEFUSF9DT05UQUlORVIiLz4KKwk8 Y2xhc3NwYXRoZW50cnkga2luZD0ib3V0cHV0IiBwYXRoPSJ0YXJnZXQvY2xhc3NlcyIvPgorPC9j bGFzc3BhdGg+CkluZGV4OiBjYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4tZ3NvYy9NRVRB LUlORi9NQU5JRkVTVC5NRgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBjYXllbm5lLW1vZGVsZXItZWNsaXBzZS1w bHVnaW4tZ3NvYy9NRVRBLUlORi9NQU5JRkVTVC5NRgkocmV2aXNpb24gMCkKKysrIGNheWVubmUt bW9kZWxlci1lY2xpcHNlLXBsdWdpbi1nc29jL01FVEEtSU5GL01BTklGRVNULk1GCShyZXZpc2lv biAwKQpAQCAtMCwwICsxLDkzIEBACitNYW5pZmVzdC1WZXJzaW9uOiAxLjANCitFeHBvcnQtUGFj a2FnZTogb3JnLmFwYWNoZS5jYXllbm5lLmxhdW5jaGVyO3VzZXM6PSJvcmcuZWNsaXBzZS5jb3Jl LnJ1DQorIG50aW1lLG9yZy5lY2xpcHNlLnVpIg0KK0lnbm9yZS1QYWNrYWdlOiBqYXZheC5qbXMN CitFbWJlZC1EaXJlY3Rvcnk6IHRhcmdldC9kZXBlbmRlbmN5DQorQnVuZGxlLUNsYXNzUGF0aDog Lix0YXJnZXQvZGVwZW5kZW5jeS92cHAtMi4yLjEuamFyLHRhcmdldC9kZXBlbmRlbmN5Lw0KKyBv c2NhY2hlLTIuMy4yLmphcix0YXJnZXQvZGVwZW5kZW5jeS9qZ3JvdXBzLWFsbC0yLjIuNy5qYXIs dGFyZ2V0L2RlcGUNCisgbmRlbmN5L2NheWVubmUtZGktdW5wdWJsaXNoZWQtMy4xLVNOQVBTSE9U Lmphcix0YXJnZXQvZGVwZW5kZW5jeS9vZ25sDQorIC0yLjYuNy5qYXIsdGFyZ2V0L2RlcGVuZGVu Y3kvaHNxbGRiLTEuOC4wLjQuamFyLHRhcmdldC9kZXBlbmRlbmN5L2plZA0KKyBpdC1zeW50YXgt Mi4yLjIuamFyLHRhcmdldC9kZXBlbmRlbmN5L2luZmxlY3Rvci0wLjcuMC5qYXIsdGFyZ2V0L2Rl cGUNCisgbmRlbmN5L2NheWVubmUtamRrMS41LXVucHVibGlzaGVkLTMuMS1TTkFQU0hPVC5qYXIs dGFyZ2V0L2RlcGVuZGVuY3kvDQorIHNjb3BlbXZjLTEuMC4xLmphcix0YXJnZXQvZGVwZW5kZW5j eS9jb21tb25zLWNvbGxlY3Rpb25zLTMuMS5qYXIsdGFyZw0KKyBldC9kZXBlbmRlbmN5L2Zvcm1z LTEuMC41Lmphcix0YXJnZXQvIGRlcGVuZGVuY3kvY2F5ZW5uZS13b2NvbXBhdC11bnANCisgdWJs aXNoZWQtMy4xLVNOQVBTSE9ULmphcix0YXJnZXQvZGVwZW5kZW5jeS9jb21tb25zLXBvb2wtMS4y Lmphcix0YXJnDQorIGV0L2RlcGVuZGVuY3kvcmVzaW4taGVzc2lhbi0zLjEuNi5qYXIsdGFyZ2V0 L2RlcGVuZGVuY3kvY2F5ZW5uZS1tb2RlbA0KKyBlci0zLjEtU05BUFNIT1QuamFyLHRhcmdldC9k ZXBlbmRlbmN5L2NvbW1vbnMtbG9nZ2luZy0xLjEuamFyLHRhcmdldC8NCisgZGVwZW5kZW5jeS9s b29rcy0xLjMuMS5qYXIsdGFyZ2V0L2RlcGVuZGVuY3kvY2F5ZW5uZS10b29scy0zLjEtU05BUFNI DQorIE9ULmphcix0YXJnZXQvZGVwZW5kZW5jeS9ydW50aW1lLTMuMC4xLmphcix0YXJnZXQvZGVw ZW5kZW5jeS9zbWFja3gtMg0KKyAuMi4xLmphcix0YXJnZXQvZGVwZW5kZW5jeS9qZ3JhcGgtNS4x My4wLjAuamFyLHRhcmdldC9kZXBlbmRlbmN5L2NvbW0NCisgb25zLWRiY3AtMS4yLjEuamFyLHRh cmdldC9kZXBlbmRlbmN5L2NheWVubmUtcHJvamVjdC11bnB1Ymxpc2hlZC0zLjEtDQorIFNOQVBT SE9ULmphcix0YXJnZXQvZGVwZW5kZW5jeS9zbWFjay0yLjIuMS5qYXINCitCdWlsdC1CeTogc3Vk aGFyYWthDQorVG9vbDogQm5kLTAuMC4yMzgNCitCdW5kbGUtTmFtZTogQ2F5ZW5uZSBNb2RlbGVy IFBsdWdpbiBmb3IgRWNsaXBzZQ0KK0NyZWF0ZWQtQnk6IEFwYWNoZSBNYXZlbiBCdW5kbGUgUGx1 Z2luDQorUmVxdWlyZS1CdW5kbGU6ICBvcmcuZWNsaXBzZS5jb3JlLnJ1bnRpbWUsb3JnLmVjbGlw c2UuY29yZS5yZXNvdXJjZXMsbw0KKyByZy5lY2xpcHNlLnVpLG9yZy5lY2xpcHNlLmpmYWNlDQor QnVuZGxlLVZlbmRvcjogQXBhY2hlIENheWVubmUNCitCdWlsZC1KZGs6IDEuNi4wXzExDQorQnVu ZGxlLVZlcnNpb246IDMuMS4wLlNOQVBTSE9UDQorQm5kLUxhc3RNb2RpZmllZDogMTMwODIwOTUy NDMwNA0KK0J1bmRsZS1BY3RpdmF0b3I6IG9yZy5hcGFjaGUuY2F5ZW5uZS5BY3RpdmF0b3INCitC dW5kbGUtTWFuaWZlc3RWZXJzaW9uOiAyDQorQnVuZGxlLURlc2NyaXB0aW9uOiBBcGFjaGUgQ2F5 ZW5uZSBpcyBhIHBvd2VyZnVsLCBmdWxsLWZlYXR1cmVkLCBhbmQgbw0KKyBwZW4gc291cmNlCQlK YXZhIGZyYW1ld29yaywgcGx1cyBkZXZlbG9wZXIgdG9vbHMsIHRoYXQgcHJvdmlkZXMgT2JqZWMN CisgdAkJUmVsYXRpb25hbCBNYXBwaW5nIChPUk0pIGFuZCByZW1vdGluZyBzZXJ2aWNlcyBmb3Ig cGVyc2lzdGVuY2UuCQlUDQorIGhlIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFj aGUgTGljZW5zZS4NCitCdW5kbGUtTGljZW5zZTogaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vu c2VzL0xJQ0VOU0UtMi4wLnR4dA0KK0VtYmVkLURlcGVuZGVuY3k6ICo7c2NvcGU9Y29tcGlsZXxy dW50aW1lfHByb3ZpZGVkO2lubGluZT1mYWxzZTsNCitCdW5kbGUtRG9jVVJMOiBodHRwOi8vY2F5 ZW5uZS5hcGFjaGUub3JnLw0KK0ltcG9ydC1QYWNrYWdlOiBjb20uY2F1Y2hvLmhlc3NpYW4uY2xp ZW50LGNvbS5jYXVjaG8uaGVzc2lhbi5pbyxjb20uY2ENCisgdWNoby5oZXNzaWFuLnNlcnZlcixj b20uY2F1Y2hvLnNlcnZpY2VzLnNlcnZlcixjb20uaWJtLmljdS50ZXh0LGNvbS5pDQorIGJtLmlj dS51dGlsLGNvbS5qZ29vZGllcy5mb3Jtcy5idWlsZGVyLGNvbS5qZ29vZGllcy5mb3Jtcy5mYWN0 b3JpZXMsYw0KKyBvbS5qZ29vZGllcy5mb3Jtcy5sYXlvdXQsY29tLmpncmFwaC5sYXlvdXQsY29t LmpncmFwaC5sYXlvdXQub3JnYW5pYywNCisgY29tLm9wZW5zeW1waG9ueS5vc2NhY2hlLmJhc2Us Y29tLm9wZW5zeW1waG9ueS5vc2NhY2hlLmdlbmVyYWwsZm91bmRyDQorIHlsb2dpYy52cHAsamF2 YXguaW1hZ2VpbyxqYXZheC5qbXMsamF2YXgubmFtaW5nLGphdmF4Lm5hbWluZy5zcGksamF2YQ0K KyB4LnNlY3VyaXR5LmF1dGgueDUwMCxqYXZheC5zZXJ2bGV0LGphdmF4LnNlcnZsZXQuaHR0cCxq YXZheC5zcWwsamF2YXgNCisgLnN3aW5nLGphdmF4LnN3aW5nLmJvcmRlcixqYXZheC5zd2luZy5l dmVudCxqYXZheC5zd2luZy5maWxlY2hvb3NlcixqDQorIGF2YXguc3dpbmcucGxhZixqYXZheC5z d2luZy5wbGFmLmJhc2ljLGphdmF4LnN3aW5nLnRhYmxlLGphdmF4LnN3aW5nLg0KKyB0ZXh0LGph dmF4LnN3aW5nLnRyZWUsamF2YXguc3dpbmcudW5kbyxqYXZheC54bWwucGFyc2VycyxqYXZheC54 bWwudHINCisgYW5zZm9ybSxqYXZheC54bWwudHJhbnNmb3JtLmRvbSxqYXZheC54bWwudHJhbnNm b3JtLnN0cmVhbSxvZ25sLG9yZy5hDQorIHBhY2hlLmNvbW1vbnMuY29sbGVjdGlvbnMsb3JnLmFw YWNoZS5jb21tb25zLmNvbGxlY3Rpb25zLmNvbGxlY3Rpb24sbw0KKyByZy5hcGFjaGUuY29tbW9u cy5jb2xsZWN0aW9ucy5jb21wYXJhdG9ycyxvcmcuYXBhY2hlLmNvbW1vbnMuY29sbGVjdGkNCisg b25zLmZ1bmN0b3JzLG9yZy5hcGFjaGUuY29tbW9ucy5jb2xsZWN0aW9ucy5tYXAsb3JnLmFwYWNo ZS5jb21tb25zLmNvDQorIGxsZWN0aW9ucy5zZXQsb3JnLmFwYWNoZS5jb21tb25zLmRiY3Asb3Jn LmFwYWNoZS5jb21tb25zLmxvZ2dpbmcsb3JnLg0KKyBhcGFjaGUuY29tbW9ucy5sb2dnaW5nLmlt cGwsb3JnLmFwYWNoZS50b29scy5hbnQsb3JnLmFwYWNoZS50b29scy5hbnQNCisgLnR5cGVzLG9y Zy5hcGFjaGUudmVsb2NpdHksb3JnLmFwYWNoZS52ZWxvY2l0eS5hcHAsb3JnLmFwYWNoZS52ZWxv Y2l0DQorIHkuY29udGV4dCxvcmcuYXBhY2hlLnZlbG9jaXR5LmV4Y2VwdGlvbixvcmcuYXBhY2hl LnZlbG9jaXR5LnJ1bnRpbWUsbw0KKyByZy5hcGFjaGUudmVsb2NpdHkucnVudGltZS5kaXJlY3Rp dmUsb3JnLmFwYWNoZS52ZWxvY2l0eS5ydW50aW1lLmxvZywNCisgb3JnLmFwYWNoZS52ZWxvY2l0 eS5ydW50aW1lLnBhcnNlcixvcmcuYXBhY2hlLnZlbG9jaXR5LnJ1bnRpbWUucGFyc2VyDQorIC5u b2RlLG9yZy5hcGFjaGUudmVsb2NpdHkucnVudGltZS5yZXNvdXJjZSxvcmcuYXBhY2hlLnZlbG9j aXR5LnJ1bnRpbQ0KKyBlLnJlc291cmNlLmxvYWRlcixvcmcuZWNsaXBzZS5jb3JlLmNvbW1hbmRz LG9yZy5lY2xpcHNlLmNvcmUuY29tbWFuZHMNCisgLmNvbW1vbixvcmcuZWNsaXBzZS5jb3JlLmNv bW1hbmRzLmNvbnRleHRzLG9yZy5lY2xpcHNlLmNvcmUuY29tbWFuZHMuDQorIG9wZXJhdGlvbnMs b3JnLmVjbGlwc2UuY29yZS5jb21tYW5kcy51dGlsLG9yZy5lY2xpcHNlLmNvcmUuZGF0YWJpbmRp bg0KKyBnLm9ic2VydmFibGUsb3JnLmVjbGlwc2UuY29yZS5kYXRhYmluZGluZy5vYnNlcnZhYmxl Lmxpc3Qsb3JnLmVjbGlwc2UNCisgLmNvcmUuZGF0YWJpbmRpbmcub2JzZXJ2YWJsZS52YWx1ZSxv cmcuZWNsaXBzZS5jb3JlLmRhdGFiaW5kaW5nLnByb3BlDQorIHJ0eSxvcmcuZWNsaXBzZS5jb3Jl LmRhdGFiaW5kaW5nLnByb3BlcnR5Lmxpc3Qsb3JnLmVjbGlwc2UuY29yZS5kYXRhYg0KKyBpbmRp bmcucHJvcGVydHkudmFsdWUsb3JnLmVjbGlwc2UuY29yZS5leHByZXNzaW9ucyxvcmcuZWNsaXBz ZS5jb3JlLmYNCisgaWxlYnVmZmVycyxvcmcuZWNsaXBzZS5jb3JlLmZpbGVidWZmZXJzLm1hbmlw dWxhdGlvbixvcmcuZWNsaXBzZS5jb3JlDQorIC5maWxlc3lzdGVtLG9yZy5lY2xpcHNlLmNvcmUu ZmlsZXN5c3RlbS5wcm92aWRlcixvcmcuZWNsaXBzZS5jb3JlLnJ1bg0KKyB0aW1lLmR5bmFtaWNo ZWxwZXJzLG9yZy5lY2xpcHNlLmhlbHAsb3JnLmVjbGlwc2UuamZhY2UuZGF0YWJpbmRpbmcuc3cN CisgdCxvcmcuZWNsaXBzZS5qZmFjZS5pbnRlcm5hbC50ZXh0Lmh0bWwsb3JnLmVjbGlwc2UuamZh Y2UudGV4dCxvcmcuZWNsDQorIGlwc2UuamZhY2UudGV4dC5oeXBlcmxpbmssb3JnLmVjbGlwc2Uu amZhY2UudGV4dC5pbmZvcm1hdGlvbixvcmcuZWNsaQ0KKyBwc2UuamZhY2UudGV4dC5xdWlja2Fz c2lzdCxvcmcuZWNsaXBzZS5qZmFjZS50ZXh0LnJlY29uY2lsZXIsb3JnLmVjbGkNCisgcHNlLmpm YWNlLnRleHQucmV2aXNpb25zLG9yZy5lY2xpcHNlLmpmYWNlLnRleHQuc291cmNlLG9yZy5lY2xp cHNlLmpmDQorIGFjZS50ZXh0LnRlbXBsYXRlcyxvcmcuZWNsaXBzZS5qZmFjZS50ZXh0LnRlbXBs YXRlcy5wZXJzaXN0ZW5jZSxvcmcuZQ0KKyBjbGlwc2Uub3NnaS5zZXJ2aWNlLnN5c3RlbWJ1bmRs ZSxvcmcuZWNsaXBzZS5zd3Qsb3JnLmVjbGlwc2Uuc3d0LmFjY2UNCisgc3NpYmlsaXR5LG9yZy5l Y2xpcHNlLnN3dC5icm93c2VyLG9yZy5lY2xpcHNlLnN3dC5jdXN0b20sb3JnLmVjbGlwc2UuDQor IHN3dC5kbmQsb3JnLmVjbGlwc2Uuc3d0LmV2ZW50cyxvcmcuZWNsaXBzZS5zd3QuZ3JhcGhpY3Ms b3JnLmVjbGlwc2Uucw0KKyB3dC5sYXlvdXQsb3JnLmVjbGlwc2Uuc3d0Lm9sZS53aW4zMixvcmcu ZWNsaXBzZS5zd3QucHJvZ3JhbSxvcmcuZWNsaXANCisgc2Uuc3d0LndpZGdldHMsb3JnLmVjbGlw c2UudWkuaWRlLG9yZy5lY2xpcHNlLnVpLmlkZS5kaWFsb2dzLG9yZy5lY2xpDQorIHBzZS51aS5p ZGUudW5kbyxvcmcuZWNsaXBzZS51aS50ZXh0ZWRpdG9yLnF1aWNrZGlmZixvcmcuZWNsaXBzZS51 aS50ZQ0KKyB4dGVkaXRvci5ydWxlcnMsb3JnLmVjbGlwc2UudWkudGV4dGVkaXRvci5zcGVsbGlu ZyxvcmcuZWNsaXBzZS51aS52aWUNCisgd3MubWFya2VycyxvcmcuZWNsaXBzZS51aS52aWV3cy50 YXNrbGlzdCxvcmcuamdyYXBoLG9yZy5qZ3JhcGguZ3JhcGgsDQorIG9yZy5qZ3JvdXBzLG9yZy5q Z3JvdXBzLmJsb2Nrcyxvcmcuaml2ZXNvZnR3YXJlLnNtYWNrLG9yZy5qaXZlc29mdHdhcg0KKyBl LnNtYWNrLnBhY2tldCxvcmcuanZuZXQuaW5mbGVjdG9yLG9yZy5zY29wZW12Yy5jb250cm9sbGVy LmJhc2ljLG9yZy4NCisgc2NvcGVtdmMuY29udHJvbGxlci5zd2luZyxvcmcuc2NvcGVtdmMuY29y ZSxvcmcuc2NvcGVtdmMubW9kZWwuYmFzaWMsDQorIG9yZy5zY29wZW12Yy51dGlsLG9yZy5zY29w ZW12Yy52aWV3LmF3dCxvcmcuc2NvcGVtdmMudmlldy5zd2luZyxvcmcucw0KKyB5bnRheC5qZWRp dCxvcmcuc3ludGF4LmplZGl0LnRva2VubWFya2VyLG9yZy53M2MuZG9tLG9yZy54bWwuc2F4LG9y Zy4NCisgeG1sLnNheC5leHQsb3JnLnhtbC5zYXguaGVscGVycw0KK0VtYmVkLVN0cmlwR3JvdXA6 IHRydWUNCitCdW5kbGUtU3ltYm9saWNOYW1lOiBjYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVn aW47c2luZ2xldG9uOj10cnVlDQorDQpJbmRleDogY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1 Z2luLWdzb2MvLnByb2plY3QKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2Ut cGx1Z2luLWdzb2MvLnByb2plY3QJKHJldmlzaW9uIDApCisrKyBjYXllbm5lLW1vZGVsZXItZWNs aXBzZS1wbHVnaW4tZ3NvYy8ucHJvamVjdAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzNCBAQAor PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxwcm9qZWN0RGVzY3JpcHRp b24+CisJPG5hbWU+Y2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luPC9uYW1lPgorCTxjb21t ZW50PjwvY29tbWVudD4KKwk8cHJvamVjdHM+CisJPC9wcm9qZWN0cz4KKwk8YnVpbGRTcGVjPgor CQk8YnVpbGRDb21tYW5kPgorCQkJPG5hbWU+b3JnLmVjbGlwc2UuamR0LmNvcmUuamF2YWJ1aWxk ZXI8L25hbWU+CisJCQk8YXJndW1lbnRzPgorCQkJPC9hcmd1bWVudHM+CisJCTwvYnVpbGRDb21t YW5kPgorCQk8YnVpbGRDb21tYW5kPgorCQkJPG5hbWU+b3JnLmVjbGlwc2UucGRlLk1hbmlmZXN0 QnVpbGRlcjwvbmFtZT4KKwkJCTxhcmd1bWVudHM+CisJCQk8L2FyZ3VtZW50cz4KKwkJPC9idWls ZENvbW1hbmQ+CisJCTxidWlsZENvbW1hbmQ+CisJCQk8bmFtZT5vcmcuZWNsaXBzZS5wZGUuU2No ZW1hQnVpbGRlcjwvbmFtZT4KKwkJCTxhcmd1bWVudHM+CisJCQk8L2FyZ3VtZW50cz4KKwkJPC9i dWlsZENvbW1hbmQ+CisJCTxidWlsZENvbW1hbmQ+CisJCQk8bmFtZT5vcmcubWF2ZW4uaWRlLmVj bGlwc2UubWF2ZW4yQnVpbGRlcjwvbmFtZT4KKwkJCTxhcmd1bWVudHM+CisJCQk8L2FyZ3VtZW50 cz4KKwkJPC9idWlsZENvbW1hbmQ+CisJPC9idWlsZFNwZWM+CisJPG5hdHVyZXM+CisJCTxuYXR1 cmU+b3JnLm1hdmVuLmlkZS5lY2xpcHNlLm1hdmVuMk5hdHVyZTwvbmF0dXJlPgorCQk8bmF0dXJl Pm9yZy5lY2xpcHNlLnBkZS5QbHVnaW5OYXR1cmU8L25hdHVyZT4KKwkJPG5hdHVyZT5vcmcuZWNs aXBzZS5qZHQuY29yZS5qYXZhbmF0dXJlPC9uYXR1cmU+CisJPC9uYXR1cmVzPgorPC9wcm9qZWN0 RGVzY3JpcHRpb24+CkluZGV4OiBjYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4tZ3NvYy9z cmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvY2F5ZW5uZS9leHRlbnRpb25zL21vZGVsZXIvUGx1Z2lu TW9kZWxlckZyYW1lLmphdmEKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2Ut cGx1Z2luLWdzb2Mvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2NheWVubmUvZXh0ZW50aW9ucy9t b2RlbGVyL1BsdWdpbk1vZGVsZXJGcmFtZS5qYXZhCShyZXZpc2lvbiAwKQorKysgY2F5ZW5uZS1t b2RlbGVyLWVjbGlwc2UtcGx1Z2luLWdzb2Mvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2NheWVu bmUvZXh0ZW50aW9ucy9tb2RlbGVyL1BsdWdpbk1vZGVsZXJGcmFtZS5qYXZhCShyZXZpc2lvbiAw KQpAQCAtMCwwICsxLDcyIEBACitwYWNrYWdlIG9yZy5hcGFjaGUuY2F5ZW5uZS5leHRlbnRpb25z Lm1vZGVsZXI7CisKK2ltcG9ydCBqYXZhLmF3dC5Db21wb25lbnQ7CisKK2ltcG9ydCBqYXZheC5z d2luZy5BYnN0cmFjdEFjdGlvbjsKK2ltcG9ydCBqYXZheC5zd2luZy5KQnV0dG9uOworaW1wb3J0 IGphdmF4LnN3aW5nLkpNZW51OworaW1wb3J0IGphdmF4LnN3aW5nLkpNZW51SXRlbTsKK2ltcG9y dCBqYXZheC5zd2luZy5KVG9vbEJhcjsKKworaW1wb3J0IG9yZy5hcGFjaGUuY2F5ZW5uZS5tb2Rl bGVyLmFjdGlvbi5BY3Rpb25NYW5hZ2VyOworaW1wb3J0IG9yZy5hcGFjaGUuY2F5ZW5uZS5tb2Rl bGVyLkNheWVubmVNb2RlbGVyRnJhbWU7CitpbXBvcnQgb3JnLmFwYWNoZS5jYXllbm5lLm1vZGVs ZXIuYWN0aW9uLk5ld1Byb2plY3RBY3Rpb247CitpbXBvcnQgb3JnLmFwYWNoZS5jYXllbm5lLm1v ZGVsZXIuYWN0aW9uLk9wZW5Qcm9qZWN0QWN0aW9uOworaW1wb3J0IG9yZy5hcGFjaGUuY2F5ZW5u ZS5tb2RlbGVyLmFjdGlvbi5Qcm9qZWN0QWN0aW9uOworaW1wb3J0IG9yZy5hcGFjaGUuY2F5ZW5u ZS5tb2RlbGVyLnV0aWwuUmVjZW50RmlsZU1lbnU7CisKK3B1YmxpYyBjbGFzcyBQbHVnaW5Nb2Rl bGVyRnJhbWUgZXh0ZW5kcyBDYXllbm5lTW9kZWxlckZyYW1lIHsKKworCXB1YmxpYyBQbHVnaW5N b2RlbGVyRnJhbWUoQWN0aW9uTWFuYWdlciBhY3Rpb25NYW5hZ2VyKSB7CisJCXN1cGVyKGFjdGlv bk1hbmFnZXIpOworCX0KKworLy8JQE92ZXJyaWRlCisvLwlwcm90ZWN0ZWQgdm9pZCBidWlsZEZp bGVNZW51KEpNZW51IGZpbGVNZW51KSB7CisvLwkJLy8gVE9ETyBBdXRvLWdlbmVyYXRlZCBtZXRo b2Qgc3R1Yi4uCisvLwkJc3VwZXIuYnVpbGRGaWxlTWVudShmaWxlTWVudSk7CisvLwkJZm9yIChp bnQgaSA9IDA7IGkgPCBmaWxlTWVudS5nZXRJdGVtQ291bnQoKTsgaSkgeworLy8JCQlKTWVudUl0 ZW0gaXRlbSA9IGZpbGVNZW51LmdldEl0ZW0oaSk7CisvLwkJCWlmIChpdGVtICE9IG51bGwpIHsK Ky8vCQkJCVN0cmluZyBuYW1lID0gaXRlbS5nZXRUZXh0KCk7CisvLwkJCQlpZiAoTmV3UHJvamVj dEFjdGlvbi5nZXRBY3Rpb25OYW1lKCkuZXF1YWxzKG5hbWUpCisvLwkJCQkJCXx8IE9wZW5Qcm9q ZWN0QWN0aW9uLmdldEFjdGlvbk5hbWUoKS5lcXVhbHMobmFtZSkKKy8vCQkJCQkJfHwgUHJvamVj dEFjdGlvbi5nZXRBY3Rpb25OYW1lKCkuZXF1YWxzKG5hbWUpCisvLwkJCQkJCXx8ICJSZWNlbnQg UHJvamVjdHMiLmVxdWFscyhuYW1lKSkgeworLy8JCQkJCWl0ZW0uc2V0RW5hYmxlZChmYWxzZSk7 CisvLwkJCQl9CisvLworLy8JCQl9CisvLwkJfQorLy8KKy8vCX0KKworLy8JQE92ZXJyaWRlCisv Lwlwcm90ZWN0ZWQgdm9pZCBidWlsZFByb2plY3RUb29sYmFyKEpUb29sQmFyIHRvb2xCYXIpIHsK Ky8vCQlzdXBlci5idWlsZFByb2plY3RUb29sYmFyKHRvb2xCYXIpOworLy8JCWZvciAoaW50IGkg PSAwOyBpIDwgdG9vbEJhci5nZXRDb21wb25lbnRDb3VudCgpOyBpKSB7CisvLwkJCUNvbXBvbmVu dCBjb21wb25lbnQgPSB0b29sQmFyLmdldENvbXBvbmVudEF0SW5kZXgoaSk7CisvLwkJCWlmIChj b21wb25lbnQgIT0gbnVsbCAmJiBjb21wb25lbnQgaW5zdGFuY2VvZiBKQnV0dG9uKSB7CisvLwor Ly8JCQkJQWJzdHJhY3RBY3Rpb24gYWN0aW9uID0gKEFic3RyYWN0QWN0aW9uKSAoKEpCdXR0b24p IGNvbXBvbmVudCkKKy8vCQkJCQkJLmdldEFjdGlvbigpOworLy8JCQkJaWYgKGFjdGlvbiBpbnN0 YW5jZW9mIE5ld1Byb2plY3RBY3Rpb24KKy8vCQkJCQkJfHwgYWN0aW9uIGluc3RhbmNlb2YgT3Bl blByb2plY3RBY3Rpb24pIHsKKy8vCQkJCQljb21wb25lbnQuc2V0RW5hYmxlZChmYWxzZSk7Cisv LwkJCQl9CisvLwkJCX0KKy8vCQl9CisvLwl9CisvLworLy8JQE92ZXJyaWRlCisvLwlwcm90ZWN0 ZWQgUmVjZW50RmlsZU1lbnUgaW5pdFJlY2VudEZpbGVNZW51KFN0cmluZyB0aXRsZSkgeworLy8J CXJldHVybiBuZXcgUmVjZW50RmlsZU1lbnUodGl0bGUpIHsKKy8vCisvLwkJCUBPdmVycmlkZQor Ly8JCQlwdWJsaWMgdm9pZCByZWNlbnRGaWxlTGlzdENoYW5nZWQoKSB7CisvLwkJCQkvLyBub3Ro aW5nIHRvIGRvLCBvbmx5IG9uZSBwcm9qZWN0IGNhYiBiZSBvcGVuZWQgYnkgbW9kZWxlcgorLy8J CQl9CisvLworLy8JCX07CisvLwl9Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRl eDogY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLWdzb2Mvc3JjL21haW4vamF2YS9vcmcv YXBhY2hlL2NheWVubmUvZXh0ZW50aW9ucy9tb2RlbGVyL1BsdWdpbkFwcGxpY2F0aW9uLmphdmEK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0gY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLWdzb2Mvc3JjL21h aW4vamF2YS9vcmcvYXBhY2hlL2NheWVubmUvZXh0ZW50aW9ucy9tb2RlbGVyL1BsdWdpbkFwcGxp Y2F0aW9uLmphdmEJKHJldmlzaW9uIDApCisrKyBjYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVn aW4tZ3NvYy9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvY2F5ZW5uZS9leHRlbnRpb25zL21vZGVs ZXIvUGx1Z2luQXBwbGljYXRpb24uamF2YQkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNTkgQEAK K3BhY2thZ2Ugb3JnLmFwYWNoZS5jYXllbm5lLmV4dGVudGlvbnMubW9kZWxlcjsKKworaW1wb3J0 IGphdmEuYXd0LkRpYWxvZzsKK2ltcG9ydCBqYXZhLmF3dC5GcmFtZTsKK2ltcG9ydCBqYXZhLmF3 dC5XaW5kb3c7CitpbXBvcnQgamF2YS5pby5GaWxlOworCitpbXBvcnQgamF2YXguc3dpbmcuSkZy YW1lOworaW1wb3J0IGphdmF4LnN3aW5nLkpSb290UGFuZTsKKworaW1wb3J0IG9yZy5hcGFjaGUu Y2F5ZW5uZS5tb2RlbGVyLmFjdGlvbi5BY3Rpb25NYW5hZ2VyOworaW1wb3J0IG9yZy5hcGFjaGUu Y2F5ZW5uZS5kaS5JbmplY3Q7CitpbXBvcnQgb3JnLmFwYWNoZS5jYXllbm5lLmV4dGVudGlvbnMu bW9kZWxlci5QbHVnaW5BY3Rpb25NYW5hZ2VyOworaW1wb3J0IG9yZy5hcGFjaGUuY2F5ZW5uZS5t b2RlbGVyLkFwcGxpY2F0aW9uOworaW1wb3J0IG9yZy5hcGFjaGUuY2F5ZW5uZS5tb2RlbGVyLkNh eWVubmVNb2RlbGVyQ29udHJvbGxlcjsKKy8vaW1wb3J0IG9yZy5hcGFjaGUuY2F5ZW5uZS5tb2Rl bGVyLkFwcGxpY2F0aW9uLk1vZGVsZXJDb250ZXh0OworaW1wb3J0IG9yZy5hcGFjaGUuY2F5ZW5u ZS5tb2RlbGVyLmRpYWxvZy5Mb2dDb25zb2xlOworaW1wb3J0IG9yZy5hcGFjaGUuY2F5ZW5uZS5t b2RlbGVyLnVuZG8uQ2F5ZW5uZVVuZG9NYW5hZ2VyOworaW1wb3J0IG9yZy5hcGFjaGUuY2F5ZW5u ZS5tb2RlbGVyLnV0aWwuQWRhcHRlck1hcHBpbmc7CitpbXBvcnQgb3JnLmFwYWNoZS5jYXllbm5l Lm1vZGVsZXIudXRpbC5DYXllbm5lRGlhbG9nOworaW1wb3J0IG9yZy5hcGFjaGUuY2F5ZW5uZS5z d2luZy5CaW5kaW5nRmFjdG9yeTsKK2ltcG9ydCBvcmcuc2NvcGVtdmMuY29udHJvbGxlci5iYXNp Yy5WaWV3Q29udGV4dDsKK2ltcG9ydCBvcmcuc2NvcGVtdmMuY29udHJvbGxlci5zd2luZy5Td2lu Z0NvbnRleHQ7CitpbXBvcnQgb3JnLnNjb3BlbXZjLmNvcmUuVmlldzsKK2ltcG9ydCBvcmcuc2Nv cGVtdmMudXRpbC5VSVN0cmluZ3M7CitpbXBvcnQgb3JnLnNjb3BlbXZjLnZpZXcuc3dpbmcuU3dp bmdWaWV3OworCitwdWJsaWMgY2xhc3MgUGx1Z2luQXBwbGljYXRpb24gZXh0ZW5kcyBBcHBsaWNh dGlvbiB7CisJCisJcHJvdGVjdGVkIENheWVubmVNb2RlbGVyQ29udHJvbGxlciBmcmFtZUNvbnRy b2xsZXI7CisgIAorCXB1YmxpYyBQbHVnaW5BcHBsaWNhdGlvbigpe30KKy8vCXB1YmxpYyBQbHVn aW5BcHBsaWNhdGlvbihASW5qZWN0IEZpbGUgaW5pdGlhbFByb2plY3QpIHsKKy8vCQkvL3N1cGVy KGluaXRpYWxQcm9qZWN0KTsKKy8vCX0KKworLy8JQE92ZXJyaWRlCisvLwlwcm90ZWN0ZWQgQ2F5 ZW5uZU1vZGVsZXJDb250cm9sbGVyIGluaXRGcmFtZUNvbnRyb2xsZXIoKSB7CisvLwkJcmV0dXJu IG5ldyBQbHVnaW5Nb2RlbGVyQ29udHJvbGxlcih0aGlzLCBpbml0aWFsUHJvamVjdCk7CisvLwor Ly8JfQorCisJQE92ZXJyaWRlCisJcHVibGljIEFjdGlvbk1hbmFnZXIgZ2V0QWN0aW9uTWFuYWdl cigpIHsKKyAgICAgICAgcmV0dXJuIGluamVjdG9yLmdldEluc3RhbmNlKFBsdWdpbkFjdGlvbk1h bmFnZXIuY2xhc3MpOworICAgIH0KKwkKKwlAT3ZlcnJpZGUKKwkgcHVibGljIENheWVubmVNb2Rl bGVyQ29udHJvbGxlciBnZXRGcmFtZUNvbnRyb2xsZXIoKSB7CisgICAgICAgIHJldHVybiBmcmFt ZUNvbnRyb2xsZXI7CisgICAgfQorCQorCUBPdmVycmlkZQorCSBwdWJsaWMgdm9pZCBzdGFydHVw KCkgeworICAgICAgICAvLyBpbml0IHN1YnN5c3RlbXMKKyAgICAgICAgaW5pdFByZWZlcmVuY2Vz KCk7CisgICAgICAgIGluaXRDbGFzc0xvYWRlcigpOworCisgICAgICAgIHRoaXMuYmluZGluZ0Zh Y3RvcnkgPSBuZXcgQmluZGluZ0ZhY3RvcnkoKTsKKyAgICAgICAgdGhpcy5hZGFwdGVyTWFwcGlu ZyA9IG5ldyBBZGFwdGVyTWFwcGluZygpOworCisgICAgICAgIC8vIC4uLlNjb3BlCisKKyAgICAg ICAgLy8gVE9ETzogdGhpcyB3aWxsIGdvIGF3YXkgaWYgc3dpdGNoIGF3YXkgZnJvbSBTY29wZQor ICAgICAgICAvLyBmb3JjZSBTY29wZSB0byB1c2UgQ2F5ZW5uZU1vZGVsZXIgcHJvcGVydGllcwor ICAgICAgICBVSVN0cmluZ3Muc2V0UHJvcGVydGllc05hbWUoREVGQVVMVF9NRVNTQUdFX0JVTkRM RSk7CisgICAgICAgIFZpZXdDb250ZXh0LmNsZWFyVGhyZWFkQ29udGV4dCgpOworCisgICAgICAg IHRoaXMudW5kb01hbmFnZXIgPSBuZXcgQ2F5ZW5uZVVuZG9NYW5hZ2VyKHRoaXMpOworCisgICAg ICAgIHRoaXMuZnJhbWVDb250cm9sbGVyID0gbmV3IFBsdWdpbk1vZGVsZXJDb250cm9sbGVyKHRo aXMpOworCisgICAgICAgIC8vIHVwZGF0ZSBTY29wZSB0byB3b3JrIG5pY2VseSB3aXRoIG1haW4g ZnJhbWUKKyAgICAgICAgQXBwbGljYXRpb24gYXAgPSBuZXcgQXBwbGljYXRpb24oKTsKKyAgICAg ICAKKyAgICAgICAgVmlld0NvbnRleHQuc2V0R2xvYmFsQ29udGV4dChuZXcgTW9kZWxlckNvbnRl eHQoZnJhbWVDb250cm9sbGVyLmdldEZyYW1lKCkpKTsKKworICAgICAgICAvLyBvcGVuIHVwCisg ICAgICAgIGZyYW1lQ29udHJvbGxlci5zdGFydHVwQWN0aW9uKCk7CisKKyAgICAgICAgLy8gQWZ0 ZXIgcHJlZnMgaGF2ZSBiZWVuIGxvYWRlZCwgd2UgY2FuIG5vdyBzaG93IHRoZSBjb25zb2xlIGlm IG5lZWRlZAorICAgICAgICBMb2dDb25zb2xlLmdldEluc3RhbmNlKCkuc2hvd0NvbnNvbGVJZk5l ZWRlZCgpOworICAgICAgICBnZXRGcmFtZSgpLnNldFZpc2libGUodHJ1ZSk7CisgICAgfQorCWZp bmFsIGNsYXNzIE1vZGVsZXJDb250ZXh0IGV4dGVuZHMgU3dpbmdDb250ZXh0IHsKKworICAgICAg ICBKRnJhbWUgZnJhbWU7CisKKyAgICAgICAgcHVibGljIE1vZGVsZXJDb250ZXh0KEpGcmFtZSBm cmFtZSkgeworICAgICAgICAgICAgdGhpcy5mcmFtZSA9IGZyYW1lOworICAgICAgICB9CisKKyAg ICAgICAgQE92ZXJyaWRlCisgICAgICAgIHByb3RlY3RlZCB2b2lkIHNob3dWaWV3SW5QcmltYXJ5 V2luZG93KFN3aW5nVmlldyB2aWV3KSB7CisgICAgICAgIH0KKworICAgICAgICAvKioKKyAgICAg ICAgICogQ3JlYXRlcyBjbG9zZWFibGUgZGlhbG9ncy4KKyAgICAgICAgICovCisgICAgICAgIEBP dmVycmlkZQorICAgICAgICBwcm90ZWN0ZWQgdm9pZCBzaG93Vmlld0luRGlhbG9nKFN3aW5nVmll dyBpblZpZXcpIHsKKyAgICAgICAgICAgIC8vIE5PVEU6CisgICAgICAgICAgICAvLyBjb3BpZWQg ZnJvbSBzdXBlcmNsYXNzLCBleGNlcHQgdGhhdCBKRGlhbG9nIGlzIHN1YnN0aXR1dGVkIGZvcgor ICAgICAgICAgICAgLy8gQ2F5ZW5uZURpYWxvZworICAgICAgICAgICAgLy8gS2VlcCBpbiBtaW5k IHdoZW4gdXBncmFkaW5nIFNjb3BlIHRvIHRoZSBuZXdlciB2ZXJzaW9ucy4KKworICAgICAgICAg ICAgLy8gTWFrZSBhIEpEaWFsb2cgdG8gY29udGFpbiB0aGUgdmlldy4KKyAgICAgICAgICAgIFdp bmRvdyBwYXJlbnRXaW5kb3cgPSBnZXREZWZhdWx0UGFyZW50V2luZG93KCk7CisKKyAgICAgICAg ICAgIGZpbmFsIENheWVubmVEaWFsb2cgZGlhbG9nOworICAgICAgICAgICAgaWYgKHBhcmVudFdp bmRvdyBpbnN0YW5jZW9mIERpYWxvZykgeworICAgICAgICAgICAgICAgIGRpYWxvZyA9IG5ldyBD YXllbm5lRGlhbG9nKChEaWFsb2cpIHBhcmVudFdpbmRvdyk7CisgICAgICAgICAgICB9CisgICAg ICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICBkaWFsb2cgPSBuZXcgQ2F5ZW5uZURpYWxv ZygoRnJhbWUpIHBhcmVudFdpbmRvdyk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8v IFNldCB0aXRsZSwgbW9kYWxpdHksIHJlc2l6YWJpbGl0eQorICAgICAgICAgICAgaWYgKGluVmll dy5nZXRUaXRsZSgpICE9IG51bGwpIHsKKyAgICAgICAgICAgICAgICBkaWFsb2cuc2V0VGl0bGUo aW5WaWV3LmdldFRpdGxlKCkpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGluVmll dy5nZXREaXNwbGF5TW9kZSgpID09IFN3aW5nVmlldy5NT0RBTF9ESUFMT0cpIHsKKyAgICAgICAg ICAgICAgICBkaWFsb2cuc2V0TW9kYWwodHJ1ZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAg ICBlbHNlIHsKKyAgICAgICAgICAgICAgICBkaWFsb2cuc2V0TW9kYWwoZmFsc2UpOworICAgICAg ICAgICAgfQorICAgICAgICAgICAgZGlhbG9nLnNldFJlc2l6YWJsZShpblZpZXcuaXNSZXNpemFi bGUoKSk7CisKKyAgICAgICAgICAgIHNldHVwV2luZG93KGRpYWxvZy5nZXRSb290UGFuZSgpLCBp blZpZXcsIHRydWUpOworICAgICAgICAgICAgZGlhbG9nLnRvRnJvbnQoKTsKKyAgICAgICAgfQor CisgICAgICAgIC8qKgorICAgICAgICAgKiBPdmVycmlkZXMgc3VwZXIgaW1wbGVtZW50YXRpb24g dG8gYWxsb3cgdXNpbmcgU2NvcGUgdG9nZXRoZXIgd2l0aCBub3JtYWwgU3dpbmcKKyAgICAgICAg ICogY29kZSB0aGF0IENheWVubmVNb2RlbGVyIGFscmVhZHkgaGFzLgorICAgICAgICAgKi8KKyAg ICAgICAgQE92ZXJyaWRlCisgICAgICAgIHB1YmxpYyBKUm9vdFBhbmUgZmluZFJvb3RQYW5lRm9y KFZpZXcgdmlldykgeworICAgICAgICAgICAgSlJvb3RQYW5lIHBhbmUgPSBzdXBlci5maW5kUm9v dFBhbmVGb3Iodmlldyk7CisKKyAgICAgICAgICAgIGlmIChwYW5lICE9IG51bGwpIHsKKyAgICAg ICAgICAgICAgICByZXR1cm4gcGFuZTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYg KCgoU3dpbmdWaWV3KSB2aWV3KS5nZXREaXNwbGF5TW9kZSgpICE9IFN3aW5nVmlldy5QUklNQVJZ X1dJTkRPVykgeworICAgICAgICAgICAgICAgIHJldHVybiBwYW5lOworICAgICAgICAgICAgfQor CisgICAgICAgICAgICByZXR1cm4gZnJhbWUuZ2V0Um9vdFBhbmUoKTsKKyAgICAgICAgfQorCisg ICAgICAgIEBPdmVycmlkZQorICAgICAgICBwcm90ZWN0ZWQgV2luZG93IGdldERlZmF1bHRQYXJl bnRXaW5kb3coKSB7CisgICAgICAgICAgICByZXR1cm4gZnJhbWU7CisgICAgICAgIH0KKyAgICB9 CisJCit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogY2F5ZW5uZS1tb2RlbGVy LWVjbGlwc2UtcGx1Z2luLWdzb2Mvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2NheWVubmUvZXh0 ZW50aW9ucy9tb2RlbGVyL1BsdWdpbk1haW4uamF2YQo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBjYXllbm5lLW1v ZGVsZXItZWNsaXBzZS1wbHVnaW4tZ3NvYy9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvY2F5ZW5u ZS9leHRlbnRpb25zL21vZGVsZXIvUGx1Z2luTWFpbi5qYXZhCShyZXZpc2lvbiAwKQorKysgY2F5 ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLWdzb2Mvc3JjL21haW4vamF2YS9vcmcvYXBhY2hl L2NheWVubmUvZXh0ZW50aW9ucy9tb2RlbGVyL1BsdWdpbk1haW4uamF2YQkocmV2aXNpb24gMCkK QEAgLTAsMCArMSwxMTEgQEAKK3BhY2thZ2Ugb3JnLmFwYWNoZS5jYXllbm5lLmV4dGVudGlvbnMu bW9kZWxlcjsKKworaW1wb3J0IGphdmEuaW8uRmlsZTsKK2ltcG9ydCBqYXZhLnV0aWwuQXJyYXlM aXN0OworaW1wb3J0IGphdmEudXRpbC5Db2xsZWN0aW9uOworCitpbXBvcnQgamF2YXguc3dpbmcu U3dpbmdVdGlsaXRpZXM7CisKK2ltcG9ydCBvcmcuYXBhY2hlLmNheWVubmUuZGkuRElCb290c3Ry YXA7CitpbXBvcnQgb3JnLmFwYWNoZS5jYXllbm5lLmRpLkluamVjdG9yOworaW1wb3J0IG9yZy5h cGFjaGUuY2F5ZW5uZS5kaS5Nb2R1bGU7CitpbXBvcnQgb3JnLmFwYWNoZS5jYXllbm5lLm1vZGVs ZXIuQXBwbGljYXRpb247CitpbXBvcnQgb3JnLmFwYWNoZS5jYXllbm5lLm1vZGVsZXIuTWFpbjsK K2ltcG9ydCBvcmcuYXBhY2hlLmNheWVubmUubW9kZWxlci5hY3Rpb24uT3BlblByb2plY3RBY3Rp b247CitpbXBvcnQgb3JnLmFwYWNoZS5jYXllbm5lLm1vZGVsZXIuZGlhbG9nLmRhdGFtYXAuU3Vw ZXJjbGFzc1VwZGF0ZUNvbnRyb2xsZXI7CitpbXBvcnQgb3JnLmFwYWNoZS5jYXllbm5lLm1vZGVs ZXIuZWRpdG9yLmRhdGFub2RlLk1haW5EYXRhTm9kZUVkaXRvcjsKK2ltcG9ydCBvcmcuYXBhY2hl LmNheWVubmUubW9kZWxlci5pbml0LnBsYXRmb3JtLlBsYXRmb3JtSW5pdGlhbGl6ZXI7CitpbXBv cnQgb3JnLmFwYWNoZS5jYXllbm5lLm1vZGVsZXIuaW5pdC5DYXllbm5lTW9kZWxlck1vZHVsZTsK K2ltcG9ydCBvcmcuYXBhY2hlLmNheWVubmUuY29uZmlndXJhdGlvbi5zZXJ2ZXIuU2VydmVyTW9k dWxlOworaW1wb3J0IG9yZy5hcGFjaGUuY2F5ZW5uZS5wcm9qZWN0LkNheWVubmVQcm9qZWN0TW9k dWxlOworaW1wb3J0IG9yZy5hcGFjaGUuY2F5ZW5uZS5leHRlbnRpb25zLm1vZGVsZXIuYmluZGlu Z3MuUGx1Z2luTW9kZWxlck1vZHVsZTsKK2ltcG9ydCBvcmcuYXBhY2hlLmNvbW1vbnMubG9nZ2lu Zy5Mb2c7CitpbXBvcnQgb3JnLmFwYWNoZS5jb21tb25zLmxvZ2dpbmcuTG9nRmFjdG9yeTsKKwor cHVibGljIGNsYXNzIFBsdWdpbk1haW4gZXh0ZW5kcyBNYWluIHsKKwkKKwlwcml2YXRlIHN0YXRp YyBMb2cgbG9nZ2VyID0gTG9nRmFjdG9yeS5nZXRMb2coUGx1Z2luTWFpbi5jbGFzcyk7CisJcHVi bGljIFBsdWdpbk1haW4oU3RyaW5nW10gYXJncykgeworICAgICAgICBzdXBlcihhcmdzKTsgICAg ICAgIAorICAgIH0KKwkKKy8vCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3Mp IHsKKy8vCQkgbmV3IFBsdWdpbk1haW4oYXJncykubGF1bmNoKCk7CisvLworLy8gIH0KKwkKKwkK Ky8vCXB1YmxpYyB2b2lkIHJ1bihTdHJpbmdbXWFyZ3MpeworLy8JCQorLy8JCWNvbmZpZ3VyZUxv Z2dpbmcoKTsKKy8vCisvLyAgICAgICAgLy8gY2hlY2sgamRrIHZlcnNpb24KKy8vICAgICAgICBp ZiAoIWNoZWNrSkRLVmVyc2lvbigpKSB7CisvLyAgICAgICAgICAgIFN5c3RlbS5leGl0KDEpOwor Ly8gICAgICAgIH0KKy8vCisvLyAgICAgICAgRmlsZSBwcm9qZWN0RmlsZSA9IHByb2plY3RGaWxl RnJvbUFyZ3MoYXJncyk7CisvLyAgICAgICAgcnVuTW9kZWxlcihwcm9qZWN0RmlsZSk7CisvLyAg ICB9CisJCisvLwkKKwlwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7Cisg ICAgICAgIHRyeSB7CisgICAgICAgICAgICBuZXcgUGx1Z2luTWFpbihhcmdzKS5sYXVuY2goKTsK KyAgICAgICAgfQorICAgICAgICBjYXRjaCAoRXhjZXB0aW9uIGUpIHsKKyAgICAgICAgICAgIGUu cHJpbnRTdGFja1RyYWNlKCk7CisgICAgICAgICAgICBTeXN0ZW0uZXhpdCgxKTsKKyAgICAgICAg fQorICAgIH0KKworCUBPdmVycmlkZQorCXByb3RlY3RlZCB2b2lkIGxhdW5jaCgpeworCQkgZmlu YWwgSW5qZWN0b3IgaW5qZWN0b3IgPSBESUJvb3RzdHJhcAorICAgICAgICAgLmNyZWF0ZUluamVj dG9yKGFwcGVuZE1vZHVsZXMobmV3IEFycmF5TGlzdDxNb2R1bGU+KCkpKTsgCisgbG9nZ2VyLmlu Zm8oIlN0YXJ0aW5nIENheWVubmVNb2RlbGVyLiIpOworIGxvZ2dlci5pbmZvKCJKUkUgdi4iCisg ICAgICAgICArIFN5c3RlbS5nZXRQcm9wZXJ0eSgiamF2YS52ZXJzaW9uIikKKyAgICAgICAgICsg IiBhdCAiCisgICAgICAgICArIFN5c3RlbS5nZXRQcm9wZXJ0eSgiamF2YS5ob21lIikpOworCisg Ly8gaW5pdCBsb29rIGFuZCBmZWVsIGJlZm9yZSBzdGFydGluZyBhbnkgU3dpbmcgY2xhc3Nlcy4u LgorIGluamVjdG9yLmdldEluc3RhbmNlKFBsYXRmb3JtSW5pdGlhbGl6ZXIuY2xhc3MpLmluaXRM b29rQW5kRmVlbCgpOworCisgU3dpbmdVdGlsaXRpZXMuaW52b2tlTGF0ZXIobmV3IFJ1bm5hYmxl KCkgeworCisgICAgIHB1YmxpYyB2b2lkIHJ1bigpIHsgICAgCQorICAgICAgICAgUGx1Z2luQXBw bGljYXRpb24gYXBwbGljYXRpb24gPSBpbmplY3Rvci5nZXRJbnN0YW5jZShQbHVnaW5BcHBsaWNh dGlvbi5jbGFzcyk7ICAgICAgICAKKyAgICAgICAgIFBsdWdpbkFwcGxpY2F0aW9uLnNldEluc3Rh bmNlKGFwcGxpY2F0aW9uKTsKKyAgICAgICAgIGFwcGxpY2F0aW9uLnN0YXJ0dXAoKTsKKworICAg ICAgICAgLy8gc3RhcnQgaW5pdGlhbCBwcm9qZWN0IEFGVEVSIHRoZSBhcHAgc3RhcnR1cCwgYXMg d2UgbmVlZCBBcHBsaWNhdGlvbgorICAgICAgICAgLy8gcHJlZmVyZW5jZXMgdG8gYmUgYm9vdHN0 cmFwcGVkLgorCisgICAgICAgICBGaWxlIHByb2plY3QgPSBpbml0aWFsUHJvamVjdEZyb21Bcmdz KCk7CisgICAgICAgICBpZiAocHJvamVjdCA9PSBudWxsKSB7CisgICAgICAgICAgICAgcHJvamVj dCA9IGluaXRpYWxQcm9qZWN0RnJvbVByZWZlcmVuY2VzKCk7CisgICAgICAgICB9CisKKyAgICAg ICAgIGlmIChwcm9qZWN0ICE9IG51bGwpIHsKKyAgICAgICAgICAgICBuZXcgT3BlblByb2plY3RB Y3Rpb24oYXBwbGljYXRpb24pLm9wZW5Qcm9qZWN0KHByb2plY3QpOworICAgICAgICAgfQorICAg ICB9CisgfSk7CisKKwl9CisgICAgQE92ZXJyaWRlCisJIHByb3RlY3RlZCBDb2xsZWN0aW9uPE1v ZHVsZT4gYXBwZW5kTW9kdWxlcyhDb2xsZWN0aW9uPE1vZHVsZT4gbW9kdWxlcykgeworICAgICAg ICBtb2R1bGVzLmFkZChuZXcgU2VydmVyTW9kdWxlKCJDYXllbm5lTW9kZWxlciIpKTsKKyAgICAg ICAgbW9kdWxlcy5hZGQobmV3IENheWVubmVQcm9qZWN0TW9kdWxlKCkpOworICAgICAgICBtb2R1 bGVzLmFkZChuZXcgUGx1Z2luTW9kZWxlck1vZHVsZSgpKTsKKworICAgICAgICByZXR1cm4gbW9k dWxlczsKKyAgICB9CisKKy8vCUBPdmVycmlkZQorLy8JcHJvdGVjdGVkIEFwcGxpY2F0aW9uIGlu aXRBcHBsaWNhdGlvbihGaWxlIHByb2plY3RGaWxlKSB7CisvLwkJcmV0dXJuIG5ldyBQbHVnaW5B cHBsaWNhdGlvbihwcm9qZWN0RmlsZSk7CisvLwl9CisKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBv ZiBmaWxlCkluZGV4OiBjYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4tZ3NvYy9zcmMvbWFp bi9qYXZhL29yZy9hcGFjaGUvY2F5ZW5uZS9leHRlbnRpb25zL21vZGVsZXIvUGx1Z2luQWN0aW9u TWFuYWdlci5qYXZhCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdp bi1nc29jL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9jYXllbm5lL2V4dGVudGlvbnMvbW9kZWxl ci9QbHVnaW5BY3Rpb25NYW5hZ2VyLmphdmEJKHJldmlzaW9uIDApCisrKyBjYXllbm5lLW1vZGVs ZXItZWNsaXBzZS1wbHVnaW4tZ3NvYy9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvY2F5ZW5uZS9l eHRlbnRpb25zL21vZGVsZXIvUGx1Z2luQWN0aW9uTWFuYWdlci5qYXZhCShyZXZpc2lvbiAwKQpA QCAtMCwwICsxLDMxIEBACitwYWNrYWdlIG9yZy5hcGFjaGUuY2F5ZW5uZS5leHRlbnRpb25zLm1v ZGVsZXI7CisKK2ltcG9ydCBvcmcuYXBhY2hlLmNheWVubmUuZGkuSW5qZWN0OworaW1wb3J0IG9y Zy5hcGFjaGUuY2F5ZW5uZS5leHRlbnRpb25zLm1vZGVsZXIuYWN0aW9uLlBsdWdpbkV4aXRBY3Rp b247CitpbXBvcnQgb3JnLmFwYWNoZS5jYXllbm5lLmV4dGVudGlvbnMubW9kZWxlci5hY3Rpb24u UGx1Z2luUHJvamVjdEFjdGlvbjsKK2ltcG9ydCBvcmcuYXBhY2hlLmNheWVubmUubW9kZWxlci5h Y3Rpb24uRGVmYXVsdEFjdGlvbk1hbmFnZXI7CitpbXBvcnQgb3JnLmFwYWNoZS5jYXllbm5lLm1v ZGVsZXIuQXBwbGljYXRpb247CitpbXBvcnQgb3JnLmFwYWNoZS5jYXllbm5lLm1vZGVsZXIuYWN0 aW9uLkV4aXRBY3Rpb247CitpbXBvcnQgb3JnLmFwYWNoZS5jYXllbm5lLm1vZGVsZXIuYWN0aW9u LlByb2plY3RBY3Rpb247CisKK3B1YmxpYyBjbGFzcyBQbHVnaW5BY3Rpb25NYW5hZ2VyIGV4dGVu ZHMgRGVmYXVsdEFjdGlvbk1hbmFnZXIgeworICAgIAorCQorCXB1YmxpYyBQbHVnaW5BY3Rpb25N YW5hZ2VyKCBASW5qZWN0IFBsdWdpbkFwcGxpY2F0aW9uIGFwcGxpY2F0aW9uKSB7CisJCXN1cGVy KGFwcGxpY2F0aW9uKTsKKwkJUGx1Z2luRXhpdEFjdGlvbiBleGl0QWN0aW9uID0gbmV3IFBsdWdp bkV4aXRBY3Rpb24oKTsKKwkJUGx1Z2luUHJvamVjdEFjdGlvbiBwcm9qZWN0QWN0aW9uID0gbmV3 IFBsdWdpblByb2plY3RBY3Rpb24oYXBwbGljYXRpb24pOworCQlhY3Rpb25NYXAucHV0KGV4aXRB Y3Rpb24uZ2V0Q2xhc3MoKS5nZXROYW1lKCksIGV4aXRBY3Rpb24pOworCQlhY3Rpb25NYXAucHV0 KHByb2plY3RBY3Rpb24uZ2V0Q2xhc3MoKS5nZXROYW1lKCkscHJvamVjdEFjdGlvbik7CisJfQor CisvLwlAT3ZlcnJpZGUKKy8vCXByb3RlY3RlZCBFeGl0QWN0aW9uIGNyZWF0ZUV4aXRBY3Rpb24o QXBwbGljYXRpb24gYXBwbGljYXRpb24pIHsKKy8vCQlyZXR1cm4gbmV3IFBsdWdpbkV4aXRBY3Rp b24oYXBwbGljYXRpb24pOworLy8JfQorLy8KKy8vCUBPdmVycmlkZQorLy8JcHJvdGVjdGVkIFBy b2plY3RBY3Rpb24gY3JlYXRlUHJvamVjdEFjdGlvbihBcHBsaWNhdGlvbiBhcHBsaWNhdGlvbikg eworLy8JCXJldHVybiBuZXcgUGx1Z2luUHJvamVjdEFjdGlvbihhcHBsaWNhdGlvbik7CisvLwl9 Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogY2F5ZW5uZS1tb2RlbGVyLWVj bGlwc2UtcGx1Z2luLWdzb2Mvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2NheWVubmUvZXh0ZW50 aW9ucy9tb2RlbGVyL1BsdWdpbk1vZGVsZXJDb250cm9sbGVyLmphdmEKPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g Y2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLWdzb2Mvc3JjL21haW4vamF2YS9vcmcvYXBh Y2hlL2NheWVubmUvZXh0ZW50aW9ucy9tb2RlbGVyL1BsdWdpbk1vZGVsZXJDb250cm9sbGVyLmph dmEJKHJldmlzaW9uIDApCisrKyBjYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4tZ3NvYy9z cmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvY2F5ZW5uZS9leHRlbnRpb25zL21vZGVsZXIvUGx1Z2lu TW9kZWxlckNvbnRyb2xsZXIuamF2YQkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2MyBAQAorcGFj a2FnZSBvcmcuYXBhY2hlLmNheWVubmUuZXh0ZW50aW9ucy5tb2RlbGVyOworCitpbXBvcnQgamF2 YS5pby5GaWxlOworCitpbXBvcnQgamF2YXguc3dpbmcuV2luZG93Q29uc3RhbnRzOworCitpbXBv cnQgb3JnLmFwYWNoZS5jYXllbm5lLkFjdGl2YXRvcjsKK2ltcG9ydCBvcmcuYXBhY2hlLmNheWVu bmUubW9kZWxlci5BcHBsaWNhdGlvbjsKK2ltcG9ydCBvcmcuYXBhY2hlLmNheWVubmUubW9kZWxl ci5DYXllbm5lTW9kZWxlckNvbnRyb2xsZXI7CitpbXBvcnQgb3JnLmFwYWNoZS5jYXllbm5lLm1v ZGVsZXIuQ2F5ZW5uZU1vZGVsZXJGcmFtZTsKK2ltcG9ydCBvcmcuYXBhY2hlLmNheWVubmUubW9k ZWxlci5hY3Rpb24uR2VuZXJhdGVDb2RlQWN0aW9uOworaW1wb3J0IG9yZy5hcGFjaGUuY2F5ZW5u ZS5tb2RlbGVyLmRpYWxvZy5jb2RlZ2VuLkNvZGVHZW5lcmF0b3JDb250cm9sbGVyOworaW1wb3J0 IG9yZy5hcGFjaGUuY2F5ZW5uZS5tb2RlbGVyLmluaXQucGxhdGZvcm0uUGxhdGZvcm1Jbml0aWFs aXplcjsKK2ltcG9ydCBvcmcuYXBhY2hlLmNheWVubmUubWFwLkRhdGFNYXA7CitpbXBvcnQgb3Jn LmVjbGlwc2UuY29yZS5ydW50aW1lLlBhdGg7CisKK3B1YmxpYyBjbGFzcyBQbHVnaW5Nb2RlbGVy Q29udHJvbGxlciBleHRlbmRzIENheWVubmVNb2RlbGVyQ29udHJvbGxlciB7CisKKwlwdWJsaWMg UGx1Z2luTW9kZWxlckNvbnRyb2xsZXIoQXBwbGljYXRpb24gYXBwbGljYXRpb24pIHsKKwkJc3Vw ZXIoYXBwbGljYXRpb24pOworCQl0aGlzLmZyYW1lID0gbmV3IFBsdWdpbk1vZGVsZXJGcmFtZShh cHBsaWNhdGlvbi5nZXRBY3Rpb25NYW5hZ2VyKCkpOworCisgICAgICAgIGFwcGxpY2F0aW9uCisg ICAgICAgICAgICAgICAgLmdldEluamVjdG9yKCkKKyAgICAgICAgICAgICAgICAuZ2V0SW5zdGFu Y2UoUGxhdGZvcm1Jbml0aWFsaXplci5jbGFzcykKKyAgICAgICAgICAgICAgICAuc2V0dXBNZW51 cyhmcmFtZSk7CisKKwl9CisJCisKKwlAT3ZlcnJpZGUKKwlwdWJsaWMgdm9pZCBwcm9qZWN0U2F2 ZWRBY3Rpb24oKSB7CisvLwkJKChHZW5lcmF0ZUNvZGVBY3Rpb24pIEFwcGxpY2F0aW9uLmdldElu c3RhbmNlKCkuZ2V0QWN0aW9uKAorLy8JCQkJR2VuZXJhdGVDb2RlQWN0aW9uLmdldEFjdGlvbk5h bWUoKSkpCisvLwkJCQkucGVyZm9ybUdlbmVyYXRpb25PbkFsbERhdGFNYXBzKCk7CisJCQorCQkg RGF0YU1hcCBkYXRhTWFwID0gYXBwbGljYXRpb24uZ2V0RnJhbWVDb250cm9sbGVyKCkuZ2V0UHJv amVjdENvbnRyb2xsZXIoKS5nZXRDdXJyZW50RGF0YU1hcCgpOworCQkgaWYgKGRhdGFNYXAgIT0g bnVsbCkgeworCSAgICAgICAgICAgIG5ldyBDb2RlR2VuZXJhdG9yQ29udHJvbGxlcihnZXRBcHBs aWNhdGlvbigpLmdldEZyYW1lQ29udHJvbGxlcigpLCBkYXRhTWFwKQorCSAgICAgICAgICAgICAg ICAgICAgLnN0YXJ0dXAoKTsKKwkgICAgICAgIH0KKwkJCisJCUFjdGl2YXRvci5nZXREZWZhdWx0 KCkudXBkYXRlV29ya3NwYWNlKAorCQkJCW5ldyBQYXRoKHByb2plY3RDb250cm9sbGVyLmdldFBy b2plY3QoKQorCQkJCQkJLmdldENvbmZpZ3VyYXRpb25SZXNvdXJjZSgpLmdldFVSTCgpLmdldFBh dGgoKSkpOworCQlTeXN0ZW0ub3V0LnByaW50bG4oIiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyBzYXZlZCBhY3Rpb24iKTsKKwkJc3VwZXIucHJvamVjdFNhdmVkQWN0aW9uKCk7CisK Kwl9CisvLworCUBPdmVycmlkZQorCXByb3RlY3RlZCB2b2lkIGluaXRCaW5kaW5ncygpIHsKKwkJ c3VwZXIuaW5pdEJpbmRpbmdzKCk7CisJCWZyYW1lLnNldERlZmF1bHRDbG9zZU9wZXJhdGlvbihX aW5kb3dDb25zdGFudHMuRElTUE9TRV9PTl9DTE9TRSk7CisKKwl9CisvLworLy8vLwlAT3ZlcnJp ZGUKKy8vLy8JcHJvdGVjdGVkIENheWVubmVNb2RlbGVyRnJhbWUgaW5pdE1vZGVsZXJGcmFtZShB cHBsaWNhdGlvbiBhcHBsaWNhdGlvbikgeworLy8vLwkJcmV0dXJuIG5ldyBQbHVnaW5Nb2RlbGVy RnJhbWUoYXBwbGljYXRpb24uZ2V0QWN0aW9uTWFuYWdlcigpKTsKKy8vLy8JfQorCit9ClwgTm8g bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1 Z2luLWdzb2Mvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2NheWVubmUvZXh0ZW50aW9ucy9tb2Rl bGVyL2JpbmRpbmdzL1BsdWdpbk1vZGVsZXJNb2R1bGUuamF2YQo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBjYXll bm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4tZ3NvYy9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUv Y2F5ZW5uZS9leHRlbnRpb25zL21vZGVsZXIvYmluZGluZ3MvUGx1Z2luTW9kZWxlck1vZHVsZS5q YXZhCShyZXZpc2lvbiAwKQorKysgY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLWdzb2Mv c3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2NheWVubmUvZXh0ZW50aW9ucy9tb2RlbGVyL2JpbmRp bmdzL1BsdWdpbk1vZGVsZXJNb2R1bGUuamF2YQkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyNCBA QAorcGFja2FnZSBvcmcuYXBhY2hlLmNheWVubmUuZXh0ZW50aW9ucy5tb2RlbGVyLmJpbmRpbmdz OworCitpbXBvcnQgb3JnLmFwYWNoZS5jYXllbm5lLm1vZGVsZXIuaW5pdC5DYXllbm5lTW9kZWxl ck1vZHVsZTsKK2ltcG9ydCBvcmcuYXBhY2hlLmNheWVubmUubW9kZWxlci5BcHBsaWNhdGlvbjsK K2ltcG9ydCBvcmcuYXBhY2hlLmNheWVubmUuZGkuQmluZGVyOworaW1wb3J0IG9yZy5hcGFjaGUu Y2F5ZW5uZS5leHRlbnRpb25zLm1vZGVsZXIuUGx1Z2luQWN0aW9uTWFuYWdlcjsKK2ltcG9ydCBv cmcuYXBhY2hlLmNheWVubmUuZXh0ZW50aW9ucy5tb2RlbGVyLlBsdWdpbkFwcGxpY2F0aW9uOwor CisvKioKKyAqIENyZWF0ZWQgYnkgSW50ZWxsaUogSURFQS4KKyAqIFVzZXI6IHN1ZGhhcmFrYQor ICogRGF0ZTogSnVuIDE4LCAyMDExCisgKiBUaW1lOiA1OjA1OjM0IFBNCisgKiBUbyBjaGFuZ2Ug dGhpcyB0ZW1wbGF0ZSB1c2UgRmlsZSB8IFNldHRpbmdzIHwgRmlsZSBUZW1wbGF0ZXMuCisgKi8K K3B1YmxpYyBjbGFzcyBQbHVnaW5Nb2RlbGVyTW9kdWxlIGV4dGVuZHMgQ2F5ZW5uZU1vZGVsZXJN b2R1bGUgeworCisgICAgcHVibGljIHZvaWQgY29uZmlndXJlKEJpbmRlciBiaW5kZXIpeworICAg IAliaW5kZXIuYmluZChQbHVnaW5BcHBsaWNhdGlvbi5jbGFzcykudG8oUGx1Z2luQXBwbGljYXRp b24uY2xhc3MpOworICAgIAliaW5kZXIuYmluZChQbHVnaW5BY3Rpb25NYW5hZ2VyLmNsYXNzKS50 byhQbHVnaW5BY3Rpb25NYW5hZ2VyLmNsYXNzKTsKKyAgICAgICBzdXBlci5jb25maWd1cmUoYmlu ZGVyKTsKKyAgICAgICAgCisgICAgfQorfQpJbmRleDogY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2Ut cGx1Z2luLWdzb2Mvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2NheWVubmUvZXh0ZW50aW9ucy9t b2RlbGVyL2FjdGlvbi9QbHVnaW5Qcm9qZWN0QWN0aW9uLmphdmEKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gY2F5 ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLWdzb2Mvc3JjL21haW4vamF2YS9vcmcvYXBhY2hl L2NheWVubmUvZXh0ZW50aW9ucy9tb2RlbGVyL2FjdGlvbi9QbHVnaW5Qcm9qZWN0QWN0aW9uLmph dmEJKHJldmlzaW9uIDApCisrKyBjYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4tZ3NvYy9z cmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvY2F5ZW5uZS9leHRlbnRpb25zL21vZGVsZXIvYWN0aW9u L1BsdWdpblByb2plY3RBY3Rpb24uamF2YQkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMCBAQAor cGFja2FnZSBvcmcuYXBhY2hlLmNheWVubmUuZXh0ZW50aW9ucy5tb2RlbGVyLmFjdGlvbjsKKwor aW1wb3J0IGphdmEuYXd0LmV2ZW50LkFjdGlvbkV2ZW50OworCitpbXBvcnQgb3JnLmFwYWNoZS5j YXllbm5lLm1vZGVsZXIuQXBwbGljYXRpb247CitpbXBvcnQgb3JnLmFwYWNoZS5jYXllbm5lLm1v ZGVsZXIuYWN0aW9uLlByb2plY3RBY3Rpb247CisKK3B1YmxpYyBjbGFzcyBQbHVnaW5Qcm9qZWN0 QWN0aW9uIGV4dGVuZHMgUHJvamVjdEFjdGlvbiB7CisKKwlwdWJsaWMgUGx1Z2luUHJvamVjdEFj dGlvbihBcHBsaWNhdGlvbiBhcHBsaWNhdGlvbikgeworCQlzdXBlcihhcHBsaWNhdGlvbik7CisJ fQorCisJQE92ZXJyaWRlCisJcHVibGljIHZvaWQgcGVyZm9ybUFjdGlvbihBY3Rpb25FdmVudCBl KSB7CisJCXN1cGVyLnBlcmZvcm1BY3Rpb24oZSk7CisJCUFwcGxpY2F0aW9uLmdldEluc3RhbmNl KCkuZ2V0RnJhbWVDb250cm9sbGVyKCkuZ2V0V2luZG93KCkuZGlzcG9zZSgpOworCX0KKworfQpc IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IGNheWVubmUtbW9kZWxlci1lY2xpcHNl LXBsdWdpbi1nc29jL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9jYXllbm5lL2V4dGVudGlvbnMv bW9kZWxlci9hY3Rpb24vUGx1Z2luRXhpdEFjdGlvbi5qYXZhCj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGNheWVu bmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi1nc29jL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9j YXllbm5lL2V4dGVudGlvbnMvbW9kZWxlci9hY3Rpb24vUGx1Z2luRXhpdEFjdGlvbi5qYXZhCShy ZXZpc2lvbiAwKQorKysgY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLWdzb2Mvc3JjL21h aW4vamF2YS9vcmcvYXBhY2hlL2NheWVubmUvZXh0ZW50aW9ucy9tb2RlbGVyL2FjdGlvbi9QbHVn aW5FeGl0QWN0aW9uLmphdmEJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjEgQEAKK3BhY2thZ2Ug b3JnLmFwYWNoZS5jYXllbm5lLmV4dGVudGlvbnMubW9kZWxlci5hY3Rpb247CisKKy8vaW1wb3J0 IG9yZy5hcGFjaGUuY2F5ZW5uZS5tb2RlbGVyLkFwcGxpY2F0aW9uOworaW1wb3J0IG9yZy5hcGFj aGUuY2F5ZW5uZS5leHRlbnRpb25zLm1vZGVsZXIuUGx1Z2luQXBwbGljYXRpb247CitpbXBvcnQg b3JnLmFwYWNoZS5jYXllbm5lLm1vZGVsZXIuYWN0aW9uLkV4aXRBY3Rpb247CisKK3B1YmxpYyBj bGFzcyBQbHVnaW5FeGl0QWN0aW9uIGV4dGVuZHMgRXhpdEFjdGlvbiB7CisJcHVibGljIFBsdWdp bkV4aXRBY3Rpb24oKXsKKwkJc3VwZXIobmV3IFBsdWdpbkFwcGxpY2F0aW9uKCkpOworCQkKKwl9 CisKKy8vCXB1YmxpYyBQbHVnaW5FeGl0QWN0aW9uKEFwcGxpY2F0aW9uIGFwcGxpY2F0aW9uKSB7 CisvLwkJc3VwZXIoYXBwbGljYXRpb24pOworLy8JfQorLy8KKy8vCUBPdmVycmlkZQorLy8JcHJv dGVjdGVkIHZvaWQgYXBwbGljYXRpb25TaHV0ZG93bigpIHsKKy8vCQljbG9zZVByb2plY3QoZmFs c2UpOworLy8JfQorfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IGNheWVubmUt bW9kZWxlci1lY2xpcHNlLXBsdWdpbi1nc29jL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9jYXll bm5lL2xhdW5jaGVyL0VkaXRvckxhdW5jaGVyLmphdmEKPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gY2F5ZW5uZS1t b2RlbGVyLWVjbGlwc2UtcGx1Z2luLWdzb2Mvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2NheWVu bmUvbGF1bmNoZXIvRWRpdG9yTGF1bmNoZXIuamF2YQkocmV2aXNpb24gMCkKKysrIGNheWVubmUt bW9kZWxlci1lY2xpcHNlLXBsdWdpbi1nc29jL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9jYXll bm5lL2xhdW5jaGVyL0VkaXRvckxhdW5jaGVyLmphdmEJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs MjQgQEAKK3BhY2thZ2Ugb3JnLmFwYWNoZS5jYXllbm5lLmxhdW5jaGVyOworCitpbXBvcnQgb3Jn LmFwYWNoZS5jYXllbm5lLmV4dGVudGlvbnMubW9kZWxlci5QbHVnaW5NYWluOworaW1wb3J0IG9y Zy5hcGFjaGUuY2F5ZW5uZS5tb2RlbGVyLmVkaXRvci5kYXRhbm9kZS5NYWluRGF0YU5vZGVFZGl0 b3I7CitpbXBvcnQgb3JnLmVjbGlwc2UuY29yZS5ydW50aW1lLklQYXRoOworCitpbXBvcnQgb3Jn LmVjbGlwc2UudWkuSUVkaXRvckxhdW5jaGVyOworCisKKworcHVibGljIGNsYXNzIEVkaXRvckxh dW5jaGVyICAgaW1wbGVtZW50cyBJRWRpdG9yTGF1bmNoZXIgeworCisJQFN1cHByZXNzV2Fybmlu Z3MoInN0YXRpYy1hY2Nlc3MiKQorCXB1YmxpYyB2b2lkIG9wZW4oSVBhdGggZmlsZSkgeworCQlT eXN0ZW0ub3V0LnByaW50bG4oIkxhdW5jaCBTdWNjZXNzZnVsIDogZmlsZSBMb2NhdGlvbiA9ICIr CisJCQkJIGZpbGUudG9TdHJpbmcoKSk7CisJCQorCisJCVN0cmluZ1tdIGFyZ3MgPSBuZXcgU3Ry aW5nW10geyBmaWxlLnRvU3RyaW5nKCkgfTsKKwkJbmV3IFBsdWdpbk1haW4oYXJncykubWFpbihh cmdzKTsKKyAgICAgICAgCisJfQkKKworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5k ZXg6IGNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi1nc29jL3NyYy9tYWluL2phdmEvb3Jn L2FwYWNoZS9jYXllbm5lL0FjdGl2YXRvci5qYXZhCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGNheWVubmUtbW9k ZWxlci1lY2xpcHNlLXBsdWdpbi1nc29jL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9jYXllbm5l L0FjdGl2YXRvci5qYXZhCShyZXZpc2lvbiAwKQorKysgY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2Ut cGx1Z2luLWdzb2Mvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2NheWVubmUvQWN0aXZhdG9yLmph dmEJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNzkgQEAKK3BhY2thZ2Ugb3JnLmFwYWNoZS5jYXll bm5lOworCitpbXBvcnQgb3JnLmVjbGlwc2UuY29yZS5yZXNvdXJjZXMuSVByb2plY3Q7CitpbXBv cnQgb3JnLmVjbGlwc2UuY29yZS5yZXNvdXJjZXMuSVJlc291cmNlOworaW1wb3J0IG9yZy5lY2xp cHNlLmNvcmUucmVzb3VyY2VzLklXb3Jrc3BhY2U7CitpbXBvcnQgb3JnLmVjbGlwc2UuY29yZS5y ZXNvdXJjZXMuSVdvcmtzcGFjZVJvb3Q7CitpbXBvcnQgb3JnLmVjbGlwc2UuY29yZS5yZXNvdXJj ZXMuUmVzb3VyY2VzUGx1Z2luOworaW1wb3J0IG9yZy5lY2xpcHNlLmNvcmUucnVudGltZS5JUGF0 aDsKK2ltcG9ydCBvcmcuZWNsaXBzZS51aS5wbHVnaW4uQWJzdHJhY3RVSVBsdWdpbjsKK2ltcG9y dCBvcmcuZWNsaXBzZS5qZmFjZS5yZXNvdXJjZS5JbWFnZURlc2NyaXB0b3I7CitpbXBvcnQgb3Jn Lm9zZ2kuZnJhbWV3b3JrLkJ1bmRsZUNvbnRleHQ7CisgCitwdWJsaWMgY2xhc3MgQWN0aXZhdG9y IGV4dGVuZHMgQWJzdHJhY3RVSVBsdWdpbiB7CisKKwkvLyBUaGUgc2hhcmVkIGluc3RhbmNlLgor CXByaXZhdGUgc3RhdGljIEFjdGl2YXRvciBwbHVnaW47CisJcHVibGljIHN0YXRpYyBmaW5hbCBT dHJpbmcgUExVR0lOX0lEID0gIm9yZy5hcGFjaGUuY2F5ZW5uZS5leHRlbnRpb25zIjsKKwkvKioK KwkgKiBUaGUgY29uc3RydWN0b3IuCisJICovCisJcHVibGljIEFjdGl2YXRvcigpIHsKKwkJc3Vw ZXIoKTsKKwkJcGx1Z2luID0gdGhpczsKKworCX0KKworCS8qKgorCSAqIFJldHVybnMgdGhlIHNo YXJlZCBpbnN0YW5jZSBvZiB0aGUgcGx1Zy1pbi4KKwkgKi8KKwlwdWJsaWMgc3RhdGljIEFjdGl2 YXRvciBnZXREZWZhdWx0KCkgeworCQlyZXR1cm4gcGx1Z2luID09IG51bGwgPyBuZXcgQWN0aXZh dG9yKCkgOiBwbHVnaW47CisJfQorCisJcHVibGljIHZvaWQgdXBkYXRlV29ya3NwYWNlKElQYXRo IHBhdGgpIHsKKworCQl0cnkgeworCQkJSVdvcmtzcGFjZSB3b3Jrc3BhY2UgPSBSZXNvdXJjZXNQ bHVnaW4uZ2V0V29ya3NwYWNlKCk7CisJCQlJV29ya3NwYWNlUm9vdCByb290ID0gd29ya3NwYWNl LmdldFJvb3QoKTsKKwkJCUlQcm9qZWN0IHByb2plY3QgPSByb290LmdldEZpbGVGb3JMb2NhdGlv bihwYXRoKS5nZXRQcm9qZWN0KCk7CisJCQlwcm9qZWN0LnJlZnJlc2hMb2NhbChJUmVzb3VyY2Uu REVQVEhfSU5GSU5JVEUsIG51bGwpOworCQl9IGNhdGNoIChFeGNlcHRpb24gZSkgeworCQkJZS5w cmludFN0YWNrVHJhY2UoKTsKKwkJfQorCX0KKwlwdWJsaWMgdm9pZCBzdGFydChCdW5kbGVDb250 ZXh0IGNvbnRleHQpIHRocm93cyBFeGNlcHRpb24geworCQlzdXBlci5zdGFydChjb250ZXh0KTsK KwkJcGx1Z2luID0gdGhpczsKKwl9CisvLworLy8JLyoKKy8vCSAqIChub24tSmF2YWRvYykKKy8v CSAqIEBzZWUgb3JnLmVjbGlwc2UudWkucGx1Z2luLkFic3RyYWN0VUlQbHVnaW4jc3RvcChvcmcu b3NnaS5mcmFtZXdvcmsuQnVuZGxlQ29udGV4dCkKKy8vCSAqLworCXB1YmxpYyB2b2lkIHN0b3Ao QnVuZGxlQ29udGV4dCBjb250ZXh0KSB0aHJvd3MgRXhjZXB0aW9uIHsKKwkJcGx1Z2luID0gbnVs bDsKKwkJc3VwZXIuc3RvcChjb250ZXh0KTsKKwl9CisvLworLy8JLyoqCisvLwkgKiBSZXR1cm5z IHRoZSBzaGFyZWQgaW5zdGFuY2UKKy8vCSAqCisvLwkgKiBAcmV0dXJuIHRoZSBzaGFyZWQgaW5z dGFuY2UKKy8vCSAqLworLy8vLwlwdWJsaWMgc3RhdGljIEFjdGl2YXRvciBnZXREZWZhdWx0KCkg eworLy8vLwkJcmV0dXJuIHBsdWdpbjsKKy8vLy8JfQorLy8KKy8vCS8qKgorLy8JICogUmV0dXJu cyBhbiBpbWFnZSBkZXNjcmlwdG9yIGZvciB0aGUgaW1hZ2UgZmlsZSBhdCB0aGUgZ2l2ZW4KKy8v CSAqIHBsdWctaW4gcmVsYXRpdmUgcGF0aAorLy8JICoKKy8vCSAqIEBwYXJhbSBwYXRoIHRoZSBw YXRoCisvLwkgKiBAcmV0dXJuIHRoZSBpbWFnZSBkZXNjcmlwdG9yCisvLwkgKi8KKwlwdWJsaWMg c3RhdGljIEltYWdlRGVzY3JpcHRvciBnZXRJbWFnZURlc2NyaXB0b3IoU3RyaW5nIHBhdGgpIHsK KwkJcmV0dXJuIGltYWdlRGVzY3JpcHRvckZyb21QbHVnaW4oUExVR0lOX0lELCBwYXRoKTsKKwl9 CisKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBjYXllbm5lLW1vZGVsZXIt ZWNsaXBzZS1wbHVnaW4tZ3NvYy9idWlsZC5wcm9wZXJ0aWVzCj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGNheWVu bmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi1nc29jL2J1aWxkLnByb3BlcnRpZXMJKHJldmlzaW9u IDApCisrKyBjYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4tZ3NvYy9idWlsZC5wcm9wZXJ0 aWVzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDkgQEAKK3NvdXJjZS4uID0gc3JjL21haW4vamF2 YS8sXAorCitvdXRwdXQuLiA9IHRhcmdldC9jbGFzc2VzLworYmluLmluY2x1ZGVzID0gcGx1Z2lu LnhtbCxcCisgICAgICAgICAgICAgICBNRVRBLUlORi8sXAorICAgICAgICAgICAgICAgLixcCisg ICAgICAgICAgICAgICB0YXJnZXQvZGVwZW5kZW5jeS8KKworZXNoYW4KSW5kZXg6IGNheWVubmUt bW9kZWxlci1lY2xpcHNlLXBsdWdpbi1nc29jL3BvbS54bWwKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gY2F5ZW5u ZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLWdzb2MvcG9tLnhtbAkocmV2aXNpb24gMCkKKysrIGNh eWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi1nc29jL3BvbS54bWwJKHJldmlzaW9uIDApCkBA IC0wLDAgKzEsMjI5IEBACis8cHJvamVjdCB4bWxucz0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcv UE9NLzQuMC4wIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWlu c3RhbmNlIgorICAgICAgICAgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vbWF2ZW4uYXBhY2hl Lm9yZy9QT00vNC4wLjAgaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvbWF2ZW4tdjRfMF8wLnhzZCI+ CisgICAgPHJlcG9zaXRvcmllcz4KKyAgICAgICAgPHJlcG9zaXRvcnk+CisgICAgICAgICAgICA8 aWQ+cmVwb3NpdG9yeTwvaWQ+CisgICAgICAgICAgICA8bmFtZT5SZXBvc2l0b3J5PC9uYW1lPgor ICAgICAgICAgICAgPHVybD5maWxlOi8vJHtwcm9qZWN0LmJhc2VkaXJ9L3JlcG9zaXRvcnk8L3Vy bD4KKyAgICAgICAgPC9yZXBvc2l0b3J5PgorICAgIDwvcmVwb3NpdG9yaWVzPgorCisgICAgPHBy b3BlcnRpZXM+CisgICAgICAgIDxidW5kbGUuc3ltYm9saWNOYW1lPmNheWVubmUtbW9kZWxlci1l Y2xpcHNlLXBsdWdpbi1nc29jPC9idW5kbGUuc3ltYm9saWNOYW1lPgorICAgICAgICA8YnVuZGxl Lm5hbWVzcGFjZT5vcmcuYXBhY2hlLmNheWVubmU8L2J1bmRsZS5uYW1lc3BhY2U+CisgICAgPC9w cm9wZXJ0aWVzPgorICAgIDxtb2RlbFZlcnNpb24+NC4wLjA8L21vZGVsVmVyc2lvbj4KKyAgICA8 cGFyZW50PgorICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLmNheWVubmU8L2dyb3VwSWQ+Cisg ICAgICAgIDxhcnRpZmFjdElkPmNheWVubmUtcGFyZW50PC9hcnRpZmFjdElkPgorICAgICAgICA8 dmVyc2lvbj4zLjEtU05BUFNIT1Q8L3ZlcnNpb24+CisgICAgPC9wYXJlbnQ+CisKKyAgICA8YXJ0 aWZhY3RJZD5jYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW48L2FydGlmYWN0SWQ+CisKKyAg ICA8bmFtZT5DYXllbm5lIE1vZGVsZXIgUGx1Z2luIGZvciBFY2xpcHNlPC9uYW1lPgorICAgIDxw YWNrYWdpbmc+YnVuZGxlPC9wYWNrYWdpbmc+CisgICAgPCEtLTxwYWNrYWdpbmc+amFyPC9wYWNr YWdpbmc+LS0+CisKKyAgICA8YnVpbGQ+CisgICAgICAgIDxyZXNvdXJjZXM+CisgICAgICAgICAg ICA8cmVzb3VyY2U+CisgICAgICAgICAgICAgICAgPHRhcmdldFBhdGg+aWNvbnM8L3RhcmdldFBh dGg+CisgICAgICAgICAgICAgICAgPGRpcmVjdG9yeT5pY29uczwvZGlyZWN0b3J5PgorCisgICAg ICAgICAgICA8L3Jlc291cmNlPgorICAgICAgICAgICAgPHJlc291cmNlPgorICAgICAgICAgICAg ICAgIDxkaXJlY3Rvcnk+LjwvZGlyZWN0b3J5PgorICAgICAgICAgICAgICAgIDxpbmNsdWRlcz4K KyAgICAgICAgICAgICAgICAgICAgPGluY2x1ZGU+cGx1Z2luLnhtbDwvaW5jbHVkZT4KKyAgICAg ICAgICAgICAgICA8L2luY2x1ZGVzPgorICAgICAgICAgICAgPC9yZXNvdXJjZT4KKyAgICAgICAg PC9yZXNvdXJjZXM+CisgICAgICAgIDxwbHVnaW5zPgorICAgICAgICAgICAgPHBsdWdpbj4KKyAg ICAgICAgICAgICAgICA8YXJ0aWZhY3RJZD5tYXZlbi1lY2xpcHNlLXBsdWdpbjwvYXJ0aWZhY3RJ ZD4KKyAgICAgICAgICAgICAgICA8dmVyc2lvbj4yLjg8L3ZlcnNpb24+CisgICAgICAgICAgICAg ICAgPGNvbmZpZ3VyYXRpb24+CisgICAgICAgICAgICAgICAgICAgIDxwZGU+dHJ1ZTwvcGRlPgor ICAgICAgICAgICAgICAgIDwvY29uZmlndXJhdGlvbj4KKyAgICAgICAgICAgIDwvcGx1Z2luPgor ICAgICAgICAgICAgCisgICAgICAgICAgICA8cGx1Z2luPgorICAgICAgICAgICAgICAgIDxncm91 cElkPm9yZy5hcGFjaGUubWF2ZW4ucGx1Z2luczwvZ3JvdXBJZD4KKyAgICAgICAgICAgICAgICA8 YXJ0aWZhY3RJZD5tYXZlbi1qYXItcGx1Z2luPC9hcnRpZmFjdElkPgorICAgICAgICAgICAgICAg IDxjb25maWd1cmF0aW9uPgorICAgICAgICAgICAgICAgICAgICA8YXJjaGl2ZT4KKyAgICAgICAg ICAgICAgICAgICAgICAgIDxtYW5pZmVzdEZpbGU+TUVUQS1JTkYvTUFOSUZFU1QuTUY8L21hbmlm ZXN0RmlsZT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxhZGRNYXZlbkRlc2NyaXB0b3I+ZmFs c2U8L2FkZE1hdmVuRGVzY3JpcHRvcj4KKyAgICAgICAgICAgICAgICAgICAgPC9hcmNoaXZlPgor ICAgICAgICAgICAgICAgIDwvY29uZmlndXJhdGlvbj4KKyAgICAgICAgICAgIDwvcGx1Z2luPgor CisgICAgICAgICAgICA8cGx1Z2luPgorICAgICAgICAgICAgICAgIDxncm91cElkPm9yZy5hcGFj aGUuZmVsaXg8L2dyb3VwSWQ+CisgICAgICAgICAgICAgICAgPGFydGlmYWN0SWQ+bWF2ZW4tYnVu ZGxlLXBsdWdpbjwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgICAgICA8dmVyc2lvbj4yLjMuNDwv dmVyc2lvbj4KKyAgICAgICAgICAgICAgICA8ZXh0ZW5zaW9ucz50cnVlPC9leHRlbnNpb25zPgor ICAgICAgICAgICAgICAgIDxjb25maWd1cmF0aW9uPgorICAgICAgICAgICAgICAgICAgICA8bWFu aWZlc3RMb2NhdGlvbj5NRVRBLUlORjwvbWFuaWZlc3RMb2NhdGlvbj4KKyAgICAgICAgICAgICAg ICAgICAgPGluc3RydWN0aW9ucz4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxJbmNsdWRlLVJl c291cmNlPnRhcmdldC9jbGFzc2VzPC9JbmNsdWRlLVJlc291cmNlPgorICAgICAgICAgICAgICAg ICAgICAgICAgPEJ1bmRsZS1TeW1ib2xpY05hbWU+JHtidW5kbGUuc3ltYm9saWNOYW1lfTtzaW5n bGV0b246PXRydWUKKyAgICAgICAgICAgICAgICAgICAgICAgIDwvQnVuZGxlLVN5bWJvbGljTmFt ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxCdW5kbGUtVmVyc2lvbj4ke3BvbS52ZXJzaW9u fTwvQnVuZGxlLVZlcnNpb24+CisgICAgICAgICAgICAgICAgICAgICAgICA8UmVxdWlyZS1CdW5k bGU+b3JnLmVjbGlwc2UuY29yZS5ydW50aW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg IG9yZy5lY2xpcHNlLmNvcmUucmVzb3VyY2VzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg IG9yZy5lY2xpcHNlLnVpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yZy5lY2xpcHNl LnVpLmVkaXRvcnMsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgb3JnLmVjbGlwc2UuamZhY2UsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgb3JnLmVjbGlwc2UudWkucGx1Z2luLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg IG9yZy5vc2dpLmZyYW1ld29yaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmcuYXBh Y2hlLmNheWVubmUuY2F5ZW5uZS1tb2RlbGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg IG9yZy5hcGFjaGUuY2F5ZW5uZS51bnB1Ymxpc2hlZC5jYXllbm5lLWpkazEuNS11bnB1Ymxpc2hl ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmcuYXBhY2hlLmNheWVubmUudW5wdWJs aXNoZWQuY2F5ZW5uZS1wcm9qZWN0LXVucHVibGlzaGVkLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgIG9yZy5hcGFjaGUuY2F5ZW5uZS5jYXllbm5lLXRvb2xzLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgIG9yZy5hcGFjaGUuY2F5ZW5uZS51bnB1Ymxpc2hlZC5jYXllbm5lLXdvY29t cGF0LXVucHVibGlzaGVkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yZy5hcGFjaGUu Y2F5ZW5uZS51bnB1Ymxpc2hlZC5jYXllbm5lLWRpLXVucHVibGlzaGVkCisgICAgICAgICAgICAg ICAgICAgICAgICA8L1JlcXVpcmUtQnVuZGxlPgorCisgICAgICAgICAgICAgICAgICAgICAgICA8 IS0tPEV4cG9ydC1QYWNrYWdlPm9yZy5hcGFjaGUuY2F5ZW5uZS5sYXVuY2hlci4qLG9yZy5hcGFj aGUuY2F5ZW5uZS5leHRlbnRpb25zLm1vZGVsZS4qLS0+CisgICAgICAgICAgICAgICAgICAgICAg ICA8IS0tPC9FeHBvcnQtUGFja2FnZT4tLT4KKworICAgICAgICAgICAgICAgICAgICAgICAgPCEt LTxQcml2YXRlLVBhY2thZ2U+b3JnLmFwYWNoZS5jYXllbm5lLmxhdW5jaGVyLiosb3JnLmFwYWNo ZS5jYXllbm5lLmV4dGVudGlvbnMubW9kZWxlLio8L1ByaXZhdGUtUGFja2FnZT4tLT4KKyAgICAg ICAgICAgICAgICAgICAgICA8IS0tPEltcG9ydC1QYWNrYWdlPio7cmVzb2x1dGlvbjo9b3B0aW9u YWw8L0ltcG9ydC1QYWNrYWdlPi0tPgorICAgICAgICAgICAgICAgICAgICAgICAgPCEtLTxJbXBv cnQtUGFja2FnZT4tLT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tZXhjbHVkZSBw YWNrYWdlcyBnZW5lcmF0ZWQgaW4gYnVuZGxlIG1hbmlmZXN0LS0+CisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgPCEtLWF1dG9tYXRpY2FsbHkgYW5kIHRoYXQgY2F1c2UgdGhlIGZhaWx1cmUg b2YtLT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tYnVuZGxlIGNvbXBpbGF0aW9u LS0+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLVRPRE86IGNvbnNpZGVyIHRoZSB3 YXkgb2YgcmVzb2x2aW5nIHRoaXMgcHJvYmxlbS0tPgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDwhLS1ub3QgYnkgZXhwbGljaXQgZXhjbHVzaW9uLS0+CisKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICA8IS0tIUVEVS5vc3dlZ28uY3MuZGwudXRpbC5jb25jdXJyZW50LC0tPgorICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0hYnNoLC0tPgorICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDwhLS0hY29tLnN1bi5qYXZhLnN3aW5nLnBsYWYud2luZG93cywtLT4KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICA8IS0tIWNvbS53ZXJrZW4ueHBhdGgsLS0+CisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgPCEtLSFqYXZheC5qbXMsLS0+CisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgPCEtLSFvcmcuYXBhY2hlLmF2YWxvbi5mcmFtZXdvcmsubG9nZ2VyLC0tPgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0hb3JnLmFwYWNoZS5iY2VsLiosLS0+Cisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSFvcmcuamRvbS4qLC0tPgorICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDwhLS0hb3JnLmppdmVzb2Z0d2FyZS5zbWFja3guZGVidWdnZXIs LS0+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSFzdW4uc2VjdXJpdHkuYWN0aW9u LC0tPgorCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLW9yZy5lY2xpcHNlLmNvcmUu cnVudGltZSwtLT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tb3JnLmVjbGlwc2Uu Y29yZS5yZXNvdXJjZXMsLS0+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLW9yZy5l Y2xpcHNlLnVpLC0tPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1vcmcuZWNsaXBz ZS5qZHQubGF1bmNoaW5nLC0tPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1vcmcu ZWNsaXBzZS5kZWJ1Zy5jb3JlLC0tPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1v cmcuZWNsaXBzZS51aS5pZGUsLS0+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLW9y Zy5lY2xpcHNlLmpkdC5jb3JlLCotLT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwhLS08L0lt cG9ydC1QYWNrYWdlPi0tPgorICAgICAgICAgICAgICAgICAgICAgICAgPEJ1bmRsZS1BY3RpdmF0 b3I+JHtidW5kbGUubmFtZXNwYWNlfS5BY3RpdmF0b3IKKyAgICAgICAgICAgICAgICAgICAgICAg IDwvQnVuZGxlLUFjdGl2YXRvcj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxFbWJlZC1EZXBl bmRlbmN5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICo7c2NvcGU9Y29tcGlsZXxydW50 aW1lfHByb3ZpZGVkO2lubGluZT1mYWxzZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIDwvRW1i ZWQtRGVwZW5kZW5jeT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKworICAgICAgICAg ICAgICAgICAgICAgICAgPEVtYmVkLURpcmVjdG9yeT50YXJnZXQvZGVwZW5kZW5jeQorICAgICAg ICAgICAgICAgICAgICAgICAgPC9FbWJlZC1EaXJlY3Rvcnk+CisgICAgICAgICAgICAgICAgICAg ICAgICA8RW1iZWQtU3RyaXBHcm91cD50cnVlPC9FbWJlZC1TdHJpcEdyb3VwPgorICAgICAgICAg ICAgICAgICAgICA8L2luc3RydWN0aW9ucz4KKyAgICAgICAgICAgICAgICA8L2NvbmZpZ3VyYXRp b24+CisgICAgICAgICAgICA8L3BsdWdpbj4KKyAgICAgICAgICAgIDxwbHVnaW4+CisgICAgICAg ICAgICAgICAgPGFydGlmYWN0SWQ+bWF2ZW4tZGVwZW5kZW5jeS1wbHVnaW4KKyAgICAgICAgICAg ICAgICA8L2FydGlmYWN0SWQ+CisgICAgICAgICAgICAgICAgPGV4ZWN1dGlvbnM+CisgICAgICAg ICAgICAgICAgICAgIDxleGVjdXRpb24+CisgICAgICAgICAgICAgICAgICAgICAgICA8aWQ+Y29w eS1kZXBlbmRlbmNpZXM8L2lkPgorICAgICAgICAgICAgICAgICAgICAgICAgPHBoYXNlPnBhY2th Z2U8L3BoYXNlPgorICAgICAgICAgICAgICAgICAgICAgICAgPGdvYWxzPgorICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDxnb2FsPmNvcHktZGVwZW5kZW5jaWVzPC9nb2FsPgorICAgICAgICAg ICAgICAgICAgICAgICAgPC9nb2Fscz4KKyAgICAgICAgICAgICAgICAgICAgPC9leGVjdXRpb24+ CisgICAgICAgICAgICAgICAgPC9leGVjdXRpb25zPgorICAgICAgICAgICAgPC9wbHVnaW4+Cisg ICAgICAgICAgICA8cGx1Z2luPgorICAgICAgICAgICAgICAgIDxncm91cElkPm9yZy5hcGFjaGUu bWF2ZW4ucGx1Z2luczwvZ3JvdXBJZD4KKyAgICAgICAgICAgICAgICA8YXJ0aWZhY3RJZD5tYXZl bi1jb21waWxlci1wbHVnaW48L2FydGlmYWN0SWQ+CisgICAgICAgICAgICAgICAgPGNvbmZpZ3Vy YXRpb24+CisgICAgICAgICAgICAgICAgICAgIDxzb3VyY2U+MS41PC9zb3VyY2U+CisgICAgICAg ICAgICAgICAgICAgIDx0YXJnZXQ+MS41PC90YXJnZXQ+CisgICAgICAgICAgICAgICAgPC9jb25m aWd1cmF0aW9uPgorICAgICAgICAgICAgPC9wbHVnaW4+CisgICAgICAgIDwvcGx1Z2lucz4KKyAg ICA8L2J1aWxkPgorCisgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGRlcGVuZGVuY3k+Cisg ICAgICAgICAgICA8Z3JvdXBJZD5vcmcuZWNsaXBzZS51aTwvZ3JvdXBJZD4KKyAgICAgICAgICAg IDxhcnRpZmFjdElkPndvcmtiZW5jaDwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgIDx2ZXJzaW9u PjMuNi4xLk0yMDEwMDgyNi0xMzMwPC92ZXJzaW9uPgorICAgICAgICA8L2RlcGVuZGVuY3k+Cisg ICAgICAgIDxkZXBlbmRlbmN5PgorICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLmVjbGlwc2UudWk8 L2dyb3VwSWQ+CisgICAgICAgICAgICA8YXJ0aWZhY3RJZD5lZGl0b3JzPC9hcnRpZmFjdElkPgor ICAgICAgICAgICAgPHZlcnNpb24+My41LjAudjIwMDkwNTI3LTIwMDA8L3ZlcnNpb24+CisgICAg ICAgIDwvZGVwZW5kZW5jeT4KKyAgICAgICAgPGRlcGVuZGVuY3k+CisgICAgICAgICAgICA8Z3Jv dXBJZD5vcmcuZWNsaXBzZS5jb3JlPC9ncm91cElkPgorICAgICAgICAgICAgPGFydGlmYWN0SWQ+ cmVzb3VyY2VzPC9hcnRpZmFjdElkPgorICAgICAgICAgICAgPHZlcnNpb24+My42LjAuUjM2eF92 MjAxMDA4MjUtMDYwMDwvdmVyc2lvbj4KKyAgICAgICAgPC9kZXBlbmRlbmN5PgorCisgICAgICAg IDxkZXBlbmRlbmN5PgorICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLmVjbGlwc2UuY29yZTwvZ3Jv dXBJZD4KKyAgICAgICAgICAgIDxhcnRpZmFjdElkPnJ1bnRpbWU8L2FydGlmYWN0SWQ+CisgICAg ICAgICAgICA8dmVyc2lvbj4zLjAuMTwvdmVyc2lvbj4KKyAgICAgICAgPC9kZXBlbmRlbmN5Pgor ICAgICAgICA8ZGVwZW5kZW5jeT4KKyAgICAgICAgICAgIDxncm91cElkPm9yZy5lY2xpcHNlPC9n cm91cElkPgorICAgICAgICAgICAgPGFydGlmYWN0SWQ+b3NnaTwvYXJ0aWZhY3RJZD4KKyAgICAg ICAgICAgIDx2ZXJzaW9uPjMuNi4xLlIzNnhfdjIwMTAwODA2PC92ZXJzaW9uPgorICAgICAgICA8 L2RlcGVuZGVuY3k+CisgICAgICAgIDxkZXBlbmRlbmN5PgorICAgICAgICAgICAgPGdyb3VwSWQ+ b3JnLmVjbGlwc2U8L2dyb3VwSWQ+CisgICAgICAgICAgICA8YXJ0aWZhY3RJZD5qZmFjZTwvYXJ0 aWZhY3RJZD4KKyAgICAgICAgICAgIDx2ZXJzaW9uPjMuNS4yLk0yMDEwMDEyMC0wODAwPC92ZXJz aW9uPgorICAgICAgICA8L2RlcGVuZGVuY3k+CisKKworICAgICAgICA8IS0tIENheWVubmUgZGVw ZW5kZW5jaWVzIC0tPgorICAgICAgICA8ZGVwZW5kZW5jeT4KKyAgICAgICAgICAgIDxncm91cElk Pm9yZy5hcGFjaGUuY2F5ZW5uZTwvZ3JvdXBJZD4KKyAgICAgICAgICAgIDxhcnRpZmFjdElkPmNh eWVubmUtbW9kZWxlcjwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgIDx2ZXJzaW9uPiR7dmVyc2lv bn08L3ZlcnNpb24+CisgICAgICAgICAgICA8c2NvcGU+cHJvdmlkZWQ8L3Njb3BlPgorICAgICAg ICA8L2RlcGVuZGVuY3k+CisgICAgICAgIDxkZXBlbmRlbmN5PgorICAgICAgICAgICAgPGdyb3Vw SWQ+b3JnLmFwYWNoZS5jYXllbm5lLnVucHVibGlzaGVkPC9ncm91cElkPgorICAgICAgICAgICAg PGFydGlmYWN0SWQ+Y2F5ZW5uZS1qZGsxLjUtdW5wdWJsaXNoZWQ8L2FydGlmYWN0SWQ+CisgICAg ICAgICAgICA8dmVyc2lvbj4ke3ZlcnNpb259PC92ZXJzaW9uPgorICAgICAgICAgICAgPHNjb3Bl PnByb3ZpZGVkPC9zY29wZT4KKyAgICAgICAgPC9kZXBlbmRlbmN5PgorICAgICAgICA8ZGVwZW5k ZW5jeT4KKyAgICAgICAgICAgIDxncm91cElkPm9yZy5hcGFjaGUuY2F5ZW5uZS51bnB1Ymxpc2hl ZDwvZ3JvdXBJZD4KKyAgICAgICAgICAgIDxhcnRpZmFjdElkPmNheWVubmUtcHJvamVjdC11bnB1 Ymxpc2hlZDwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgIDx2ZXJzaW9uPiR7dmVyc2lvbn08L3Zl cnNpb24+CisgICAgICAgICAgICA8c2NvcGU+cHJvdmlkZWQ8L3Njb3BlPgorICAgICAgICA8L2Rl cGVuZGVuY3k+CisgICAgICAgIDxkZXBlbmRlbmN5PgorICAgICAgICAgICAgPGdyb3VwSWQ+b3Jn LmFwYWNoZS5jYXllbm5lPC9ncm91cElkPgorICAgICAgICAgICAgPGFydGlmYWN0SWQ+Y2F5ZW5u ZS10b29sczwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgIDx2ZXJzaW9uPiR7dmVyc2lvbn08L3Zl cnNpb24+CisgICAgICAgIDwvZGVwZW5kZW5jeT4KKyAgICAgICAgPGRlcGVuZGVuY3k+CisgICAg ICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLmNheWVubmUudW5wdWJsaXNoZWQ8L2dyb3VwSWQ+ CisgICAgICAgICAgICA8YXJ0aWZhY3RJZD5jYXllbm5lLXdvY29tcGF0LXVucHVibGlzaGVkPC9h cnRpZmFjdElkPgorICAgICAgICAgICAgPHZlcnNpb24+JHt2ZXJzaW9ufTwvdmVyc2lvbj4KKyAg ICAgICAgICAgIDxzY29wZT5wcm92aWRlZDwvc2NvcGU+CisgICAgICAgIDwvZGVwZW5kZW5jeT4K KyAgICAgICAgPGRlcGVuZGVuY3k+CisgICAgICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLmNh eWVubmUudW5wdWJsaXNoZWQ8L2dyb3VwSWQ+CisgICAgICAgICAgICA8YXJ0aWZhY3RJZD5jYXll bm5lLWRpLXVucHVibGlzaGVkPC9hcnRpZmFjdElkPgorICAgICAgICAgICAgPHZlcnNpb24+JHt2 ZXJzaW9ufTwvdmVyc2lvbj4KKyAgICAgICAgPC9kZXBlbmRlbmN5PgorCisgICAgICAgIDwhLS0g VGhpcmQtcGFydHkgZGVwZW5kZW5jaWVzIC0tPgorCisgICAgPC9kZXBlbmRlbmNpZXM+Cis8L3By b2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogY2F5ZW5uZS1tb2RlbGVy LWVjbGlwc2UtcGx1Z2luLWdzb2MvaWNvbnMvY2F5ZW5uZV9sYXJnZS5wbmcKPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpD YW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlw ZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKUHJvcGVydHkgY2hhbmdlcyBvbjogY2F5ZW5u ZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLWdzb2MvaWNvbnMvY2F5ZW5uZV9sYXJnZS5wbmcKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQogICArIGFwcGxpY2F0aW9uL29jdGV0LXN0cmVh bQoKSW5kZXg6IGNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi1nc29jL2ljb25zL3NhbXBs ZS5naWYKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkg dHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKUHJvcGVydHkg Y2hhbmdlcyBvbjogY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLWdzb2MvaWNvbnMvc2Ft cGxlLmdpZgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWltZS10eXBlCiAgICsgYXBwbGljYXRpb24v b2N0ZXQtc3RyZWFtCgpJbmRleDogY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLWdzb2Mv aWNvbnMvY2F5ZW5uZS5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQg YXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVh bQoKUHJvcGVydHkgY2hhbmdlcyBvbjogY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLWdz b2MvaWNvbnMvY2F5ZW5uZS5wbmcKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQogICAr IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKSW5kZXg6IGNheWVubmUtbW9kZWxlci1lY2xpcHNl LXBsdWdpbi1nc29jL2ljb25zL2NheWVubmUuZ2lmCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6 IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlv bi9vY3RldC1zdHJlYW0KClByb3BlcnR5IGNoYW5nZXMgb246IGNheWVubmUtbW9kZWxlci1lY2xp cHNlLXBsdWdpbi1nc29jL2ljb25zL2NheWVubmUuZ2lmCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpt aW1lLXR5cGUKICAgKyBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KCkluZGV4OiBjYXllbm5lLW1v ZGVsZXItZWNsaXBzZS1wbHVnaW4tZ3NvYy9wbHVnaW4ueG1sCj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGNheWVu bmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi1nc29jL3BsdWdpbi54bWwJKHJldmlzaW9uIDApCisr KyBjYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4tZ3NvYy9wbHVnaW4ueG1sCShyZXZpc2lv biAwKQpAQCAtMCwwICsxLDEzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYt OCI/PgorPD9lY2xpcHNlIHZlcnNpb249IjMuMiI/PgorPHBsdWdpbj4KKzxleHRlbnNpb24gcG9p bnQ9Im9yZy5lY2xpcHNlLnVpLmVkaXRvcnMiPgorCis8ZWRpdG9yIG5hbWU9IkNheWVubmUgTW9k ZWxlciBFY2xpcHNlIFBsdWdpbiIgaWNvbj0iaWNvbnMvY2F5ZW5uZS5wbmciICBmaWxlbmFtZXM9 ImNheWVubmUueG1sIiBkZWZhdWx0PSJ0cnVlIgorbGF1bmNoZXI9Im9yZy5hcGFjaGUuY2F5ZW5u ZS5sYXVuY2hlci5FZGl0b3JMYXVuY2hlciIKK2lkPSJvcmcuYXBhY2hlLmNheWVubmUubGF1bmNo ZXIuRWRpdG9yTGF1bmNoZXIiICA+CisgICAgICAgICAgICAKKzwvZWRpdG9yPgorPC9leHRlbnNp b24+Cis8L3BsdWdpbj4KKwpJbmRleDogY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLWdz b2MvLnNldHRpbmdzL29yZy5lY2xpcHNlLmpkdC5jb3JlLnByZWZzCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGNh eWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi1nc29jLy5zZXR0aW5ncy9vcmcuZWNsaXBzZS5q ZHQuY29yZS5wcmVmcwkocmV2aXNpb24gMCkKKysrIGNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBs dWdpbi1nc29jLy5zZXR0aW5ncy9vcmcuZWNsaXBzZS5qZHQuY29yZS5wcmVmcwkocmV2aXNpb24g MCkKQEAgLTAsMCArMSw5IEBACisjVHVlIEp1biAyMSAwOTowMDo0NiBJU1QgMjAxMQorZWNsaXBz ZS5wcmVmZXJlbmNlcy52ZXJzaW9uPTEKK29yZy5lY2xpcHNlLmpkdC5jb3JlLmNvbXBpbGVyLmNv ZGVnZW4uaW5saW5lSnNyQnl0ZWNvZGU9ZW5hYmxlZAorb3JnLmVjbGlwc2UuamR0LmNvcmUuY29t cGlsZXIuY29kZWdlbi50YXJnZXRQbGF0Zm9ybT0xLjUKK29yZy5lY2xpcHNlLmpkdC5jb3JlLmNv bXBpbGVyLmNvbXBsaWFuY2U9MS41CitvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5wcm9i bGVtLmFzc2VydElkZW50aWZpZXI9ZXJyb3IKK29yZy5lY2xpcHNlLmpkdC5jb3JlLmNvbXBpbGVy LnByb2JsZW0uZW51bUlkZW50aWZpZXI9ZXJyb3IKK29yZy5lY2xpcHNlLmpkdC5jb3JlLmNvbXBp bGVyLnByb2JsZW0uZm9yYmlkZGVuUmVmZXJlbmNlPXdhcm5pbmcKK29yZy5lY2xpcHNlLmpkdC5j b3JlLmNvbXBpbGVyLnNvdXJjZT0xLjUKSW5kZXg6IGNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBs dWdpbi1nc29jLy5zZXR0aW5ncy9vcmcubWF2ZW4uaWRlLmVjbGlwc2UucHJlZnMKPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0gY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLWdzb2MvLnNldHRpbmdzL29yZy5t YXZlbi5pZGUuZWNsaXBzZS5wcmVmcwkocmV2aXNpb24gMCkKKysrIGNheWVubmUtbW9kZWxlci1l Y2xpcHNlLXBsdWdpbi1nc29jLy5zZXR0aW5ncy9vcmcubWF2ZW4uaWRlLmVjbGlwc2UucHJlZnMJ KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOCBAQAorI1RodSBNYXkgMTIgMDk6NTk6NTYgRUVTVCAy MDExCithY3RpdmVQcm9maWxlcz0KK2VjbGlwc2UucHJlZmVyZW5jZXMudmVyc2lvbj0xCitmdWxs QnVpbGRHb2Fscz1wcm9jZXNzLXRlc3QtcmVzb3VyY2VzCityZXNvbHZlV29ya3NwYWNlUHJvamVj dHM9dHJ1ZQorcmVzb3VyY2VGaWx0ZXJHb2Fscz1wcm9jZXNzLXJlc291cmNlcyByZXNvdXJjZXNc OnRlc3RSZXNvdXJjZXMKK3NraXBDb21waWxlclBsdWdpbj10cnVlCit2ZXJzaW9uPTEK --bcaec54858ca316f2204a66a87dd--