Return-Path: Delivered-To: apmail-jackrabbit-dev-archive@www.apache.org Received: (qmail 35229 invoked from network); 2 Nov 2010 14:22:43 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 2 Nov 2010 14:22:43 -0000 Received: (qmail 49909 invoked by uid 500); 2 Nov 2010 14:23:14 -0000 Delivered-To: apmail-jackrabbit-dev-archive@jackrabbit.apache.org Received: (qmail 49643 invoked by uid 500); 2 Nov 2010 14:23:11 -0000 Mailing-List: contact dev-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@jackrabbit.apache.org Delivered-To: mailing list dev@jackrabbit.apache.org Received: (qmail 49636 invoked by uid 99); 2 Nov 2010 14:23:10 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Nov 2010 14:23:10 +0000 X-ASF-Spam-Status: No, hits=2.2 required=10.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [194.172.26.36] (HELO MX2.aeb.de) (194.172.26.36) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Nov 2010 14:23:03 +0000 X-IronPort-AV: E=Sophos;i="4.58,281,1286143200"; d="xml'217?java'217?scan'217,208,217";a="1783373" Received: from unknown (HELO S-HQMX6.pmbelz.de) ([10.237.5.6]) by MX2I.pmbelz.de with ESMTP; 02 Nov 2010 15:22:40 +0100 Received: from S-HQMX6.pmbelz.de ([fe80::c11d:7ab7:ed94:fb34]) by S-HQMX6.pmbelz.de ([fe80::c11d:7ab7:ed94:fb34%14]) with mapi; Tue, 2 Nov 2010 15:22:39 +0100 From: "Cech. Ulrich" To: "dev@jackrabbit.apache.org" Date: Tue, 2 Nov 2010 15:22:37 +0100 Subject: Perhaps a bug in Session.checkPermission oder Session.hasPermission? Thread-Topic: Perhaps a bug in Session.checkPermission oder Session.hasPermission? Thread-Index: Act6mWYr4MVAM/zaQLmcHjl7xw/E4Q== Message-ID: Accept-Language: de-DE Content-Language: de-DE X-MS-Has-Attach: yes X-MS-TNEF-Correlator: acceptlanguage: de-DE Content-Type: multipart/mixed; boundary="_005_B0935AD5B821BB4EB2E7D7ACC5C3633E0AD379A96ESHQMX6pmbelzd_" MIME-Version: 1.0 --_005_B0935AD5B821BB4EB2E7D7ACC5C3633E0AD379A96ESHQMX6pmbelzd_ Content-Type: multipart/alternative; boundary="_000_B0935AD5B821BB4EB2E7D7ACC5C3633E0AD379A96ESHQMX6pmbelzd_" --_000_B0935AD5B821BB4EB2E7D7ACC5C3633E0AD379A96ESHQMX6pmbelzd_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hello, ich found an unexpected behavior of the methods Session.checkPermission() a= nd Session.hasPermission(). CheckPermission throws an AccessControlException although the correct permi= ssion is set. Session.hasPermission() results in a 'correct' return value w= ith "true". I attached an JUnit-Test (with a repository.xml), perhaps someone can verif= y this as a bug ... or do I perhaps something wrong? Thanks in advance, Ulrich --_000_B0935AD5B821BB4EB2E7D7ACC5C3633E0AD379A96ESHQMX6pmbelzd_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Hello,

&nb= sp;

ich foun= d an unexpected behavior of the methods Session.checkPermission() and Session.ha= sPermission().

CheckPer= mission throws an AccessControlException although the correct permission is set. Session.hasPermission() results in a ‘correct’ return value wit= h “true”.

&nb= sp;

I attach= ed an JUnit-Test (with a repository.xml), perhaps someone can verify this as a bu= g … or do I perhaps something wrong?

&nb= sp;

Thanks i= n advance,

Ulrich

&nb= sp;

--_000_B0935AD5B821BB4EB2E7D7ACC5C3633E0AD379A96ESHQMX6pmbelzd_-- --_005_B0935AD5B821BB4EB2E7D7ACC5C3633E0AD379A96ESHQMX6pmbelzd_ Content-Type: application/octet-stream; name="CheckPermissionTest.java" Content-Description: CheckPermissionTest.java Content-Disposition: attachment; filename="CheckPermissionTest.java"; size=7785; creation-date="Tue, 02 Nov 2010 15:21:50 GMT"; modification-date="Tue, 02 Nov 2010 14:49:41 GMT" Content-Transfer-Encoding: base64 LyoNCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioNCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoNCiAqICAg ICAgICAgIChDKSBDT1BZUklHSFQgYnkgQUVCIEdtYkggMjAxMCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICoNCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoNCiAqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioNCiAqLw0KDQovKioNCiAqIENyZWF0aW9uIDAyLjExLjIwMTAgLSAxMzo0NzozNA0K ICogDQogKiBBY3R1YWwgVmVyc2lvbg0KICogPT09PT09PT09PT09PT0NCiAqICRSZXZpc2lvbiQN CiAqICRBdXRob3IkDQogKg0KICogRm9yIGEgZGV0YWlsZWQgaGlzdG9yeSBvZiB0aGlzIGZpbGUg c2VlIGJvdHRvbSAhDQogKi8NCnBhY2thZ2UgZGUuYWViLnhuc2cuYXJjaGl2ZS5jci5qYWNrcmFi Yml0Ow0KDQppbXBvcnQgamF2YS5pby5GaWxlOw0KaW1wb3J0IGphdmEuc2VjdXJpdHkuQWNjZXNz Q29udHJvbEV4Y2VwdGlvbjsNCmltcG9ydCBqYXZhLnNlY3VyaXR5LlByaW5jaXBhbDsNCmltcG9y dCBqYXZhLnV0aWwuQXJyYXlMaXN0Ow0KaW1wb3J0IGphdmEudXRpbC5BcnJheXM7DQppbXBvcnQg amF2YS51dGlsLkxpc3Q7DQoNCmltcG9ydCBqYXZheC5qY3IuQWNjZXNzRGVuaWVkRXhjZXB0aW9u Ow0KaW1wb3J0IGphdmF4Lmpjci5Ob2RlOw0KaW1wb3J0IGphdmF4Lmpjci5SZXBvc2l0b3J5Ow0K aW1wb3J0IGphdmF4Lmpjci5SZXBvc2l0b3J5RXhjZXB0aW9uOw0KaW1wb3J0IGphdmF4Lmpjci5T ZXNzaW9uOw0KaW1wb3J0IGphdmF4Lmpjci5TaW1wbGVDcmVkZW50aWFsczsNCmltcG9ydCBqYXZh eC5qY3Iuc2VjdXJpdHkuQWNjZXNzQ29udHJvbEVudHJ5Ow0KaW1wb3J0IGphdmF4Lmpjci5zZWN1 cml0eS5BY2Nlc3NDb250cm9sTGlzdDsNCmltcG9ydCBqYXZheC5qY3Iuc2VjdXJpdHkuQWNjZXNz Q29udHJvbE1hbmFnZXI7DQppbXBvcnQgamF2YXguamNyLnNlY3VyaXR5LkFjY2Vzc0NvbnRyb2xQ b2xpY3k7DQppbXBvcnQgamF2YXguamNyLnNlY3VyaXR5LkFjY2Vzc0NvbnRyb2xQb2xpY3lJdGVy YXRvcjsNCmltcG9ydCBqYXZheC5qY3Iuc2VjdXJpdHkuUHJpdmlsZWdlOw0KDQppbXBvcnQganVu aXQuZnJhbWV3b3JrLlRlc3RDYXNlOw0KDQppbXBvcnQgb3JnLmFwYWNoZS5qYWNrcmFiYml0LmFw aS5KYWNrcmFiYml0U2Vzc2lvbjsNCmltcG9ydCBvcmcuYXBhY2hlLmphY2tyYWJiaXQuYXBpLnNl Y3VyaXR5LnVzZXIuQXV0aG9yaXphYmxlOw0KaW1wb3J0IG9yZy5hcGFjaGUuamFja3JhYmJpdC5h cGkuc2VjdXJpdHkudXNlci5Vc2VyOw0KaW1wb3J0IG9yZy5hcGFjaGUuamFja3JhYmJpdC5hcGku c2VjdXJpdHkudXNlci5Vc2VyTWFuYWdlcjsNCmltcG9ydCBvcmcuYXBhY2hlLmphY2tyYWJiaXQu Y29yZS5UcmFuc2llbnRSZXBvc2l0b3J5Ow0KDQoNCg0KLyoqDQogKiBDaGVja3MgdGhlIGRpZmZl cmVuY2UgYmV0d2VlbiB7QGxpbmsgU2Vzc2lvbiNjaGVja1Blcm1pc3Npb24oU3RyaW5nLCBTdHJp bmcpfQ0KICogYW5kIHtAbGluayBTZXNzaW9uI2hhc1Blcm1pc3Npb24oU3RyaW5nLCBTdHJpbmcp fS4NCiAqDQogKiBAYXV0aG9yIGNlY2gNCiAqLw0KcHVibGljIGNsYXNzIENoZWNrUGVybWlzc2lv blRlc3QgZXh0ZW5kcyBUZXN0Q2FzZSB7DQoNCglwcml2YXRlIHN0YXRpYyBmaW5hbCBTdHJpbmcg UkVQT19QQVRIID0gIkM6L3RlbXAiOw0KCQ0KCXByb3RlY3RlZCB2b2lkIHNldFVwKCkgdGhyb3dz IEV4Y2VwdGlvbiB7DQoJCXN1cGVyLnNldFVwKCk7DQoJfQ0KDQoJcHJvdGVjdGVkIHZvaWQgdGVh ckRvd24oKSB0aHJvd3MgRXhjZXB0aW9uIHsNCgkJc3VwZXIudGVhckRvd24oKTsNCgl9DQoNCglw dWJsaWMgdm9pZCB0ZXN0KCkgdGhyb3dzIEV4Y2VwdGlvbiB7DQoJCVNlc3Npb24gc2Vzc2lvbiA9 IG51bGw7DQoJCVNlc3Npb24gc2Vzc2lvbjIgPSBudWxsOw0KCQlSZXBvc2l0b3J5IHJlcG8gPSBu dWxsOw0KCQlOb2RlIG4gPSBudWxsOw0KCQl0cnkgew0KCQkJcmVwbyA9DQoJCQkJCW5ldyBUcmFu c2llbnRSZXBvc2l0b3J5KG5ldyBGaWxlKGdldENsYXNzKCkuZ2V0UmVzb3VyY2UoDQoJCQkJCQkJ InJlcG9zaXRvcnlfZnMueG1sIikudG9VUkkoKSksIG5ldyBGaWxlKFJFUE9fUEFUSCkpOw0KCQkJ c2Vzc2lvbiA9DQoJCQkJCXJlcG8ubG9naW4obmV3IFNpbXBsZUNyZWRlbnRpYWxzKCJhZG1pbiIs ICJhZG1pbiINCgkJCQkJCQkudG9DaGFyQXJyYXkoKSkpOw0KCQkJbiA9IHNlc3Npb24uZ2V0Um9v dE5vZGUoKS5hZGROb2RlKCJsZXZlbDEiKTsNCgkJCW4gPSBuLmFkZE5vZGUoImxldmVsMiIpOw0K CQkJbiA9IG4uYWRkTm9kZSgibGV2ZWwzIik7DQoNCgkJCS8vIGNyZWF0ZSB0ZXN0LXVzZXINCgkJ CVVzZXIgdGVzdFVzZXIgPSBjcmVhdGVVc2VyKHNlc3Npb24sICJuZXdVc2VyIiwgIm5ld1Bhc3N3 b3JkIik7DQoJCQlzZXRGdWxsQWNjZXNzKHNlc3Npb24sIG4sIHRlc3RVc2VyKTsNCgkJCXNlc3Np b24uc2F2ZSgpOw0KDQoJCQkvLyByZWFkIGFuZCBwcmludCB0aGUgcHJpdmlsZWdlcw0KCQkJQWNj ZXNzQ29udHJvbE1hbmFnZXIgYWNtID0gc2Vzc2lvbi5nZXRBY2Nlc3NDb250cm9sTWFuYWdlcigp Ow0KCQkJQWNjZXNzQ29udHJvbExpc3QgYWNsID0gZ2V0TGlzdChhY20sICIvbGV2ZWwxL2xldmVs Mi9sZXZlbDMiKTsNCgkJCVByaW5jaXBhbCBwcmluY2lwYWwgPSB0ZXN0VXNlci5nZXRQcmluY2lw YWwoKTsNCgkJCUxpc3QgcHJpdmlsZWdlcyA9IG5ldyBBcnJheUxpc3QoKTsNCgkJCUFjY2Vzc0Nv bnRyb2xFbnRyeVtdIGVudHJpZXMgPSBhY2wuZ2V0QWNjZXNzQ29udHJvbEVudHJpZXMoKTsNCgkJ CWZvciAoaW50IGkgPSAwOyBpIDwgZW50cmllcy5sZW5ndGg7IGkrKykgew0KCQkJCUFjY2Vzc0Nv bnRyb2xFbnRyeSBhY2UgPSBlbnRyaWVzW2ldOw0KCQkJCWlmIChwcmluY2lwYWwuZXF1YWxzKGFj ZS5nZXRQcmluY2lwYWwoKSkpIHsNCgkJCQkJcHJpdmlsZWdlcy5hZGRBbGwoQXJyYXlzLmFzTGlz dChhY2UuZ2V0UHJpdmlsZWdlcygpKSk7DQoJCQkJfQ0KCQkJfQ0KCQkJZm9yIChPYmplY3QgcCA6 IHByaXZpbGVnZXMpIHsNCgkJCQlTeXN0ZW0ub3V0LnByaW50bG4oKChQcml2aWxlZ2UpIHApLmdl dE5hbWUoKSk7DQoJCQl9DQoJCQlzZXNzaW9uLmxvZ291dCgpOw0KDQoJCQkvLyBsb2dpbiB3aXRo IGFkZGVkIHVzZXINCgkJCWFzc2VydFRydWUocHJpdmlsZWdlcy5zaXplKCkgPiAwKTsNCgkJCXNl c3Npb24yID0NCgkJCQkJcmVwby5sb2dpbihuZXcgU2ltcGxlQ3JlZGVudGlhbHMoIm5ld1VzZXIi LCAibmV3UGFzc3dvcmQiDQoJCQkJCQkJLnRvQ2hhckFycmF5KCkpKTsNCgkJCWFzc2VydE5vdE51 bGwoc2Vzc2lvbjIpOw0KCQkJTm9kZSBub2RlVXNlciA9IHNlc3Npb24yLmdldE5vZGUoIi9sZXZl bDEvbGV2ZWwyL2xldmVsMyIpOw0KDQoJCQkvLyBwcmludCB0aGUgcHJpdmlsZWdlcw0KCQkJcHJp bmNpcGFsID0gZ2V0VXNlcihzZXNzaW9uMikuZ2V0UHJpbmNpcGFsKCk7DQoJCQlwcml2aWxlZ2Vz ID0gbmV3IEFycmF5TGlzdCgpOw0KCQkJZW50cmllcyA9IGFjbC5nZXRBY2Nlc3NDb250cm9sRW50 cmllcygpOw0KCQkJZm9yIChpbnQgaSA9IDA7IGkgPCBlbnRyaWVzLmxlbmd0aDsgaSsrKSB7DQoJ CQkJQWNjZXNzQ29udHJvbEVudHJ5IGFjZSA9IGVudHJpZXNbaV07DQoJCQkJaWYgKHByaW5jaXBh bC5lcXVhbHMoYWNlLmdldFByaW5jaXBhbCgpKSkgew0KCQkJCQlwcml2aWxlZ2VzLmFkZEFsbChB cnJheXMuYXNMaXN0KGFjZS5nZXRQcml2aWxlZ2VzKCkpKTsNCgkJCQl9DQoJCQl9DQoJCQlmb3Ig KE9iamVjdCBwIDogcHJpdmlsZWdlcykgew0KCQkJCVN5c3RlbS5vdXQucHJpbnRsbigoKFByaXZp bGVnZSkgcCkuZ2V0TmFtZSgpKTsNCgkJCX0NCg0KCQkJLy8gY2hlY2sgdGhlIHBlcm1pc3Npb25z IHdpdGggU2Vzc2lvbi5oYXNQZXJtaXNzaW9uIChTVUNDRVNTKQ0KCQkJc2Vzc2lvbjIuaGFzUGVy bWlzc2lvbihub2RlVXNlci5nZXRQYXRoKCksIFNlc3Npb24uQUNUSU9OX1JFQUQpOw0KCQkJc2Vz c2lvbjIuaGFzUGVybWlzc2lvbihub2RlVXNlci5nZXRQYXRoKCksIFNlc3Npb24uQUNUSU9OX0FE RF9OT0RFKTsNCgkJCXNlc3Npb24yLmhhc1Blcm1pc3Npb24obm9kZVVzZXIuZ2V0UGF0aCgpLA0K CQkJCQlTZXNzaW9uLkFDVElPTl9TRVRfUFJPUEVSVFkpOw0KCQkJc2Vzc2lvbjIuaGFzUGVybWlz c2lvbihub2RlVXNlci5nZXRQYXRoKCksIFNlc3Npb24uQUNUSU9OX1JFTU9WRSk7DQoNCgkJCS8v IGNoZWNrIHRoZSBwZXJtaXNzaW9ucyB3aXRoIFNlc3Npb24uY2hlY2tQZXJtaXNzaW9uIChGQUlM ISkNCgkJCXNlc3Npb24yLmNoZWNrUGVybWlzc2lvbihub2RlVXNlci5nZXRQYXRoKCksIFNlc3Np b24uQUNUSU9OX1JFQUQpOw0KCQkJc2Vzc2lvbjIuY2hlY2tQZXJtaXNzaW9uKG5vZGVVc2VyLmdl dFBhdGgoKSwNCgkJCQkJU2Vzc2lvbi5BQ1RJT05fU0VUX1BST1BFUlRZKTsNCg0KCQkJLy8gZmFp bHMgaGVyZSEhISENCgkJCXRyeSB7DQoJCQkJc2Vzc2lvbjIuY2hlY2tQZXJtaXNzaW9uKG5vZGVV c2VyLmdldFBhdGgoKSwNCgkJCQkJCVNlc3Npb24uQUNUSU9OX0FERF9OT0RFKTsNCgkJCQlmYWls KCInYWRkX25vZGUnIHBlcm1pc3Npb24gc2hvdWxkIGZhaWwuIik7DQoJCQl9IGNhdGNoIChBY2Nl c3NDb250cm9sRXhjZXB0aW9uIGFjZXgpIHsNCgkJCQlhY2V4LnByaW50U3RhY2tUcmFjZSgpOw0K CQkJfQ0KCQkJdHJ5IHsNCgkJCQlzZXNzaW9uMi5jaGVja1Blcm1pc3Npb24obm9kZVVzZXIuZ2V0 UGF0aCgpLA0KCQkJCQkJU2Vzc2lvbi5BQ1RJT05fUkVNT1ZFKTsNCgkJCQlmYWlsKCIncmVtb3Zl JyBwZXJtaXNzaW9uIHNob3VsZCBmYWlsLiIpOw0KCQkJfSBjYXRjaCAoQWNjZXNzQ29udHJvbEV4 Y2VwdGlvbiBhY2V4KSB7DQoJCQkJYWNleC5wcmludFN0YWNrVHJhY2UoKTsNCgkJCX0NCgkJfSBm aW5hbGx5IHsNCgkJCWlmIChzZXNzaW9uICE9IG51bGwpIHsNCgkJCQlzZXNzaW9uLmxvZ291dCgp Ow0KCQkJfQ0KCQkJaWYgKHNlc3Npb24yICE9IG51bGwpIHsNCgkJCQlzZXNzaW9uMi5sb2dvdXQo KTsNCgkJCX0NCgkJfQ0KDQoJfQ0KDQoJcHJpdmF0ZSBVc2VyIGNyZWF0ZVVzZXIoU2Vzc2lvbiBz ZXNzaW9uLCBTdHJpbmcgdXNlcklkLCBTdHJpbmcgcGFzc3dvcmQpDQoJCQl0aHJvd3MgUmVwb3Np dG9yeUV4Y2VwdGlvbiB7DQoJCVVzZXJNYW5hZ2VyIHVtID0gKChKYWNrcmFiYml0U2Vzc2lvbikg c2Vzc2lvbikuZ2V0VXNlck1hbmFnZXIoKTsNCgkJQXV0aG9yaXphYmxlIGF1dGggPSB1bS5nZXRB dXRob3JpemFibGUodXNlcklkKTsNCgkJaWYgKGF1dGggIT0gbnVsbCkgew0KCQkJcmV0dXJuIChV c2VyKSBhdXRoOw0KCQl9IGVsc2Ugew0KCQkJVXNlciBuZXdVc2VyID0gdW0uY3JlYXRlVXNlcih1 c2VySWQsIHBhc3N3b3JkKTsNCgkJCXJldHVybiBuZXdVc2VyOw0KCQl9DQoJfQ0KDQoJcHJpdmF0 ZSB2b2lkIHNldEZ1bGxBY2Nlc3MoU2Vzc2lvbiBzZXNzaW9uLCBOb2RlIG5vZGUsIFVzZXIgdXNl cikNCgkJCXRocm93cyBSZXBvc2l0b3J5RXhjZXB0aW9uIHsNCgkJQWNjZXNzQ29udHJvbE1hbmFn ZXIgYWNtID0gc2Vzc2lvbi5nZXRBY2Nlc3NDb250cm9sTWFuYWdlcigpOw0KCQlBY2Nlc3NDb250 cm9sUG9saWN5SXRlcmF0b3IgaXQgPQ0KCQkJCWFjbS5nZXRBcHBsaWNhYmxlUG9saWNpZXMobm9k ZS5nZXRQYXRoKCkpOw0KCQl3aGlsZSAoaXQuaGFzTmV4dCgpKSB7DQoJCQlBY2Nlc3NDb250cm9s UG9saWN5IGFjcCA9IGl0Lm5leHRBY2Nlc3NDb250cm9sUG9saWN5KCk7DQoJCQlQcml2aWxlZ2Vb XSBwcml2aWxlZ2VzID0NCgkJCQkJYWNtLnByaXZpbGVnZUZyb21OYW1lKFByaXZpbGVnZS5KQ1Jf QUxMKQ0KCQkJCQkJCS5nZXRBZ2dyZWdhdGVQcml2aWxlZ2VzKCk7DQoJCQlib29sZWFuIG9rID0N CgkJCQkJKChBY2Nlc3NDb250cm9sTGlzdCkgYWNwKS5hZGRBY2Nlc3NDb250cm9sRW50cnkodXNl cg0KCQkJCQkJCS5nZXRQcmluY2lwYWwoKSwgcHJpdmlsZWdlcyk7DQoJCQlpZiAoIW9rKSB7DQoJ CQkJdGhyb3cgbmV3IFJlcG9zaXRvcnlFeGNlcHRpb24oDQoJCQkJCQkiQ2Fubm90IHNldCBBQ0wg KEpDUl9BTEwpIHRvIG5vZGUgPCIgKyBub2RlLmdldFBhdGgoKQ0KCQkJCQkJCQkrICI+LiIpOw0K CQkJfQ0KCQkJYWNtLnNldFBvbGljeShub2RlLmdldFBhdGgoKSwgYWNwKTsNCgkJfQ0KCQlzZXNz aW9uLnNhdmUoKTsNCgl9DQoNCglwcml2YXRlIFVzZXIgZ2V0VXNlcihTZXNzaW9uIHNlc3Npb24p IHRocm93cyBSZXBvc2l0b3J5RXhjZXB0aW9uIHsNCgkJU3RyaW5nIHVzZXJJZCA9IHNlc3Npb24u Z2V0VXNlcklEKCk7DQoJCVVzZXJNYW5hZ2VyIHVtID0gZ2V0VXNlck1hbmFnZXIoc2Vzc2lvbik7 DQoJCUF1dGhvcml6YWJsZSBhdXRoID0gdW0uZ2V0QXV0aG9yaXphYmxlKHVzZXJJZCk7DQoJCWlm IChhdXRoIGluc3RhbmNlb2YgVXNlcikgew0KCQkJcmV0dXJuIChVc2VyKSB1bS5nZXRBdXRob3Jp emFibGUodXNlcklkKTsNCgkJfSBlbHNlIHsNCgkJCXRocm93IG5ldyBSZXBvc2l0b3J5RXhjZXB0 aW9uKCJUaGUgdXNlcmlkIDwiICsgdXNlcklkDQoJCQkJCSsgIj4gaXMgbm8gdmFsaWQgcmVwb3Np dG9yeSB1c2VyLiIpOw0KCQl9DQoJfQ0KDQoJcHJpdmF0ZSBVc2VyTWFuYWdlciBnZXRVc2VyTWFu YWdlcihTZXNzaW9uIHNlc3Npb24pDQoJCQl0aHJvd3MgUmVwb3NpdG9yeUV4Y2VwdGlvbiB7DQoJ CWlmIChzZXNzaW9uIGluc3RhbmNlb2YgSmFja3JhYmJpdFNlc3Npb24pIHsNCgkJCXJldHVybiAo KEphY2tyYWJiaXRTZXNzaW9uKSBzZXNzaW9uKS5nZXRVc2VyTWFuYWdlcigpOw0KCQl9IGVsc2Ug ew0KCQkJdGhyb3cgbmV3IFJlcG9zaXRvcnlFeGNlcHRpb24oDQoJCQkJCSJUaGlzIEpDUiBpbXBs ZW1lbnRhdGlvbiBkb2VzIG5vdCBoYXZlIGEgVXNlck1hbmFnZXIuIik7DQoJCX0NCgl9DQoNCglw cml2YXRlIEFjY2Vzc0NvbnRyb2xMaXN0IGdldExpc3QoQWNjZXNzQ29udHJvbE1hbmFnZXIgYWNN Z3IsDQoJCQlTdHJpbmcgcGF0aCkgdGhyb3dzIEFjY2Vzc0RlbmllZEV4Y2VwdGlvbiwgUmVwb3Np dG9yeUV4Y2VwdGlvbiB7DQoJCWZvciAoQWNjZXNzQ29udHJvbFBvbGljeUl0ZXJhdG9yIGl0ID0g YWNNZ3IuZ2V0QXBwbGljYWJsZVBvbGljaWVzKHBhdGgpOyBpdA0KCQkJCS5oYXNOZXh0KCk7KSB7 DQoJCQlBY2Nlc3NDb250cm9sUG9saWN5IGFjcCA9IGl0Lm5leHRBY2Nlc3NDb250cm9sUG9saWN5 KCk7DQoJCQlpZiAoYWNwIGluc3RhbmNlb2YgQWNjZXNzQ29udHJvbExpc3QpIHsNCgkJCQlyZXR1 cm4gKEFjY2Vzc0NvbnRyb2xMaXN0KSBhY3A7DQoJCQl9DQoJCX0NCgkJQWNjZXNzQ29udHJvbFBv bGljeVtdIGFjcHMgPSBhY01nci5nZXRQb2xpY2llcyhwYXRoKTsNCgkJZm9yIChpbnQgaSA9IDA7 IGkgPCBhY3BzLmxlbmd0aDsgaSsrKSB7DQoJCQlpZiAoYWNwc1tpXSBpbnN0YW5jZW9mIEFjY2Vz c0NvbnRyb2xMaXN0KSB7DQoJCQkJcmV0dXJuIChBY2Nlc3NDb250cm9sTGlzdCkgYWNwc1tpXTsN CgkJCX0NCgkJfQ0KCQl0aHJvdyBuZXcgUmVwb3NpdG9yeUV4Y2VwdGlvbigiTm8gQWNjZXNzQ29u dHJvbExpc3QgYXQgIiArIHBhdGgpOw0KCX0NCg0KfQ0K --_005_B0935AD5B821BB4EB2E7D7ACC5C3633E0AD379A96ESHQMX6pmbelzd_ Content-Type: text/xml; name="repository_fs.xml" Content-Description: repository_fs.xml Content-Disposition: attachment; filename="repository_fs.xml"; size=7140; creation-date="Tue, 02 Nov 2010 15:21:50 GMT"; modification-date="Tue, 26 Oct 2010 13:45:49 GMT" Content-Transfer-Encoding: base64 PD94bWwgdmVyc2lvbj0iMS4wIj8+CjwhLS0gCiAgIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29m dHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQogICBjb250cmlidXRvciBs aWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgK ICAgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmln aHQgb3duZXJzaGlwLgogICBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIg dGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAogICAodGhlICJMaWNlbnNlIik7IHlvdSBt YXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAogICB0aGUgTGlj ZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAoKICAgICAgIGh0 dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAoKICAgVW5sZXNzIHJlcXVp cmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQog ICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMg SVMiIEJBU0lTLAogICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lO RCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUg c3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAogICBsaW1pdGF0aW9u cyB1bmRlciB0aGUgTGljZW5zZS4KLS0+CjwhRE9DVFlQRSBSZXBvc2l0b3J5IFBVQkxJQyAiLS8v VGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLy9EVEQgSmFja3JhYmJpdCAxLjYvL0VOIgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgImh0dHA6Ly9qYWNrcmFiYml0LmFwYWNoZS5vcmcv ZHRkL3JlcG9zaXRvcnktMS41LmR0ZCI+CjwhLS0gRXhhbXBsZSBSZXBvc2l0b3J5IENvbmZpZ3Vy YXRpb24gRmlsZQogICAgIFVzZWQgYnkKICAgICAtIG9yZy5hcGFjaGUuamFja3JhYmJpdC5jb3Jl LmNvbmZpZy5SZXBvc2l0b3J5Q29uZmlnVGVzdC5qYXZhCiAgICAgLQotLT4KPFJlcG9zaXRvcnk+ CiAgICA8IS0tCiAgICAgICAgdmlydHVhbCBmaWxlIHN5c3RlbSB3aGVyZSB0aGUgcmVwb3NpdG9y eSBzdG9yZXMgZ2xvYmFsIHN0YXRlCiAgICAgICAgKGUuZy4gcmVnaXN0ZXJlZCBuYW1lc3BhY2Vz LCBjdXN0b20gbm9kZSB0eXBlcywgZXRjLikKICAgICAgICBodHRwOi8vamFja3JhYmJpdC5hcGFj aGUub3JnL2phY2tyYWJiaXQtY29uZmlndXJhdGlvbi5odG1sI0phY2tyYWJiaXRDb25maWd1cmF0 aW9uLUZpbGVzeXN0ZW1jb25maWd1cmF0aW9uCiAgICAtLT4KICAgIDxGaWxlU3lzdGVtIGNsYXNz PSJvcmcuYXBhY2hlLmphY2tyYWJiaXQuY29yZS5mcy5sb2NhbC5Mb2NhbEZpbGVTeXN0ZW0iPgog ICAgICAgIDxwYXJhbSBuYW1lPSJwYXRoIiB2YWx1ZT0iJHtyZXAuaG9tZX0vcmVwb19mcyIvPgog ICAgPC9GaWxlU3lzdGVtPgoKICAgIDwhLS0KICAgICAgICBkYXRhIHN0b3JlIGNvbmZpZ3VyYXRp b24KICAgICAgICBodHRwOi8vd2lraS5hcGFjaGUub3JnL2phY2tyYWJiaXQvRGF0YVN0b3JlCiAg ICAtLT4KICAgIDxEYXRhU3RvcmUgY2xhc3M9Im9yZy5hcGFjaGUuamFja3JhYmJpdC5jb3JlLmRh dGEuRmlsZURhdGFTdG9yZSI+CiAgICAJPHBhcmFtIG5hbWU9InBhdGgiIHZhbHVlPSIke3JlcC5o b21lfS9kYXRhc3RvcmUiLz4KICAgIAk8cGFyYW0gbmFtZT0ibWluUmVjb3JkTGVuZ3RoIiB2YWx1 ZT0iMSIvPgogICAgPC9EYXRhU3RvcmU+CgogICAgPCEtLQogICAgICAgIHNlY3VyaXR5IGNvbmZp Z3VyYXRpb24KICAgIC0tPgogICAgPFNlY3VyaXR5IGFwcE5hbWU9IkphY2tyYWJiaXQiPgogICAg ICAgIDwhLS0KICAgICAgICAgICAgc2VjdXJpdHkgbWFuYWdlcjoKICAgICAgICAgICAgY2xhc3M6 IEZRTiBvZiBjbGFzcyBpbXBsZW1lbnRpbmcgdGhlIEphY2tyYWJiaXRTZWN1cml0eU1hbmFnZXIg aW50ZXJmYWNlCiAgICAgICAgLS0+CiAgICAgICAgPFNlY3VyaXR5TWFuYWdlciBjbGFzcz0ib3Jn LmFwYWNoZS5qYWNrcmFiYml0LmNvcmUuRGVmYXVsdFNlY3VyaXR5TWFuYWdlciIgd29ya3NwYWNl TmFtZT0ic2VjdXJpdHkiPgogICAgICAgICAgICA8IS0tCiAgICAgICAgICAgIHdvcmtzcGFjZSBh Y2Nlc3M6CiAgICAgICAgICAgIGNsYXNzOiBGUU4gb2YgY2xhc3MgaW1wbGVtZW50aW5nIHRoZSBX b3Jrc3BhY2VBY2Nlc3NNYW5hZ2VyIGludGVyZmFjZQogICAgICAgICAgICAtLT4KICAgICAgICAg ICAgPCEtLSA8V29ya3NwYWNlQWNjZXNzTWFuYWdlciBjbGFzcz0iLi4uIi8+IC0tPgogICAgICAg ICAgICA8IS0tIDxwYXJhbSBuYW1lPSJjb25maWciIHZhbHVlPSIke3JlcC5ob21lfS9zZWN1cml0 eS54bWwiLz4gLS0+CiAgICAgICAgPC9TZWN1cml0eU1hbmFnZXI+CgogICAgICAgIDwhLS0KICAg ICAgICAgICAgYWNjZXNzIG1hbmFnZXI6CiAgICAgICAgICAgIGNsYXNzOiBGUU4gb2YgY2xhc3Mg aW1wbGVtZW50aW5nIHRoZSBBY2Nlc3NNYW5hZ2VyIGludGVyZmFjZQogICAgICAgIC0tPgogICAg ICAgIDxBY2Nlc3NNYW5hZ2VyIGNsYXNzPSJvcmcuYXBhY2hlLmphY2tyYWJiaXQuY29yZS5zZWN1 cml0eS5EZWZhdWx0QWNjZXNzTWFuYWdlciI+CiAgICAgICAgICAgIDwhLS0gPHBhcmFtIG5hbWU9 ImNvbmZpZyIgdmFsdWU9IiR7cmVwLmhvbWV9L2FjY2Vzcy54bWwiLz4gLS0+CiAgICAgICAgPC9B Y2Nlc3NNYW5hZ2VyPgoKICAgICAgICA8TG9naW5Nb2R1bGUgY2xhc3M9Im9yZy5hcGFjaGUuamFj a3JhYmJpdC5jb3JlLnNlY3VyaXR5LmF1dGhlbnRpY2F0aW9uLkRlZmF1bHRMb2dpbk1vZHVsZSI+ CiAgICAgICAgICAgPCEtLSAKICAgICAgICAgICAgICBhbm9ueW1vdXMgdXNlciBuYW1lICgnYW5v bnltb3VzJyBpcyB0aGUgZGVmYXVsdCB2YWx1ZSkKICAgICAgICAgICA8cGFyYW0gbmFtZT0iYW5v bnltb3VzSWQiIHZhbHVlPSJhbm9ueW1vdXMiLz4KICAgICAgICAgICAgLS0+CiAgICAgICAgICAg PCEtLQogICAgICAgICAgICAgIGFkbWluaXN0cmF0b3IgdXNlciBpZCAoZGVmYXVsdCB2YWx1ZSBp ZiBwYXJhbSBpcyBtaXNzaW5nIGlzICdhZG1pbicpCiAgICAgICAgICAgIC0tPgogICAgICAgICAg IDxwYXJhbSBuYW1lPSJhZG1pbklkIiB2YWx1ZT0iYWRtaW4iLz4KICAgICAgICA8L0xvZ2luTW9k dWxlPgogICAgPC9TZWN1cml0eT4KCiAgICA8IS0tCiAgICAgICAgbG9jYXRpb24gb2Ygd29ya3Nw YWNlcyByb290IGRpcmVjdG9yeSBhbmQgbmFtZSBvZiBkZWZhdWx0IHdvcmtzcGFjZQogICAgLS0+ CiAgICA8V29ya3NwYWNlcyByb290UGF0aD0iJHtyZXAuaG9tZX0vd29ya3NwYWNlcyIgZGVmYXVs dFdvcmtzcGFjZT0iZGVmYXVsdCIvPgogICAgPCEtLQogICAgICAgIHdvcmtzcGFjZSBjb25maWd1 cmF0aW9uIHRlbXBsYXRlOgogICAgICAgIHVzZWQgdG8gY3JlYXRlIHRoZSBpbml0aWFsIHdvcmtz cGFjZSBpZiB0aGVyZSdzIG5vIHdvcmtzcGFjZSB5ZXQKICAgIC0tPgogICAgPFdvcmtzcGFjZSBu YW1lPSIke3dzcC5uYW1lfSI+CiAgICAgICAgPCEtLQogICAgICAgICAgICB2aXJ0dWFsIGZpbGUg c3lzdGVtIG9mIHRoZSB3b3Jrc3BhY2U6CiAgICAgICAgICAgIGNsYXNzOiBGUU4gb2YgY2xhc3Mg aW1wbGVtZW50aW5nIHRoZSBGaWxlU3lzdGVtIGludGVyZmFjZQogICAgICAgIC0tPgogICAgICAg IDwhLS0KICAgICAgICA8RmlsZVN5c3RlbSBjbGFzcz0ib3JnLmFwYWNoZS5qYWNrcmFiYml0LmNv cmUuZnMubG9jYWwuTG9jYWxGaWxlU3lzdGVtIj4KICAgICAgICAgICAgPHBhcmFtIG5hbWU9InBh dGgiIHZhbHVlPSIke3dzcC5ob21lfSIvPgogICAgICAgIDwvRmlsZVN5c3RlbT4KICAgICAgICAt LT4KCSAgICA8RmlsZVN5c3RlbSBjbGFzcz0ib3JnLmFwYWNoZS5qYWNrcmFiYml0LmNvcmUuZnMu bG9jYWwuTG9jYWxGaWxlU3lzdGVtIj4KCSAgICAJPHBhcmFtIG5hbWU9InBhdGgiIHZhbHVlPSIk e3JlcC5ob21lfS93b3Jrc3BhY2VzLyR7d3NwLm5hbWV9Ii8+CiAJICAgIDwvRmlsZVN5c3RlbT4K ICAgICAgICA8IS0tCiAgICAgICAgICAgIHBlcnNpc3RlbmNlIG1hbmFnZXIgb2YgdGhlIHdvcmtz cGFjZToKICAgICAgICAgICAgY2xhc3M6IEZRTiBvZiBjbGFzcyBpbXBsZW1lbnRpbmcgdGhlIFBl cnNpc3RlbmNlTWFuYWdlciBpbnRlcmZhY2UKICAgICAgICAtLT4KICAgICAgICA8UGVyc2lzdGVu Y2VNYW5hZ2VyIGNsYXNzPSJvcmcuYXBhY2hlLmphY2tyYWJiaXQuY29yZS5wZXJzaXN0ZW5jZS5i dW5kbGUuQnVuZGxlRnNQZXJzaXN0ZW5jZU1hbmFnZXIiPgogICAgCQk8cGFyYW0gbmFtZT0iYmxv YkZTQmxvY2tTaXplIiB2YWx1ZT0iMCIvPgogICAgCQk8cGFyYW0gbmFtZT0ibWluQmxvYlNpemUi IHZhbHVlPSI0MDk2Ii8+CiAgICAJCTxwYXJhbSBuYW1lPSJlcnJvckhhbmRsaW5nIiB2YWx1ZT0i Ii8+CiAgICAgICAgPC9QZXJzaXN0ZW5jZU1hbmFnZXI+CiAgICAgICAgPCEtLQogICAgICAgICAg ICBTZWFyY2ggaW5kZXggYW5kIHRoZSBmaWxlIHN5c3RlbSBpdCB1c2VzLgogICAgICAgICAgICBj bGFzczogRlFOIG9mIGNsYXNzIGltcGxlbWVudGluZyB0aGUgUXVlcnlIYW5kbGVyIGludGVyZmFj ZQogICAgICAgIC0tPgogICAgICAgIDxTZWFyY2hJbmRleCBjbGFzcz0ib3JnLmFwYWNoZS5qYWNr cmFiYml0LmNvcmUucXVlcnkubHVjZW5lLlNlYXJjaEluZGV4Ij4KICAgICAgICAgICAgPHBhcmFt IG5hbWU9InBhdGgiIHZhbHVlPSIke3dzcC5ob21lfS9pbmRleCIvPgogICAgICAgICAgICA8cGFy YW0gbmFtZT0ic3VwcG9ydEhpZ2hsaWdodGluZyIgdmFsdWU9InRydWUiLz4KICAgICAgICA8L1Nl YXJjaEluZGV4PgogICAgPC9Xb3Jrc3BhY2U+CgogICAgPCEtLQogICAgICAgIENvbmZpZ3VyZXMg dGhlIHZlcnNpb25pbmcKICAgIC0tPgogICAgPFZlcnNpb25pbmcgcm9vdFBhdGg9IiR7cmVwLmhv bWV9L3ZlcnNpb24iPgogICAgICAgIDwhLS0KICAgICAgICAgICAgQ29uZmlndXJlcyB0aGUgZmls ZXN5c3RlbSB0byB1c2UgZm9yIHZlcnNpb25pbmcgZm9yIHRoZSByZXNwZWN0aXZlCiAgICAgICAg ICAgIHBlcnNpc3RlbmNlIG1hbmFnZXIKICAgICAgICAtLT4KICAgICAgICA8IS0tCiAgICAgICAg PEZpbGVTeXN0ZW0gY2xhc3M9Im9yZy5hcGFjaGUuamFja3JhYmJpdC5jb3JlLmZzLmxvY2FsLkxv Y2FsRmlsZVN5c3RlbSI+CiAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJwYXRoIiB2YWx1ZT0iJHty ZXAuaG9tZX0vdmVyc2lvbiIgLz4KICAgICAgICA8L0ZpbGVTeXN0ZW0+CiAgCQktLT4KCSAgICA8 RmlsZVN5c3RlbSBjbGFzcz0ib3JnLmFwYWNoZS5qYWNrcmFiYml0LmNvcmUuZnMubG9jYWwuTG9j YWxGaWxlU3lzdGVtIj4KCSAgICAJPHBhcmFtIG5hbWU9InBhdGgiIHZhbHVlPSIke3JlcC5ob21l fS92ZXJzaW9uIi8+CiAJICAgIDwvRmlsZVN5c3RlbT4KICAgICAgICA8IS0tCiAgICAgICAgICAg IENvbmZpZ3VyZXMgdGhlIHBlcnNpc3RlbmNlIG1hbmFnZXIgdG8gYmUgdXNlZCBmb3IgcGVyc2lz dGluZyB2ZXJzaW9uIHN0YXRlLgogICAgICAgICAgICBQbGVhc2Ugbm90ZSB0aGF0IHRoZSBjdXJy ZW50IHZlcnNpb25pbmcgaW1wbGVtZW50YXRpb24gaXMgYmFzZWQgb24KICAgICAgICAgICAgYSAn bm9ybWFsJyBwZXJzaXN0ZW5jZSBtYW5hZ2VyLCBidXQgdGhpcyBjb3VsZCBjaGFuZ2UgaW4gZnV0 dXJlCiAgICAgICAgICAgIGltcGxlbWVudGF0aW9ucy4KICAgICAgICAtLT4KICAgICAgICA8UGVy c2lzdGVuY2VNYW5hZ2VyIGNsYXNzPSJvcmcuYXBhY2hlLmphY2tyYWJiaXQuY29yZS5wZXJzaXN0 ZW5jZS5idW5kbGUuQnVuZGxlRnNQZXJzaXN0ZW5jZU1hbmFnZXIiPgogICAgCQk8cGFyYW0gbmFt ZT0iYmxvYkZTQmxvY2tTaXplIiB2YWx1ZT0iMCIvPgogICAgCQk8cGFyYW0gbmFtZT0ibWluQmxv YlNpemUiIHZhbHVlPSI0MDk2Ii8+CiAgICAJCTxwYXJhbSBuYW1lPSJlcnJvckhhbmRsaW5nIiB2 YWx1ZT0iIi8+CiAgICAgICAgPC9QZXJzaXN0ZW5jZU1hbmFnZXI+CiAgICA8L1ZlcnNpb25pbmc+ CgogICAgPCEtLQogICAgICAgIFNlYXJjaCBpbmRleCBmb3IgY29udGVudCB0aGF0IGlzIHNoYXJl ZCByZXBvc2l0b3J5IHdpZGUKICAgICAgICAoL2pjcjpzeXN0ZW0gdHJlZSwgY29udGFpbnMgbWFp bmx5IHZlcnNpb25zKQogICAgLS0+CiAgICA8U2VhcmNoSW5kZXggY2xhc3M9Im9yZy5hcGFjaGUu amFja3JhYmJpdC5jb3JlLnF1ZXJ5Lmx1Y2VuZS5TZWFyY2hJbmRleCI+CjwhLS0gICAgICAgIDxw YXJhbSBuYW1lPSJwYXRoIiB2YWx1ZT0iJHtyZXAuaG9tZX0vcmVwb3NpdG9yeS9pbmRleCIvPiAt LT4KCQk8cGFyYW0gbmFtZT0icGF0aCIgdmFsdWU9IiR7cmVwLmhvbWV9L2luZGV4Ii8+CiAgICAg ICAgPHBhcmFtIG5hbWU9InN1cHBvcnRIaWdobGlnaHRpbmciIHZhbHVlPSJ0cnVlIi8+CiAgICAg ICAgPCEtLSAKICAgICAgICA8cGFyYW0gbmFtZT0idGV4dEZpbHRlckNsYXNzZXMiIHZhbHVlPSIK ICAgICAgICAgICAgICAgIG9yZy5hcGFjaGUuamFja3JhYmJpdC5jb3JlLnF1ZXJ5Lk1zRXhjZWxU ZXh0RmlsdGVyLAogICAgICAgICAgICAgICAgb3JnLmFwYWNoZS5qYWNrcmFiYml0LmNvcmUucXVl cnkuTXNQb3dlclBvaW50VGV4dEZpbHRlciwKICAgICAgICAgICAgICAgIG9yZy5hcGFjaGUuamFj a3JhYmJpdC5jb3JlLnF1ZXJ5Lk1zV29yZFRleHRGaWx0ZXIsCiAgICAgICAgICAgICAgICBvcmcu YXBhY2hlLmphY2tyYWJiaXQuY29yZS5xdWVyeS5QZGZUZXh0RmlsdGVyLAogICAgICAgICAgICAg ICAgb3JnLmFwYWNoZS5qYWNrcmFiYml0LmNvcmUucXVlcnkuSFRNTFRleHRGaWx0ZXIsCiAgICAg ICAgICAgICAgICBvcmcuYXBhY2hlLmphY2tyYWJiaXQuY29yZS5xdWVyeS5YTUxUZXh0RmlsdGVy LAogICAgICAgICAgICAgICAgb3JnLmFwYWNoZS5qYWNrcmFiYml0LmNvcmUucXVlcnkuUlRGVGV4 dEZpbHRlciwKICAgICAgICAgICAgICAgIG9yZy5hcGFjaGUuamFja3JhYmJpdC5jb3JlLnF1ZXJ5 Lk9wZW5PZmZpY2VUZXh0RmlsdGVyIiAvPgogICAgICAgICAtLT4KICAgIDwvU2VhcmNoSW5kZXg+ CjwvUmVwb3NpdG9yeT4K --_005_B0935AD5B821BB4EB2E7D7ACC5C3633E0AD379A96ESHQMX6pmbelzd_--