TWFueSB5ZWFycyBhZ28gZm9yIGEgVEFGRSAoVGVjaCBTY2hvb2wpIHByb2plY3QgSSBjYW1lIHVw IHdpdGggYSBzdGVwcGVyCmNvbnRyb2xsZXIgYmFzZWQgb24gdHdvIDQgYml0IHNoaWZ0IHJlZ2lz dGVycyBwcmUgbG9hZGVkIHdpdGggMTExMDAwMDAuIFRoZQo0IHBvbGUgc3RlcHBlciB3YXMgY29u bmVjdGVkIHRvIGV2ZXJ5IHNlY29uZCBvdXRwdXQgdmlhIHRyYW5zaXN0b3JzIHdpdGggYW4KbWFz dGVyIHRyYW5zaXN0b3IgdXNlZCB0byBjb250cm9sIGRyaXZlIG9yIGhvbGQgY3VycmVudC4KClRo ZSByZWdpc3RlcnMgd2FzIGNsb2NrZWQgbGVmdCBvciByaWdodCBhcyByZXF1aXJlZC4KCkZvciBt eSBwcm9qZWN0IGl0IHdvcmtlZCBhIHRyZWF0LiBMb3RzIG9mIHRvcnF1ZSwgamVsbHkgYmVhbiBw YXJ0cywgZWFzeSB0bwp1bmRlcnN0YW5kIGV0Yy4KCkkgdGhvdWdodCBpdCB3YXMgY2xldmVyIGFu ZCBmaWd1cmVkIGl0IHdvdWxkIGhhdmUgYmVlbiByZS1pbnZlbnRlZCBtYW55CnRpbWVzIGZvciBo b2JieSB1c2UgYnV0IGkgY291bGQgbm90IGZpbmQgbm8gc2ltaWxpYXIgc2V0dXBzIG9uIHRoZSB3 ZWIuCgpKdXN0aW4KT24gMTMvMDgvMjAxNSAxMjo0NCBBTSwgIkphbWVzIE5ld3RvbiIgPGphbWVz bmV3dG9uQG1hc3NtaW5kLm9yZz4gd3JvdGU6Cgo+IEFsbCB0aGUgZHJpdmVycyBuYW1lZCBieSBE ZW5ueSBhcmUgZ2VuZXJhbGx5IHdlbGwgdGhvdWdodCBvZiBhbmQgZG9uJ3QgaGF2ZQo+IG1ham9y IGlzc3Vlcy4KPgo+IFBsZWFzZSwgZm9yIHRoZSBsb3ZlIG9mIGVuZ2luZWVyaW5nLCBkbyBOT1Qg cHVyY2hhc2UgYSBUQjY1NjAgZHJpdmVyLi4uCj4gVGhleSB3ZXJlIG5ldmVyIGRlc2lnbmVkIGZv ciB1c2UgYXMgaW5kZXBlbmRlbnQgc3RlcHBlciBkcml2ZXJzIGJ1dCByYXRoZXIKPiB3ZXJlIG1h ZGUgZm9yIGludGVncmF0ZWQgYXBwbGljYXRpb25zIHdoZXJlIHRoZSBwb3dlciB1cCBzZXF1ZW5j ZSBpcwo+IGNhcmVmdWxseSBjb250cm9sbGVkLiBGb3IgQ05DIC8gM0QgcHJpbnRlciBhcHBsaWNh dGlvbnMsIGFsbCB0aGUgZWJheSAvCj4gY2hpbmEgdmVyc2lvbnMgb2YgdGhpcyBkcml2ZXIgZGVy aXZlIGxvZ2ljIHBvd2VyIGZyb20gbW90b3IgcG93ZXIgKHZpYSAxMnYKPiB0aGVuIDV2IHJlZ3Vs YXRvciBjaGFpbikgYW5kIHRoYXQgbWVhbnMgbG9naWMgcG93ZXIgYWx3YXlzIGNvbWVzIHVwIGFm dGVyCj4gbW90b3IgcG93ZXIuIFRoaXMgdmlvbGF0ZXMgdGhlIGRhdGFzaGVldCBhbmQgcmVzdWx0 cyBpbiB0aGUgY2hpcCBtZWx0aW5nCj4gZXZlcnkgMSBpbiBuIHBvd2VyIHVwcy4gbiBtYXkgYmUg YSBsYXJnZSBudW1iZXIsIGJ1dCBpdCBXSUxMIG1lbHQKPiBldmVudHVhbGx5LiAuLi5hbmQgdGhl biB5b3UgYnV5IGEgcmVwbGFjZW1lbnQuIEdlbml1cyBtYXJrZXRpbmcuCj4KPiBUaGUgUG9sb2x1 IGRyaXZlcnMgYXJlIGxpc3RlZCBhcyBiZWluZyBnb29kIHRvIHBvd2VyIGxldmVscyB0aGF0IHRo ZXkgY2FuJ3QKPiByZWFzb25hYmx5IHN1cHBvcnQgYXMgZGVsaXZlcmVkLiBJZiB5b3UgbG9vayBj YXJlZnVsbHkgb24gdGhlIHByb2R1Y3QgcGFnZXMKPiB5b3Ugd2lsbCBmaW5kIGFuIGFzc3Rlcmlz ayAoc2ljKSB0aGF0IGluZGljYXRlcyBhIGhlYXRzaW5rIGlzIG5lZWRlZCBmb3IKPiB0aGUgc3Bl Y2lmaWVkIG1heGltdW0gY3VycmVudC4gSSBjYW4gdGVsbCB5b3UgZnJvbSBleHBlcmllbmNlIHRo YXQgZXZlbgo+IHdpdGggYSBoZWF0c2luaywgdGhvc2UgZHJpdmVycyBhcmUgTk9UIGdvaW5nIHRv IHB1bXAgdGhlaXIgcmF0ZWQgbWF4aW11bQo+IHBvd2VyLiBCdXQgdGhleSB3b3JrIGZpbmUgaW4g dGhlIGhhbGYgd2F0dCByYW5nZSBpZiB0aGF0J3MgYWxsIHlvdSBuZWVkLi4uCj4gYW5kIGZvciBt b3N0IDNEIHByaW50ZXJzLCB0aGF0J3MgYWxsIHlvdSBuZWVkLgo+Cj4gVGhlIG9wZW4gc291cmNl IGRyaXZlciBraXRzICh0aGV5IGFyZSBraXRzKSB0aGF0IEkgc2VsbCBjYW4gYmUgZm91bmQgYXQ6 Cj4gaHR0cDovL3d3dy5waWNsaXN0LmNvbS90ZWNocmVmL2lvL3N0ZXBwZXJzLmh0bQo+IGFsb25n IHdpdGggYSBsb3Qgb2Ygb3RoZXIgd29uZGVyZnVsIGluZm9ybWF0aW9uLiBGb3IgZXhhbXBsZToK Pgo+IEhvdyB0byBmaWd1cmUgb3V0IGhvdyBtdWNoIHBvd2VyLCBhbmQgc28gd2hhdCBkcml2ZXIs IGFuZCBzbyB3aGF0IG1vdG9yIHlvdQo+IG5lZWQgKGluIFRIQVQgb3JkZXIsIGRhbW4gaXQhKQo+ IGh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9pby9zdGVwcGVyL2VzdGltYXRlLmh0bQo+ Cj4gV2hhdCdzIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYmlwb2xhciBhbmQgdW5pcG9sYXIgYW5k IHdoaWNoIG9uZSBpcyBiZXN0Cj4gZm9yIHlvdXIgYXBwbGljYXRpb246Cj4gaHR0cDovL3d3dy5w aWNsaXN0LmNvbS90ZWNocmVmL2lvL3N0ZXBwZXIvY29ubmVjdGlvbnMuaHRtCj4KPiA1MCB3YXlz IHRvIGxlYXZlIHlvdXIgc3RlcHBlciBtb3RvciB3aXJlZCBjb3JyZWN0bHkgYW5kL29yIGZpZ3Vy ZSBvdXQgd2hpY2gKPiB3aXJlIGlzIHdoaWNoLgo+IGh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVj aHJlZi9pby9zdGVwcGVyL3dpcmVzLmh0bQo+Cj4gUG93ZXIgc3VwcGxpZXMgZm9yIHN0ZXBwZXIg bW90b3JzCj4gaHR0cDovL3d3dy5waWNsaXN0LmNvbS90ZWNocmVmL2lvL3N0ZXBwZXIvcG93ZXIu aHRtCj4KPiBQbGVhc2Uga2VlcCBpbiBtaW5kIGFsbCB0aG9zZSBwYWdlcyBhcmUgZWZmZWN0aXZl bHkgd2lraXMgc28gdGhleSBjYW4gYmUKPiBlZGl0ZWQgLyB1cGRhdGVkIGJ5IHlvdSBhbmQgaGF2 ZSBiZWVuIGVkaXRlZCAvIHVwZGF0ZWQgYnkgb3RoZXJzLiBUaGV5IG1heQo+IGJlIGEgbGl0dGxl IG1lc3N5LCBidXQgdGhlcmUgaXMgZ29sZCBpbiB0aGVyZSBmcm9tIHBlb3BsZSB3aG8gcmVhbGx5 IGtub3cKPiB0aGVpciBzc3Nzc3N0dWZmLgo+Cj4KPgo+Cj4KPgo+IE9uIFdlZCwgQXVnIDEyLCAy MDE1IGF0IDg6MDQgQU0sIFJ1c3NlbGxNYyA8YXBwdGVjaG56QGdtYWlsLmNvbT4gd3JvdGU6Cj4K PiA+IE9uIDEzIEF1Z3VzdCAyMDE1IGF0IDAyOjQ2LCBEZW5ueSBFc3RlcmxpbmUgPGRlc3Rlcmxp bmVAZ21haWwuY29tPgo+IHdyb3RlOgo+ID4KPiA+PiBJbiB0aGlzIHNwYWNlIHNvb25lciBvciBs YXRlciB5b3UncmUgZ29pbmcgdG8gY3Jvc3MgcGF0aHMgd2l0aCB0aGUgM0QKPiA+PiBwcmludGVy IGNvbW11bml0eS4gIC4uLgo+ID4KPiA+Cj4gPiBSZWxhdGVkIG1hdGVyaWFsIGFwcGVuZGVkIHVu dHJpbW1lZDoKPiA+Cj4gPiBTZWUgd2hhdCBKYW1lcyBOZXd0b24gaGFzIHRvIHNheSBvbiB0aGlz IC0gcHJvYmFibHkgb24gaGlzIG1hc3NtaW5kCj4gcGFnZXMuCj4gPiBIZSBzZWxscyBvciBzb2xk ICBzdGVwcGVyIGRyaXZlciBib2FyZHMgZGVzaWduZWQgYnkgUm9tYW4gQmxhY2ssIHdpdGgKPiA+ IHByb2NlZWRzIGdvaW5nIHRvIGtlZXAgdGhlIFBJQ0xpc3QuY29tIHNpdGUgZ29pbmcuCj4gPgo+ ID4gSGUgaGFzIG5vdGVkIGluIHdyaXR0ZW4gY29tbWVudCB0aGF0IGl0IGlzIGFwcHJveGltYXRl bHkgaW1wb3NzaWJsZSB0bwo+ID4gcHJvcGVybHkgcG93ZXIgc3VwcGx5IHNlcXVlbmNlIHNvbWUg b2YgdGhlIGNvbW1vbmx5IHVzZWQgQ05DIHN0ZXBwZXIKPiA+IGNvbnRyb2wgSUNzIHVzZWQgaW4g bWFueSBkZXNpZ25zIHdpdGhvdXQgYWRkaW5nIGV4dHJhIHN1cHBseSBzd2l0Y2hpbmcKPiA+ICd3 aGljaCB0aGV5IGhhdmUgbm90IGdvdCcgQXBwYXJlbnRseSBtb3N0IG9mIHRoZXNlIGRvIG5vdCBi bG93IHVwIG1vc3Qgb2YKPiA+IHRoZSB0aW1lIGRlc3BpdGUgdGhpcyBzaG9ydGNvbWluZy4gV2hl dGhlciB0aGlzIG1hdHRlcnMgaW4gYSBnaXZlbgo+ID4gYXBwbGljYXRpb24gbWF5IGRlcGVuZCB3 aGV0aGVyIGl0IGlzIGluIE1hcnMgb3JiaXQsIExFTyBvciBpbiB0aGUgbmV4dAo+IHJvb20uCj4g Pgo+ID4gSSBiZWxpZXZlIHRoYXQgSmFtZXMgY2hhbmdlZCBJQ3MgYW5kIGNpcmN1aXQgc29tZXdo ZXJlIGFsb25nIHRoZSB3YXkgaW4KPiA+IHRoZSB1bml0cyBoZSBzZWxscy4KPiA+Cj4gPiBJJ2xs IGNvcHkgdGhpcyB0byBoaW0gYW5kIGhlIG1heSB3aXNoIHRvIGNvbW1lbnQKPiA+Cj4gPgo+ID4g ICAgICAgICAgICAgUnVzc2VsbAo+ID4KPiA+Cj4gPiDigIvigIsKPiA+Cj4gPiBPbiAxMyBBdWd1 c3QgMjAxNSBhdCAwMjo0NiwgRGVubnkgRXN0ZXJsaW5lIDxkZXN0ZXJsaW5lQGdtYWlsLmNvbT4K PiB3cm90ZToKPiA+Cj4gPj4gSW4gdGhpcyBzcGFjZSBzb29uZXIgb3IgbGF0ZXIgeW91J3JlIGdv aW5nIHRvIGNyb3NzIHBhdGhzIHdpdGggdGhlIDNECj4gPj4gcHJpbnRlciBjb21tdW5pdHkuIE90 aGVycyBleGlzdCwgYnV0IHRoZSBtYWpvcml0eSBzZWVtIHRvIGJlIHNldHRsaW5nCj4gaW50bwo+ ID4+IGVpdGhlciB0aGUgQWxsZWdybyBBNDk4OCBvciB0aGUgVEkgRFJWODgyNSBiYXNlZCBkcml2 ZXJzLiBUaGUgODgyNSBoYXMgYQo+ID4+IGxpdHRsZSBoaWdoZXIgY3VycmVudCBjYXBhYmlsaXRp ZXMuIChib3RoIG1vcmUgdGhhbiB5b3UncmUgYXNraW5nIGZvcikKPiA+PiBIZXJlJ3MgYXMgZ29v ZCBvZiBwbGFjZSB0byBzdGFydCBhcyBhbnk6Cj4gPj4gaHR0cHM6Ly93d3cucG9sb2x1LmNvbS9j YXRlZ29yeS8xMjAvc3RlcHBlci1tb3Rvci1kcml2ZXJzCj4gPj4KPiA+PiBQb2xvbHUgaXMgYSBn b29kIGNvbXBhbnkgKHNhdGlzZmllZCBjdXN0b21lcikgYnV0IGJlIGF3YXJlIHRoYXQgdGhlc2UK PiA+PiBkZXNpZ25zIGFyZSBvcGVuIHNvdXJjZSwgY2xvbmVzIG9mIHRoZXNlIG1vZHVsZXMgYXJl IGF2YWlsYWJsZSBmb3IgdW5kZXIKPiA+PiAkMwo+ID4+IFVTIGFuZCB0aGUgZHJpdmVyIGNoaXBz IHRoZW1zZWx2ZXMgYXJlIGF2YWlsYWJsZSBmcm9tIG5vcm1hbCBjaGFubmVscy4KPiA+Pgo+ID4+ IFRoZXNlIGFyZSBjdXJyZW50IGNvbnRyb2xsZWQgUFdNIG1pY3Jvc3RlcHBpbmcgZHJpdmVycyBh bmQgaW4gZ2VuZXJhbAo+IHlvdQo+ID4+IHdhbnQgdG8gdXNlIHRoZW0gd2l0aCBhIG1vdG9yIHdp dGggYSBfbG93XyB2b2x0YWdlIHJhdGluZyBhcyB0aGF0IGFsc28KPiA+PiAobW9zdGx5KSB0cmFu c2xhdGVzIGludG8gbG93ZXIgaW5kdWN0YW5jZSBhbmQgbG93ZXIgcmVzaXN0YW5jZSB3aGljaAo+ ID4+IHJlc3VsdHMgaW4gaGlnaGVyIG1heGltdW0gYWNjZWxlcmF0aW9uIGFuZCBzcGVlZCAtIHdo aWNoIG1heSBvciBtYXkgbm90Cj4gYmUKPiA+PiBpbXBvcnRhbnQgdG8geW91ciBhcHBsaWNhdGlv bi4gVGhlIG9sZCBhZGFnZSBhcHBsaWVzOiBiZXR0ZXIgdG8gaGF2ZSBhbmQKPiA+PiBub3QgbmVl ZCB0aGFuIHRvIG5lZWQgYW5kIG5vdCBoYXZlLgo+ID4+IEN1cnJlbnQgY2FuIGJlIHNldCB3aXRo IGEgcmVzaXN0b3IgKGFuZCBJJ3ZlIHNlZW4gYXQgbGVhc3Qgb25lIHZlcnNpb24KPiA+PiB0aGF0 Cj4gPj4gdXNlZCBhIGRpZ2l0YWwgcG90KSBhbmQgbWljcm9zdGVwcGluZyBjYW4gYmUgc2V0IHdp dGggYSBjb3VwbGUgbG9naWMKPiBsaW5lcwo+ID4+ICh1c3VhbGx5IGp1bXBlcnMpCj4gPj4KPiA+ Cj4KPgo+IC0tCj4gSmFtZXMgTmV3dG9uCj4gTWFzc01pbmQub3JnIDxodHRwOi8vd3d3Lm1hc3Nt aW5kLm9yZy8+Cj4gMS05NzAtNDYyLTc3NjQKPiAtLQo+IGh0dHA6Ly93d3cucGljbGlzdC5jb20v dGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKPiBWaWV3L2NoYW5nZSB5 b3VyIG1lbWJlcnNoaXAgb3B0aW9ucyBhdAo+IGh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1h bi9saXN0aW5mby9waWNsaXN0Cj4KLS0gCmh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9w aWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJz aGlwIG9wdGlvbnMgYXQKaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3Bp Y2xpc3QK .