LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICogQ29weXJpZ2h0IChjKSAyMDA1IElCTSBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLgogKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCiAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAogKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAogKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAqgKgogKiBDb250cmlidXRvcnM6CiAqICAgIElCTSBDb3Jwb3JhdGlvbiAtIEluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KcGFja2FnZSBvcmcuZWNsaXBzZS53c3QuaW50ZXJuZXQubW9uaXRvci51aS5pbnRlcm5hbDsKCmltcG9ydCBvcmcuZWNsaXBzZS5vc2dpLnV0aWwuTkxTOwovKioKICogVHJhbnNsYXRlZCBtZXNzYWdlcy4KICovCnB1YmxpYyBjbGFzcyBNZXNzYWdlcyBleHRlbmRzIE5MUyB7CglwdWJsaWMgc3RhdGljIFN0cmluZyBlZGl0TW9uaXRvcjsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIG5ld01vbml0b3I7CglwdWJsaWMgc3RhdGljIFN0cmluZyBsb2NhbFBvcnQ7CglwdWJsaWMgc3RhdGljIFN0cmluZyByZW1vdGVIb3N0OwoJcHVibGljIHN0YXRpYyBTdHJpbmcgcmVtb3RlUG9ydDsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHJlbW90ZUdyb3VwOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgcGFyc2VUeXBlOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgZXJyb3JEaWFsb2dUaXRsZTsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHByZWZlcmVuY2VEZXNjcmlwdGlvbjsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHByZWZTaG93VmlldzsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIG1vbml0b3JMaXN0OwoJcHVibGljIHN0YXRpYyBTdHJpbmcgY29sdW1uU3RhdHVzOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgY29sdW1uUmVtb3RlOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgY29sdW1uVHlwZTsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGNvbHVtbkxvY2FsOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgYWRkOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgZWRpdDsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHJlbW92ZTsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHN0YXJ0OwoJcHVibGljIHN0YXRpYyBTdHJpbmcgc3RvcDsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHN0YXJ0ZWQ7CglwdWJsaWMgc3RhdGljIFN0cmluZyBzdG9wcGVkOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgaGVhZGVyTGFiZWw7CglwdWJsaWMgc3RhdGljIFN0cmluZyBpbWFnZVZpZXdJbnZhbGlkOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgeG1sVmlld0ludmFsaWQ7CglwdWJsaWMgc3RhdGljIFN0cmluZyBodG1sVmlld0ludmFsaWQ7CglwdWJsaWMgc3RhdGljIFN0cmluZyB2aWV3RGF0ZUZvcm1hdDsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHZpZXdUaW1lOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgdmlld1Jlc3BvbnNlVGltZTsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHZpZXdUeXBlOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgdmlld1Jlc3BvbnNlVGltZUZvcm1hdDsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHZpZXdTaXplOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgdmlld1Jlc3BvbnNlOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgdmlld1JlcXVlc3Q7CglwdWJsaWMgc3RhdGljIFN0cmluZyBhY3Rpb25Tb3J0QnlSZXNwb25zZVRpbWU7CglwdWJsaWMgc3RhdGljIFN0cmluZyB2aWV3U2l6ZUZvcm1hdDsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGFjdGlvbkNsZWFyVG9vbFRpcDsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGFjdGlvblNob3dIZWFkZXI7CglwdWJsaWMgc3RhdGljIFN0cmluZyBhY3Rpb25Qcm9wZXJ0aWVzOwoKCXN0YXRpYyB7CgkJTkxTLmluaXRpYWxpemVNZXNzYWdlcyhNb25pdG9yVUlQbHVnaW4uUExVR0lOX0lEICsgIi5pbnRlcm5hbC5NZXNzYWdlcyIsIE1lc3NhZ2VzLmNsYXNzKTsKCX0KfQ==