LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICogQ29weXJpZ2h0IChjKSAyMDAzLCAyMDA0IElCTSBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLgogKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCiAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIENvbW1vbiBQdWJsaWMgTGljZW5zZSB2MS4wCiAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0CiAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvY3BsLXYxMC5odG1sCqAqCiAqIENvbnRyaWJ1dG9yczoKICogICAgSUJNIC0gSW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpwYWNrYWdlIG9yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIudWk7Ci8qKgogKiBBbiBnZW5lcmljIGludGVyZmFjZSBmb3IgbW9kaWZ5aW5nIHRoZSBwYXRoIG9mIGEgSmF2YSBzZXJ2ZXIuIENhbiBiZSB1c2VkCiAqIHRvIGltcGxlbWVudCB0aGUgY29tbWFuZCBwYXR0ZXJuIGJldHdlZW4gdGhlIGVkaXRvciBhbmQgdGhlIHNlcnZlci4KICovCnB1YmxpYyBpbnRlcmZhY2UgSVBhdGhFZGl0b3IgewoJLyoqCgkgKiBTZXQgdGhlIHN5c3RlbSBwYXRoIGZvciB0aGlzIHNlcnZlci4KCSAqCgkgKiBAcGFyYW0gcyBqYXZhLmxhbmcuU3RyaW5nCgkgKi8KCXB1YmxpYyB2b2lkIHNldFBhdGgoU3RyaW5nIHMpOwoKCS8qKgoJICogU2V0IHRoZSBzeXN0ZW0gcGF0aCB0eXBlIGZvciB0aGlzIHNlcnZlci4KCSAqCgkgKiBAcGFyYW0gdCBpbnQKCSAqLwoJcHVibGljIHZvaWQgc2V0UGF0aFR5cGUoaW50IHQpOwp9