UmlnaHQgbm93LCBLcml0YSBvbmx5IGJ1aWxkcyB3aXRoIFZjIDAuNy4gVGhlcmUgaXMgYSBicmFu Y2ggd2hpY2gKbWFrZXMgS3JpdGEgYnVpbGQgd2l0aCAxLngsIGJ1dCB0aGF0IGlzIG5vdCBtZXJn ZWQgeWV0IGJlY2F1c2UKdGhlcmUgd2VyZSByZXBvcnRzIG9mIHBlcmZvcm1hbmNlIHJlZ3Jlc3Np b25zLiBUaGUgbWVyZ2UnbGwgaGFwcGVuCmFmdGVyIHdlIHJlbGVhc2UgS3JpdGEgMy4wLgoKT24g U3VuLCAxNSBNYXkgMjAxNiwgU3ZlbiBDbGF1c3NuZXIgd3JvdGU6Cgo+IEhpLAo+Cj4gaGF2aW5n IGEgbG9vayBhdCBLcml0YSBJJ20gcXVpdGUgaW1wcmVzc2VkIGJ5IGl0cyB1c2VmdWwgY2FwYWJp bGl0aWVzIC0KPiB0aGFuayB5b3UgZm9yIHlvdXIgd29yayEKPgo+IE5vdyBJJ20gZGlnZ2luZyBh IGJpdCBpbnRvIHRoZSBjb2RlLgo+IEknbSBjdXJyZW50bHkgYnVpbGRpbmcgS3JpdGEgb24gRGVi aWFuIFRlc3Rpbmcgd2hpY2ggaGFzCj4gbm8gcGFja2FnZXMgZm9yIHRoZSBWYyBsaWIuIFRoZXJl Zm9yZSBJIHB1bGxlZCBteSBvd24gY29weSBmcm9tCj4gaHR0cHM6Ly9naXRodWIuY29tL1ZjRGV2 ZWwvVmMgYW5kIGhhdmUgYnVpbHQgaXQgc3VjY2Vzc2Z1bGx5IGludG8KPiBLcml0YSdzIHByZWZp eC4KPgo+IEtyaXRhJ3MgY21ha2UgZGV0ZWN0cyBpdCwgYnV0IHRoZSBjb21waWxlciBmYWlscyBh dAo+IGxpYnMvcGlnbWVudC9jb21wb3NpdGVvcHMvS29WY011bHRpQXJjaEJ1aWxkU3VwcG9ydC5o IC4KPiBJdCB0ZWxscyBtZSB0aGF0IFZDX1ZFUlNJT05fTlVNQkVSIGlzIG5vdCBmb3VuZCAoc2Vl IGxpbmUgOTMpCj4gYW5kIGJyZWFrcy4KPiBMb29raW5nIGludG8gJGtyaXRhX3ByZWZpeC9pbmNs dWRlL1ZjL3ZlcnNpb24uaCBJIHNlZSB0aGUgY29tcGlsZXIKPiB2YXJpYWJsZXMgbmFtZXMgYmVn aW4gd2l0aCBWY18gbm93LCBzZWUgYWxzbyB0aGlzIGNvbW1pdCBpbiB0aGUgVmMgcmVwbzoKPiBo dHRwczovL2dpdGh1Yi5jb20vVmNEZXZlbC9WYy9jb21taXQvZWQzODY5Yjc4OWY0ZGM1ZGMzZTk5 NWIyZmRlNGNlZWYyMDU0MzI3YQo+IGRhdGluZyBmcm9tIDIwLjEwLjIwMTUuCj4KPiBJJ20gd29u ZGVyaW5nIHdoYXQgd291bGQgYmUgdGhlIHJpZ2h0IHdheSB0byBzb2x2ZSB0aGlzLgo+IENvbXBp bGVyIHZhcmlhYmxlcyB3aXRoIGxvd2VyY2FzZSBsZXR0ZXJzIGxvb2sgYSBiaXQgb2RkIHRvIG1l LAo+IGFyZW4ndCB0aGV5PyBPbiB0aGUgb3RoZXIgaGFuZCBJIHdvbmRlciB0aGF0IHRoaXMgaXNz dWUgaGFzbid0Cj4gcG9wcGVkIHVwIGVhcmxpZXIuIERvZXMgYnVpbGRpbmcgS3JpdGEgcmVxdWly ZSBhIHBhcnRpY3VsYXIgVmMgdmVyc2lvbj8KPgo+IFRoYW5rIHlvdSBpbiBhZHZhbmNlLAo+Cj4K PiBTdmVuCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K PiBLcml0YSBtYWlsaW5nIGxpc3QKPiBraW1hZ2VzaG9wQGtkZS5vcmcKPiBodHRwczovL21haWwu a2RlLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2tpbWFnZXNob3AKPgoKLS0gCkJvdWRld2lqbiBSZW1w dCB8IGh0dHA6Ly93d3cua3JpdGEub3JnLCBodHRwOi8vd3d3LnZhbGR5YXMub3JnCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCktyaXRhIG1haWxpbmcgbGlz dApraW1hZ2VzaG9wQGtkZS5vcmcKaHR0cHM6Ly9tYWlsLmtkZS5vcmcvbWFpbG1hbi9saXN0aW5m by9raW1hZ2VzaG9wCg==