Re: Updated dataflow semantics for RTT
Sylvain Joyeux <[email protected]> Mon, 28 Sep 2015 16:44:33 -0300
| Newsgroups | gmane.science.robotics.orocos.devel |
|---|---|
| Message-ID | <CAFENT7+wOMaLEt7K7K_O71GN-81Uq5MbDTgxHu-K2+_F3FTsxA@mail.gmail.com> |
PiBTb21lIGNsYXNzaWMgcHJvZHVjZXIvY29uc3VtZXIgZXhhbXBsZXMKPiAgLSBhIGNhbWVyYSBj YXB0dXJlcyBpbWFnZXMgYW5kIHNlbmRzIHRoZW0gb24gdG8gYSBwcm9jZXNzaW5nIHBpcGVsaW5l ICh0aGF0Cj4gaXMgYWxsIGRhdGEgb2JqZWN0IGNvbm5lY3Rpb25zKS4gQSBzZXBhcmF0ZSBjb25u ZWN0aW9uIHN0b3JlcyB0aGUgY2FtZXJhCj4gaW1hZ2VzIGluIGEgYnVmZmVyLCB3aGljaCBhcmUg ZHVtcGVkIHRvIGRpc2suCj4gLSBkYXRhIGlzIHJlYWQgKG5vbi1yZWFsLXRpbWUpIGZyb20gYSBm aWxlIGFuZCBwdXNoZWQgaW50byBhIGJ1ZmZlciBmb3IKPiBwcm9jZXNzaW5nIChyZWFsLXRpbWUp Cj4gLSBkYXRhIHNhbXBsZXMgY29taW5nIGZyb20gYSByZW1vdGUgc291cmNlIChub24tcmVhbC10 aW1lKSBpcyBidWZmZXJlZCBvbgo+IGFycml2YWwgaW50byB0aGUgZGVwbG95ZXIgZm9yIGxhdGVy IHByb2Nlc3NpbmcgKHJlYWwtdGltZSkuCgpBc2tlZCB0aGUgd3JvbmcgcXVlc3Rpb24gLi4uIHRo YW5rcyBmb3IgYW5zd2VyaW5nIGl0IHBlcmZlY3RseSA7LSkKCkFueXdheXMsIHdoYXQgSSB3YW50 ZWQgaXMgYSBjYXNlIHdoZXJlOgogLSBhbiBpbnB1dCBwb3J0IGlzIGNvbm5lY3RlZCB0byBhIGJ1 bmNoIG9mIG91dHB1dCBwb3J0cyAqdXNpbmcKYnVmZmVycyogKEkgZ290IHRoZSBwcm9ibGVtIHdp dGggZGF0YSBwb2xpY2llcykKIC0gdGhlIG92ZXJhbGwgYmVoYXZpb3IgaXMgZ292ZXJuZWQgYnkg bWFpbnRhaW5pbmcgdGhlIG92ZXJhbGwKaW5jb21pbmcgc2FtcGxlIG9yZGVyIChpLmUuIHRoYXQg aWYgYSBzYW1wbGUgb2Ygb3V0cHV0IHBvcnQgT18xCmFycml2ZXMgYmVmb3JlIGEgc2FtcGxlIG9m IG91dHB1dCBwb3J0IE9fMiwgdGhhdCBvcmRlciBuZWVkcyB0byBiZQpyZWZsZWN0ZWQgb24gcmVh ZCgpKQoKSSBtYXkgYmUgbWlzc2luZyBpdCwgYnV0IHRoZSB1c2UtY2FzZXMgYWJvdmUgZG9uJ3Qg Y292ZXIgdGhhdCwgZG8gdGhleSA/Cgo+ID4gQWdyZWVkLCBidXQgdGhpcyBjaG9pY2UgaXMgY3Vy cmVudGx5IGJ1bmRsZWQgd2l0aCBoYXZpbmcgYSBidWZmZXIgcGVyCj4gPiBjaGFubmVsIG9yIG9u ZSBwZXIgaW5wdXQgcG9ydC4KPgo+IEkgZG9uJ3QgZm9sbG93LCBTeWx2YWluLiBCdW5kbGVkIGlu IHRoZSBleGlzdGluZyBpbXBsZW1lbnRhdGlvbiBvciB0aGUKPiBwcm9wb3NlZCBjaGFuZ2VzPwoK SW4gdGhlIHByb3Bvc2VkIGNoYW5nZSAoY3VycmVudCB2MiBkb2VzIG5vdCBoYXZlIHRoZSBvcHRp b24gb2YgaGF2aW5nCmEgc2luZ2xlIGJ1ZmZlciBwZXIgaW5wdXQgcG9ydCkuIFVudGlsIG5vdywg aXQgaXMgY2xlYXIgdG8gbWUgdGhhdAp0aGlzIGJ1bmRsaW5nIGlzIGJvdGggSm9oYW5uZXMgYW5k IFBldGVyJ3MgaW50ZW50IChzZWUgUGV0ZXIncyBlbWFpbAphYm92ZSkuIEl0IGRvZXMgbm90IHNl ZW0gdG8gYmUgeW91cnMsIHRob3VnaC4KCj4gPiBJZiB5b3UgcHV0IHRoZSBidWZmZXIgcGVyLXBv cnQsIHlvdSBlbmQgdXAgd2l0aCBvbmUgcG9saWN5IHBlciBwb3J0Lgo+ID4gUG9ydC1kcml2ZW4g dHJpZ2dlcmluZyAoZXZlbnQgcG9ydHMpIGFyZSBnb3Zlcm5lZCBieSB0aGUgZGF0YSBvYmplY3QK PiA+IChpLmUuIHBlci1wb3J0KSwgZGF0YSBvYmplY3Qgc2l6ZSBhbmQgdHlwZSBiZWNvbWVzIHBl ci1wb3J0IGFzIHdlbGwuCj4gPiBXaGF0J3MgbGVmdCBpbiB0aGUgY29ubmVjdGlvbiBwb2xpY3kg aXMgdGhlIGluZm8gbmVjZXNzYXJ5IHRvIHJlYWNoCj4gPiB0aGUgb3RoZXIgc2lkZSAoaS5lLiB0 aGUgdG9waWMgbmFtZSBpbiBST1MpLCB3aGljaCBtZWFucyB0aGF0IGl0IGlzCj4gPiBub3QgYSBw b2xpY3kgYW55bW9yZSBidXQgYSAicmVtb3RlIGVuZHBvaW50IgoKPiBGcm9tIHlvdXIgY29tbWVu dCBhYm92ZSAiUG9ydC1kcml2ZW4gdHJpZ2dlcmluZyAoZXZlbnQgcG9ydHMpIOKApiIKCkJhZGx5 IG9yZGVyZWQgYml0cyBvZiBzZW50ZW5jZXMuIFdoYXQgSSBtZWFudCBpczoKCj4gSWYgeW91IHB1 dCB0aGUgYnVmZmVyIHBlci1wb3J0LCB5b3UgZW5kIHVwIHdpdGggb25lIHBvbGljeSBwZXIgcG9y dC4gRGF0YSBvYmplY3Qgc2l6ZSBhbmQgdHlwZSBiZWNvbWVzIHBlci1wb3J0LiBJZiB1c2luZyBw b3J0LWRyaXZlbiB0cmlnZ2VyaW5nIChldmVudCBwb3J0cyksIHRoZSB0cmlnZ2VyaW5nIGlzIGdv dmVybmVkIGJ5IHRoZSBkYXRhIG9iamVjdCBhbmQgaXMgdGhlcmVmb3JlIGFsc28gYmVjb21pbmcg cGVyLXBvcnQuCgo+IExvb2tpbmcgYXQgU2VjdGlvbiA1LjEgb2YgSm9oYW5uZXMnIGdvb2dsZSBk b2MsIHNvbWV0aGluZyBsb29rcyB3cm9uZyBvciBJJ20KPiByZW1lbWJlcmluZyBwcmV2aW91cyBk aXNjdXNzaW9ucyBpbmNvcnJlY3RseS4gSSB3YXMgZXhwZWN0aW5nIHB1c2gvcHVsbCB2cwo+IHNo YXJlZC9wcml2YXRlIHRvIGJlIHRydWx5IG9ydGhvZ29uYWwsIGJ1dCB0aGUgcHVzaC9wcml2YXRl IGZpZ3VyZSBzYXlzCj4gZGlmZmVyZW50bHkuIEpvaGFubmVzPyBQZXRlcj8KClRoZXkgYWxyZWFk eSBjbGFyaWZpZWQgdGhhdCBmb3IgbWUuIEJhc2ljYWxseSwgInByaXZhdGUiIGRvZXMgbm90Cm5l Y2Vzc2FyaWx5IG1lYW5zICJwZXIgY2hhbm5lbCIuIE9uIGEgcHVzaCBjb25uZWN0aW9uLCAicHJp dmF0ZSIgZm9yCnRoZW0gbWVhbnMgInBlci1wb3J0Ii4KCj4gQWdhaW4sIG15IGludGVudCB3YXMg dG8gYWRkIG1vcmUgdjEtbGlrZSBzZW1hbnRpY3MgdG8gdGhlIHN5c3RlbSwgYXMgd2VsbCBhcwo+ IGhhdmUgbW9yZSBjb250cm9sIG9uIHdoZXJlIGxhdGVuY3kgb2NjdXJyZWQuIE5vdCB0byByZXBs YWNlIGFueSBhc3BlY3Qgb2YKPiB0aGUgdjIgc2VtYW50aWNzLgoKSSBnb3QgdGhhdCBmcm9tIHlv dXIgcHJldmlvdXMgZW1haWwgYWxyZWFkeSwgYnV0IGl0IHNlZW1zIHRoYXQgaXQncwpub3QgSm9o YW5uZXMvUGV0ZXIncyBpbnRlbnQKClN5bHZhaW4KCjIwMTUtMDktMjggMTQ6MzAgR01ULTAzOjAw IFMgUm9kZXJpY2sgPGtpd2kubmV0QG1hYy5jb20+Ogo+IE9uIFNlcCAyOCwgMjAxNSwgYXQgMTA6 MjggQU0sIFN5bHZhaW4gSm95ZXV4IDxzeWx2YWluLmpveWV1eEBtNHgub3JnPiB3cm90ZToKPgo+ IEkgYWdyZWUgd2l0aCBtdWNoIGF0IHRoZSBhYm92ZSwgYW5kIHdlIGhhdmUgc2ltaWxhciBwcm9i bGVtcyB0aGF0IHdlJ3ZlCj4KPiBzb2x2ZWQgaW4gc2ltaWxhciB3YXlzLiBCdXQgdGhlcmUgYXJl IGFsc28gaHVnZSBwYXJ0cyBvZiBvdXIgc3lzdGVtIHRoYXQsCj4KPiB3aGlsZSAiZGF0YSBkcml2 ZW4iLCBhcmVuJ3QgYXQgYWxsIGludGVyZXN0ZWQgaW4gdGltZS4gVGhlIHN5c3RlbSBpdHNlbGYg aXMKPgo+IHN5bmNocm9uaXplZCBhbmQgdGltZSBpcyAobGFyZ2VseSkgaXJyZWxldmFudCAtIGV2 ZXJ5dGhpbmcgb3BlcmF0ZXMgb24gYQo+Cj4gcGVyLWN5Y2xlIGJhc2lzLiBJbiB0aGUgbG9uZyBy dW4sIHdlIHRpbWUgc3RhbXAgb25seSBhIHRpbnkgcG9ydGlvbiBvZiB0aGUKPgo+IGRhdGEgaW4g b3VyIHN5c3RlbSBkdWUgdG8gdGhpcy4gRXF1YWxseSB2YWxpZCwgYnV0IGRpZmZlcmVudC4KPgo+ Cj4gSSBkb24ndCBkaXNwdXRlIHRoYXQgeW91IHByb2JhYmx5IGhhdmUgYSB2ZXJ5IGdvb2QgcG9p bnQsIHlvdSB1c3VhbGx5Cj4gZG8sIGJ1dCBjb3VsZCB5b3UgcHJvdmlkZSBtZSB3aXRoIGEgY29u Y3JldGUgZXhhbXBsZSBvZiBzdWNoIGEgc2V0dXAKPiB0aGF0IHVzZXMgYnVmZmVycyA/IEl0IHdv dWxkIHJlYWxseSBoZWxwIG1lIGdyYXNwIHRoZSBzaXR1YXRpb24uCj4KPgo+IFNvbWUgY2xhc3Np YyBwcm9kdWNlci9jb25zdW1lciBleGFtcGxlcwo+ICAtIGEgY2FtZXJhIGNhcHR1cmVzIGltYWdl cyBhbmQgc2VuZHMgdGhlbSBvbiB0byBhIHByb2Nlc3NpbmcgcGlwZWxpbmUgKHRoYXQKPiBpcyBh bGwgZGF0YSBvYmplY3QgY29ubmVjdGlvbnMpLiBBIHNlcGFyYXRlIGNvbm5lY3Rpb24gc3RvcmVz IHRoZSBjYW1lcmEKPiBpbWFnZXMgaW4gYSBidWZmZXIsIHdoaWNoIGFyZSBkdW1wZWQgdG8gZGlz ay4KPiAtIGRhdGEgaXMgcmVhZCAobm9uLXJlYWwtdGltZSkgZnJvbSBhIGZpbGUgYW5kIHB1c2hl ZCBpbnRvIGEgYnVmZmVyIGZvcgo+IHByb2Nlc3NpbmcgKHJlYWwtdGltZSkKPiAtIGRhdGEgc2Ft cGxlcyBjb21pbmcgZnJvbSBhIHJlbW90ZSBzb3VyY2UgKG5vbi1yZWFsLXRpbWUpIGlzIGJ1ZmZl cmVkIG9uCj4gYXJyaXZhbCBpbnRvIHRoZSBkZXBsb3llciBmb3IgbGF0ZXIgcHJvY2Vzc2luZyAo cmVhbC10aW1lKS4KPgo+IFNvbWV0aW1lcyB3ZSB3YW50IHRvIGNvbnRyb2wgd2hldGhlciB0aGUg bmV0d29yayBhY2Nlc3MgKGFuZCBoZW5jZQo+Cj4gZGVsYXkvbm9uLXJlYWwtdGltZSBwYXJ0KSBp cyBvbiB0aGUgd3JpdGVyIG9yIHJlYWRlciBzaWRlLiBUaGF0IHNob3VsZCBiZSBhbgo+Cj4gYXBw bGljYXRpb24tbGV2ZWwgY2hvaWNlLgo+Cj4KPiBBZ3JlZWQsIGJ1dCB0aGlzIGNob2ljZSBpcyBj dXJyZW50bHkgYnVuZGxlZCB3aXRoIGhhdmluZyBhIGJ1ZmZlciBwZXIKPiBjaGFubmVsIG9yIG9u ZSBwZXIgaW5wdXQgcG9ydC4KPgo+Cj4gSSBkb24ndCBmb2xsb3csIFN5bHZhaW4uIEJ1bmRsZWQg aW4gdGhlIGV4aXN0aW5nIGltcGxlbWVudGF0aW9uIG9yIHRoZQo+IHByb3Bvc2VkIGNoYW5nZXM/ Cj4KPiBJZiB5b3UgcHV0IHRoZSBidWZmZXIgcGVyLXBvcnQsIHlvdSBlbmQgdXAgd2l0aCBvbmUg cG9saWN5IHBlciBwb3J0Lgo+Cj4gUG9ydC1kcml2ZW4gdHJpZ2dlcmluZyAoZXZlbnQgcG9ydHMp IGFyZSBnb3Zlcm5lZCBieSB0aGUgZGF0YSBvYmplY3QKPgo+IChpLmUuIHBlci1wb3J0KSwgZGF0 YSBvYmplY3Qgc2l6ZSBhbmQgdHlwZSBiZWNvbWVzIHBlci1wb3J0IGFzIHdlbGwuCj4KPiBXaGF0 J3MgbGVmdCBpbiB0aGUgY29ubmVjdGlvbiBwb2xpY3kgaXMgdGhlIGluZm8gbmVjZXNzYXJ5IHRv IHJlYWNoCj4KPiB0aGUgb3RoZXIgc2lkZSAoaS5lLiB0aGUgdG9waWMgbmFtZSBpbiBST1MpLCB3 aGljaCBtZWFucyB0aGF0IGl0IGlzCj4KPiBub3QgYSBwb2xpY3kgYW55bW9yZSBidXQgYSAicmVt b3RlIGVuZHBvaW50Igo+Cj4KPgo+IFdoYXQgaWYgeW91IGRvbid0IHVzZSBldmVudCBwb3J0cz8K Pgo+Cj4gSG93IGlzIHRoYXQgcmVsZXZhbnQgPyBBcmUgd2UgbWlzdW5kZXJzdGFuZGluZyBlYWNo IG90aGVyIGhlcmUgPwo+Cj4KPiBGcm9tIHlvdXIgY29tbWVudCBhYm92ZSAiUG9ydC1kcml2ZW4g dHJpZ2dlcmluZyAoZXZlbnQgcG9ydHMpIOKApiIKPgo+IEFzIEkgdW5kZXJzdGFuZCB0aGUgcHJv cG9zYWwgc28gZmFyLCB3ZSBoYXZlOiBlaXRoZXIgeW91IHB1bGwgKGhpdAo+IG5ldHdvcmsgb24g cmVhZCwgb25lIGJ1ZmZlciBwZXIgY2hhbm5lbCkgb3IgcHVzaCAobm90IGhpdCBuZXR3b3JrIG9u Cj4gcmVhZCwgaGF2ZSBhIG9uZSBidWZmZXIgcGVyIHBvcnQpLiBUaGUgbWlkZGxlIGdyb3VuZCBv Zgo+IG9uZS1idWZmZXItcGVyLWNoYW5uZWwgYW5kIG5vdCBoaXR0aW5nIG5ldHdvcmsgaXMgbm90 IGNvdmVyZWQsIGFuZAo+IHRoYXQncyB3aGF0ICpncmVhdGx5KiBib3RoZXJzIG1lLgo+Cj4KPiBP dXIgb3JpZ2luYWwgaW50ZW50IHdhcyB0aGF0IHB1bGwvcHVzaCB3b3VsZCBiZSBpbmRlcGVuZGVu dCBvZgo+IHNoYXJlZC9wcml2YXRlIChpZiB5b3UgbWVhbiB0aGF0IGJ5ICJvbmUgYnVmZmVyIHBl ciBjaGFubmVsIiBhbmQgIm9uZSBidWZmZXIKPiBwZXIgcG9ydCIpLgo+Cj4gSSBrbm93IHlvdSBn dXlzIHByb2JhYmx5IGhhdmUgYSBnb29kIGNhc2UgaGVyZSwgSSBhbSB0cnlpbmcgdmVyeSBoYXJk Cj4gZm9yIHlvdSB0byBub3QgYnJlYWsgbWluZQo+Cj4KPiBJJ20gd2l0aCB5b3Ugb24gdGhpcywg U3lsdmFpbiEKPgo+IE5vdGUgdGhlICJzZWxlY3RpdmVseSByZW1vdmUiIGFib3ZlIC0gd2Ugc3Rp bGwgd2FudCB0byBiZSBhYmxlIHRvIHVzZQo+Cj4gdjItZmxvdy1zdGF0dXMgdHlwZSBzZXR1cHMg d2l0aGluIG91ciBzeXN0ZW0uCj4KPgo+IE15IHVuZGVyc3RhbmRpbmcgb2YgdGhlIHByb3Bvc2Fs IGlzIHRoYXQgdGhlIHYyIHNlbWFudGljIGFyZSBub3QKPiBhdmFpbGFibGUgYW55bW9yZS4gSSdt IG5vdCBwdXNoaW5nIGFnYWluc3Qgd2hhdCB5b3UgbmVlZCwgSSB3YW50IHlvdQo+IHRvIG5vdCBi cmVhayB3aGF0IEkgbmVlZC4KPgo+Cj4gSSdtIHBlcnNvbmFsbHkgYWdhaW5zdCBjaGFuZ2luZyB0 aGUgZGVmYXVsdCwgZXZlbiB0aG91Z2ggaXQgd291bGQgaGVscCBtZS4KPiBUaGlzIGtpbmQgb2Yg cGVydmFzaXZlIGJyZWFrYWdlIGlzbid0IGdvb2QgZm9yIHRoZSBjb21tdW5pdHkgLi4uCj4KPiAg LSB3aGF0IGFyZSBnb2luZyB0byBiZSB0aGUgb3B0aW9ucyBvZiBuZXR3b3JrL25vLW5ldHdvcmsg YW5kCj4gcGxhY2VtZW50IG9mIGJ1ZmZlciA/Cj4KPiAtIGhvdyBjYW4gdGhlc2Ugb3B0aW9ucyBi ZSBvciBub3QgYmUgdXNlZCB3aXRoIGEgc2luZ2xlIG91dHB1dCAvCj4gc2luZ2xlIGlucHV0ID8g QXJlIHRoZXkgbXV0dWFsbHkgZXhjbHVzaXZlID8gQ2FuIHRoZXkgYmUgdXNlZCB0b2dldGhlcgo+ IG9uIHRoZSBzYW1lIGlucHV0IHBvcnQgPyBPbiB0aGUgc2FtZSBvdXRwdXQgcG9ydCA/Cj4KPgo+ IExvb2tpbmcgYXQgU2VjdGlvbiA1LjEgb2YgSm9oYW5uZXMnIGdvb2dsZSBkb2MsIHNvbWV0aGlu ZyBsb29rcyB3cm9uZyBvciBJJ20KPiByZW1lbWJlcmluZyBwcmV2aW91cyBkaXNjdXNzaW9ucyBp bmNvcnJlY3RseS4gSSB3YXMgZXhwZWN0aW5nIHB1c2gvcHVsbCB2cwo+IHNoYXJlZC9wcml2YXRl IHRvIGJlIHRydWx5IG9ydGhvZ29uYWwsIGJ1dCB0aGUgcHVzaC9wcml2YXRlIGZpZ3VyZSBzYXlz Cj4gZGlmZmVyZW50bHkuIEpvaGFubmVzPyBQZXRlcj8KPgo+IEluIHBhcnRpY3VsYXIsIGZyb20g U2VjdGlvbiA1LjI6Cj4KPiBPdGhlciB0aGFuIGN1cnJlbnRseSBpbiB2MiwgaW4gdGhlIHB1c2gg Y2FzZSAocHVsbD1mYWxzZSkgdGhlcmUgd2lsbCBiZSBvbmx5Cj4gb25lIGJ1ZmZlciBwZXIgaW5w dXQgcG9ydCwgdGhhdCBpcyBzaGFyZWQgYW1vbmcgYWxsIGNvbm5lY3Rpb25zLiBUaGUKPiBjb25u ZWN0ZWQgb3V0cHV0IHBvcnRzIOKAnHB1c2jigJ0gdGhlaXIgZGF0YSB0aHJvdWdoIHRoZSBjaGFu bmVsIGFuZCBmaWxsIHRoZQo+IGlucHV0IGJ1ZmZlciAob3Igb3ZlcndyaXRlIHRoZSBkYXRhIG9i amVjdCksIGJ1dCBldmVyeSBpbnB1dCBwb3J0IGhhcyBpdHMKPiBvd24gYnVmZmVyIG9yIGRhdGEg b2JqZWN0IGFuZCBjYW4gcmVhZCBpbmRlcGVuZGVudGx5IChGaWcuIDQpCj4KPiBXaHkgZG9lc24n dCBldmVyeSBpbnB1dCBwb3J0IGhhdmUgYSBjb25uZWN0aW9uIG9iamVjdCBwZXIgYXNzb2NpYXRl ZCBvdXRwdXQKPiBwb3J0PyBXaHkgaXNuJ3QgdGhlIHB1c2gvcHJpdmF0ZSBmaWd1cmUgdGhlIHNh bWUgYXMgdGhlIHB1bGwvcHJpdmF0ZSBmaWd1cmUsCj4gZXhjZXB0IHRoYXQgdGhlIGNvbm5lY3Rp b24gb2JqZWN0IGlzIG9uIHRoZSByZWFkZXIgc2lkZSAoYW5kIGZvciBlYWNoIGlucHV0Cj4gcG9y dCwgeW91J2QgaGF2ZSBvbmUgY29ubmVjdGlvbiBvYmplY3QgcGVyIG91dHB1dCBwb3J0KT8gT3Ig aXMgdGhpcyB0byB0cnkKPiBhbmQgZml4IHRoZSBub24tZGV0ZXJtaW5zdGljIGJlaGF2aW9yIHdo ZW4gYW4gSW5wdXRQb3J0IHJlYWRzIGZyb20gbXVsdGlwbGUKPiBjb25uZWN0aW9uIG9iamVjdHM/ Cj4KPiBXZSBoYXZlIHNldmVyYWwgaHVuZHJlZCBsb2NhbCBjb25uZWN0aW9ucyBpbiBvdXIgZGVw bG95ZXJzLiBXZSBoYXZlIG1heWJlCj4KPiBsZXNzIHRoYW4gMTAgcmVtb3RlIGNvbm5lY3Rpb25z Lgo+Cj4KPiBBZ2FpbiwgaG93IGlzIHRoaXMgcmVsZXZhbnQgPyBJZiB0aGUgcG9saWN5IGlzIHNw ZWNpZmllZCBwZXItcG9ydCwgeW91Cj4gd29uJ3QgaGF2ZSBhbnkgImtpbmQtb2Ytc2FuZSBkZWZh dWx0IiB0byBjb25maWd1cmUgdGhlIENPUkJBCj4gZGlzcGF0Y2hlcnMgd2l0aC4KPgo+IEJ1ZmZl cnMgdnMgZGF0YSBjb25uZWN0aW9ucyBkZWZpbml0ZWx5IGNoYW5nZSB0aGUgZmxhdm9yIG9mIHRo aW5ncy4gVGhlIHZhc3QKPgo+IG1ham9yaXR5IG9mIG91ciBjb25uZWN0aW9ucyBhcmUgZGF0YSBj b25uZWN0aW9ucywgbm90IGJ1ZmZlcnMuCj4KPgo+IEkgKmtub3cqIHdoaWNoIGxlYWRzIHRvIHRo aXMgbG9uZyBkaXNjdXNzaW9uLCBiZWNhdXNlIEkgYW0gb24gdGhlCj4gY29tcGxldGVseSBvdGhl ciBlbmQgb2YgdGhpbmdzOiB3ZSBtb3N0bHkgdXNlIGJ1ZmZlcmVkIGNvbm5lY3Rpb25zLgo+Cj4K PiBXaGljaCBpcyBnb29kIElNSE8sIGJlY2F1c2UgaXQgbWVhbnMgdGhhdCB5b3UgYW5kIEkgZWZm ZWN0aXZlbHkgc3BhbiB0aGUKPiBzcGVjdHJ1bSBvZiBzeXN0ZW0gYXBwcm9hY2hlcy4gU28gaWYg d2UgY2FuIGZpbmQgYSB3YXkgdG8gc2F0aXNmeSBib3RoIG91cgo+IHN5c3RlbSBhcHByb2FjaGVz LCB0aGVuIGxpa2VseSB3ZSdsbCBjYXRlciBmb3IgZXZlcnlvbmUgZWxzZSBhcyB3ZWxsLgo+Cj4g SSB0aGluayB0aGF0IHdlJ3JlIGdldHRpbmcgb2ZmIHRvcGljIGFzIGEgd2hvbGUuCj4KPgo+IEkg ZG9uJ3QgdGhpbmsgc28uIFNvIGZhciwgbXkgY29uY2VybnMgd2l0aCB0aGUgcHJvcG9zYWwgYXJl IHN0aWxsCj4gdGhlcmU6IGJ5IGdldHRpbmcgY2xvc2VyIHRvIHYxIHNlbWFudGljcywgdGhlIHBy b3Bvc2FsIGJyZWFrcyB2Mgo+IHNlbWFudGljcyBpbiBhIHdheSB0aGF0IGlzIGZ1bmRhbWVudGFs IHRvIG1lLiBQZXRlcidzIHBvc3QgYWN0dWFsbHkKPiBsZWFkcyBtZSB0byB0aGluayB0aGF0IHRo aXMgYnJlYWthZ2UgYW5kIGtub3duIGFuZCBkZXNpcmVkLCB3aGljaCBpcwo+IHdoeSBJIGFtIHNw ZW5kaW5nIHNvIG11Y2ggdGltZSB0cnlpbmcgdG8gZ2V0IG15IHBvaW50IGFjcm9zcywgd2hpbGUg SQo+IGFscmVhZHkgaGF2ZSB3YXkgdG9vIG11Y2ggb24gbXkgcGxhdGUuCj4KPgo+IEFnYWluLCBt eSBpbnRlbnQgd2FzIHRvIGFkZCBtb3JlIHYxLWxpa2Ugc2VtYW50aWNzIHRvIHRoZSBzeXN0ZW0s IGFzIHdlbGwgYXMKPiBoYXZlIG1vcmUgY29udHJvbCBvbiB3aGVyZSBsYXRlbmN5IG9jY3VycmVk LiBOb3QgdG8gcmVwbGFjZSBhbnkgYXNwZWN0IG9mCj4gdGhlIHYyIHNlbWFudGljcy4KPgo+IGEp IHB1c2ggdnMgcHVsbCwgb3Igc3BlY2lmeWluZyB3aGV0aGVyIHRoZSBkYXRhL2J1ZmZlciBvYmpl Y3QgaXMgb24gdGhlCj4KPiByZWFkZXIgb3Igd3JpdGVyIHNpZGUuIFRoaXMgaXMgdmVyeSB1c2Vm dWwgZm9yIHN5c3RlbSBkZXNpZ25lcnMgZGVhbGluZyB3aXRoCj4KPiBzaWduaWZpY2FudCB0aW1l IGRlbGF5Lgo+Cj4gYikgcHJpdmF0ZSB2cyBzaGFyZWQsIHdoZXRoZXIgYSBjb25uZWN0aW9uIGlz IHBlciBpbnB1dC9vdXRwdXQgcG9ydCBwYWlyIG9yCj4KPiB3aGV0aGVyIHRoZSBjb25uZWN0aW9u IGlzIHNoYXJlZCBiZXR3ZWVuIG11bHRpcGxlIGlucHV0L291dHB1dCBwb3J0cy4KPgo+Cj4gU28g ZmFyLCAicHJpdmF0ZSIgaXMgZGVmaW5lZCBvbmUgYnVmZmVyICpwZXIgaW5wdXQgcG9ydCogKGNo YW5nZSBpbgo+IHNlbWFudGljKSBub3QgKnBlciBpbnB1dC9vdXRwdXQgcG9ydCBwYWlyKiAoY3Vy cmVudCB2MiBzZW1hbnRpYykKPgo+Cj4gSSB0aGluayB3ZSBzaG91bGQgcG9zdHBvbmUgdGhlICJj aGFuZ2luZyB0aGUgZGVmYXVsdHMiIGRpc2N1c3Npb24uIEZvciBhCj4gdjIuOSB0eXBlIHJlbGVh c2UgdGhhdCBjb3VsZCBpbmNsdWRlIHRoZSBwcm9wb3NlZCBjaGFuZ2VzLCBoYXZpbmcgdGhlCj4g ZGVmYXVsdCBub3QgY2hhbmdlIHdvdWxkIGJlIG9mIG1vc3QgYmVuZWZpdCB0byB0aGUgY29tbXVu aXR5IEkgdGhpbmsuIEluIHRoZQo+IGZ1dHVyZSwgaWYvd2hlbiB3ZSBkZWNpZGUgdGhhdCBhIGRp ZmZlcmVudCBzZXQgb2YgZGVmYXVsdHMgaXMgbW9yZQo+IGFwcHJvcHJpYXRlLCB3ZSBjb3VsZCBw aGFzZSB0aGF0IGludG8gZnV0dXJlIHJlbGVhc2VzIGluIGEgd2F5IHRoYXQKPiBtaW5pbWl6ZXMg ZGlzcnVwdGlvbiB0byB0aGUgY29tbXVuaXR5Lgo+Cj4gQ2hlZXJzCj4gU3RlcGhlbgotLSAKT3Jv Y29zLURldiBtYWlsaW5nIGxpc3QKT3JvY29zLURldkBsaXN0cy5tZWNoLmt1bGV1dmVuLmJlCmh0 dHA6Ly9saXN0cy5tZWNoLmt1bGV1dmVuLmJlL21haWxtYW4vbGlzdGluZm8vb3JvY29zLWRldgo=