UnVzc2VsLApZb3Ugd2FudCB0byBidWlsdCBpdCAoIGEgbGl0dGxlIGVsZWN0cm9uaWNzIG5lYXIg YW4gZXhpc3RpbmcgdmFsdmUpIG9yIHRvCmJ1eSBpdCBhcyBpcz8KdGhlcmUgYXJlIGF2YWlsYWJs ZSBzb21lIG1pY3JvdmFsdmVzIG9uIHRoZSBtYXJrZXQKaHR0cDovL3d3dy5hc2NvdmFsdmUuY29t L2FwcGxpY2F0aW9ucy9wcm9kdWN0cy9taW5pYXR1cmVzb2xlbm9pZHZhbHZlcy5hc3B4CgphbmQg c29tZSB0aGVvcmllcyBhYm91dCBvdGhlciB0eXBlcy4uLgpodHRwOi8vbGluay5zcHJpbmdlci5j b20vY2hhcHRlci8xMC4xMDA3JTJGOTc4LTk0LTAxMC0wMjk1LTBfNDcjcGFnZS0xCgpWYXNpbGUK Ck9uIFdlZCwgSmFuIDIwLCAyMDE2IGF0IDg6MjYgUE0sIFJ1c3NlbGxNYyA8YXBwdGVjaG56QGdt YWlsLmNvbT4gd3JvdGU6Cgo+IENvbW1lbnQgb24gdmFyaW91cyByZXNwb25zZXMgLSB0aGFua3Mg Zm9yIGlucHV0Lgo+Cj4gU29tZW9uZSBub3RlZCBvZmZsaXN0IHRoYXQgSSdkIG5vdCBtZW50aW9u ZWQgcHJlc3N1cmUuCj4KPiBWZXJ5IGxvdyAoYSBmZXcgUFNJICh0byBmdXJ0aGVyIG1peCB1bml0 cykpIC0gZW5vdWdoIHRvIGNhdXNlIGRlc2lyZWQgZmxvdywKPiBidXQgY2FuIGJlIGluY3JlYXNl ZCB0byBhY2NvbW1vZGF0ZSBzZW5zaWJsZSBmbG93IHJlc3RyaWN0aW9ucy4KPiBUb3RhbCBzeXN0 ZW0gaGFzIG1heWJlIDIgdG8gMyBtZXRyZXMgb2YgdHViaW5nLiBJZiBzYXkgNSwsIElEIG9yIGxh cmdlciBhdAo+IHRoZSBmbG93IHJhdGUgdXNlZCBwcmVzc3VyZSBkcm9wIGlzICJzbWFsbCIuCj4K PiBfX19fX19fX19fX19fX19fX19fX19fX19fXwo+Cj4gSSdtIGF3YXJlIG9mIHRlbXBlcmluZyB2 YWx2ZXMgYW5kIGZ1cm5hY2UgaGVhdGVyIHZhbHZlcyBldGMuCj4gQW55dGhpbmcgSSd2ZSBzZWVu IHNvIGZhciBpcyBmYXIgdG9vIGxhcmdlIGFuZCBhbHNvIHJhdGhlciB0b28gZXhwZW5zaXZlLgo+ Cj4gX19fX19fX19fX19fX19fXwo+Cj4KPiA+Cj4gPiAq4oCL4oCLVHJ5IHNlYXJjaGluZyBmb3Ig InRoZXJtYWxseSBhY3R1YXRlZCB2YWx2ZSIgb3IgInRoZXJtYWxseSBhY3RpdmF0ZWQKPiA+IHZh bHZlIiByYXRoZXIgdGhhbiAndGhlcm1vc3RhdGljIi4gICBUaGlzIHlpZWxkcyBudW1lcm91cyBz dXBwbGllcnMgb2YKPiA+IGluZHVzdHJpYWwgY29tcG9uZW50cyB0aGF0IG1heSBiZSBvZiB1c2Uu Kgo+ID4KPgo+IOKAi1RoYW5rcy4gQmVmb3JlIEkgYXNrZWQgdGhlIHF1ZXN0aW9uIEkgaGFkIEkg dHJpZWQgYWxsIHNvcnRzIG9mIHJlbGF0ZWQKPiBzZWFyY2ggdGVybXMgYW5kIGxlYXJuZWQgYSBm ZXcgbW9yZSB0aGluZ3MgLCBhcyBoYXBwZW5zLgo+IE5vIHZhbHZlcyBldGMgdGhhdCBJIGZvdW5k IHNlZW1lZCBhbnl0aGluZyBsaWtlIGEgY2xvc2UgZml0LCBidXQgdGhleSBtYXkKPiB3ZWxsIGV4 aXN0LiBJJ2QgZXhwZWN0IHRoZW0gdG8uCj4KPiBfX19fX19fX19fX19fXwo+Cj4gPiBJcyB0aGVy ZSBhIHJlYXNvbiB5b3UgaGF2ZSB0byBjb250cm9sIGZsb3cgcmF0ZSB0byBtYWludGFpbiB0ZW1w ZXJhdHVyZT8KPiA+IEZyb20gaGVyZSBpdCBsb29rcyBsaWtlIG1hbmFnaW5nIHRoZSBmbHVpZCdz IHRlbXBlcmF0dXJlIHdpdGggaGVhdGVycyBvcgo+ID4gUGVsdGllciBjb29sZXJzIG1heSBiZSBh biBlYXNpZXIgc29sdXRpb24uCj4gPiBEb3VidCBpdCBtZWV0cyB0aGUgc3Bpcml0IG9mIHlvdXIg cG93ZXIgYnVkZ2V0Li4KPgo+IFRoZXJlIGFyZSBzZXZlcmFsIGFwcHJvYWNoZXMgdG8gdGhlIHJl cXVpcmVtZW50IHdoaWNoIG1heSBiZSBhcHBsaWNhYmxlIGluCj4gdmFyaW91cyBjaXJjdW1zdGFu Y2VzLgo+IE9uZSB1c2VzIFBlbHRpZXIgY29vbGVycywgY2lyY3VsYXRpb24gcHVtcCwgbWljcm9j b250cm9sbGVyLCAuLi4uIC4KPiBBdCB0aGUgb3RoZXIgZW5kIGlzIHRoaXMgb25lIHdoaWNoIGFp bXMgYXQgbG93ZXN0IGNvc3QuIGFuZCBpZGVhbGx5IHplcm8KPiBwb3dlciBidWRnZXQuCj4gQ29v bGluZyBlbmVyZ3kgY3Jvc3NlcyB0aGUgc3lzdGVtIGJvdW5kYXJ5IGFzIGFuIGluaXRpYWwgY29u ZGl0aW9uIDotKS4KPgo+ID4gQXQgdmVyeSBsb3cgZmxvdyByYXRlcywgYW55IGhlYXQgbG9zdCBv dXQgdGhlIHZhbHZlIGhvdXNpbmcgd2lsbCBhZmZlY3QKPiB0aGUKPiA+IG1lYXN1cmVkIHRlbXBl cmF0dXJlLgo+ID4gU29sdmFibGUsIGJ1dCBhbiBpbnRlcmVzdGluZyBoZWF0IHRyYW5zZmVyIHBy b2JsZW0gb2YgaXQncyBvd24uCj4KPiBZZXMsIGhvcGVmdWxseSBhbmQgeWVzIDotKS4KPgo+IFBs YWNpbmcgdGhlIHZhbHZlIGluIGEgc3VpdGFibGUgbG9jYXRpb24gd2l0aGluIHRoZSBwcm9jZXNz IHNob3VsZCBhbGxvdwo+IGhlYXQgbG9zcyB0byBub3QgYmUgYW4gaXNzdWUuCj4gZWcgYmltZXRh bGxpYyBzdHJpcHMgd29yayBvbiBhYnNvbHV0ZSB0ZW1wZXJhdHVyZSBhbmQgbm90IGRlbHRhIHRl bXAgc28KPiBoYXZpbmcgdGhlIHZhbHZlIGluIGludGltYXRlIHRoZXJtYWwgY29udGFjdCB3aXQg YW4gdXBzdHJlYW0gcmVzZXJ2b2lyIG1heQo+IGJlIGEgZ29vZCBjaG9pY2UuCj4gQnV0IHBsYWNp bmcgaXQgd2hlcmUgZmxvdyB0ZW1wZXJhdHVyZSBvbmx5IGlzIG5vdGVkIGFsc28gY2FuIGJlIHZp YWJsZSBvZgo+IHN5c3RlbSBjaGFyYWN0ZXJpc3RpY3MgYXJlIGtub3duLgo+Cj4KPgo+IFJ1c3Nl bGwKPiAtLQo+IGh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBG QVEgJiBsaXN0IGFyY2hpdmUKPiBWaWV3L2NoYW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0aW9ucyBh dAo+IGh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0Cj4KLS0g Cmh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0 IGFyY2hpdmUKVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKaHR0cDovL21h aWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QK .