RE: [Quickfix-developers] More details -- RFC: transaction, speed upgrades
Brought to you by:
orenmnero
From: Miller, O. <OM...@ri...> - 2003-12-19 12:23:26
|
SnVzdCBhIGNvbW1lbnQgcmlnaHQgbm93IG9uIHRoaXMgcGFydGljdWxhciBzZWN0aW9uOg0KDQo+ PiBJTVBPUlRBTlQgTk9URTogSSdkIGxpa2UgdG8gY2hhbmdlIHRoaW5ncyBzbyB0aGF0IA0KPj4g VGhyZWFkZWRTb2NrZXRDb25uZWN0aW9uICphbHdheXMqIHVzZXMgYSBzZW5kIHF1ZXVlIGFuZCB0 aHJlYWQuICBBbnlvbmUgDQo+PiBoYXZlIGEgcHJvYmxlbSB3aXRoIHRoYXQ/DQoNClRoZXJlIGhh cyBiZWVuIHNvbWUgZGlzY3Vzc2lvbiBhYm91dCBjcmVhdGluZyBhIHNlbmQgcXVldWUgdG8gc29s dmUgc29tZSBvdGhlciBwcm9ibGVtcyBhcyB3ZWxsLiAgSSBiZWxpZXZlIEpvZXJnIHJlY2VudGx5 IHBvc3RlZCBzb21ldGhpbmcgb24gdGhpcyAoY29uY2VybmluZyBzZW5kaW5nIG5ldyBtZXNzYWdl cyBkdXJpbmcgcmVzZW5kIHJlcXVlc3RzKS4gIFBlcmhhcHMgd2UgY2FuIHN0YXJ0IGJ5IHNvbHZp bmcgdGhpcyBwcm9ibGVtIGZpcnN0Pw0KDQoJLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0gDQoJ RnJvbTogSm9obiBNdWVobGhhdXNlbiBbbWFpbHRvOmpnbUBqZ20ub3JnXSANCglTZW50OiBUaHUg MTIvMTgvMjAwMyA0OjA0IFBNIA0KCVRvOiBxdWlja2ZpeC1kZXZlbG9wZXJzQGxpc3RzLnNvdXJj ZWZvcmdlLm5ldCANCglDYzogS2FybC1IZWlueiBaaW1tZXI7IEV2YW4gUHJpY2UgDQoJU3ViamVj dDogW1F1aWNrZml4LWRldmVsb3BlcnNdIE1vcmUgZGV0YWlscyAtLSBSRkM6IHRyYW5zYWN0aW9u LCBzcGVlZCB1cGdyYWRlcw0KCQ0KCQ0KDQoNCgkqKioqKioqIHBsZWFzZSByZWFkIElNUE9SVEFO VCBOT1RFIGJlbG93IGlmIG5vdGhpbmcgZWxzZSAqKioqKioqIA0KDQoJSSBhbSBiZWdpbm5pbmcg dG8gZm9ybXVsYXRlIGEgcGxhbi4gIFBsZWFzZSBsZXQgbWUga25vdyBpZiBJIGFtIGdvaW5nIA0K CW9mZiB0aGUgZGVlcCBlbmQ6IA0KDQoJRklYOjpNZXNzYWdlU3RvcmUgLS0gSSBwbGFuIHRvIGFk ZCBhIGJvb2xlYW4gaXNUcmFuc2FjdGlvbmFsIHByb3BlcnR5LiAgDQoJSSB3aWxsIGFsc28gYWRk IHR3byB2aXJ0dWFsIG1ldGhvZHMgYmVnaW4oKSBhbmQgY29tbWl0KCkgLS0gbm8tb3BzIGJ5IA0K CWRlZmF1bHQuIA0KDQoJRklYOjpNeVNRTFN0b3JlIC8gRmFjdG9yeSAtLSB0aGUgZmFjdG9yeSB3 aWxsIHBpY2sgdXAgdHdvIGFkZGl0aW9uYWwgDQoJc2V0dGluZ3M6IHdoZXRoZXIgdG8gdXNlIHRy YW5zYWN0aW9ucyBhbmQgdGhlIGRhdGFiYXNlIHZlcnNpb24gbnVtYmVyLiAgDQoJSWYgdGhlIHZl cnNpb24gaXMgPiA0LjEuMSB0aGVuIHRoZSBwcmVwYXJlZCBzdGF0ZW1lbnRzIHdpbGwgYmUgdXNl ZC4gIA0KCUlmIHdlIGFyZSB0byB1c2UgdHJhbnNhY3Rpb25zIHRoZW4gdGhlIE1lc3NhZ2VTdG9y ZSBpcyB0cmFuc2FjdGlvbmFsLiAgDQoJQXV0by1jb21taXQgaXMgc3RpbGwgb24gKG1vcmUgb24g dGhhdCBiZWxvdykuIA0KDQoJRklYOjpSZXNwb25kZXIgLS0gQWRkIHBhdXNlKCkgYW5kIHJlc3Vt ZSgpIHB1cmUgdmlydHVhbCBtZXRob2RzLiANCg0KCUZJWDo6UXVldWU8VD4gLS0gYWRkIGJvb2xl YW4gc2lnbmFsIHByb3BlcnR5LiAgSWYgcHJvcGVydHkgaXMgbWFya2VkIA0KCWZhbHNlIHRoZW4g cHVzaCgpIGRvZXMgbm90IHNpZ25hbC4gIElmIHByb3BlcnR5IGlzIG1hcmtlZCB0cnVlIHRoZW4g DQoJcHVzaCgpIHNpZ25hbHMgYWdhaW4gYW5kIGFsc28gc2lnbmFsKCkgaXMgY2FsbGVkLiANCg0K CUZJWDo6VGhyZWFkZWRTb2NrZXRDb25uZWN0aW9uIC0tIEFub3RoZXIgRklYOjpRdWV1ZSBhbmQg dGhyZWFkIGFyZSANCglhZGRlZCBmb3Igc2VuZGluZy4gIHBhdXNlKCkgaXMgaW1wbGVtZW50ZWQg dG8gc2V0IHNlbmQgcXVldWUgc2lnbmFsIA0KCXByb3BlcnR5IHRvIGZhbHNlLiAgcmVzdW1lKCkg aXMgaW1wbGVtZW50ZWQgdG8gc2V0IHNlbmQgcXVldWUgc2lnbmFsIA0KCXByb3BlcnR5IHRvIHRy dWUuICBJTVBPUlRBTlQgTk9URTogSSdkIGxpa2UgdG8gY2hhbmdlIHRoaW5ncyBzbyB0aGF0IA0K CVRocmVhZGVkU29ja2V0Q29ubmVjdGlvbiAqYWx3YXlzKiB1c2VzIGEgc2VuZCBxdWV1ZSBhbmQg dGhyZWFkLiAgQW55b25lIA0KCWhhdmUgYSBwcm9ibGVtIHdpdGggdGhhdD8gIElmIHRoZSBuZXcg dGhyZWFkIGVuY291bnRlcnMgYSB3cml0ZSBlcnJvciANCgl0aGVuIHRoYXQgd2lsbCBiZSBjb21t dW5pY2F0ZWQgYmFjayB0byB0aGUgc2VuZCgpIG1ldGhvZCBhdCBuZXh0IA0KCWVucXVldWUgYXR0 ZW1wdCBhcyBwZXIgbXkgcHJldmlvdXMgZW1haWwuIA0KDQoJRklYOjpTb2NrZXRDb25uZWN0aW9u IC0tIHBhdXNlKCkgaXMgaW1wbGVtZW50ZWQgdG8gY3JlYXRlIGEgc3RkOjpxdWV1ZSANCglhbmQg bWFrZSBzZW5kKCkgZW5xdWV1ZSBpbnN0ZWFkIG9mIHNlbmQuICByZXN1bWUoKSBpcyBpbXBsZW1l bnRlZCB0byANCglzZW5kIGV2ZXJ5dGhpbmcgb24gdGhlIHF1ZXVlIGFuZCBkZXN0cm95IHRoZSBx dWV1ZS4gIEFsdGVybmF0aXZlbHkgSSANCgljYW4gbWFrZSB0aGUgcXVldWUgaGFuZyBhcm91bmQg YWxsIHRoZSB0aW1lIGlmIHRoYXQgaXMgd2hhdCBwZW9wbGUgd2FudCANCgkoc2xpZ2h0IHBlcmZv cm1hbmNlIGluY3JlYXNlKS4gIEknbSBvbmx5IGRvaW5nIHRoaXMgZm9yIHBlb3BsZSB3aG8gd2Fu dCANCglhIHNpbmdsZSB0aHJlYWQgKmFuZCogdHJhbnNhY3Rpb25zLiANCg0KCUZJWDo6U2Vzc2lv biAtLSBhZG1pbiBtZXNzYWdlcyBhcmUgbm90IHdyYXBwZWQgaW4gdHJhbnNhY3Rpb25zIGFuZCAN CglSZXNwb25kZXI6OnBhdXNlKCkgYW5kIHJlc3VtZSgpIGFyZSBub3QgY2FsbGVkLiAgKFRoZXkg YXJlIHBlcnNpc3RlZCANCglzaW5jZSBhdXRvLWNvbW1pdCBpcyBvbiBpbiBNeVNRTC4pICBTZXNz aW9uOjpiZWdpbigpIHdpbGwgYmUgDQoJaW1wbGVtZW50ZWQgdG8gY2FsbCBwYXVzZSgpIG9uIHRo ZSByZXNwb25kZXIgYW5kIHRoZW4gYmVnaW4oKSBvbiB0aGUgDQoJbWVzc2FnZSBzdG9yZSAoYnkg d2F5IG9mIHRoZSBzZXNzaW9uIHN0YXRlKS4gIFNlc3Npb246OmNvbW1pdCgpIHdpbGwgYmUgDQoJ aW1wbGVtZW50ZWQgdG8gY2FsbCBjb21taXQoKSBvbiB0aGUgbWVzc2FnZSBzdG9yZSBmb2xsb3dl ZCBieSByZXN1bWUoKSANCglvbiB0aGUgcmVzcG9uZGVyLiAgZnJvbUFwcCgpIHdpbGwgYmUgd3Jh cHBlZCBhcyBmb2xsb3dzOiANCg0KCWlmKCBzZXNzaW9uIHN0YXRlIC0+IG1lc3NhZ2Ugc3RvcmUg LT4gaXMgdHJhbnNhY3Rpb25hbCApIA0KCSAgICAgICAgYmVnaW4oKTsgDQoJZnJvbUFwcCgpOyAv LyBpbmNyTmV4dFNlbmRlclNlcU51bSgpIGNhbGxzIGFuZCBzZXQoKSBjYWxscyB3aWxsIGJlIGlu IA0KCXRoZSB0cmFuc2FjdGlvbiANCgltX3N0YXRlLmluY3JOZXh0VGFyZ2V0TXNnU2VxTnVtKCk7 IC8vIHJlbW92ZWQgZnJvbSB2ZXJpZnkoKSwgYWxzbyANCgljYWxsZWQgaWYgYWRtaW4gdHlwZSAN CglpZiggc2Vzc2lvbiBzdGF0ZSAtPiBtZXNzYWdlIHN0b3JlIC0+IGlzIHRyYW5zYWN0aW9uYWwg KSANCgkgICAgICAgIGNvbW1pdCgpOyANCg0KCU5vdGUgdGhhdCBiZWdpbiBhbmQgY29tbWl0IGFy ZSBjYWxsZWQgY29uZGl0aW9uYWxseSBpbnN0ZWFkIG9mIGp1c3QgDQoJYmVpbmcgbm8tb3BzIGlu IHRoZSBub24tdHJhbnNhY3Rpb25hbCBjYXNlIGZvciBzYWtlIG9mIGNsYXJpdHkuICANCglPdGhl cndpc2Ugc29tZW9uZSBtaWdodCB0aGluayB0aGF0IGEgdHJhbnNhY3Rpb24gYWx3YXlzIHRha2Vz IHBsYWNlLiANCg0KCVdpdGhpbiBmcm9tQXBwKCkgdGhlIHVzZXIgbWF5IHdhbnQgdG8gdXNlIE15 U1FMIHdpdGhpbiB0aGUgc2FtZSANCgl0cmFuc2FjdGlvbiBmb3IgZGlmZmVyZW50IHB1cnBvc2Vz LiAgSWYgdGhlcmUgaXMgbm90IGN1cnJlbnRseSBhIG1ldGhvZCANCglmb3IgZXhwb3NpbmcgdGhh dCB0aGVuIEkgd2lsbCBhZGQgb25lLiANCg0KCVRoYXQncyBpdCBzbyBmYXIuLi4gIENvbW1lbnRz PyAgQ29uY2VybnM/IA0KDQoJLUpvaG4gDQoNCglPbiBEZWMgMTcsIDIwMDMsIGF0IDU6MDUgUE0s IEpvaG4gTXVlaGxoYXVzZW4gd3JvdGU6IA0KDQoJPiANCgk+IEhlbGxvLCANCgk+IA0KCT4gSSBh bSBtYWtpbmcgc29tZSBjaGFuZ2VzIHRvIFF1aWNrRklYIGFuZCB3b3VsZCBsaWtlIGZlZWRiYWNr IG9uIHRoZSANCgk+IHBsYW5zLiAgSSdtIG5vdCBzdXJlIGhvdyBiZXN0IHRvIGdldCB0aGUgY2hh bmdlcyBpbnRvIHRoZSBzb3VyY2UgdHJlZSANCgk+IGJ1dCB0aGF0IGlzIG15IGdvYWwgc2luY2Ug SSB0aGluayB0aGV5J2xsIGJlIGdlbmVyYWxseSB1c2VmdWwgYW5kIEknZCANCgk+IGxpa2UgdG8g bm90IHBhdGNoIGZ1dHVyZSB2ZXJzaW9ucy4uLiAgOi0pICBJJ20gaG9waW5nIHRvIGdldCBzb21l IA0KCT4gY29uc2Vuc3VzIG9uIHRoZSB3b3JrIHRvIGJlIGRvbmUgc28gdGhhdCBteSBjaGFuY2Vz IG9mIGdldHRpbmcgdGhlIA0KCT4gY2hhbmdlcyBpbmNvcnBvcmF0ZWQgYXJlIGdyZWF0ZXIuLi4g YW5kIHRvIGJlbmVmaXQgZnJvbSB0aGUgY29tYmluZWQgDQoJPiB3aXNkb20gb2YgdGhlIGdyb3Vw LiAgSSBhbSByZWxhdGl2ZWx5IG5ldyB0byBRdWlja0ZJWCBzbyBwbGVhc2UgYmVhciANCgk+IHdp dGggbWUhICBJIHdvdWxkIG5lZWQgYSB2b2x1bnRlZXIgdG8gZ2V0IHRoZSBKYXZhIHdyYXBwZXJz IGRvbmUgc2luY2UgDQoJPiB3ZSBhcmUgQysrIG9ubHkuLi4gDQoJPiANCgk+IEZpcnN0OiBJJ2Qg bGlrZSB0byBtb2RpZnkgTXlTUUxTdG9yZSBzdWNoIHRoYXQgaXQgdXNlcyB0aGUgInByZXBhcmVk IA0KCT4gc3RhdGVtZW50cyIgaW4gdmVyc2lvbiA0LjEuMSsuICBJJ20gaG9waW5nIGZvciBhIHNp Z25pZmljYW50IA0KCT4gcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnQuIA0KCT4gDQoJPiBTZWNvbmQ6 IEknZCBsaWtlIHRvIHByb3ZpZGUgdGhlIG9wdGlvbiB0byBzdG9yZSB0aGUgcmVjZWl2ZWQgbWVz c2FnZXMgDQoJPiBpbiB0aGUgJ21lc3NhZ2VzJyB0YWJsZSBpbiBjYXNlIHRoZSBkZXZlbG9wZXIg bmVlZHMgdG8gbG9vayBhdCB0aG9zZSANCgk+IG1lc3NhZ2VzIGZvciBzb21lIG90aGVyIHJlYXNv bi4gIFRoaXMgd291bGQgYmUgbGVzcyBlcnJvciBwcm9uZSB0aGFuIA0KCT4gcmVtZW1iZXJpbmcg dG8gbWFudWFsbHkgcGVyc2lzdCByZWNlaXZlZCBtZXNzYWdlcy4gIEZvciByZWFzb25zIHRoYXQg DQoJPiB3aWxsIGJlY29tZSBjbGVhciBzb29uLCB0aGlzIHdvdWxkIGhhcHBlbiBhdCBkZXF1ZXVl IGZyb20gdGhlIA0KCT4gVGhyZWFkZWRTb2NrZXQqIG9iamVjdHMuIA0KCT4gDQoJPiBUaGUgdGhp cmQgcHJvcG9zYWwgbmVlZHMgc29tZSBtb3RpdmF0aW9uOiANCgk+IA0KCT4gSW4gc29tZSBhcHBs aWNhdGlvbnMgdGhlIHZhbGlkaXR5IG9mIHNlbmRpbmcgYSBGSVggbWVzc2FnZSBkZXBlbmRzIG9u IA0KCT4gdGhlIHN1Y2Nlc3Mgb2Ygc2VuZGluZyBhbm90aGVyIEZJWCBtZXNzYWdlLiAgSXQgd291 bGQgdGhlcmVmb3JlIGJlIA0KCT4gbmljZSB0byBoYXZlIGFuIGF0b21pYyB1bml0IG9mIHdvcmsg dGhhdCBpbnZvbHZlcyB0aGUgcHJvY2Vzc2luZyBhbmQgDQoJPiBzZW5kaW5nIG9mIGFuIGFyYml0 cmFyeSBudW1iZXIgb2YgbWVzc2FnZXMuICBPbmUgc2ltcGxlIGV4YW1wbGU6IHRoZSANCgk+IGRl dmVsb3BlciB3YW50cyB0byBzZW5kIGFuIGV4ZWN1dGlvbiByZXBvcnQgQU5EIGEgZHJvcCBjb3B5 IHNvbWV3aGVyZSANCgk+IGVsc2UuICBJZiB0aGUgZXhlY3V0aW9uIHJlcG9ydCBkb2Vzbid0IGhh cHBlbiB0aGVuIHRoZSBkcm9wIGNvcHkgDQoJPiBzaG91bGQgbm90IGVpdGhlciAoYW5kIHZpY2Ug dmVyc2EpLiANCgk+IA0KCT4gUHJvcG9zZWQgc29sdXRpb24gKHVzaW5nIE15U1FMIDQuMS4xKyB3 aXRoIEJEQiBvciBJbm5vREIgdGFibGVzKTogDQoJPiANCgk+IGEpIEFkZCBiZWdpbigpIGFuZCBj b21taXQoKSBtZXRob2RzIHRvIE15U1FMU3RvcmUgKGFuZCBwZXJoYXBzIG5pbCANCgk+IHZlcnNp b25zIGluIE1lc3NhZ2VTdG9yZSkgd2hpY2ggcmV0dXJucyBoYW5kbGUocykgdXNlZnVsIGZvciAN Cgk+IHBlcmZvcm1pbmcgb3RoZXIgTXlTUUwgc3RhdGVtZW50cyBpbiB0aGUgc2FtZSB0cmFuc2Fj dGlvbi4gIFRoZSANCgk+IGdlbmVyYWxpemVkIHRyYW5zYWN0aW9uIGxvb2tzIGxpa2UgdGhpczog DQoJPiANCgk+ICAgICAgIGJlZ2luIHRyYW5zYWN0aW9uIA0KCT4gICAgICAgcmVjZWl2ZSBtZXNz YWdlIGZyb20gcXVldWUsIHBlcnNpc3RpbmcgY2hhbmdlcyB0byBuZXh0IGluY29taW5nIA0KCT4g c2VxbnVtIChjYW4ndCB0YWtlIHBsYWNlIGluIHNvY2tldCByZWFkZXIgdGhyZWFkLS0gZG9lcyBp dCBub3c/KSANCgk+ICAgICAgIGJ1c2luZXNzIGxvZ2ljIHJlc3VsdGluZyBpbiBtZXNzYWdlIHNl bmQocykgYW5kIHBvdGVudGlhbGx5IGluIG90aGVyIA0KCT4gcGVyc2lzdGVuY2Ugd2l0aGluIHRo ZSBzYW1lIHRyYW5zYWN0aW9uIA0KCT4gICAgICAgY29tbWl0IHRyYW5zYWN0aW9uIA0KCT4gDQoJ PiBUaGUgcHJvYmxlbSBoZXJlIGlzIHRoYXQgd2UgY2Fubm90IGFjdHVhbGx5IHNlbmQgbWVzc2Fn ZXMgdW5sZXNzIHdlIA0KCT4gZ2V0IHBhc3QgY29tbWl0LS0gb3RoZXJ3aXNlIHdlIG1pZ2h0IGFk dmVydGlzZSBzb21ldGhpbmcgdGhhdCBkaWRuJ3QgDQoJPiBhY3R1YWxseSBoYXBwZW4hICBNb3Jl IG9uIHRoaXMgZm9sbG93cy4uLiBBbHNvLCB0aGUgdXNlciBtYW51YWxseSANCgk+IGNhbGxzIGJl Z2luKCkgYW5kIGNvbW1pdCgpIGlmIHRoZSBlbmNsb3NlZCBzZW5kKHMpIGFuZCBvdGhlciANCgk+ IHBlcnNpc3RlbmNlIGFyZSBub3QgaW4gcmVzcG9uc2UgdG8gYSByZWNlaXZlZCBtZXNzYWdlLiAN Cgk+IA0KCT4gYikgc3RhdGljIFV0aWxpdHk6OnNvY2tldF9zZW5kKCkgaXMgcmUtaW1wbGVtZW50 ZWQgdG8gcGxhY2UgYnl0ZXMgb24gYSANCgk+IHNlbmQgcXVldWUgaW5zdGVhZCBvZiBhY3R1YWxs eSBzZW5kaW5nIG9uIHRoZSBzb2NrZXQtLSBhbmQgdGhlcmUgaXMgDQoJPiBZQVdUICh5ZXQgYW5v dGhlciB3b3JrZXIgdGhyZWFkKSBkcmFpbmluZyB0aGlzIHF1ZXVlIG9udG8gdGhlIHNvY2tldC4g IA0KCT4gVGhlcmUgYXJlIHR3byByZWFzb25zIGZvciB0aGlzLS0gZmlyc3QsIGJhbmR3aWR0aCB1 dGlsaXphdGlvbiBtYXkgDQoJPiBpbmNyZWFzZSBpZiBidXNpbmVzcyBsb2dpYyBjYW4gcnVuIGNv bmN1cnJlbnRseSAob3VyIGluLWhvdXNlIGVuZ2luZSANCgk+IGhhcyB0aGlzKS4gIFNlY29uZCwg dGhpcyBwcm92aWRlcyBhIG1lY2hhbmlzbSBmb3Igc3RhbGxpbmcgdGhlIGFjdHVhbCANCgk+IHNl bmQgdW50aWwgcG9zdC1jb21taXQgKG1vcmUgaW4gdGhlIG5leHQgcG9pbnQpLiAgSWYgdGhlIHdv cmtlciB0aHJlYWQgDQoJPiBlbmNvdW50ZXJzIGEgd3JpdGUgZXJyb3IgdGhlbiB0aGUgcXVldWUg aXMgbWFya2VkIGJhZC9lbXB0aWVkIGFuZCANCgk+IHNvY2tldF9zZW5kKCkgcmV0dXJucyB0aGUg ZXJyb3IgZW5jb3VudGVyZWQgYnkgdGhlIHdyaXRlIGluc3RlYWQgb2YgDQoJPiBwZXJmb3JtaW5n IHRoZSBuZXh0IGVucXVldWUuICBUaGUgZW5xdWV1ZWQgbWVzc2FnZXMgYXJlIGxvc3QgYnV0IHdp bGwgDQoJPiBiZSByZXNlbnQgYXQgbmV4dCBzZXNzaW9uIHN0YXJ0dXAgKGdhcCBmaWxsKS4gIEJU VywgSSBhbSBhd2FyZSB0aGF0IA0KCT4gc29ja2V0X3NlbmQoKSBpcyBzdGF0aWMtLSB0aGUgc29j a2V0IGhhbmRsZSBpcyB1c2VkIHdpdGggYSBnbG9iYWwgbWFwIA0KCT4gdG8gb2J0YWluIHRoZSBx dWV1ZSBhc3NvY2lhdGVkIHdpdGggdGhlIHNvY2tldC4gIEhtbW0uLi4gc2luY2UgdGhlcmUgDQoJ PiBpcyByZWFsbHkgbm8gcmVhc29uIHRvIGRvIHRoaXMgd2l0aCB0aGUgbm9uLXRocmVhZGVkIGlu Y2FybmF0aW9uIG9mIA0KCT4gUXVpY2tGSVggcGVyaGFwcyB0aGUgcmlnaHQgcGxhY2UgZm9yIHRo aXMgaXMgYSByZS1pbXBsZW1lbnRhdGlvbiBvZiANCgk+IFRocmVhZGVkU29ja2V0Q29ubmVjdGlv bjo6c2VuZCgpLiANCgk+IA0KCT4gYykgd2hlbiBiZWdpbm5pbmcgdGhlIHRyYW5zYWN0aW9uLCBh IGJhcnJpZXIgaXMgcGxhY2VkIG9uIHRoZSB3cml0ZSANCgk+IHF1ZXVlcyBvZiBlYWNoIGFjdGl2 ZSBzZXNzaW9uICh3aGV0aGVyIGNvbm5lY3RlZCBvciBub3QpLiAgVGhlIGJhcnJpZXIgDQoJPiBt ZWFucyAiZG9uJ3Qgc2VuZCBwYXN0IHRoaXMgcG9pbnQsIHdhaXQgaGVyZSIuICBBbGwgc3VjaCBi YXJyaWVycyBhcmUgDQoJPiByZW1vdmVkIGp1c3QgYWZ0ZXIgdGhlIHRyYW5zYWN0aW9uIGlzIGNv bW1pdHRlZC4gIFRoaXMgZGVsYXlzIHRoZSBzZW5kIA0KCT4gb2YgZWFjaCBtZXNzYWdlIGdlbmVy YXRlZCBmcm9tIHdpdGhpbiB0aGUgdHJhbnNhY3Rpb24gdW50aWwgYWZ0ZXIgdGhlIA0KCT4gbWVz c2FnZSBhbmQgc2VxbnVtIGluY3JlbWVudCBoYXZlIGJlZW4gcGVyc2lzdGVkIC0tIGEgZ3VhcmFu dGVlIHRoYXQgDQoJPiB0aGV5IGFyZSBhdmFpbGFibGUgZm9yIHNlcnZpY2luZyBmdXR1cmUgcmVz ZW5kIHJlcXVlc3RzLiANCgk+IA0KCT4gSGlnaCBwZXJmb3JtYW5jZSwgcmVsaWFibGUgcm91dGlu Zy10eXBlIGFwcGxpY2F0aW9ucyBzdGFuZCB0byBiZW5lZml0IA0KCT4gdGhlIG1vc3QgZnJvbSB0 aGVzZSBjaGFuZ2VzLiAgSWYgYSBwcm9jZXNzL3NlcnZlciBkaWVzIGluIHRoZSBtaWRkbGUgDQoJ PiBvZiBhIHRyYW5zYWN0aW9uIHRoZW4gdGhlIGluY29taW5nIG1lc3NhZ2UgYmVpbmcgYWN0ZWQg b24gaXMgDQoJPiBlZmZlY3RpdmVseSAidW4tcmVjZWl2ZWQiIGFuZCBhbnkgbWVzc2FnZXMgcHJv ZHVjZWQgYXJlIG5vdCBzZW50LiAgT2YgDQoJPiBjb3Vyc2UgY2hhbmdlcyB3b3VsZCBiZSBtYWRl IGluIHN1Y2ggYSB3YXkgYXMgdG8gbm90IGltcGFjdCBjdXJyZW50IA0KCT4gUXVpY2tGSVggdXNl cnMuIA0KCT4gDQoJPiBJdCB3b3VsZCBiZSBuaWNlIGlmICJzb21lb25lIiB3YW50ZWQgdG8gZG8g YWxsIG9mIHRoaXMgZm9yIEJEQlN0b3JlIA0KCT4gKGltYWdpbmFyeSBCZXJrZWxleSBEQiB0cmFu c2FjdGlvbmFsIGltcGxlbWVudGF0aW9uIG9mIE1lc3NhZ2VTdG9yZSkgDQoJPiBpbiB0aGUgY2Fz ZXMgd2hlcmUgTXlTUUwgaXMgbm90IHByYWN0aWNhbC0tIGxpa2UgYSBkZXNrdG9wIA0KCT4gYXBw bGljYXRpb24uIA0KCT4gDQoJPiBDb21tZW50cz8gQ29uY2VybnM/IA0KCT4gDQoJPiBUaGFua3Ms IA0KCT4gSm9obiANCgk+IA0KDQoNCg0KCS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gDQoJVGhpcyBTRi5uZXQgZW1haWwgaXMgc3BvbnNvcmVk IGJ5OiBJQk0gTGludXggVHV0b3JpYWxzLiANCglCZWNvbWUgYW4gZXhwZXJ0IGluIExJTlVYIG9y IGp1c3Qgc2hhcnBlbiB5b3VyIHNraWxscy4gIFNpZ24gdXAgZm9yIElCTSdzIA0KCUZyZWUgTGlu dXggVHV0b3JpYWxzLiAgTGVhcm4gZXZlcnl0aGluZyBmcm9tIHRoZSBiYXNoIHNoZWxsIHRvIHN5 cyBhZG1pbi4gDQoJQ2xpY2sgbm93ISBodHRwOi8vYWRzLm9zZG4uY29tLz9hZF9pZD0xMjc4JmFs bG9jX2lkPTMzNzEmb3A9Y2xpY2sgPGh0dHBzOi8vcG9ydGFsLnJpdGNoaWVjYXBpdGFsLmNvbS8s RGFuYUluZm89YWRzLm9zZG4uY29tKz9hZF9pZD0xMjc4JmFsbG9jX2lkPTMzNzEmb3A9Y2xpY2s+ ICANCglfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyANCglR dWlja2ZpeC1kZXZlbG9wZXJzIG1haWxpbmcgbGlzdCANCglRdWlja2ZpeC1kZXZlbG9wZXJzQGxp c3RzLnNvdXJjZWZvcmdlLm5ldCANCglodHRwczovL2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0 cy9saXN0aW5mby9xdWlja2ZpeC1kZXZlbG9wZXJzIDxodHRwczovL3BvcnRhbC5yaXRjaGllY2Fw aXRhbC5jb20vbGlzdHMvbGlzdGluZm8vcXVpY2tmaXgtZGV2ZWxvcGVycyxEYW5hSW5mbz1saXN0 cy5zb3VyY2Vmb3JnZS5uZXQsU1NMKz4gIA0KDQo= |