|
From: <jue...@we...> - 2003-06-20 20:28:52
|
SmVhbi1QaWVycmUsIFJvZCwgZXZlcnlvbmUsDQogDQpJJ3ZlIGp1c3QgbWVyZ2VkIHRoZSB0aGVt ZSBicmFuY2ggd2l0aCB0aGUgbWFpbiB0cnVuay4gVGhpcyBtZWFucyB0aGF0IHdlJ3ZlIGdvdCBx dWl0ZSBhIGxvYWQgb2YgbmV3IGFuZCByZXdvcmtlZCBzdHVmZiB0aGVyZToNCiANCi0gaW50cm9k dWNlZCB0aGVtZXMgc3VwcG9ydA0KLSByZXdvcmtlZCBSZXF1ZXN0Q29udGV4dC9SZXF1ZXN0Q29u dGV4dFV0aWxzDQotIGRpc3NvbHZlZCBMb2NhbGVSZXNvbHZlckF3YXJlL1RoZW1lUmVzb2x2ZXJB d2FyZQ0KLSBtb3ZlZCB0YWdzIHRvIHdlYi5zZXJ2bGV0LnRhZ3MNCi0gYWRkZWQgdGFnIHRlc3Qg c3VpdGUNCi0gcmV3b3JrZWQgSGFuZGxlck1hcHBpbmcNCi0gaW50cm9kdWNlZCBIYW5kbGVySW50 ZXJjZXB0b3IvSGFuZGxlckV4ZWN1dGlvbkNoYWluLA0KLSBpbnRyb2R1Y2VkIExvY2FsZUNoYW5n ZUludGVyY2VwdG9yL1RoZW1lQ2hhbmdlSW50ZXJjZXB0b3INCi0gaW50cm9kdWNlZCBVc2VyUm9s ZUF1dGhvcml6YXRpb25JbnRlcmNlcHRvcg0KIA0KV2UndmUgYWxyZWFkeSBkaXNjdXNzZWQgdGhl bWVzIHN1cHBvcnQsIHRoZSBSZXF1ZXN0Q29udGV4dCByZXdvcmtpbmdzLCBhbmQgdGhlIFh4eFJl c29sdmVyQXdhcmUgaXNzdWUsIHNvIEknbGwgY29uY2VudHJhdGUgb24gdGhlIHJlc3QuIE5vdGUg YWdhaW4gdGhhdCBSZXF1ZXN0Q29udGV4dFV0aWxzIGhhcyBmYXIgZmV3ZXIgbWV0aG9kcyBub3cs IHBsZWFzZSB1c2UgUmVxdWVzdENvbnRleHQgaW5zdGVhZC4NCiANCkkndmUgbW92ZWQgdGhlIHRh ZyBjbGFzc2VzIHRvIHdlYi5zZXJ2bGV0LnRhZ3MgYmVjYXVzZSB0aGV5IGRlcGVuZCBoZWF2aWx5 IG9uIERpc3BhdGNoZXJTZXJ2bGV0J3MgcmVxdWVzdCBhdHRyaWJ1dGVzLiBTbyBjb25zZXF1ZW50 bHksIHRoZXkgYmVsb25nIGJlbG93IHdlYi5zZXJ2bGV0LCBub3Qgb24gdGhlIHNhbWUgbGV2ZWwu IEkndmUgYWxzbyBmaXhlZCBxdWl0ZSBhIG1ham9yIGdhcDogSSd2ZSBhZGRlZCBhIHRlc3Qgc3Vp dGUgdGhhdCBjb3ZlcnMgYWxsIHRhZ3MuDQogDQpJJ2xsIHRhbGsgYWJvdXQgdGhlIG5ldyBIYW5k bGVyTWFwcGluZy9IYW5kbGVySW50ZXJjZXB0b3Igc3R1ZmYgaW4gYSBzZXBhcmF0ZSBtYWlsLg0K IA0KSnVlcmdlbg0KIA0KIA0KDQoJLS0tLS1VcnNwcsO8bmdsaWNoZSBOYWNocmljaHQtLS0tLSAN CglWb246IEpQIFBhd2xhayBbbWFpbHRvOmpwLnBhd2xha0B0aXNjYWxpLmZyXSANCglHZXNlbmRl dDogRnIgMjAuMDYuMjAwMyAxNDozNSANCglBbjogasO8cmdlbiBow7ZsbGVyIFt3ZXJrM0FUXTsg J1JvZCBKb2huc29uJzsgc3ByaW5nZnJhbWV3b3JrLWRldmVsb3BlckBsaXN0cy5zb3VyY2Vmb3Jn ZS5uZXQgDQoJQ2M6IA0KCUJldHJlZmY6IFJFIDogW1NwcmluZ2ZyYW1ld29yay1kZXZlbG9wZXJd IHRoZW1lcw0KCQ0KCQ0KDQoJSGkgSnVlcmdlbiwNCgkNCglGb3Igbm93LCB0aGUgQ29udHJvbGxl ckFkYXB0ZXIgaXMgYSBuaWNlIHNvbHV0aW9uLiBJIGRpZG4ndCByZW1lbWJlciB0aGUNCglBZGFw dGVyIG1lY2hhbmlzbSBkZXNwaXRlIG9mIHRoZSBkaXNjdXNzaW9ucy4NCgkNCglOZXZlcnRoZWxl c3MsIEkgd2lsbCBubyBtb3JlIGJlIGhlcmUgZm9yIGEgd2VlayBmcm9tIHRoaXMgZXZlbmluZyBh bmQNCglzaW5jZSB0b2RheSwgSSBoYXZlIG5vIG1vcmUgYWNjZXNzIG9uIHRoZSByZXBvc2l0b3J5 LiBBcyB1c2VyLCBteQ0KCWF1dGhlbnRpY2F0aW9uIGlzIHJlZnVzZWQgKEkgc2VudCBhIHN1cHBv cnQgcmVxdWVzdCBhdCBTb3VyY2VGb3JnZSkuIEFuZA0KCWFzIGFub255bW91cywgSSBjYW4ndCBz ZWUgdGhlIHRoZW1lIGJyYW5jaC4NCgkNCglSZWdhcmRzLA0KCUplYW4tUGllcnJlDQoJDQoJDQoJ LS0tLS1NZXNzYWdlIGQnb3JpZ2luZS0tLS0tDQoJRGUgOiBqw7xyZ2VuIGjDtmxsZXIgW3dlcmsz QVRdIFttYWlsdG86anVlcmdlbi5ob2VsbGVyQHdlcmszYXQuY29tXQ0KCUVudm95w6kgOiB2ZW5k cmVkaSAyMCBqdWluIDIwMDMgMTI6MTQNCgnDgCA6IEpQIFBhd2xhazsgUm9kIEpvaG5zb247DQoJ c3ByaW5nZnJhbWV3b3JrLWRldmVsb3BlckBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQNCglPYmpldCA6 IFJFOiBbU3ByaW5nZnJhbWV3b3JrLWRldmVsb3Blcl0gdGhlbWVzDQoJDQoJSGkgSmVhbi1QaWVy cmUsDQoJDQoJWW91J3ZlIGdvdCBhIHZlcnkgdmFsaWQgcG9pbnQgaW5kZWVkIQ0KCQ0KCUxvY2Fs ZVJlc29sdmVyQXdhcmUgYW5kIFRoZW1lUmVzb2x2ZXJBd2FyZSB3ZXJlIGludHJvZHVjZWQgdG8g cHJvcGFnYXRlDQoJTG9jYWxlUmVzb2x2ZXIgYW5kIFRoZW1lUmVzb2x2ZXIgcmVmZXJlbmNlcyB0 byBDb250cm9sbGVyDQoJaW1wbGVtZW50YXRpb25zLCBzbyB0aGF0IHRoZSBsYXR0ZXIgY2FuIHVz ZSB0aGUgcmVzb2x2ZXIgaW5zdGFuY2UgdG8NCgljaGFuZ2UgdGhlIGxvY2FsZSByZXNwLiB0aGVt ZS4gVGhpcyB3YXMgbWVhbnQgYW5hbG9nb3VzIHRvDQoJQXBwbGljYXRpb25Db250ZXh0QXdhcmUu IFRoZSBwcm9wYWdhdGlvbiBoYXMgdGhlIGRyYXdiYWNrIHRoYXQNCglIYW5kbGVyTWFwcGluZyBp bXBsZW1lbnRhdGlvbnMgbmVlZCB0byBiZSBhd2FyZSBvZiB0aGUgcmVzb2x2ZXJzIHRvby4NCgkN CglVbnRpbCByZWNlbnRseSwgdGhlIHJlc29sdmVkIExvY2FsZSBhbmQgdGhlIHJlc29sdmVkIFRo ZW1lIHdlcmUgYm91bmQgdG8NCgl0aGUgcmVxdWVzdCBhcyBhdHRyaWJ1dGVzLCBzbyBvbmUgaGFk IHRvIHVzZSB0aGUgWHh4QXdhcmUgaW50ZXJmYWNlcyB0bw0KCWdldCByZXNvbHZlciByZWZlcmVu Y2VzLiBJJ3ZlIGNoYW5nZWQgdGhhdCB0aGlzIHdlZWs6IE5vdyB0aGUNCglMb2NhbGVSZXNvbHZl ciBhbmQgVGhlbWVSZXNvbHZlciBpbnN0YW5jZXMgdGhlbXNlbHZlcyBnZXQgYm91bmQsIHRvIGJl DQoJYWJsZSB0byByZXNvbHZlIGEgZnJlc2hseSBjaGFuZ2VkIGxvY2FsZSBvciB0aGVtZSAoaS5l LiBqdXN0IGNoYW5nZWQgYnkNCgl0aGUgY3VycmVudCByZXF1ZXN0KS4gUmVxdWVzdENvbnRleHRV dGlscyBwcm92aWRlcyBlYXN5IGFjY2VzcyB0byBhDQoJZnJlc2hseSByZXNvbHZlZCBsb2NhbGUg YW5kIHRoZW1lIHZpYSBpdHMgImdldExvY2FsZSIgYW5kICJnZXRUaGVtZSINCgltZXRob2RzLg0K CQ0KCVRoaXMgbWFrZXMgTG9jYWxlUmVzb2x2ZXJBd2FyZSBhbmQgVGhlbWVSZXNvbHZlckF3YXJl IG1vcmUgb3IgbGVzcw0KCW9ic29sZXRlLCBzbyBJJ2xsIHJlbW92ZSB0aGVtLiBOZXcgUmVxdWVz dENvbnRleHRVdGlscyBtZXRob2RzDQoJImdldExvY2FsZVJlc29sdmVyIiBhbmQgImdldFRoZW1l UmVzb2x2ZXIiIHdpbGwgbWFrZSBhY2Nlc3MgdG8gdGhlDQoJcmVzb2x2ZXJzIGFzIGVhc3kgYXMg cG9zc2libGUgKGluc3RlYWQgb2YgbWFudWFsIHJlcXVlc3QgYXR0cmlidXRlDQoJcmV0cmlldmFs IGFuZCBjYXN0aW5nKS4gSSdsbCBjb21taXQgdGhpcyB3aXRoIHNvbWUgb3RoZXIgcG9saXNoaW5n IHRoYXQNCglJJ3ZlIGRvbmUgaW4gdGhlIHRhZyBpbXBsZW1lbnRhdGlvbnMgKGFuZCB0aGUgbmV3 IHRhZyB0ZXN0IHN1aXRlISkuDQoJDQoJUmVnYXJkaW5nIGxvY2FsZSBhbmQgdGhlbWUgY2hhbmdl IHN1cHBvcnQgaW4gZXZlcnkgY29udHJvbGxlciBpbiB0aGUNCglhcHBsaWNhdGlvbjogVGhpcyBp cyBzb21ld2hhdCBzaW1pbGFyIHRvIHRoZSBhdXRoZW50aWNhdGlvbiBpc3N1ZSB0aGF0DQoJd2Ug ZGlzY3Vzc2VkIHNvbWUgdGltZSBhZ28uIFRoZSBkaWZmZXJlbmNlIGlzIHRoYXQgYSBTZXJ2bGV0 IEZpbHRlciBhbmQNCglhIGN1c3RvbSBIYW5kbGVyTWFwcGluZyBpbXBsZW1lbnRhdGlvbiBhcmVu J3Qgb3B0aW9ucywgYXMgdGhlIGZvcm1lcg0KCWNhbid0IGFjY2VzcyB0aGUgRGlzcGF0Y2hlclNl cnZsZXQgYXR0cmlidXRlcywgYW5kIHRoZSBsYXR0ZXIgZG9lc24ndA0KCWdldCBhIEh0dHBTZXJ2 bGV0UmVzcG9uc2UgcmVmZXJlbmNlLiBCdXQgeW91IGNvdWxkIHVzZSBhIGN1c3RvbQ0KCUhhbmRs ZXJBZGFwdGVyIGltcGxlbWVudGF0aW9uLCBsaWtlIGFzIGZvbGxvd3M6DQoJDQoJcHVibGljIGNs YXNzIExvY2FsZUF3YXJlQ29udHJvbGxlckFkYXB0ZXIgZXh0ZW5kcw0KCVNpbXBsZUNvbnRyb2xs ZXJIYW5kbGVyQWRhcHRlciB7DQoJICBwdWJsaWMgTW9kZWxBbmRWaWV3IGhhbmRsZShIdHRwU2Vy dmxldFJlcXVlc3QgcmVxdWVzdCwNCglIdHRwU2VydmxldFJlc3BvbnNlIHJlc3BvbnNlLCBPYmpl Y3QgaGFuZGxlcikgew0KCSAgICBMb2NhbGVSZXNvbHZlciBsb2NhbGVSZXNvbHZlciA9DQoJUmVx dWVzdENvbnRleHRVdGlscy5nZXRMb2NhbGVSZXNvbHZlcihyZXF1ZXN0KTsNCgkgICAgVGhlbWVS ZXNvbHZlciB0aGVtZVJlc29sdmVyID0NCglSZXF1ZXN0Q29udGV4dFV0aWxzLmdldFRoZW1lUmVz b2x2ZXIocmVxdWVzdCk7DQoJICAgIFN0cmluZyBuZXdMYW5ndWFnZSA9IHJlcXVlc3QuZ2V0UGFy YW1ldGVyKCJsYW5ndWFnZSIpOw0KCSAgICBTdHJpbmcgbmV3VGhlbWUgPSByZXF1ZXN0LmdldFBh cmFtZXRlcigidGhlbWUiKTsNCgkgICAgaWYgKG5ld0xhbmd1YWdlICE9IG51bGwpIHsNCgkgICAg ICBsb2NhbGVSZXNvbHZlci5zZXRMb2NhbGUocmVxdWVzdCwgcmVzcG9uc2UsIG5ldw0KCUxvY2Fs ZShuZXdMYW5ndWFnZSkpOw0KCSAgICB9DQoJICAgIGlmIChuZXdUaGVtZSAhPSBudWxsKSB7DQoJ ICAgICAgdGhlbWVSZXNvbHZlci5zZXRUaGVtZU5hbWUocmVxdWVzdCwgcmVzcG9uc2UsIG5ld1Ro ZW1lKTsNCgkgICAgfQ0KCSAgICByZXR1cm4gc3VwZXIuaGFuZGxlKHJlcXVlc3QsIHJlc3BvbnNl LCBoYW5kbGVyKTsNCgkgIH0NCgl9DQoJDQoJUmVnaXN0ZXIgaXQgaW4geW91ciBEaXNwYXRjaGVy U2VydmxldCdzIGFwcGxpY2F0aW9uIGNvbnRleHQsIGFuZCBpdA0KCXNob3VsZCBnZXQgYXBwbGll ZCBvbiBldmVyeSByZXF1ZXN0IGRpc3BhdGNoZWQgYnkgdGhpcyBzZXJ2bGV0Og0KCQ0KCSA8YmVh biBpZD0ibG9jYWxlQXdhcmVBZGFwdGVyIg0KCWNsYXNzPSJ3ZXJrMy5leGFtcGxlLkxvY2FsZUF3 YXJlQ29udHJvbGxlckFkYXB0ZXIiLz4NCgkNCglPbiB0aGUgb2NjYXNpb24sIEknbSBjdXJyZW50 bHkgd29ya2luZyBvbiBwZXItSGFuZGxlck1hcHBpbmcNCglpbnRlcmNlcHRvcnMgdGhhdCBzaG91 bGQgYmUgYWJsZSB0byBhY2hpZXZlIHRoZSBzYW1lLiBJJ2QgbGlrZSB0bw0KCXNlcGFyYXRlIHRo ZSB2YXJpb3VzIHJvbGVzIGluIGhhbmRsZXIgcHJvY2Vzc2luZzogbWFwcGluZywgaW50ZXJjZXB0 b3IsDQoJYWRhcHRlci4gSW4gdGhlIGFib3ZlIHNvbHV0aW9uLCB0aGUgbGF0dGVyIHR3byBhcmUg Y29tYmluZWQgLSBJJ2QgbGlrZQ0KCXRvIHNvbHZlIHRoaXMgaXNzdWUuDQoJDQoJUmVnYXJkcywN CglKdWVyZ2VuDQoJDQoJDQoJDQoJICAgICAgICAtLS0tLVVyc3Byw7xuZ2xpY2hlIE5hY2hyaWNo dC0tLS0tDQoJICAgICAgICBWb246IEpQIFBhd2xhayBbbWFpbHRvOmpwLnBhd2xha0B0aXNjYWxp LmZyXQ0KCSAgICAgICAgR2VzZW5kZXQ6IEZyIDIwLjA2LjIwMDMgMDk6MzkNCgkgICAgICAgIEFu OiBqw7xyZ2VuIGjDtmxsZXIgW3dlcmszQVRdOyAnUm9kIEpvaG5zb24nOw0KCXNwcmluZ2ZyYW1l d29yay1kZXZlbG9wZXJAbGlzdHMuc291cmNlZm9yZ2UubmV0DQoJICAgICAgICBDYzoNCgkgICAg ICAgIEJldHJlZmY6IFJFIDogW1NwcmluZ2ZyYW1ld29yay1kZXZlbG9wZXJdIHRoZW1lcw0KCSAg ICAgICANCgkgICAgICAgDQoJDQoJDQoJDQoJDQoNCg== |