LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICogQ29weXJpZ2h0IChjKSAyMDA1IElCTSBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLgogKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCiAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAogKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAogKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAqgKgogKiBDb250cmlidXRvcnM6CiAqICAgIElCTSBDb3Jwb3JhdGlvbiAtIEluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KcGFja2FnZSBvcmcuZWNsaXBzZS53c3Quc2VydmVyLmNvcmUuaW50ZXJuYWw7CgppbXBvcnQgb3JnLmVjbGlwc2Uub3NnaS51dGlsLk5MUzsKLyoqCiAqIFRyYW5zbGF0ZWQgbWVzc2FnZXMuCiAqLwpwdWJsaWMgY2xhc3MgTWVzc2FnZXMgZXh0ZW5kcyBOTFMgewoJcHVibGljIHN0YXRpYyBTdHJpbmcgcHVibGlzaGluZzsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGVycm9yUnVudGltZU5hbWU7CglwdWJsaWMgc3RhdGljIFN0cmluZyBlcnJvckR1cGxpY2F0ZVJ1bnRpbWVOYW1lOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgZXJyb3JTYXZpbmc7CglwdWJsaWMgc3RhdGljIFN0cmluZyBlcnJvckxvYWRpbmc7CglwdWJsaWMgc3RhdGljIFN0cmluZyBlcnJvckNhbm5vdEFkZE1vZHVsZTsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGRlZmF1bHRWZW5kb3I7CglwdWJsaWMgc3RhdGljIFN0cmluZyBkZWZhdWx0VmVyc2lvbjsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHNhdmluZ1Rhc2s7CglwdWJsaWMgc3RhdGljIFN0cmluZyB0YXNrUGVyZm9ybWluZzsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGRlbGV0aW5nVGFzazsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGRlZmF1bHRTZXJ2ZXJQcm9qZWN0TmFtZTsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGRlZmF1bHRSdW50aW1lTmFtZTsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGRlZmF1bHRSdW50aW1lTmFtZTI7CglwdWJsaWMgc3RhdGljIFN0cmluZyBkZWZhdWx0U2VydmVyTmFtZTsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGRlZmF1bHRTZXJ2ZXJOYW1lMjsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGRlZmF1bHRTZXJ2ZXJOYW1lMzsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGRlZmF1bHRTZXJ2ZXJOYW1lNDsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHRhc2tNb2RpZnlNb2R1bGVzOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgZXJyb3JXb3JraW5nQ29weVRpbWVzdGFtcDsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGVycm9yUHVibGlzaFN0YXJ0aW5nOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgZXJyb3JQdWJsaXNoTm9SdW50aW1lOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgZXJyb3JQdWJsaXNoTm9Db25maWd1cmF0aW9uOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgZXJyb3JOb0NvbmZpZ3VyYXRpb247CglwdWJsaWMgc3RhdGljIFN0cmluZyBjYW5QdWJsaXNoT2s7CglwdWJsaWMgc3RhdGljIFN0cmluZyBwdWJsaXNoaW5nU3RhdHVzT2s7CglwdWJsaWMgc3RhdGljIFN0cmluZyBwdWJsaXNoaW5nU3RhdHVzSW5mbzsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHB1Ymxpc2hpbmdTdGF0dXNXYXJuaW5nOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgcHVibGlzaGluZ1N0YXR1c0Vycm9yOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgZXJyb3JQdWJsaXNoaW5nOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgcHVibGlzaGluZ1N0b3A7CglwdWJsaWMgc3RhdGljIFN0cmluZyBwdWJsaXNoaW5nTW9kdWxlOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgcHVibGlzaGVkTW9kdWxlOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgZXJyb3JTdGFydFRpbWVvdXQ7CglwdWJsaWMgc3RhdGljIFN0cmluZyBlcnJvclN0YXJ0RmFpbGVkOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgZXJyb3JNb2R1bGVSZXN0YXJ0RmFpbGVkOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgZXJyb3JJbnN0YWxsaW5nU2VydmVyOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgZXJyb3JJbnN0YWxsaW5nU2VydmVyRmVhdHVyZTsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGNhblJlc3RhcnRNb2R1bGVPazsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGVycm9yUmVzdGFydE1vZHVsZTsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGNhblN0YXJ0RXJyb3JTdGF0ZTsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGVycm9yTGF1bmNoTW9kZTsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGNhblN0YXJ0T2s7CglwdWJsaWMgc3RhdGljIFN0cmluZyBjYW5SZXN0YXJ0T2s7CglwdWJsaWMgc3RhdGljIFN0cmluZyBlcnJvclJlc3RhcnROb3RTdGFydGVkOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgZXJyb3JTdG9wQWxyZWFkeVN0b3BwZWQ7CglwdWJsaWMgc3RhdGljIFN0cmluZyBjYW5TdG9wT2s7CglwdWJsaWMgc3RhdGljIFN0cmluZyBtb2R1bGVUeXBlVW5rbm93bjsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGpvYlN0YXJ0aW5nU2VydmVyOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgam9iUmVzdGFydGluZ1NlcnZlcjsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGpvYlVwZGF0ZVNlcnZlcjsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGpvYkluc3RhbGxpbmdSdW50aW1lOwoJCglzdGF0aWMgewoJCU5MUy5pbml0aWFsaXplTWVzc2FnZXMoU2VydmVyUGx1Z2luLlBMVUdJTl9JRCArICIuaW50ZXJuYWwuTWVzc2FnZXMiLCBNZXNzYWdlcy5jbGFzcyk7Cgl9Cn0=