From: Benjamin S. <bes...@go...> - 2007-03-03 12:10:03
|
LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqIGdndC1oZWFkIGJlZw0KKg0KKiBHR1Q6IEdlbmVyaWMgR3JhcGhpY3MgVG9vbGtpdA0K Kg0KKiBPcmlnaW5hbCBBdXRob3JzOg0KKiBCZW5qYW1pbiBTY2h1bHoNCioNCiogLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N CiogRmlsZTogRnJ1c3R1bS5oDQoqIERhdGUgbW9kaWZpZWQ6IDIwMDQvMTIvMTQgMDM6MzU6MDEN CiogVmVyc2lvbjogMS4wDQoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqDQoqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBnZ3QtaGVhZCBlbmQgKi8NCi8qKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KiogZ2d0LWNwciBiZWcNCioNCiogR0dUOiBUaGUgR2VuZXJpYyBHcmFwaGljcyBUb29sa2l0DQoq IENvcHlyaWdodCAoQykgMjAwMSwyMDAyIEFsbGVuIEJpZXJiYXVtDQoqDQoqIFRoaXMgbGlicmFy eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3INCiogbW9k aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYw0K KiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl aXRoZXINCiogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg YW55IGxhdGVyIHZlcnNpb24uDQoqDQoqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KKiBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VDQoqIExl c3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQoqDQoqIFlvdSBz aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJs aWMNCiogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0 aGUgRnJlZSBTb2Z0d2FyZQ0KKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1 aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KKg0KKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIGdndC1jcHIgZW5kICov DQoNCiNpZm5kZWYgX0dNVExfRlJVU1RVTV9IXw0KI2RlZmluZSBfR01UTF9GUlVTVFVNX0hfDQoN CiNpbmNsdWRlIDxnbXRsL1BsYW5lLmg+DQoNCm5hbWVzcGFjZSBnbXRsDQp7DQoJLyoqDQoJKiBU aGlzIGNsYXNzIGRlZmluZXMgYSBWaWV3IEZydXN0dW0gVm9sdW1lIGFzIGEgc2V0IG9mIDYgcGxh bmVzDQoJKg0KCSogQGluZ3JvdXAgVHlwZXMNCgkqLw0KCXRlbXBsYXRlIDxjbGFzcyBEQVRBX1RZ UEU+DQoJY2xhc3MgRnJ1c3R1bQ0KCXsNCgkJcHVibGljOg0KCQkJdHlwZWRlZiBEQVRBX1RZUEUg RGF0YVR5cGU7DQoJCQl0eXBlZGVmIEZydXN0dW08REFUQV9UWVBFPiBGcnVzdHVtVHlwZTsNCg0K CQkJLyoqIEFuIGVudW0gdG8gbmFtZSB0aGUgcGxhbmUgaW5kaWNpZXMuIA0KCQkJKiAgVG8gaGF2 ZSB5b3Ugbm90IG11c3QgcmVtZW1iZXIgdGhvc2UgbnVtYmVycw0KCQkJKi8NCgkJCWVudW0gUGxh bmVOYW1lcw0KCQkJew0KCQkJCVBMQU5FX0xFRlQgPSAwLAkJLyoqPCBsZWZ0CWNsaXBwaW5nIHBs YW5lIGVxdWFscyAwICovDQoJCQkJUExBTkVfUklHSFQgPSAxLAkvKio8IHJpZ2h0CWNsaXBwaW5n IHBsYW5lIGVxdWFscyAxICovDQoJCQkJUExBTkVfQk9UVE9NID0gMiwJLyoqPCBib3R0b20JY2xp cHBpbmcgcGxhbmUgZXF1YWxzIDIgKi8NCgkJCQlQTEFORV9UT1AgPSAzLAkJLyoqPCB0b3AJY2xp cHBpbmcgcGxhbmUgZXF1YWxzIDMgKi8NCgkJCQlQTEFORV9ORUFSID0gNCwJCS8qKjwgbmVhcglj bGlwcGluZyBwbGFuZSBlcXVhbHMgNCAqLw0KCQkJCVBMQU5FX0ZBUiA9IDUJCS8qKjwgZmFyCWNs aXBwaW5nIHBsYW5lIGVxdWFscyA1ICovDQoJCQl9Ow0KDQoJCQkvKioNCgkJCSogQ29uc3RydWN0 cyBhIG5ldyBmcnVzdHVtIHdpdGggYWxsIHBsYW5lcyBpbiBkZWZhdWx0IHN0YXRlDQoJCQkqLw0K CQkJRnJ1c3R1bSgpDQoJCQl7DQoJCQkNCgkJCX0NCg0KCQkJLyoqDQoJCQkqIENvbnN0cnVjdHMg YSBuZXcgZnJ1c3R1bSB3aXRoIHRoZSBnaXZlbiBwcm9qZWN0aW9uIG1hdHJpeC4NCgkJCSoNCgkJ CSogQHBhcmFtIHByb2pNYXRyaXggdGhlIHByb2plY3Rpb24gbWF0cml4IG9mIHlvdXIgY2FtZXJh IG9yIGxpZ2h0IGV0Yy4gdG8gY29uc3RydWN0IHRoZSBwbGFuZXMgZnJvbQ0KCQkJKi8NCgkJCUZy dXN0dW0oY29uc3QgZ210bDo6TWF0cml4NDRmICYgcHJvak1hdHJpeCkNCgkJCXsNCgkJCQl0aGlz LT5leHRyYWN0UGxhbmVzKHByb2pNYXRyaXgpOw0KCQkJfQ0KDQoJCQkvKioNCgkJCSogQ29uc3Ry dWN0cyBhIG5ldyBmcnVzdHVtIHdpdGggZ2l2ZW4gcHJvamVjdGlvbiBhbmQgbW9kZWx2aWV3IG1h dHJpY2llcy4NCgkJCSogdGhlIG1hdHJpY2llcyBhcmUgbXVsdGlwbGllZCBpbiB0aGlzIG9yZGVy IDogTSA9IHByb2pNYXRyaXggKiBtb2RlbHZpZXdNYXRyaXguDQoJCQkqIHRoZSBwbGFuZXMgYXJl IHRoYW4gZXh0cmFjdGVkIGZyb20gTS4NCgkJCSoNCgkJCSogQHBhcmFtIG1vZGVsdmlld01hdHJp eCB0aGUgbW9kZWx2aWV3IG1hdHJpeCBvZiB5b3UgY2FtZXJhIG9yIGxpZ2h0IGV0Yy4gdG8gY29u c3RydWN0IHRoZSBwbGFuZXMgZnJvbQ0KCQkJKiBAcGFyYW0gcHJvak1hdHJpeCB0aGUgcHJvamVj dGlvbiBtYXRyaXggb2YgeW91ciBjYW1lcmEgb3IgbGlnaHQgb3Igd2hhdCBldmVyDQoJCQkqLw0K CQkJRnJ1c3R1bShjb25zdCBnbXRsOjpNYXRyaXg0NGYgJiBtb2RlbHZpZXdNYXRyaXgsIGNvbnN0 DQoJCQlnbXRsOjpNYXRyaXg0NGYgJiBwcm9qTWF0cml4KQ0KCQkJew0KCQkJCXRoaXMtPmV4dHJh Y3RQbGFuZXMobW9kZWx2aWV3TWF0cml4LCBwcm9qTWF0cml4KTsNCgkJCX0NCg0KCQkJLyoqDQoJ CQkqIGV4dHJhY3RzIHRoZSBwbGFuZXMgZnJvbSB0aGUgZ2l2ZW4gcHJvamVjdGlvbiBtYXRyaXgu DQoJCQkqDQoJCQkqIEBwYXJhbSBwcm9qTWF0cml4IHRoZSBwcm9qZWN0aW9uIG1hdHJpeCBvZiB5 b3UgY2FtZXJhIG9yIGxpZ2h0IG9yIHdoYXQgZXZlcg0KCQkJKi8NCgkJCXZvaWQgZXh0cmFjdFBs YW5lcyhjb25zdCBnbXRsOjpNYXRyaXg0NGYgJiBtb2RlbHZpZXdNYXRyaXgsDQoJCQljb25zdCBn bXRsOjpNYXRyaXg0NGYgJiBwcm9qTWF0cml4KQ0KCQkJew0KCQkJCXRoaXMtPmV4dHJhY3RQbGFu ZXMocHJvak1hdHJpeCAqIG1vZGVsdmlld01hdHJpeCk7DQoJCQl9DQoNCgkJCS8qKg0KCQkJKiBl eHRyYWN0cyB0aGUgcGxhbmVzIGZyb20gdGhlIGdpdmVuIHByb2plY3Rpb24gYW5kIG1vZGVsdmll dyBtYXRyaWNpZXMuDQoJCQkqIHRoZSBtYXRyaWNpZXMgYXJlIG11bHRpcGxpZWQgaW4gdGhpcyBv cmRlciA6IE0gPSBwcm9qTWF0cml4ICogbW9kZWx2aWV3TWF0cml4Lg0KCQkJKiB0aGUgcGxhbmVz IGFyZSB0aGFuIGV4dHJhY3RlZCBmcm9tIE0uDQoJCQkqDQoJCQkqIEBwYXJhbSBtb2RlbHZpZXdN YXRyaXggdGhlIG1vZGVsdmlldyBtYXRyaXggb2YgeW91IGNhbWVyYSBvciBsaWdodCBldGMuIHRv IGNvbnN0cnVjdCB0aGUgcGxhbmVzIGZyb20NCgkJCSogQHBhcmFtIHByb2pNYXRyaXggdGhlIHBy b2plY3Rpb24gbWF0cml4IG9mIHlvdSBjYW1lcmEgb3IgbGlnaHQgZXRjLiB0byBjb25zdHJ1Y3Qg dGhlIHBsYW5lcyBmcm9tDQoJCQkqLw0KCQkJdm9pZCBleHRyYWN0UGxhbmVzKGNvbnN0IGdtdGw6 Ok1hdHJpeDQ0ZiAmIHByb2pNYXRyaXgpDQoJCQl7DQoJCQkJY29uc3QgZ210bDo6TWF0cml4NDRm ICYgbSA9IHByb2pNYXRyaXg7DQoNCgkJCQkvL2xlZnQNCgkJCQl0aGlzLT5tX3BsYW5lc1tQTEFO RV9MRUZUXS5zZXROb3JtYWwoIGdtdGw6OlZlYzNmKCBtWzNdWzBdICsgbVswXVswXSwgbVszXVsx XSArIG1bMF1bMV0sIG1bM11bMl0gKyBtWzBdWzJdICkgKTsNCgkJCQl0aGlzLT5tX3BsYW5lc1tQ TEFORV9MRUZUXS5zZXRPZmZzZXQobVszXVszXSArIG1bMF1bM10pOw0KCQkJCS8vcmlnaHQNCgkJ CQl0aGlzLT5tX3BsYW5lc1tQTEFORV9SSUdIVF0uc2V0Tm9ybWFsKCBnbXRsOjpWZWMzZiggbVsz XVswXSAtIG1bMF1bMF0sIG1bM11bMV0gLSBtWzBdWzFdLCBtWzNdWzJdIC0gbVswXVsyXSApICk7 DQoJCQkJdGhpcy0+bV9wbGFuZXNbUExBTkVfUklHSFRdLnNldE9mZnNldChtWzNdWzNdIC0gbVsw XVszXSk7DQoJCQkJLy9ib3R0b20NCgkJCQl0aGlzLT5tX3BsYW5lc1tQTEFORV9CT1RUT01dLnNl dE5vcm1hbCggZ210bDo6VmVjM2YoIG1bM11bMF0gKyBtWzFdWzBdLCBtWzNdWzFdICsgbVsxXVsx XSwgbVszXVsyXSArIG1bMV1bMl0gKSApOw0KCQkJCXRoaXMtPm1fcGxhbmVzW1BMQU5FX0JPVFRP TV0uc2V0T2Zmc2V0KG1bM11bM10gKyBtWzFdWzNdKTsNCgkJCQkvL3RvcA0KCQkJCXRoaXMtPm1f cGxhbmVzW1BMQU5FX1RPUF0uc2V0Tm9ybWFsKCBnbXRsOjpWZWMzZiggbVszXVswXSAtIG1bMV1b MF0sIG1bM11bMV0gLSBtWzFdWzFdLCBtWzNdWzJdIC0gbVsxXVsyXSApICk7DQoJCQkJdGhpcy0+ bV9wbGFuZXNbUExBTkVfVE9QXS5zZXRPZmZzZXQobVszXVszXSAtIG1bMV1bM10pOw0KCQkJCS8v bmVhcg0KCQkJCXRoaXMtPm1fcGxhbmVzW1BMQU5FX05FQVJdLnNldE5vcm1hbCggZ210bDo6VmVj M2YoIG1bM11bMF0gKyBtWzJdWzBdLCBtWzNdWzFdICsgbVsyXVsxXSwgbVszXVsyXSArIG1bMl1b Ml0gKSApOw0KCQkJCXRoaXMtPm1fcGxhbmVzW1BMQU5FX05FQVJdLnNldE9mZnNldChtWzJdWzNd ICsgbVszXVszXSk7DQoJCQkJLy9mYXINCgkJCQl0aGlzLT5tX3BsYW5lc1tQTEFORV9GQVJdLnNl dE5vcm1hbCggZ210bDo6VmVjM2YoIG1bM11bMF0gLSBtWzJdWzBdLCBtWzNdWzFdIC0gbVsyXVsx XSwgbVszXVsyXSAtIG1bMl1bMl0gKSApOw0KCQkJCXRoaXMtPm1fcGxhbmVzW1BMQU5FX0ZBUl0u c2V0T2Zmc2V0KG1bM11bM10gLSBtWzJdWzNdKTsNCgkJCX0NCg0KCQkJZ210bDo6UGxhbmU8REFU QV9UWVBFPiBtX3BsYW5lc1s2XTsNCgl9Ow0KDQoJdHlwZWRlZiBGcnVzdHVtPGZsb2F0PiBGcnVz dHVtZjsNCgl0eXBlZGVmIEZydXN0dW08ZG91YmxlPiBGcnVzdHVtZDsNCn07DQoNCiNlbmRpZiAv KiBfR01UTF9GUlVTVFVNX0hfICovDQo= |