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=