T24gRnJpLCBNYXkgMjcsIDIwMTEgYXQgNzo1NyBBTSwgVG9iaWFzIEdvZ29saW4gPHVzZXJ0b2dv QGdtYWlsLmNvbT4gd3JvdGU6Cj4gV2hhdCBJIGFtIGVudmlzaW9uaW5nIGlzIHRoYXQsIHN0YXJ0 aW5nIGZyb20gdGhlIHNjaGVtYXRpYywgY29tcG9uZW50cyBjYW4KPiBiZSBhc3NvY2lhdGVkIHdp dGggZm9ybXVsYXMgdGhhdCBjb25zaWRlciBwbGFjZW1lbnQgb3B0aW9ucywgdmFyaWF0aW9ucyBv Zgo+IHByb2R1Y3QgY2FwYWJpbGl0aWVzIChmb3IgZXhhbXBsZSBudW1iZXIgb2YgcGFyYWxsZWwg dHJhbnNpc3RvcnMgb3IgbWVtb3J5Cj4gYmFua3MpIGFuZCBldmVudHVhbGx5IGFzc29jaWF0aXZp dHkgdG8gdGhlIHBhZHMgb2YgdGhlIFBDQiAobGlua2VkIHRvIG9yIHZpYQo+IMKgc3ByZWFkc2V0 cyksIEJPTSBhbmQgcGljayBhbmQgcGxhY2UgY29vcmRpbmF0ZXMgZ2VuZXJhdGVkLCBldGMuCgoK QSBjb21wbGljYXRlZCBzY2hlbWF0aWMgaXMganVzdCBtYW55IHNtYWxsIGNpcmN1aXRzIHB1dCB0 b2dldGhlci4gU29tZQphcmUgbGluZWFyLCBzb21lIGFyZSBub3QuClNvbWUgYXJlIHByb2dyYW1t YWJsZSBhbmQgbWF5IG91dHB1dCBhIHNpZ25hbCB0aGF0IGFwcGVhcnMgbm9uLWxpbmVhcgooYSBk aWdpdGFsIFBXTSBzaWduYWwpIGJ1dCB0aGF0IGNhbiBiZSBpbnRlcnByZXRlZCBpbiBhIGxpbmVh ciBmYXNoaW9uCnRocm91Z2ggYSBzaW1wbGUgUi1DIGZpbHRlciBhbmQgZmVkIGludG8gYW4gb3Bh bXAuCgpUaGlzIGlzIGdldHRpbmcgdmVyeSBjb21wbGljYXRlZCB2ZXJ5IHF1aWNrbHkuIE1heWJl IG5vdCB0byB1cyB3aG8KZGVzaWduIGVsZWN0cm9uaWNzLCBidXQgdG8gZGVzY3JpYmUgdGhpcyBw YXJhbWV0cmljYWxseSB3aXRoIGVxdWF0aW9ucwppbiBhIGNvbXBsZXRlIGFuZCB1bmFtYmlndW91 cyBzZWVtcyB2ZXJ5IHZlcnkgdGVkaW91cyBhbmQgY29tcGxpY2F0ZWQuCgpFbGVjdHJvbmljIHBh cmFtZXRyaWMgRURBIHNlZW1zIHRvIGJlIGFkZGluZyBhIHRpbWUgZGltZW5zaW9uIHRvIHlvdXIK ZXhhbXBsZSBvZiBwYXJhbWV0cmljIDNEIG1vZGVsbGluZyBzdWNoIGFzIFNvbGlkd29ya3MuIElu IFNvbGlkd29ya3MKeW91IGNyZWF0ZSAyRCBkcmF3aW5ncyBhbmQgZXh0cnVkZSBvciBjdXQuIE5v dyBpbWFnaW5lIGlmIHlvdSBub3Qgb25seQpoYWQgdG8gZGVzaWduIGEgc2luZ2xlIDNEIHBhcnQs IGJ1dCBhbHNvIGRlc2NyaWJlIGhvdyB0aGV5IGludGVyYWN0LAp0aGVuIGFkZCBlbGVjdHJvbnMg YW5kIHNlbWljb25kdWN0b3JzIHRoYXQgYmVoYXZlIGluIG5vbi1tZWNoYW5pY2FsCndheXMuCgpB biBpbnRlcmVzdGluZyBpZGVhIC0KSXQgbWlnaHQgYmUgbW9yZSBjb21wbGljYXRlZCB0aGFuIGp1 c3QgaGF2aW5nIHRoZSBkZXNpZ24gZW5naW5lZXIgcmVkbwp0aGUgY2FsY3VsYXRpb25zLgoKLS0g Ck1hcnRpbiBLLgoKLS0gCmh0dHA6Ly93d3cucGljbGlzdC5jb20gUElDL1NYIEZBUSAmIGxpc3Qg YXJjaGl2ZQpWaWV3L2NoYW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0aW9ucyBhdApodHRwOi8vbWFp bG1hbi5taXQuZWR1L21haWxtYW4vbGlzdGluZm8vcGljbGlzdAo= .