From: <jh...@we...> - 2003-02-22 18:36:37
|
SmVhbi1QaWVycmUsDQogDQpDb25jZXJuaW5nIHlvdXIgSlNUTCBoYW5kbGluZzogSSBhc3N1bWUg aXQgaXMgYWJvdXQgZXhwb3NpbmcgU3ByaW5nJ3MgbWVzc2FnZSByZXNvdXJjZSBidW5kbGUgYW5k IHRoZSBjdXJyZW50IGxvY2FsZSB0byBKU1RMIHRhZ3MuIFdlIHNob3VsZCByZWFsbHkgdGhpbmsg YWJvdXQgc3VwcG9ydGluZyB0aGlzIHdpdGhpbiBTcHJpbmcuDQogDQpKU1RMIGRlZmluZXMgc3Rh bmRhcmQgYXR0cmlidXRlIG5hbWVzLCB1c2FibGUgYXQgYWxsIHNjb3BlIGxldmVscywgZm9yIHN0 YW5kYXJkIExvY2FsZSBhbmQgZm9yIGl0cyBzcGVjaWZpYyBjbGFzcyBMb2NhbGl6YXRpb25Db250 ZXh0IHRoYXQgY29tYmluZXMgUmVzb3VyY2VCdW5kbGUgYW5kIExvY2FsZSBwcm9wZXJ0aWVzLiBU aGUgYXBwcm9wcmlhdGUgbGV2ZWwgZm9yIFNwcmluZyBzdXBwb3J0IGlzIHByb2JhYmx5IGV4cG9z aW5nIGEgTG9jYWxpemF0aW9uQ29udGV4dCBhdCByZXF1ZXN0IHNjb3BlLiBFeHBvc2luZyBzaG91 bGQgaGFwcGVuIGFmdGVyIHJlcXVlc3QgcHJvY2Vzc2luZywgYXMgYSBjb250cm9sbGVyIGNvdWxk IGNoYW5nZSB0aGUgdXNlcidzIGN1cnJlbnQgbG9jYWxlLg0KIA0KT2YgY291cnNlLCB0aGVyZSBh cmUgdmFyaW91cyB3YXlzIG9mIHN1cHBvcnQ6IFdlIGNvdWxkIG1ha2UgdGhlIENvbnRyb2xsZXJT ZXJ2bGV0IGV4cG9zZSB0aGUgTG9jYWxpemF0aW9uQ29udGV4dCwgb3IgbGVhdmUgdGhhdCB0byBl YWNoIGNvbnRyb2xsZXIgaW1wbGVtZW50YXRpb24uIEJ1dCBJIGNvbnNpZGVyIGEgSlNUTC1zcGVj aWZpYyBWaWV3IGltcGxlbWVudGF0aW9uIHRoZSBiZXN0IGNob2ljZSwgaS5lLiBhIEpzdGxWaWV3 IGNsYXNzLiBUaGUgbGF0dGVyIHNob3VsZCBiYXNpY2FsbHkgYmVoYXZlIGxpa2UgYW4gSW50ZXJu YWxSZXNvdXJjZVZpZXcsIGJ1dCBhZGRpdGlvbmFsbHkgcmV0cmlldmUgdGhlIFdlYkFwcGxpY2F0 aW9uQ29udGV4dCdzIG1lc3NhZ2UgcmVzb3VyY2UgYnVuZGxlIGFuZCB0aGUgY3VycmVudCBsb2Nh bGUgKHZpYSBvdXIgbmV3bHkgcHJvcG9zZWQgTG9jYWxlUmVzb2x2ZXIpLCBhbmQgZXhwb3NlIHRo ZW0gYXMgYSBKU1RMIExvY2FsaXphdGlvbkNvbnRleHQuDQogDQpUaGVyZSdzIG9uZSBkcmF3YmFj azogU3ByaW5nJ3MgTWVzc2FnZVNvdXJjZSBpcyBhIGdlbmVyaWMgaW50ZXJmYWNlLCBhbmQgUmVz b3VyY2VCdW5kbGVNZXNzYWdlU291cmNlIGp1c3Qgb25lIGltcGxlbWVudGF0aW9uIG9mIGl0LiBK U1RMIGV4cGVjdHMgYSBSZXNvdXJjZUJ1bmRsZSwgYnV0IHdlIGRvbid0IHdhbnQgdG8gdGllIG91 ciBzdXBwb3J0IHRvIFJlc291cmNlQnVuZGxlTWVzc2FnZVNvdXJjZXMuIEZvcnR1bmF0ZWx5LCB0 aGlzIGlzIG5vdCBoYXJkIHRvIHNvbHZlOiBSZXNvdXJjZUJ1bmRsZSBpcyBhbiBhYnN0cmFjdCBj bGFzcywgcmVxdWlyaW5nIGFuICJPYmplY3QgaGFuZGxlR2V0T2JqZWN0KFN0cmluZyBrZXkpIiBp bXBsZW1lbnRhdGlvbi4gV2UgY2FuIGludHJvZHVjZSBhIE1lc3NhZ2VTb3VyY2VSZXNvdXJjZUJ1 bmRsZSBjbGFzcyAocHVuIGludGVuZGVkKSB0aGF0IGRlbGVnYXRlcyB0byAiTWVzc2FnZVNvdXJj ZS5nZXRNZXNzYWdlKFN0cmluZyBjb2RlLCBMb2NhbGUgbG9jYWxlKS4gQW4gaW5zdGFuY2Ugb2Yg aXQgY291bGQgYmUgY3JlYXRlZCBvbi10aGUtZmx5IGJ5IEpzdGxWaWV3LCB1c2luZyB0aGUgY3Vy cmVudCBsb2NhbGUuDQogDQpXaGF0IGRvIHlvdSB0aGluaywgd291bGQgc3VjaCBhIHNvbHV0aW9u IGJlIGFwcHJvcHJpYXRlPyBJZiB5ZXMsIHRoZW4gSSdtIGdvbm5hIGFkZCBpdCBwcm9tcHR5IGlu IHRoZSBjb3Vyc2Ugb2YgbXkgY3VycmVudCB3ZWIgcGFja2FnZSBwb2xpc2hpbmcuIEl0IGlzIHNp bXBsZSBidXQgbmV2ZXJ0aGVsZXNzIHZlcnkgY29udmVuaWVudCwgSU1ITy4NCiANCkp1ZXJnZW4N CiANCiANCg0KCS0tLS0tVXJzcHLDvG5nbGljaGUgTmFjaHJpY2h0LS0tLS0gDQoJVm9uOiBKUCBQ QVdMQUsoVGlzY2FsaSkgW21haWx0bzpqcC5wYXdsYWtAdGlzY2FsaS5mcl0gDQoJR2VzZW5kZXQ6 IEZyIDIxLjAyLjIwMDMgMDg6MDMgDQoJQW46IFNwcmluZyBEZXZlbG9wZXJzIChFLW1haWwpIA0K CUNjOiANCglCZXRyZWZmOiBUUiA6IFtTcHJpbmdmcmFtZXdvcmstZGV2ZWxvcGVyXSBFeHBsaWNp dCBsb2NhbGVzDQoJDQoJDQoNCglFbnZvecOpIDogamV1ZGkgMjAgZsOpdnJpZXIgMjAwMyAyMjo1 MA0KCcOAIDogJ1RyZXZvciBDb29rJw0KCU9iamV0IDogUkUgOiBbU3ByaW5nZnJhbWV3b3JrLWRl dmVsb3Blcl0gRXhwbGljaXQgbG9jYWxlcw0KDQoJIA0KDQoJSSB1c2UgYSBzb2x1dGlvbiBuZWFy IG9mIHlvdXJzIGJ1dCB3aXRoIGEgbW9yZSBnZW5lcmFsaXN0IGFwcHJvYWNoLiBUbyBrZWVwIHRo ZSB1c2VycyBsb2NhbGUsIGRpZmZlcmVudCBwb3NzaWJpbGl0aWVzIGV4aXN0OiBzZXNzaW9uLCBj b29raWUsIFVSTC4gQnV0IGVhY2ggc29sdXRpb24gY2FuIGJlIGhhbmRsZWQga25vd2luZyB0aGUg cmVxdWVzdCBvYmplY3QuIFNvIEkgdXNlIGEgYmVhbiBmb3IgaW1wbGVtZW50aW5nIHRoZSBlZmZl Y3RpdmUgc3RyYXRlZ3kgaW4gdGhlIHdheSBvZiB0aGUgZ2VuZXJhbCBzcGlyaXQgb2YgU3ByaW5n Lg0KDQoJIDEpIENyZWF0ZSBhIHNpbXBsZSBpbnRlcmZhY2UgbGlrZSB0aGlzOg0KDQoJcHVibGlj IGludGVyZmFjZSBMb2NhbGVMb2NhdG9yIHsNCg0KCSAgICAgIExvY2FsZSBnZXRTZXNzaW9uTG9j YWxlKEh0dHBTZXJ2bGV0UmVxdWVzdCByZXF1ZXN0KTsNCg0KCSAgICAgIHZvaWQgc2V0U2Vzc2lv bkxvY2FsZShIdHRwU2VydmxldFJlcXVlc3QgcmVxdWVzdCwgTG9jYWxlIHNlc3Npb25Mb2NhbGUp Ow0KDQoJfQ0KDQoJMikgQ3JlYXRlIGFuIGltcGxlbWVudGF0aW9uIGNsYXNzIHdoaWNoIGluIHlv dXIgY2FzZSBoYW5kbGVzIHdpdGggdGhlIGNvb2tpZXMsIGJ1dCB3aGljaCBjYW4gdXNlIHRoZSBz ZXNzaW9uIG9yIHdoYXQgbWV0aG9kIHlvdSBsaWtlLg0KDQoJMykgT3ZlcnJpZGluZyB0aGUgQ29u dHJvbGxlclNlcnZsZXQgdG8gdXNlIGEgTG9jYWxlTG9jYXRvciBwcm9wZXJ0eSB3aXRoIGF0IGxl YXN0IHRoZSBzZXR0ZXIsIHNvIHRoZSBpbXBsZW1lbnRhdGlvbiBjbGFzcyBjYW4gYmUgZG9uZSBp biB0aGUgc2VydmxldC1jb25maWd1cmF0aW9uIGZpbGUuDQoNCgkgICAgICA8YmVhbiBuYW1lPSJs b2NhbGVMb2NhdG9yIiBzaW5nbGV0b249InRydWUiIGNsYXNzPSJwZXJzby5qcHAuZndrLndlYi5M b2NhbGVMb2NhdG9ySW1wbCIgLz4gICAgDQoNCgkgICAgICA8YmVhbiBuYW1lPSJqc3RsSGFuZGxl ciIgc2luZ2xldG9uPSJ0cnVlIiBjbGFzcz0icGVyc28uanBwLmZ3ay53ZWIuSnN0bEhhbmRsZXJJ bXBsIiA+ICAgICAgDQoNCgkgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0iYnVuZGxlTmFtZSI+ YWNoYXBwcm88L3Byb3BlcnR5Pg0KDQoJICAgICAgPC9iZWFuPg0KDQoJIA0KDQoJY29kZSBhZGRl ZCBpbiBkZWNsYXJhdGlvbiBwYXJ0Og0KDQoJICAgICAgLy8gQWRkZWQgYnkgSlBQDQoNCgkgICAg ICAvKiogVGhlIGJlYW4gbmFtZSBhbGxvd2luZyB0aGUgdXNlciBzZXNzaW9uIGxvY2FsZSB0byBi ZSByZXRyaWV2ZWQgKi8gDQoNCgkgICAgICBwdWJsaWMgc3RhdGljIGZpbmFsIFN0cmluZyBMT0NB TEVfTE9DQVRPUiA9ICJsb2NhbGVMb2NhdG9yIjsNCg0KCSANCg0KCSAgICAgIC8qKiBUaGUgYmVh biBuYW1lIGFsbG93aW5nIHRoZSBqc3RsIHJlc3NvdWVjZSBidW5kbGUgdG8gYmUgc2V0ICovIA0K DQoJICAgICAgcHVibGljIHN0YXRpYyBmaW5hbCBTdHJpbmcgSlNUTF9IQU5ETEVSID0gImpzdGxI YW5kbGVyIjsNCg0KCSANCg0KCSAgICAgIC8qKiBMb2NhbGVMb2NhdG9yIHVzZWQgYnkgdGhpcyBz ZXJ2bGV0DQoNCgkgICAgICAgKiBJZiBub3QgcHJvdmlkZWQsIHJlcXVlc3QuZ2V0TG9jYWxlKCkg d2lsbCBiZSB1c2VkIGluc3RlYWQgKi8gIA0KDQoJICAgICAgcHJpdmF0ZSBMb2NhbGVMb2NhdG9y IGxvY2FsZUxvY2F0b3I7DQoNCgkgICAgICAvLyBFbmQgYWRkZWQNCg0KCSANCg0KCSANCg0KCWNv ZGUgYWRkZWQgaW4gQ29udHJvbGxlclNlcnZsZXQgKG9yIGRlc2NlbmRlbnQpIGF0IGVuZCBvZiBp bml0RnJhbWV3b3JrU2VydmxldCA6DQoNCgkgICAgICAgICAgICBpbml0Vmlld1Jlc29sdmVyKCk7 DQoNCgkgICAgICAgICAgICANCg0KCSAgICAgICAgICAgIC8vIEFkZGVkIGJ5IEpQUA0KDQoJICAg ICAgICAgICAgdHJ5IHsNCg0KCSAgICAgICAgICAgICAgICAgIGxvY2FsZUxvY2F0b3IgPSAoTG9j YWxlTG9jYXRvcikNCg0KCSAgICAgICAgICAgICAgICAgICAgICAgIGdldFdlYkFwcGxpY2F0aW9u Q29udGV4dCgpLmdldEJlYW4oTE9DQUxFX0xPQ0FUT1IpOyANCg0KCSAgICAgICAgICAgICAgICAg IGxvZ2dlci5jb25maWcoImxvY2FsZUxvY2F0b3IgZm91bmQgaW4gc2VydmxldCAnIiArIGdldFNl cnZsZXROYW1lKCkgDQoNCgkgICAgICAgICAgICAgICAgICAgICAgICArICInIDogIiArIGxvY2Fs ZUxvY2F0b3IuZ2V0Q2xhc3MoKS5nZXROYW1lKCkpOw0KDQoJICAgICAgICAgICAgfSBjYXRjaChF eGNlcHRpb24gZSkgew0KDQoJICAgICAgICAgICAgICAgICAgbG9jYWxlTG9jYXRvciA9IG51bGw7 ICAgLy8gTm90IHJlcXVpcmVkIGFzIGl0IHNob3VsZCB5ZXQgYmVlbiBudWxsDQoNCgkgICAgICAg ICAgICAgICAgICBsb2dnZXIuY29uZmlnKCJObyBsb2NhbGVMb2NhdG9yIGZvdW5kIGluIHNlcnZs ZXQgJyIgKyBnZXRTZXJ2bGV0TmFtZSgpICsgIicsIHJlcXVlc3QgTG9jYWxlIHdpbGwgYmUgdXNl ZC4iKTsNCg0KCSAgICAgICAgICAgIH0NCg0KCSAgICAgICAgICAgIC8vIEpzdGwgaGFuZGxpbmcN Cg0KCSAgICAgICAgICAgIC8vIFB1dCBvbmx5IGluIGEgc3ViY2xhc3MgPyBCdXQgSnN0bCBpcyBh Z2VuZXJpYyB1c2UNCg0KCSAgICAgICAgICAgIC8vIFRoZSBBcHBsaWNhdGlvbkNvbnRleHRBd2Fy ZSBkb2Vzbid0IHByb3ZpZGUgYW4gYWNjZXNzIHRvIHRoZSBzZXJ2bGV0Q29udGV4dA0KDQoJICAg ICAgICAgICAgLy8gSXQncyB0aGUgcmVhc29uIG9mIGFuIGluaXRpYWxpc2F0aW9uIGhlcmUuIEV4 aXN0cyBhIGJlc3QgYXBwcm9hY2ggPw0KDQoJICAgICAgICAgICAgdHJ5IHsNCg0KCSAgICAgICAg ICAgICAgICAgIEpzdGxIYW5kbGVyIGpzdGxIYW5kbGVyID0gKEpzdGxIYW5kbGVyKSAgDQoNCgkg ICAgICAgICAgICAgICAgICAgICAgICBnZXRXZWJBcHBsaWNhdGlvbkNvbnRleHQoKS5nZXRCZWFu KEpTVExfSEFORExFUik7IA0KDQoJICAgICAgICAgICAgICAgICAganN0bEhhbmRsZXIuc2V0U2Vy dmxldEN0eCh0aGlzLmdldFNlcnZsZXRDb250ZXh0KCkpOw0KDQoJICAgICAgICAgICAgICAgICAg bG9nZ2VyLmNvbmZpZygianN0bEhhbmRsZXIgZm91bmQgaW4gc2VydmxldCAnIiArIGdldFNlcnZs ZXROYW1lKCkgDQoNCgkgICAgICAgICAgICAgICAgICAgICAgICArICInIDogIiArIGpzdGxIYW5k bGVyLmdldENsYXNzKCkuZ2V0TmFtZSgpKTsNCg0KCSAgICAgICAgICAgIH0gY2F0Y2goRXhjZXB0 aW9uIGUpIHsNCg0KCSAgICAgICAgICAgICAgICAgIGxvZ2dlci5jb25maWcoIk5vIGpzdGxIYW5k bGVyIGZvdW5kIGluIHNlcnZsZXQgJyIgKyBnZXRTZXJ2bGV0TmFtZSgpKTsNCg0KCSAgICAgICAg ICAgIH0NCg0KCSAgICAgICAgICAgIA0KDQoJICAgICAgICAgICAgLy8gRW5kIGFkZGVkDQoNCgkg DQoNCgk0KSBBcyB5b3UgY2FuIHNlZSwgSSBoYW5kbGUgSSBhIHNhbWUgd2F5IHRoZSBkZWZpbml0 aW9uIG9mIGxvY2FsZSBhbmQgYnVuZGxlIGZvciBKU1RMLg0KDQoJNSkgVGhlIExvY2FsZUxvY2F0 b3IgY2FuIGJlIGRvbmF0ZWQgYnkgYmVhbnJlZiBwcm9wZXJ0eSB0byBvYmplY3RzIHdoaWNoIGhh dmUgdG8ga25vdyB0aGUgY3VycmVudCBsb2NhbGUgaGF2aW5nIHRoZSByZXF1ZXN0IG9iamVjdC4N Cg0KCSANCg0KCUkgaG9wZSB0aGlzIHdpbGwgYmUgYSB1c2VmdWwgYWRkLW9uIGluIHRoaXMgZGlz Y3Vzc2lvbi4gSSBzdWdnZXN0IHRvIGludGVncmF0ZSBhIHN1Y2ggYmVoYXZpb3VyIGluIHRoZSBv cmlnaW5hbCBDb250cm9sbGVyU2VydmxldCBhcyB0aGVzIG5lZWRzIGFyZSB2ZXJ5IGdlbmVyYWxs eS4NCg0KCSANCg0KCVJlZ2FyZHMsDQoNCglKZWFuLVBpZXJyZQ0KDQoJIA0KDQoNCi0tLQ0KT3V0 Z29pbmcgbWFpbCBpcyBjZXJ0aWZpZWQgVmlydXMgRnJlZS4NCkNoZWNrZWQgYnkgQVZHIGFudGkt dmlydXMgc3lzdGVtIChodHRwOi8vd3d3LmdyaXNvZnQuY29tKS4NClZlcnNpb246IDYuMC40NTYg LyBWaXJ1cyBEYXRhYmFzZTogMjU2IC0gUmVsZWFzZSBEYXRlOiAyLzE4LzAzDQoNCg0K |