[Memcacheddotnet-devel] Re: Memcached 1.0
Status: Beta
Brought to you by:
timiscool999
From: Maxim M. <mm...@um...> - 2006-01-16 23:54:23
|
SGkgVGltLCBJIGdvdCB5b3VyIG1lc3NhZ2UgKG9uIG15IHBob25lIHRob3VnaCkuIFlvdSdyZSBw cm9iYWJseSBhdCB3b3JrCm5vdy4uIERvIHlvdSBoYXZlIGFpbSBhY2Nlc3MgdGhlcmU/IElmIHNv LCBzaWduIG9uISA6KQoKV2hpbGUgdHJ5aW5nIHRvIGdldCBsb2dnaW5nIHRvIHdvcmssIEkgdGhp bmsgSSBmb3VuZCBhbm90aGVyIGJ1Zy4uIFdlJ3JlCmdldHRpbmcgdHlwZSBjYXN0IGV4Y2VwdGlv bnMgaW4gdGhlIHNlbGZNYWludCgpIG1ldGhvZCBhcyB3ZSBsb29rIHVwIHRoZQpleHBpcmF0aW9u IHRpbWUuIFRpbWVzcGFuLlRvdGFsbWlsbGlzZWNvbmRzIHJldHVybnMgYSBkb3VibGUgcmF0aGVy IHRoYW4gYQpsb25nLiBPbmUgd2F5IHRvIGNvcnJlY3QgdGhpcyBpcyB0byBzaW1wbHkgdXNlIHRo ZSBEYXRlVGltZS5Ob3cgb2JqZWN0IGFzCnRoZSB2YWx1ZSBvZiB0aGUgc29ja2V0IHRpbWVvdXQg dnMgY29udmVydGluZyBpdCB0byBhIGxvbmcvZG91YmxlLiBUaGlzIHdpbGwKbWFrZSB0aGUgY29k ZSBhIGxpdHRsZSBiaXQgbW9yZSByZWFkYWJsZSBhbmQgc2hvdWxkbid0IGJlIGEgcGVyZm9ybWFu Y2UgaGl0CihpdCdzIGEgdmFsdWUgdHlwZSBhbnl3YXkgdGhhdCBpcyBqdXN0IGhvbGRpbmcgIyBv ZiB0aWNrcykuCgpJJ20gbm90IGNlcnRhaW4gd2hhdCB0aGUgZXh0ZW50IG9mIHRoaXMgYnVnIGlz IGFuZCB3aGF0IHRoZSBzeW1wdG9tcyBhcmUgYnV0CnNlbWluZ2x5LCB0aGUgcmVzdWx0IGlzIHRo YXQgc29ja2V0cyBhcmVuJ3QgY2xvc2luZyB3aGVuIHRoZXkgc2hvdWxkIGJlCnNpbmNlIHRoZSBl eGNlcHRpb24gYnJlYWtzIGl0IG91dCBvZiB0aGUgbG9vcCBpbW1lZGlhdGVseS4KCkFsc28sIGRv ZXMgbG9nZ2luZyBmb3IgeW91ciBzaW1wbGUgYmVuY2htYXJrIHByb2plY3Qgd29yayBmb3IgeW91 PyBJJ20gbm90CnN1cmUgd2h5IGJ1dCBJIGNhbnQgZ2V0IGFueSBsb2dnaW5nIHdoYXRzb2V2ZXIu IEkndmUgbW9zdGx5IHVzZWQgbmxvZyBhbmQKbmV2ZXIgbG9nNG5ldCBidXQgaSd2ZSB0cmllZCBh IGZldyBkaWZmZXJlbnQgYXBwLmNvbmZpZyBleGFtcGxlcyBhbmQgc3RpbGwKbm8gbHVjay4gQW55 IGlkZWFzPwoKTWF4CgpPbiAxLzEzLzA2LCBUaW0gR2ViaGFyZHQgPHRpbUBnZWJoYXJkdGNvbXB1 dGluZy5jb20+IHdyb3RlOgo+Cj4gIFllcywgSSBub3RpY2VkIHRoZSBleGNlcHRpb25zIGFzIHdl bGwuICBJJ3ZlIGJyb2FkbHkgbmFycm93ZWQgKIU/KSBpdAo+IGRvd24gdG8gdGhlIFRDUCBjb25u ZWN0aW9ucyB0aW1pbmcgb3V0LiAgSSB3b3VsZCByZWFsbHkgbGlrZSB0byBzcXVhc2ggdGhhdAo+ IGlmIEkgY291bGQuCj4KPgo+Cj4gQXMgdGltZSBmcmVlcyB1cCBoZXJlIGFyZSBteSB0aHJlZSBk ZXZlbG9wbWVudCB0YXNrcyB0aGF0IEkgd291bGQgbGlrZSB0bwo+IHRhY2tsZToKPgo+Cj4KPiAt Q2xlYW4gdXAgdGhlIEFQSSAodGhlIGxvbmdlciBpdCBnb2VzIG9uIGxpa2UgdGhpcyB0aGUgbW9y ZSBvZiBhIHBhaW4gaXQKPiB3aWxsIGJlIHRvIGNoYW5nZSBsYXRlcikKPgo+IC1GaXggdGhvc2Ug ZXhjZXB0aW9ucyB0aGF0IG9jY3VyIHdoZW4gdGhlIHNvY2tldHMgdGltZSBvdXQKPgo+IC1NYWtl IGFuIEFwcC5jb25maWcgc2VjdGlvbiBoYW5kbGVyIHNvIHdlIGNhbiBjb25maWd1cmUgYWxsIG9m IHRoZSBvcHRpb25zCj4gZm9yIHRoZSBjbGllbnQgQVBJIGluIHRoZSBBcHAgb3IgV2ViLmNvbmZp ZyBmaWxlIChJIGp1c3QgdGhvdWdodCBvZiB0aGlzCj4gb25lIHRvZGF5KS4KPgo+Cj4KPgo+Cj4g QW5kIHdvdyB0aGF0J3MgcXVpdGUgYSBzZXR1cCB5b3UgaGF2ZSB0aGVyZS4gIE91cnMgaXNuJ3Qg cXVpdGUgYXMgYmlnIGFzCj4gdGhhdCByaWdodCBub3csIGJ1dCB0aGVyZSBpcyBhIGdvb2QgcG9z c2liaWxpdHkgdGhhdCB3ZSdsbCBuZWVkIHRvIHNjYWxlIG91dAo+IHRoYXQgYmlnIHNvIHdlJ3Jl IHBsYW5uaW5nIGFoZWFkIEouCj4KPgo+Cj4gQXMgZm9yIGFuIGV4cGxhbmF0aW9uIG9uIGhvdyB0 aGUgY2xpZW50IGhhbmRsZXMgZmFpbG92ZXI6Cj4KPgo+Cj4gVGhlIHNvY2tldCBwb29sIGtlZXBz IHBlcnNpc3RlbnQgY29ubmVjdGlvbnMgdG8gZWFjaCBvZiB0aGUgbWVtY2FjaGVkCj4gc2VydmVy cy4gIFdoZW4gdGhlIGNsaWVudCBsb3NlcyBhIGNvbm5lY3Rpb24gdG8gb25lIGl0IHRyaWVzIHRv IHJlY29ubmVjdAo+IGFmdGVyIHRoZSByZWNvbm5lY3QgdGltZW91dC4gIElmIGl0IGRvZXNuJ3Qg Y29ubmVjdCwgaXQgZG91YmxlcyB0aGUgdGltZW91dAo+IGFuZCB0cmllcyBhZ2Fpbi4gIEl0IGtl ZXBzIGRvdWJsaW5nIHRoZSB0aW1lb3V0IGV2ZXJ5dGltZSBpdCBmYWlscyB0bwo+IGNvbm5lY3Qu ICBJZiBpdCBldmVyIHJlY29ubmVjdHMgdGhlIHRpbWVvdXQgbGVuZ3RoIGlzIHJlc2V0LiAgVGhp cyB3b3Jrcwo+IHJlYWxseSB3ZWxsIGJlY2F1c2UgaWYgdGhlcmUgaXMgYSBzbGlnaHQgbmV0d29y ayAiaGljY3VwIiB5b3UnbGwgcmVjb25uZWN0Cj4gdmVyeSBxdWlja2x5LCBidXQgaWYgdGhlIG5v ZGUgZ29lcyBkb3duIGZvciBhIHZlcnkgbG9uZyB0aW1lIHRoZSBjbGllbnQKPiBxdWlja2x5IGln bm9yZXMgaXQuICBUaGUgZmFpbG92ZXIgY29kZSBjb3VsZCB1c2UgYSBsaXR0bGUgbW9yZSB3b3Jr IGFuZCBpdCdzCj4gYWxsIHJlbGF0ZWQgdG8gdGhvc2UgZXhjZXB0aW9ucy4gIFRoZXJlIGlzbid0 IHJlYWxseSBhbnkgInJlZHVuZGFuY3kiLCBvbmx5Cj4gZmFpbG92ZXIuICBCdXQgdGhlIGZhaWxv dmVyIHByb2Nlc3Mgd29ya3MgcHJldHR5IHdlbGwgYW5kIGl0J3MgaG93IHRoZSBvdGhlcgo+IGNs aWVudHMgSSBsb29rZWQgYXQgaGFuZGxlIGl0Lgo+Cj4KPgo+IEFyZSB5b3UgZmFtaWxpYXIgd2l0 aCBob3cgbWVtY2FjaGVkIHdvcmtzPyAgSXQncyByZWFsbHkganVzdCBhIGhhc2h0YWJsZQo+IG9m IGhhc2h0YWJsZXMuICBUaGUgZmlyc3QgbGV2ZWwgb2YgaGFzaGluZyBkZWNpZGVzICJ3aGF0IHNl cnZlciBkb2VzIHRoaXMgZ28KPiBvbj8iIHRoZW4gdGhlIG5leHQgbGV2ZWwgb2YgaGFzaGluZyBo YXBwZW5zIG9uIHRoZSBzZXJ2ZXIgYW5kIGl0IHNheXMgIndoZXJlCj4gZG9lcyB0aGlzIGl0ZW0g Z28gaW4gbXkgaGFzaHRhYmxlPyIgIFNpbmNlIGFsbCB0aGUgY2xpZW50cyB1c2UgdGhlIHNhbWUK PiBoYXNoaW5nIGFsZ29yaXRobSB0aGV5IGFsbCBlbmQgdXAgY29taW5nIHVwIHdpdGggdGhlIHNh bWUgdmFsdWVzLiAgVGhhdCdzCj4gb25lIHRoaW5nIEkgaGFkIHRvIGV4cGxhaW4gdG8gc29tZSBv ZiB0aGUgZGV2cyBvbiBteSB0ZWFtLiAgSXQncyBvbmx5IGEKPiBjYWNoZSwgaXQncyBub3QgYSBw ZXJzaXN0ZW50IHN0b3JlLiAgSWYgb25lIG9mIHRoZSBub2RlcyBnb2VzIGRvd24sIHRoZXJlCj4g d2lsbCBiZSBhIHNtYWxsIGhpY2N1cCBpbiBvdXIgd2ViIGFwcGxpY2F0aW9uIGJlY2F1c2UgbW9z dCBvZiB0aGUgc3R1ZmYgd2lsbAo+IGhhdmUgdG8gYmUgcmUtY2FjaGVkLgo+Cj4KPgo+IFVuZm9y dHVuYXRlbHkgSSBoYXZlbid0IGhhZCB0aW1lIHRvIHR1bmUgYW5kIHBlcmZvcm1hbmNlIHRlc3Qg b3VyIGNhY2hlCj4geWV0LCBzbyB3ZSdyZSBqdXN0IHVzaW5nIHRoZSBkZWZhdWx0IHZhbHVlcyBy aWdodCBub3cgZm9yIG91ciBsaW1pdGVkIGJldGEKPiB0ZXN0IG9mIG91ciBzeXN0ZW0uICBXZSdy ZSBhIHByZXR0eSBzbWFsbCBkZXZlbG9wbWVudCBzaG9wIGFuZCBJJ20gcHJldHR5Cj4gcHJlc3Nl ZCBmb3IgdGltZSBqdXN0IHRyeWluZyB0byBhZGQgZmVhdHVyZXMgYW5kIHNxdWFzaCBidWdzIGlu IHRoZQo+IGFwcGxpY2F0aW9uLiAgVW5mb3J0dW5hdGVseSB0aGUgdXNlcnMgY2FuJ3Qgc2VlIGhv dyBjb29sIG1lbWNhY2hlZCBpcywgdGhleQo+IG9ubHkgc2VlIGhvdyBjb29sIHRoZSBpbnRlcmZh Y2UgZm9yIG91ciBhcHBsaWNhdGlvbiBsb29rcyBhbmQgdGhhdCBnZXRzCj4gcHJpb3JpdHkuCj4K Pgo+Cj4gSSdtIGNvcHlpbmcgdGhpcyBlbWFpbCB0byB0aGUgZGV2ZWxvcGVyIG1haWxpbmcgbGlz dC4gIEknbGwgSU0geW91IG15IEFJTQo+IHNjcmVlbm5hbWUuCj4KPgo+Cj4KPgo+IEhhdmUgYSBn cmVhdCB3ZWVrZW5kIGFuZCBkcmluayB1cCEKPgo+Cj4KPiAtVGltCj4KPgo+Cj4KPgo+ICogKgo+ Cj4gKlRoaXMgc291bmRzIGdyZWF0LiBJdCdzICdhbHBoYScgYnV0IGl0J3Mgd29ya2luZyBncmVh dCBmb3IgdXMgc28gZmFyLgo+IFdlJ3ZlIGJlZW4gc3RhYmxlIHdpdGggb3VyIHBhdGNoZWQgY2xp ZW50IGZvciBhIGZldyBkYXlzIG5vdyBydW5uaW5nIG9uIDI1Kwo+IHdlYiBzZXJ2ZXJzIHdpdGgg MTAgbWVtY2FjaGUgYm94ZXMgd2l0aCBqdXN0IGEgc21hbGwgaGFuZGZ1bCBvZiB1bmhhbmRsZWQK PiBleGNlcHRpb25zLgo+Cj4gSSd2ZSByZWNlbnRseSByZWltYWdlZCBvdXQgbWFjaGluZXMgZnJv bSAyLjQga2VybmVsIHRvIGFuIHNtcCAyLjYga2VybmVsLgo+IExvYWQgb24gZWFjaCBib3ggd2Vu dCBmcm9tIH44NSUgdG8gbGVzcyB0aGFuIDUlICEgIFRoaXMgd2FzIGV4dHJlbWVseQo+IGVuY291 cmFnaW5nIGFuZCBwYXZlcyB0aGUgd2F5IHRvIG1vcmUgZXh0ZW5zaXZlIHVzZSBvZiBtZW1jYWNo ZSB0aHJvdWdob3V0Cj4gb3VyIHNpdGUuCj4KPiBHbyBhaGVhZCBhbmQgcG9zdCB0aGUgYnVncyBh bmQgZW1haWxzLS1Bbnl0aGluZyB0aGF0IGdldHMgbW9yZSBwZW9wbGUgdG8KPiBkb3dubG9hZCB0 aGUgbGlicmFyeSBhbmQgZ2V0IG1vcmUgZXllcyBvbiB0aGUgY29kZSB3b3VsZCBiZSBncmVhdC4K Pgo+IEknZCBsaWtlIHRvIGdhaW4gYSBiaXQgbW9yZSBpbnNpZ2h0IGludG8gc29tZSBhc3BlY3Rz IG9mIHRoZSBjbGllbnQuLiBPbmUKPiBxdWVzdGlvbiBJIGdldCBmcmVxdWVudGx5IGlzIGFib3V0 IHJlZHVuZGFuY3kuIEZyb20gbG9va2luZyBhdCB0aGUgY29kZSwgaXQKPiBzZWVtcyBsaWtlIGlm IGEgbm9kZSBnb2VzIGRvd24gdGhlbiBpdCdzIG1hcmtlZCBhcyBkb3duIGFuZCB0aGUgbmV4dCBz ZXJ2ZXIKPiBvbiB0aGUgbGlzdCBpcyB1c2VkIGluc3RlYWQuIFNpbmNlIGV2ZXJ5IGNsaWVudCBw ZXJmb3JtcyB0aGUgc2FtZSBjaGVjayBhbmQKPiBnb2VzIG9uIHRvIHRoZSBzYW1lIG5leHQgc2Vy dmVyLCB0aGVyZSdzIGJhcmVseSBhIHBlcmZvcm1hbmNlIGhpdC4gVGhlbiB0aGUKPiBzZXJ2ZXIg aXMgY2hlY2tlZCBwZXJpb2RpY2FsbHkgKGF0IGluY3JlYXNpbmcgdGltZSBpbnRlcnZhbHM/KSB1 bnRpbCBpdAo+IGNvbWVzIGJhY2sgdXAuICBJcyB0aGlzIGFib3V0IHJpZ2h0PyBDYW4geW91IGRl c2NyaWJlIHRoaXMgcHJvY2VzcyBhbnkKPiBmdXJ0aGVyPyBEbyB5b3UgaGF2ZSBzb21lIGlkZWFz IG9mIGltcHJvdmluZyBpdD8KPgo+IFdoYXQgZG8geW91IHRoaW5rIGlzIGEgZ29vZCB2YWx1ZSB0 byB1c2UgZm9yIG1heCBpZGxlIGNvbm5lY3Rpb25zPyBJCj4gY3VycmVudGx5IGhhdmUgcm91Z2hs eSAyMDAwIHNpbXVsdGFuZW91cyBjb25uZWN0aW9ucyB0byBlYWNoIG1lbWNhY2hlIG5vZGUKPiBh bmQgaSdtIHByZXR0eSBzdXJlIHRoYXQgbW9zdCBvZiB0aGVzZSBhcmUgaWRsZSBzb2NrZXRzIGlu IGNsaWVudAo+IHBvb2xzLS10aG91Z2ggaSdtIG5vdCBjZXJ0YWluIGhvdyBtYW55IGFyZSBhY3R1 YWxseSB1c2VkLiBJdCdkIGJlIGNvb2wgdG8gYmUKPiBhYmxlIHRvIHNlZSB2YXJpb3VzIGNsaWVu dCBzdGF0cyB0byBnZXQgbW9yZSB0cmFuc3BhcmVuY3kgaW50byB0aGluZ3MuIEkKPiB0aGluayB0 aGUgcGVybCBjbGllbnQgZG9lcyBzb21ldGhpbmcgbGlrZSBpdCBhbHJlYWR5LiBJIGNvdWxkIHRh a2UgYSBsb29rIGF0Cj4gdGhpcyBjbG9zZXIgbmV4dCB3ZWVrIGFuZCBnZXQgc29tZSBtb3JlIGNv bmNyZXRlIGlkZWFzIHRvZ2V0aGVyLgo+Cj4gVGhpcyBlbWFpbCBpcyBnZXR0aW5nIGxvbmcuLi4g YXJlIHlvdSBvbiBhaW0gb3IgYW55IGltPyBpJ20gKioqKiBvbiBhaW0gb3IKPiBtc246ICoqKioK Pgo+IGdvbm5hIGdvIG91dCBkcmlua2luZy4uIHR0eWwhIDopCj4KPiBNYXgqCj4KPiAqICoKPgo+ ICogKgo+Cj4gKiAqCj4KPiAqTWF4LCoKPgo+ICogKgo+Cj4gKkkgbWFkZSB0aGUgY2hhbmdlcyB0 byB0aGUgbGlicmFyeSBhbmQgcmUtdXBsb2FkZWQgdGhlIGJpbmFyaWVzLiAgSSBhbHNvCj4gaGF2 ZSB0d28gc2V0cyBvZiBwcm9qZWN0L3NvbHV0aW9ucywgb25lIGZvciBWUy5ORVQgMjAwMyBhbmQg Lk5FVCAxLjEgYW5kCj4gb25lIGZvciBWUy5ORVQgMjAwNSBhbmQgLk5FVCAyLjAuICBUaGV5IGJv dGggcnVuIG9mZiB0aGUgZXhhY3Qgc2FtZSBzb3VyY2UKPiBmaWxlcyAoYWx0aG91Z2ggSSB0aGlu ayBJIG1heSBtYWtlIHRoZSAyLjAgdmVyc2lvbiB3b3JrIHdpdGggdGhlIG5hdGl2ZQo+IEdaSVAg c3R1ZmYgbmV3IGluIHRoZSAyLjAgZnJhbWV3b3JrIGF0IHNvbWUgcG9pbnQpLioKPgo+ICogKgo+ Cj4gKktlZXAgaW4gbWluZCB0aG91Z2ggdGhhdCB0ZWNobmljYWxseSB0aGUgcHJvamVjdCBpcyBz dGlsbCBpbiBhbHBoYS4KPiBNYWlubHkgYmVjYXVzZSB0aGUgQVBJIGlzbid0IHZlcnkgY2xlYW4u ICBJIHdvdWxkIGxpa2UgdG8gY2xlYW4gaXQgdXAgdG8KPiBhZGhlcmUgbW9yZSB0byB0aGUgLk5F VCBjb2Rpbmcgc3RhbmRhcmRzLiAgSXQgd291bGQgYmUgcHJldHR5IGVhc3kgdG8gY2hhbmdlCj4g YW55IGNvZGUgKG1vc3RseSBqdXN0IGdvaW5nIGZyb20gbG93ZXJjYXNlIHN0dWZmIHRvIHVwcGVy Y2FzZSBhbmQgc21hbGwKPiBzdHVmZiBsaWtlIHRoYXQpLCBidXQgSSdsbCBtYWtlIHN1cmUgdG8g cHV0IGFueSBjaGFuZ2VzIGluIHRoZSBjaGFuZ2Vsb2cuKgo+Cj4gKiAqCj4KPiAqICoKPgo+ICot VGltKgo+Cj4gKiAqCj4KPiAqcC5zLiAgV291bGQgeW91IG1pbmQgaWYgSSBjb3BpZWQgdGhpcyBt ZXNzYWdlIHRvIHRoZSBkZXZlbG9wbWVudCBtYWlsaW5nCj4gbGlzdCBmb3IgdGhlIHByb2plY3Qg c28gdGhhdCBpdCBsb29rcyBsaWtlIHRoZXJlIGlzIHNvbWUgYWN0aXZpdHk/ICBJdCBtaWdodAo+ IGhlbHAgdXMgb3V0IGlmIHNvbWUgb3RoZXIgcGVvcGxlIGhhdmUgYW4gaW5kaWNhdGlvbiB0aGF0 IHNvbWV0aGluZyBpcyBnb2luZwo+IG9uIHdpdGggdGhpcyBwcm9qZWN0LioKPgo+ICogKgo+Cj4g KiAqCj4KPiAqSSdsbCBzZWUgaWYgaSBjYW4gc2VuZCBkaWZmJ3MgbGF0ZXIgb24gd2hlbiBpIGhh dmUgYSBjaGFuY2UgYnV0IHRoZSBmaXJzdAo+IGJ1ZyBJIGNoYW5nZWQgdGhlIHNsZWVwcyB0byB0 aGlzOgo+IFRocmVhZC5TbGVlcCgoaW50KWludGVydmFsKTsKPiBhbmQKPiBUaHJlYWQuU2xlZXAo KGludClpbnRlcnZhbCAqIDEwICkgaW4gdGhlIGNhdGNoCj4KPiBhbmQgdGhlIHdoaWxlIGxvb3Ag Y2hhbmdlZCB0byB0aGlzCj4KPiB3aGlsZSAoKGNvdW50ID0gZ3ppLlJlYWQodG1wLCAwLCAyMDQ4 KSkgIT0gMCkKPiBwbGVhc2UgY29uZmlybSB0aGF0IC0xIHJlYWxseSBpcyBuZXZlciByZXR1cm5l ZCB0aG91Z2ggKG9yIHdoeSBpdCB3b3VsZAo+IGJlKSBidXQgd2UndmUgaGFkIG5vIHByb2JzIHNv IGZhci4KPgo+IFJlZ2FyZGluZyAyLjAsIHdlIGFyZSB1c2luZyBpdCBmb3Igc29tZSBwcm9qZWN0 cyBidXQgbm90IGZvciB0aG9zZSB1c2luZwo+IHRoaXMgY2xpZW50IHNvIGl0J2QgYmUgZ3JlYXQg aWYgeW91IGNhbiBtYWludGFpbiB0d28gYnJhbmNoZXMgaWYgeW91IHN0YXJ0Cj4gdXNpbmcgMi4w LW9ubHkgc3R1ZmYuCj4KPiBXZSdyZSB1c2luZyB0aGlzIHByZXR0eSBoZWF2aWx5IGF0IHRoaXMg cG9pbnQgYW5kIEknbGwgYmUgc3VyZSB0byBsZXQgeW91Cj4ga25vdyBhcyBzb29uIGFzIHdlIGZp bmQgbmV3IGlzc3Vlcy4KPgo+IE1heCoKPgo+ICogKgo+Cj4gKjoqCj4KPiAqSGkgTWF4LCoKPgo+ ICogKgo+Cj4gKkhleSB0aGFua3MgZm9yIHRoZSBleHRyYSBzZXQgb2YgZXllcy4gIFllcywgdGhl IG5hbm9zZWNvbmRzIHN0dWZmIGNhdXNlZAo+IGEgbG90IG9mIHNtYWxsIGxpdHRsZSBlcnJvcnMg d2hlbiBJIHdhcyBwb3J0aW5nIGl0IGZyb20gSmF2YSAod2hpY2ggdXNlcwo+IG1pbGxpc2Vjb25k cykuICAqCj4KPiAqICoKPgo+ICpJZiB5b3UgbWFkZSBhbnkgY2hhbmdlcywgd291bGQgaXQgYmUg cG9zc2libGUgdG8gc2VuZCBtZSBhIGRpZmYgb2YgeW91cgo+IHByb2plY3Q/ICBJIGNvdWxkIGlu Y29ycG9yYXRlIHRoZW0gKGFuZCBnaXZlIHlvdSBjcmVkaXQpIGFuZCByZXBvc3QgdGhlCj4gcHJv amVjdC4qCj4KPiAqICoKPgo+ICpPbiBhbm90aGVyIG5vdGUsIGFyZSB5b3UgdXNpbmcgLk5FVCAx LjEgb3IgMi4wPyAgT25lIHRoaW5nIEkgd291bGQgbGlrZQo+IHRvIGRvIGlzIG1vdmUgdGhlIHBy b2plY3QgdG8gLk5FVCAyLjAgYmVjYXVzZSB0aGUgbGlicmFyeSBwZXJmb3JtcyBzbyBtdWNoCj4g ZmFzdGVyIChJIHRoaW5rIHNlcmlhbGl6YXRpb24gaW4gLk5FVCAyLjAgaGFzIGJlZW4gbXVjaCBp bXByb3ZlZCkuICBJZgo+IG5vdCwgSSdsbCBtYWtlIHN1cmUgdG8ga2VlcCBib3RoIHByb2plY3Qg ZmlsZXMgYXJvdW5kIGFuZCBidWlsZCBpdCBmb3IgYm90aAo+IGZyYW1ld29ya3MuKgo+Cj4gKiAq Cj4KPiAqICoKPgo+ICotVGltKgo+Cj4gKiAqCj4KPiAqICoKPgo+ICpIaSBUaW0sIGdyZWF0IHdv cmsgd2l0aCB0aGUgbWVtY2FjaGVkIGMjIGNsaWVudCAtLSBiZWVuIHVzaW5nIGl0IG92ZXIKPiBo ZXJlIGluIHByb2R1Y3Rpb24gd2l0aCBhIGxvdCBvZiBnb29kIHJlc3VsdHMuIEkndmUgaGFkIHRv IG1vZGlmeSB0aGUgY2xpZW50Cj4gc28gZmFyIGluIGEgY291cGxlIHdheXMgdG8gbWFrZSBpdCB3 b3JrIGFuZCB3YW50ZWQgdG8gbGV0IHlvdSBrbm93IHNvIHlvdQo+IGNvdWxkIGNvbnNpZGVyIGZp eGluZyBpdC4KPgo+IEluIFNvY2tJT1Bvb2wuTWFpbnRhaW4oKTogd2hlbiB5b3UgcGFzcyBhIHRp bWVzcGFuIGluIGludG8gdGhyZWFkLnNsZWVweW91IHNob3VsZCBpbnN0ZWFkIGJlIGp1c3QgcGFz c2luZyBpbiB0aGF0IG51bWJlciBvZiBtaWxsaXNlY29uZHMgKDUwMDApLiAgQQo+IHRpbWVzcGFu IGNvbnN0cnVjdG9yIHRha2VzIHRpY2tzIGluIG5hbm9zZWNvbmRzLiBUaGlzIGNhdXNlcyAxMDAl IGNwdSB0aW1lCj4gc2luY2UgaXQncyBwb2xsaW5nIHdheSBmYXN0ZXIgdGhhbiBpdCBzaG91bGQu Cj4KPiBJbiBNZW1jYWNoZWNsaWVudC5Mb2FkSXRlbXMgeW91IGhhdmUgYSB3aGlsZSBsb29wIHRo YXQgcmVhZHMgdW50aWwKPiBnemkuUmVhZCByZXR1cm5zIC0xLiBJJ20gbm90IHN1cmUgaWYgaXQg ZXZlciByZXR1cm5zIC0xIGJ1dCBsb29raW5nIGF0IHRoZQo+IHppcCBjb2RlLCBpdCBkb2VzIHJl dHVybiAwLiBUaGlzIGFnYWluIHdhcyBjYXVzaW5nIDEwMCUgY3B1IHRpbWUgYXMgaXQgbmV2ZXIK PiBsZWZ0IHRoaXMgdGlnaHQgbG9vcC4KPgo+IFBsZWFzZSBrZWVwIHVwIHRoZSBhd2Vzb21lIHdv cmsgeW91J3JlIGRvaW5nIGFuZCBJIHdpbGwgbGV0IHlvdSBrbm93IGlmIEkKPiBmaW5kIG90aGVy IGlzc3VlcyAoIEkgc3VzcGVjdGVkIHRoZSBtYWludGVuYW5jZSB0aHJlYWQgaGFzIGEgYnVnIHNv bWV3aGVyZQo+IGNhdXNpbmcgZXhjZXB0aW9ucyBidXQgaGF2ZW4ndCBuYWlsZWQgaXQgeWV0KS4K Pgo+IE1heCoKPgo+ICoKPiAqCj4KPiAqICoKPgo+ICoKPiAqCj4KPiAqICoKPgo+Cg== |