Re: cache-control

Usha Ladkani <[email protected]> Sun, 14 Aug 2016 01:36:05 +0530
Newsgroups gmane.comp.jakarta.jetspeed.user
Message-ID <CAPa2pYvv7xO2HxsQbNq1e0Xbd+eFOyG1ZzBqNMSC9jx7PT4rKg@mail.gmail.com>
--001a113fef869010c00539f9876a
Content-Type: multipart/alternative; boundary=001a113fef869010ba0539f98768

--001a113fef869010ba0539f98768
Content-Type: text/plain; charset=UTF-8

can you please have a look into my extended classes.

--001a113fef869010ba0539f98768
Content-Type: text/html; charset=UTF-8

<div dir="ltr">can you please have a look into my extended classes.<br><br></div>

--001a113fef869010ba0539f98768--
--001a113fef869010c00539f9876a
Content-Type: text/x-java; charset=US-ASCII; name="MyJetspeedJspPage.java"
Content-Disposition: attachment; filename="MyJetspeedJspPage.java"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_irtm0wwz0

LyoNCiAqDQogKiBJQk0gYW5kIFN0ZXJsaW5nIENvbW1lcmNlIENvbmZpZGVudGlhbCANCiAqDQog
KiBPQ08gU291cmNlIE1hdGVyaWFscyANCiAqDQogKiBJQk0gQjJCIFN0ZXJsaW5nIEludGVncmF0
b3IgDQogKg0KICogKGMpIENvcHlyaWdodCBTdGVybGluZyBDb21tZXJjZSwgYW4gSUJNIENvbXBh
bnkgMjAwMSwgMjAxMQ0KICoNCiAqIFRoZSBzb3VyY2UgY29kZSBmb3IgdGhpcyBwcm9ncmFtIGlz
IG5vdCBwdWJsaXNoZWQgb3Igb3RoZXJ3aXNlDQogKiBkaXZlc3RlZCBvZiBpdHMgdHJhZGUgc2Vj
cmV0cywgaXJyZXNwZWN0aXZlIG9mIHdoYXQgaGFzIGJlZW4NCiAqIGRlcG9zaXRlZCB3aXRoIHRo
ZSBVLlMuIENvcHlyaWdodCBPZmZpY2UuIA0KICoNCiAqLw0KDQoNCi8qID09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQog
KiBUaGUgQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4xDQogKg0KICogQ29weXJp
Z2h0IChjKSAyMDAwLTIwMDEgVGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLiAgQWxsIHJp
Z2h0cw0KICogcmVzZXJ2ZWQuDQogKg0KICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0DQogKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMNCiAqIGFy
ZSBtZXQ6DQogKg0KICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQNCiAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4NCiAqDQogKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodA0K
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluDQogKiAgICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlDQogKiAgICBkaXN0cmlidXRpb24uDQogKg0KICogMy4gVGhl
IGVuZC11c2VyIGRvY3VtZW50YXRpb24gaW5jbHVkZWQgd2l0aCB0aGUgcmVkaXN0cmlidXRpb24s
DQogKiAgICBpZiBhbnksIG11c3QgaW5jbHVkZSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdtZW50
Og0KICogICAgICAgIlRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkg
dGhlDQogKiAgICAgICAgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKGh0dHA6Ly93d3cuYXBh
Y2hlLm9yZy8pLiINCiAqICAgIEFsdGVybmF0ZWx5LCB0aGlzIGFja25vd2xlZGdtZW50IG1heSBh
cHBlYXIgaW4gdGhlIHNvZnR3YXJlIGl0c2VsZiwNCiAqICAgIGlmIGFuZCB3aGVyZXZlciBzdWNo
IHRoaXJkLXBhcnR5IGFja25vd2xlZGdtZW50cyBub3JtYWxseSBhcHBlYXIuDQogKg0KICogNC4g
VGhlIG5hbWVzICJBcGFjaGUiIGFuZCAiQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24iIGFuZA0K
ICogICAgICJBcGFjaGUgSmV0c3BlZWQiIG11c3Qgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzDQogKiAgICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4gRm9yDQogKiAgICB3cml0dGVuIHBlcm1pc3Npb24s
IHBsZWFzZSBjb250YWN0IGFwYWNoZUBhcGFjaGUub3JnLg0KICoNCiAqIDUuIFByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIG1heSBub3QgYmUgY2FsbGVkICJBcGFjaGUiIG9yDQog
KiAgICAiQXBhY2hlIEpldHNwZWVkIiwgbm9yIG1heSAiQXBhY2hlIiBhcHBlYXIgaW4gdGhlaXIg
bmFtZSwgd2l0aG91dA0KICogICAgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uIG9mIHRoZSBBcGFj
aGUgU29mdHdhcmUgRm91bmRhdGlvbi4NCiAqDQogKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1NFRCBPUiBJTVBMSUVEDQogKiBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUw0KICog
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUNCiAqIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVBBQ0hFIFNPRlRXQVJF
IEZPVU5EQVRJT04gT1INCiAqIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwNCiAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCiAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YNCiAqIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQNCiAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLA0KICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUDQogKiBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YNCiAqIFNV
Q0ggREFNQUdFLg0KICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiAqDQogKiBUaGlzIHNvZnR3YXJlIGNvbnNpc3Rz
IG9mIHZvbHVudGFyeSBjb250cmlidXRpb25zIG1hZGUgYnkgbWFueQ0KICogaW5kaXZpZHVhbHMg
b24gYmVoYWxmIG9mIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbi4gIEZvciBtb3JlDQog
KiBpbmZvcm1hdGlvbiBvbiB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24sIHBsZWFzZSBz
ZWUNCiAqIDxodHRwOi8vd3d3LmFwYWNoZS5vcmcvPi4NCiAqLw0KDQpwYWNrYWdlIGNvbS5zdGVy
bGluZ2NvbW1lcmNlLm5lby51aS5kYXNoYm9hcmQuamV0c3BlZWQ7DQoNCi8vSmV0c3BlZWQgY2xh
c3Nlcw0KaW1wb3J0IG9yZy5hcGFjaGUuamV0c3BlZWQudXRpbC50ZW1wbGF0ZS5KZXRzcGVlZFRl
bXBsYXRlTmF2aWdhdGlvbjsNCg0KLy8gVHVyYmluZSBVdGlsaXR5IENsYXNzZXMNCmltcG9ydCBv
cmcuYXBhY2hlLnR1cmJpbmUudXRpbC5SdW5EYXRhOw0KaW1wb3J0IG9yZy5hcGFjaGUudHVyYmlu
ZS5zZXJ2aWNlcy5qc3AuSnNwU2VydmljZTsNCmltcG9ydCBvcmcuYXBhY2hlLnR1cmJpbmUuc2Vy
dmljZXMuVHVyYmluZVNlcnZpY2VzOw0KaW1wb3J0IG9yZy5hcGFjaGUudHVyYmluZS5zZXJ2aWNl
cy52ZWxvY2l0eS5WZWxvY2l0eVNlcnZpY2U7DQppbXBvcnQgb3JnLmFwYWNoZS50dXJiaW5lLnNl
cnZpY2VzLnZlbG9jaXR5LlR1cmJpbmVWZWxvY2l0eTsNCmltcG9ydCBvcmcuYXBhY2hlLnZlbG9j
aXR5LmNvbnRleHQuQ29udGV4dDsNCg0KaW1wb3J0IG9yZy5hcGFjaGUudHVyYmluZS5zZXJ2aWNl
cy52ZWxvY2l0eS5UdXJiaW5lVmVsb2NpdHk7DQppbXBvcnQgb3JnLmFwYWNoZS50dXJiaW5lLnNl
cnZpY2VzLnZlbG9jaXR5LlZlbG9jaXR5U2VydmljZTsNCmltcG9ydCBvcmcuYXBhY2hlLnZlbG9j
aXR5LmNvbnRleHQuQ29udGV4dDsNCmltcG9ydCBvcmcuYXBhY2hlLmpldHNwZWVkLm1vZHVsZXMu
cGFnZXMuSmV0c3BlZWRKc3BQYWdlOw0KaW1wb3J0IG9yZy5hcGFjaGUuamV0c3BlZWQubW9kdWxl
cy5wYWdlcy5KZXRzcGVlZFRlbXBsYXRlUGFnZTsNCmltcG9ydCBvcmcuYXBhY2hlLmpldHNwZWVk
Lm1vZHVsZXMucGFnZXMuSmV0c3BlZWRWZWxvY2l0eVBhZ2U7DQppbXBvcnQgb3JnLmFwYWNoZS5q
ZXRzcGVlZC51dGlsLnRlbXBsYXRlLkpldHNwZWVkVGVtcGxhdGVOYXZpZ2F0aW9uOw0KaW1wb3J0
IG9yZy5hcGFjaGUuamV0c3BlZWQuY2FwYWJpbGl0eS5DYXBhYmlsaXR5TWFwOw0KaW1wb3J0IG9y
Zy5hcGFjaGUuamV0c3BlZWQub20ucmVnaXN0cnkuTWVkaWFUeXBlRW50cnk7DQppbXBvcnQgb3Jn
LmFwYWNoZS5qZXRzcGVlZC5zZXJ2aWNlcy5SZWdpc3RyeTsNCmltcG9ydCBvcmcuYXBhY2hlLmpl
dHNwZWVkLnNlcnZpY2VzLlRlbXBsYXRlTG9jYXRvcjsNCmltcG9ydCBvcmcuYXBhY2hlLmpldHNw
ZWVkLnNlcnZpY2VzLmxvZ2dpbmcuSmV0c3BlZWRMb2dGYWN0b3J5U2VydmljZTsNCmltcG9ydCBv
cmcuYXBhY2hlLmpldHNwZWVkLnNlcnZpY2VzLmxvZ2dpbmcuSmV0c3BlZWRMb2dnZXI7DQppbXBv
cnQgb3JnLmFwYWNoZS5qZXRzcGVlZC5zZXJ2aWNlcy5yZXNvdXJjZXMuSmV0c3BlZWRSZXNvdXJj
ZXM7DQppbXBvcnQgb3JnLmFwYWNoZS5qZXRzcGVlZC5zZXJ2aWNlcy5ydW5kYXRhLkpldHNwZWVk
UnVuRGF0YTsNCmltcG9ydCBvcmcuYXBhY2hlLmpldHNwZWVkLnV0aWwuTWltZVR5cGU7DQppbXBv
cnQgb3JnLmFwYWNoZS50dXJiaW5lLm1vZHVsZXMucGFnZXMuRGVmYXVsdFBhZ2U7DQppbXBvcnQg
b3JnLmFwYWNoZS50dXJiaW5lLnNlcnZpY2VzLnRlbXBsYXRlLlR1cmJpbmVUZW1wbGF0ZTsNCmlt
cG9ydCBvcmcuYXBhY2hlLnR1cmJpbmUudXRpbC5SdW5EYXRhOw0KDQovKioNCiAqIFR1cmJpbmVB
Y2Nlc3NDb250cm9sbGVyDQogKg0KICogQGF1dGhvciA8YSBocmVmPSJwYXVsc3BAYXBhY2hlLm9y
ZyI+UGF1bCBTcGVuY2VyPC9hPg0KICovDQpwdWJsaWMgY2xhc3MgTXlKZXRzcGVlZEpzcFBhZ2Ug
ZXh0ZW5kcyBKZXRzcGVlZEpzcFBhZ2UgIHsNCgkgcHJpdmF0ZSBzdGF0aWMgaW50IGh0dHBMaWZl
dGltZSA9IEpldHNwZWVkUmVzb3VyY2VzLmdldEludCgNCgkJCSAgICAiaHR0cC5saWZldGltZSIs
LTEpOw0KCSAgICANCgkgICAgcHJvdGVjdGVkIHZvaWQgZG9CdWlsZEJlZm9yZUFjdGlvbihSdW5E
YXRhIGRhdGEpIHRocm93cyBFeGNlcHRpb24NCgkgICAgew0KCSAgICAgICAgc3dpdGNoIChodHRw
TGlmZXRpbWUpDQoJICAgICAgICB7DQoJICAgICAgICAgICAgY2FzZSAtMToNCgkgICAgICAgICAg
ICAgICAgYnJlYWs7DQoJICAgICAgICAgICAgY2FzZSAwOg0KCSAgICAgICAgICAgICAgICBkYXRh
LmdldFJlc3BvbnNlKCkuc2V0SGVhZGVyKCJDYWNoZS1Db250cm9sIiwgICJuby1jYWNoZSwgbm8t
c3RvcmUsIHByaXZhdGUsIG11c3QtcmV2YWxpZGF0ZSwgbWF4LWFnZT0wIik7DQoJICAgICAgICAg
ICAgICAgIGRhdGEuZ2V0UmVzcG9uc2UoKS5zZXRIZWFkZXIoIlByYWdtYSIsICJuby1jYWNoZSIp
Ow0KCSAgICAgICAgICAgICAgICBkYXRhLmdldFJlc3BvbnNlKCkuc2V0RGF0ZUhlYWRlcigiRXhw
aXJlcyIsIDApOw0KCSAgICAgICAgICAgICAgICBkYXRhLmdldFJlc3BvbnNlKCkuc2V0RGF0ZUhl
YWRlcigiTGFzdC1Nb2RpZmllZCIsIFN5c3RlbS5jdXJyZW50VGltZU1pbGxpcygpKTsNCgkgICAg
ICAgICAgICAgICAgYnJlYWs7DQoJICAgICAgICAgICAgZGVmYXVsdDoNCgkgICAgICAgICAgICAg
ICAgZGF0YS5nZXRSZXNwb25zZSgpLnNldEhlYWRlcigiQ2FjaGUtQ29udHJvbCIsICJtYXgtYWdl
PSIgKyBodHRwTGlmZXRpbWUpOw0KCSAgICAgICAgICAgICAgICBkYXRhLmdldFJlc3BvbnNlKCku
c2V0RGF0ZUhlYWRlcigiRXhwaXJlcyIsIFN5c3RlbS5jdXJyZW50VGltZU1pbGxpcygpICsgKGh0
dHBMaWZldGltZSAqIDEwMDApKTsNCgkgICAgICAgICAgICAgICAgZGF0YS5nZXRSZXNwb25zZSgp
LnNldERhdGVIZWFkZXIoIkxhc3QtTW9kaWZpZWQiLCBTeXN0ZW0uY3VycmVudFRpbWVNaWxsaXMo
KSk7DQoJICAgICAgICAgICAgICAgIGJyZWFrOw0KCSAgICAgICAgfQ0KDQoJICAgICAgICAvL1Nl
dCB0aGUgQ29udGVudFR5cGUgb2YgdGhlIHBhZ2UNCgkgICAgICAgIENhcGFiaWxpdHlNYXAgY20g
PSAoKEpldHNwZWVkUnVuRGF0YSlkYXRhKS5nZXRDYXBhYmlsaXR5KCk7DQoJICAgICAgICBNaW1l
VHlwZSBtaW1lID0gY20uZ2V0UHJlZmVycmVkVHlwZSgpOw0KCSAgICAgICAgU3RyaW5nIGNoYXJh
Y3RlclNldCA9IEpldHNwZWVkUmVzb3VyY2VzLmdldFN0cmluZyhKZXRzcGVlZFJlc291cmNlcy5D
T05URU5UX0VOQ09ESU5HX0tFWSwidXRmLTgiKTsNCgkgICAgICAgIGRhdGEuc2V0Q29udGVudFR5
cGUoIG1pbWUuZ2V0Q29udGVudFR5cGUoKSk7DQoJICAgICAgICBpZiAoIG1pbWUgIT0gbnVsbCAp
DQoJICAgICAgICB7DQoJICAgICAgICAgICAgTWVkaWFUeXBlRW50cnkgbWVkaWEgPSAoTWVkaWFU
eXBlRW50cnkpUmVnaXN0cnkuZ2V0RW50cnkoUmVnaXN0cnkuTUVESUFfVFlQRSwgbWltZS5nZXRD
b2RlKCkpOw0KCSAgICAgICAgICAgIGlmICggbWVkaWEgIT0gbnVsbCAmJiBtZWRpYS5nZXRDaGFy
YWN0ZXJTZXQoKSAhPSBudWxsKQ0KCSAgICAgICAgICAgIHsNCgkgICAgICAgICAgICAgICAgY2hh
cmFjdGVyU2V0ID0gbWVkaWEuZ2V0Q2hhcmFjdGVyU2V0KCk7DQoJICAgICAgICAgICAgfQ0KCSAg
ICAgICAgfQ0KCSAgICAgICAgZGF0YS5zZXRDaGFyU2V0KCBjaGFyYWN0ZXJTZXQgKTsNCg0KCSAg
IA0KDQoJICAgICAgIC8vIHN1cGVyLmRvQnVpbGRCZWZvcmVBY3Rpb24oIGRhdGEpOw0KCSAgICAg
ICAgSnNwU2VydmljZSBqc3AgPSAoSnNwU2VydmljZSlUdXJiaW5lU2VydmljZXMuZ2V0SW5zdGFu
Y2UoKQ0KCSAgICAgICAgICAgIC5nZXRTZXJ2aWNlKEpzcFNlcnZpY2UuU0VSVklDRV9OQU1FKTsN
CgkgICAgICAgICAgICAgICAgDQoJICAgICAgICBqc3AuYWRkRGVmYXVsdE9iamVjdHMoZGF0YSk7
DQoNCgkgICAgICAgIGRhdGEuZ2V0UmVzcG9uc2UoKS5zZXRCdWZmZXJTaXplKGpzcC5nZXREZWZh
dWx0QnVmZmVyU2l6ZSgpKTsNCg0KCSAgICAgICAgLy8gRklYTUU6IHRoaXMgdG9vbHMgYXJlIG5v
dyBpbiBUUi5wIGZpbGUsIGFzIHN0YW5kYXJkIHJlcXVlc3QgdG9vbHMgaW5zdGFudGlhdGVkIGJ5
IHR1cmJpbmUuDQoJICAgICAgICAvLyBBbGwgdG9vbHMgYnV0IGpuYXZpZ2F0aW9uIGFyZSB0aGVy
ZSwgam5hdmlnYXRpb24gbmVlZCB0byBiZSBpbnN0YW50aWF0ZWQgaGVyZQ0KCSAgICAgICAgLy8g
YmVjYXVzZSBUZW1wbGF0ZU5hdmlnYXRpb24gaW4gd2hpY2ggZGVwZW5kcyBkb2VzIGhhdmUgYSBu
byBhcmdzIGNvbnN0cnVjdG9yLi5hbmQNCgkgICAgICAgIC8vIHR1cmJpbmUgbmVlZCBvbmUgdG8g
YmUgYWJsZSB0byBpbnN0YW50aWF0ZSBzdWNoIGNsYXNzIGFzIHJlcXVlc3QgdG9vbA0KCSAgICAg
ICAgQ29udGV4dCBjb250ZXh0ID0gVHVyYmluZVZlbG9jaXR5LmdldENvbnRleHQoZGF0YSk7DQoJ
ICAgICAgICBUdXJiaW5lVmVsb2NpdHkuZ2V0Q29udGV4dChkYXRhKS5wdXQoImpuYXZpZ2F0aW9u
IiwgbmV3IEpldHNwZWVkVGVtcGxhdGVOYXZpZ2F0aW9uKGRhdGEpKTsNCgkgICAgICAgIGRhdGEu
Z2V0VGVtcGxhdGVJbmZvKCkuc2V0VGVtcGxhdGVDb250ZXh0KFZlbG9jaXR5U2VydmljZS5DT05U
RVhULCBjb250ZXh0KTsNCg0KCSAgICB9DQoNCn0NCg==
--001a113fef869010c00539f9876a
Content-Type: text/x-java; charset=US-ASCII; name="MyVelocityPage.java"
Content-Disposition: attachment; filename="MyVelocityPage.java"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_irtm0wxk1

LyoNCiAqDQogKiBJQk0gYW5kIFN0ZXJsaW5nIENvbW1lcmNlIENvbmZpZGVudGlhbCANCiAqDQog
KiBPQ08gU291cmNlIE1hdGVyaWFscyANCiAqDQogKiBJQk0gQjJCIFN0ZXJsaW5nIEludGVncmF0
b3IgDQogKg0KICogKGMpIENvcHlyaWdodCBTdGVybGluZyBDb21tZXJjZSwgYW4gSUJNIENvbXBh
bnkgMjAwMSwgMjAxMQ0KICoNCiAqIFRoZSBzb3VyY2UgY29kZSBmb3IgdGhpcyBwcm9ncmFtIGlz
IG5vdCBwdWJsaXNoZWQgb3Igb3RoZXJ3aXNlDQogKiBkaXZlc3RlZCBvZiBpdHMgdHJhZGUgc2Vj
cmV0cywgaXJyZXNwZWN0aXZlIG9mIHdoYXQgaGFzIGJlZW4NCiAqIGRlcG9zaXRlZCB3aXRoIHRo
ZSBVLlMuIENvcHlyaWdodCBPZmZpY2UuIA0KICoNCiAqLw0KDQoNCi8qID09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQog
KiBUaGUgQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4xDQogKg0KICogQ29weXJp
Z2h0IChjKSAyMDAwLTIwMDEgVGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLiAgQWxsIHJp
Z2h0cw0KICogcmVzZXJ2ZWQuDQogKg0KICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0DQogKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMNCiAqIGFy
ZSBtZXQ6DQogKg0KICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQNCiAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4NCiAqDQogKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodA0K
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluDQogKiAgICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlDQogKiAgICBkaXN0cmlidXRpb24uDQogKg0KICogMy4gVGhl
IGVuZC11c2VyIGRvY3VtZW50YXRpb24gaW5jbHVkZWQgd2l0aCB0aGUgcmVkaXN0cmlidXRpb24s
DQogKiAgICBpZiBhbnksIG11c3QgaW5jbHVkZSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdtZW50
Og0KICogICAgICAgIlRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkg
dGhlDQogKiAgICAgICAgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKGh0dHA6Ly93d3cuYXBh
Y2hlLm9yZy8pLiINCiAqICAgIEFsdGVybmF0ZWx5LCB0aGlzIGFja25vd2xlZGdtZW50IG1heSBh
cHBlYXIgaW4gdGhlIHNvZnR3YXJlIGl0c2VsZiwNCiAqICAgIGlmIGFuZCB3aGVyZXZlciBzdWNo
IHRoaXJkLXBhcnR5IGFja25vd2xlZGdtZW50cyBub3JtYWxseSBhcHBlYXIuDQogKg0KICogNC4g
VGhlIG5hbWVzICJBcGFjaGUiIGFuZCAiQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24iIGFuZA0K
ICogICAgICJBcGFjaGUgSmV0c3BlZWQiIG11c3Qgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzDQogKiAgICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4gRm9yDQogKiAgICB3cml0dGVuIHBlcm1pc3Npb24s
IHBsZWFzZSBjb250YWN0IGFwYWNoZUBhcGFjaGUub3JnLg0KICoNCiAqIDUuIFByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIG1heSBub3QgYmUgY2FsbGVkICJBcGFjaGUiIG9yDQog
KiAgICAiQXBhY2hlIEpldHNwZWVkIiwgbm9yIG1heSAiQXBhY2hlIiBhcHBlYXIgaW4gdGhlaXIg
bmFtZSwgd2l0aG91dA0KICogICAgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uIG9mIHRoZSBBcGFj
aGUgU29mdHdhcmUgRm91bmRhdGlvbi4NCiAqDQogKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1NFRCBPUiBJTVBMSUVEDQogKiBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUw0KICog
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUNCiAqIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVBBQ0hFIFNPRlRXQVJF
IEZPVU5EQVRJT04gT1INCiAqIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwNCiAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCiAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YNCiAqIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQNCiAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLA0KICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUDQogKiBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YNCiAqIFNV
Q0ggREFNQUdFLg0KICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiAqDQogKiBUaGlzIHNvZnR3YXJlIGNvbnNpc3Rz
IG9mIHZvbHVudGFyeSBjb250cmlidXRpb25zIG1hZGUgYnkgbWFueQ0KICogaW5kaXZpZHVhbHMg
b24gYmVoYWxmIG9mIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbi4gIEZvciBtb3JlDQog
KiBpbmZvcm1hdGlvbiBvbiB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24sIHBsZWFzZSBz
ZWUNCiAqIDxodHRwOi8vd3d3LmFwYWNoZS5vcmcvPi4NCiAqLw0KDQpwYWNrYWdlIGNvbS5zdGVy
bGluZ2NvbW1lcmNlLm5lby51aS5kYXNoYm9hcmQuamV0c3BlZWQ7DQoNCmltcG9ydCBvcmcuYXBh
Y2hlLnR1cmJpbmUudXRpbC5SdW5EYXRhOw0KaW1wb3J0IG9yZy5hcGFjaGUudHVyYmluZS5zZXJ2
aWNlcy52ZWxvY2l0eS5UdXJiaW5lVmVsb2NpdHk7DQppbXBvcnQgb3JnLmFwYWNoZS50dXJiaW5l
LnNlcnZpY2VzLnZlbG9jaXR5LlZlbG9jaXR5U2VydmljZTsNCmltcG9ydCBvcmcuYXBhY2hlLnZl
bG9jaXR5LmNvbnRleHQuQ29udGV4dDsNCmltcG9ydCBvcmcuYXBhY2hlLmpldHNwZWVkLm1vZHVs
ZXMucGFnZXMuSmV0c3BlZWRUZW1wbGF0ZVBhZ2U7DQppbXBvcnQgb3JnLmFwYWNoZS5qZXRzcGVl
ZC51dGlsLnRlbXBsYXRlLkpldHNwZWVkVGVtcGxhdGVOYXZpZ2F0aW9uOw0KaW1wb3J0IG9yZy5h
cGFjaGUuamV0c3BlZWQuY2FwYWJpbGl0eS5DYXBhYmlsaXR5TWFwOw0KaW1wb3J0IG9yZy5hcGFj
aGUuamV0c3BlZWQub20ucmVnaXN0cnkuTWVkaWFUeXBlRW50cnk7DQppbXBvcnQgb3JnLmFwYWNo
ZS5qZXRzcGVlZC5zZXJ2aWNlcy5SZWdpc3RyeTsNCmltcG9ydCBvcmcuYXBhY2hlLmpldHNwZWVk
LnNlcnZpY2VzLlRlbXBsYXRlTG9jYXRvcjsNCmltcG9ydCBvcmcuYXBhY2hlLmpldHNwZWVkLnNl
cnZpY2VzLmxvZ2dpbmcuSmV0c3BlZWRMb2dGYWN0b3J5U2VydmljZTsNCmltcG9ydCBvcmcuYXBh
Y2hlLmpldHNwZWVkLnNlcnZpY2VzLmxvZ2dpbmcuSmV0c3BlZWRMb2dnZXI7DQppbXBvcnQgb3Jn
LmFwYWNoZS5qZXRzcGVlZC5zZXJ2aWNlcy5yZXNvdXJjZXMuSmV0c3BlZWRSZXNvdXJjZXM7DQpp
bXBvcnQgb3JnLmFwYWNoZS5qZXRzcGVlZC5zZXJ2aWNlcy5ydW5kYXRhLkpldHNwZWVkUnVuRGF0
YTsNCmltcG9ydCBvcmcuYXBhY2hlLmpldHNwZWVkLnV0aWwuTWltZVR5cGU7DQppbXBvcnQgb3Jn
LmFwYWNoZS50dXJiaW5lLm1vZHVsZXMucGFnZXMuRGVmYXVsdFBhZ2U7DQppbXBvcnQgb3JnLmFw
YWNoZS50dXJiaW5lLnNlcnZpY2VzLnRlbXBsYXRlLlR1cmJpbmVUZW1wbGF0ZTsNCmltcG9ydCBv
cmcuYXBhY2hlLnR1cmJpbmUudXRpbC5SdW5EYXRhOw0KDQovKioNCiAqIFR1cmJpbmVBY2Nlc3ND
b250cm9sbGVyDQogKg0KICogQGF1dGhvciA8YSBocmVmPSJwYXVsc3BAYXBhY2hlLm9yZyI+UGF1
bCBTcGVuY2VyPC9hPg0KICovDQpwdWJsaWMgY2xhc3MgTXlWZWxvY2l0eVBhZ2UgZXh0ZW5kcyBK
ZXRzcGVlZFZlbG9jaXR5UGFnZSAgew0KCSBwcml2YXRlIHN0YXRpYyBpbnQgaHR0cExpZmV0aW1l
ID0gSmV0c3BlZWRSZXNvdXJjZXMuZ2V0SW50KA0KCQkJICAgICJodHRwLmxpZmV0aW1lIiwtMSk7
DQoJCSANCgkNCgkJIA0KCQkgcHJvdGVjdGVkIHZvaWQgZG9CdWlsZEJlZm9yZUFjdGlvbihSdW5E
YXRhIGRhdGEpIHRocm93cyBFeGNlcHRpb24NCgkJCSAgICB7DQoJCSAgICAgIC8vICBzdXBlci5k
b0J1aWxkQmVmb3JlQWN0aW9uKGRhdGEpOw0KCQkJIFN5c3RlbS5vdXQucHJpbnRsbigidXNoYSdz
IGpldHNwZWVkIGlzIGNhbGxlZCIpOw0KCQkJDQoJCQkJCSAgICANCgkJICAgICAgIC8vIHN1cGVy
LmRvQnVpbGRCZWZvcmVBY3Rpb24oZGF0YSk7DQoJCQkgc3dpdGNoIChodHRwTGlmZXRpbWUpIHsN
CgkJICAgICAgY2FzZSAtMToNCgkJICAgICAgICBicmVhazsNCgkJICAgICAgY2FzZSAwOg0KCQkg
ICAgICAgIGRhdGEuZ2V0UmVzcG9uc2UoKS5zZXRIZWFkZXIoIkNhY2hlLUNvbnRyb2wiLCAibm8t
Y2FjaGUsIG5vLXN0b3JlLCBwcml2YXRlLCBtdXN0LXJldmFsaWRhdGUsIG1heC1hZ2U9MCIpOw0K
CQkgICAgICAgIGRhdGEuZ2V0UmVzcG9uc2UoKS5zZXRIZWFkZXIoIlByYWdtYSIsICJuby1jYWNo
ZSIpOw0KCQkgICAgICAgIGRhdGEuZ2V0UmVzcG9uc2UoKS5zZXREYXRlSGVhZGVyKCJFeHBpcmVz
IiwgMCk7DQoJCSAgICAgICAgZGF0YS5nZXRSZXNwb25zZSgpLnNldERhdGVIZWFkZXIoDQoJCSAg
ICAgICAgICAiTGFzdC1Nb2RpZmllZCIsDQoJCSAgICAgICAgICBTeXN0ZW0uY3VycmVudFRpbWVN
aWxsaXMoKSk7DQoJCSAgICAgICAgYnJlYWs7DQoJCSAgICAgIGRlZmF1bHQ6DQoJCSAgICAgICAg
ZGF0YQ0KCQkgICAgICAgICAgLmdldFJlc3BvbnNlKCkNCgkJICAgICAgICAgIC5zZXRIZWFkZXIo
IkNhY2hlLUNvbnRyb2wiLCAibWF4LWFnZT0iICsgaHR0cExpZmV0aW1lKTsNCgkJICAgICAgICBk
YXRhLmdldFJlc3BvbnNlKCkuc2V0RGF0ZUhlYWRlcigNCgkJICAgICAgICAgICJFeHBpcmVzIiwN
CgkJICAgICAgICAgIFN5c3RlbS5jdXJyZW50VGltZU1pbGxpcygpICsgKGh0dHBMaWZldGltZSAq
IDEwMDApKTsNCgkJICAgICAgICBkYXRhLmdldFJlc3BvbnNlKCkuc2V0RGF0ZUhlYWRlcigNCgkJ
ICAgICAgICAgICJMYXN0LU1vZGlmaWVkIiwNCgkJICAgICAgICAgIFN5c3RlbS5jdXJyZW50VGlt
ZU1pbGxpcygpKTsNCgkJICAgICAgICBicmVhazsNCgkJICAgIH0NCg0KCQkJIENvbnRleHQgY29u
dGV4dCA9IFR1cmJpbmVWZWxvY2l0eS5nZXRDb250ZXh0KGRhdGEpOw0KDQoJCSAgICAgICAgY29u
dGV4dC5wdXQoImpuYXZpZ2F0aW9uIiwgbmV3IEpldHNwZWVkVGVtcGxhdGVOYXZpZ2F0aW9uKGRh
dGEpKTsNCgkJICAgICAgICBkYXRhLmdldFRlbXBsYXRlSW5mbygpLnNldFRlbXBsYXRlQ29udGV4
dChWZWxvY2l0eVNlcnZpY2UuQ09OVEVYVCwgY29udGV4dCk7DQoNCgkJDQoJCQkgfQ0KDQoJICAg
IC8qKg0KCSAgICAgKiBBbGxvd3MgdGhlIFZlbG9jaXR5U2VydmljZSB0byBwZWZvcm0gcG9zdC1y
ZXF1ZXN0IGFjdGlvbnMuDQoJICAgICAqIChyZWxlYXNlcyB0aGUgKG5vbi1nbG9iYWwpIHRvb2xz
IGluIHRoZSBjb250ZXh0IGZvciByZXVzZSBsYXRlcikNCgkgICAgICovDQoJICAgIHByb3RlY3Rl
ZCB2b2lkIGRvUG9zdEJ1aWxkKFJ1bkRhdGEgZGF0YSkgdGhyb3dzIEV4Y2VwdGlvbg0KCSAgICB7
DQoJICAgICAgICBDb250ZXh0IGNvbnRleHQgPSBUdXJiaW5lVmVsb2NpdHkuZ2V0Q29udGV4dChk
YXRhKTsNCgkgICAgICAgIFR1cmJpbmVWZWxvY2l0eS5yZXF1ZXN0RmluaXNoZWQoY29udGV4dCk7
DQoJICAgIH0NCn0NCg==

--001a113fef869010c00539f9876a
Content-Type: text/plain; charset=us-ascii


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
--001a113fef869010c00539f9876a--