LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICogQ29weXJpZ2h0IChjKSAyMDA0IElCTSBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLgogKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCiAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIENvbW1vbiBQdWJsaWMgTGljZW5zZSB2MS4wCiAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0CiAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvY3BsLXYxMC5odG1sCqAqCiAqIENvbnRyaWJ1dG9yczoKICogICAgSUJNIC0gSW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpwYWNrYWdlIG9yZy5lY2xpcHNlLndzdC5pbnRlcm5ldC5tb25pdG9yLnVpOwoKaW1wb3J0IG9yZy5lY2xpcHNlLnN3dC53aWRnZXRzLkNvbXBvc2l0ZTsKLyoqCiAqIFZpZXdlciBpbnRlcmZhY2UgZm9yIGRpc3BsYXlpbmcgcmVxdWVzdCBhbmQgcmVzcG9uc2UgbWVzc2FnZXMuCiAqIFRoaXMgYWJzdHJhY3QgY2xhc3MgaXMgaW50ZW5kZWQgdG8gYmUgZXh0ZW5kZWQgb25seSBieSBjbGllbnRzCiAqIHRvIGV4dGVuZCB0aGUgPGNvZGU+Y29udGVudFZpZXdlcnM8L2NvZGU+IGV4dGVuc2lvbiBwb2ludC4KICogCiAqIEBzaW5jZSAxLjAKICovCnB1YmxpYyBhYnN0cmFjdCBjbGFzcyBDb250ZW50Vmlld2VyIHsKCS8qKgoJICogSW5pdGlhbGl6ZXMgdGhlIHZpZXdlciBzbyBpdCBjYW4gYmUgdXNlZCB0byBkaXNwbGF5IGNvbnRlbnQuIFJlcXVpcmVzIHRoZSBwYXJlbnQKCSAqIENvbXBvc2l0ZSB0aGF0IHRoZSB2aWV3ZXIgd2lsbCBkaXNwbGF5IGl0cyBpbmZvcm1hdGlvbiBpbi4KCSAqIAoJICogQHBhcmFtIHBhcmVudCB0aGUgcGFyZW50IGNvbXBvc2l0ZQoJICovCglwdWJsaWMgdm9pZCBpbml0KENvbXBvc2l0ZSBwYXJlbnQpIHsKCQkvLyBkbyBub3RoaW5nCgl9CgoJLyoqCgkgKiBTZXRzIHRoZSBjb250ZW50IHRoYXQgdGhlIHZpZXdlciBzaG91bGQgZGlzcGxheS4gVGhlIHBhcmFtZXRlciBtYXkgYmUgbnVsbCBpZgoJICogbm8gY29udGVudCBzaG91bGQgYmUgZGlzcGxheWVkLgoJICogCgkgKiBAcGFyYW0gYiB0aGUgY29udGVudAoJICovCglwdWJsaWMgdm9pZCBzZXRDb250ZW50KGJ5dGVbXSBiKSB7CgkJLy8gZG8gbm90aGluZwoJfQoKCS8qKgoJICogRGlzcG9zZXMgdGhpcyB2aWV3ZXIgYW5kIGFueSB1bmRlcmx5aW5nIHJlc291cmNlcyBzdWNoIGFzIGEgY29tcG9zaXRlLgoJICovCglwdWJsaWMgdm9pZCBkaXNwb3NlKCkgewoJCS8vIGRvIG5vdGhpbmcKCX0KfQ==