SGkuCgpZZXMsIGl0J3MgaGFyZCB0byBjb21wZXRlIHdpdGggc29tZW9uZSB3aG8ncyBnb3Zlcm5t ZW50IHBheXMKZm9yIHRoZSBzaGlwcGluZy4uLiA6LSkKCkFueXdheSwgdGhlcmUgaXMgbm8gb25l IGVsc2UgKGFwYXJ0IGZyb20gSmFtZXMgTmV3dG9uLCB3aG8gcmVzZWxscwoqbXkqIG1vZHVsZXMp IHRoYXQgaGFzIHRoZXNlICBMQ0QgImZyb250IHBhbmVsIiBtb2R1bGVzLiBBbmQgSSBkbyBub3QK dGhpbmsgbXkgc2hpcHBpbmcgb24gdGhlIHNpbmdsZSB1bml0IG9mZmVyIGlzIHRoYXQgaGlnaC4g JDQgd29ybGQtd2lkZS4KCldpdGggYSBzdGFydGluZyBwcmljZSBvbiB0aGUgYXVjdGlvbnMgb2Yg JDAuMDEsIEkgY2Fubm90IHJpc2sgaGF2aW5nIGFuCnVuZGVyLXNwZWNpZmllZCBzaGlwcGluZyB3 aGVyZSBJIG1pZ2h0IGVuZCB1cCBsb3Npbmcgb24gdGhlIHdob2xlIGRlYWwuCgpXZSdsbCBzZWUu Li4gOi0pCgpSZWdhcmRzLCBKYW4tRXJpay4KCgo+IC0tLS0tVXJzcHJ1bmdsaWd0IG1lZGRlbGFu ZGUtLS0tLQo+IEZyw6VuOiBwaWNsaXN0LWJvdW5jZXNAbWl0LmVkdSBbbWFpbHRvOnBpY2xpc3Qt Ym91bmNlc0BtaXQuZWR1XSBGw7ZyCj4gZW1iZWRkZWQgc3lzdGVtcwo+IFNraWNrYXQ6IGRlbiAy NCBqdWxpIDIwMTUgMTc6NTYKPiBUaWxsOiBNaWNyb2NvbnRyb2xsZXIgZGlzY3Vzc2lvbiBsaXN0 IC0gUHVibGljLiA8cGljbGlzdEBtaXQuZWR1Pgo+IMOEbW5lOiBSZTogW0FEXTogTENEIG1vZHVs ZSAiZnJvbnQgcGFuZWwiLCBib3ggb2YgMjAgcGNzLgo+IAo+IEVyaWssIEkgdGhpbmsgeW91ciBw cm9ibGVtIGlzIHRoZSBzaGlwcGluZyBjb3N0LCBub3QgdGhlIGl0ZW0gY29zdC4uLgo+IEJ1eWlu ZyBmcm9tIENoaW5hIGVuZHMgd2l0aCBmcmVlIHNoaXBwaW5nIGV2ZW4gaXQgdGFrZXMgdGhyZWUg d2Vla3MgdG8gb25lCj4gbW9udGggdG8gYXJyaXZhbC4KPiAKPiBiZXN0IHdpc2hlcywKPiBWYXNp bGUKPiAKPiBPbiBGcmksIEp1bCAyNCwgMjAxNSBhdCA0OjI0IFBNLCBKYW4tRXJpayBTw7ZkZXJo b2xtIDwKPiBqYW4tZXJpay5zb2RlcmhvbG1AdGVsaWEuY29tPiB3cm90ZToKPiAKPiA+IEhpIGFn YWluLi4uCj4gPgo+ID4gQWgsIHdlbGwuIEkgcmVhbGx5IGhhdmUgdG8gZ2V0IHRoZXNlIGJveGVz ICJnb2luZyIuIDotKQo+ID4KPiA+IFRoZSBmaXhlZC1wcmljZSBvZmZlciBJIGFubm91bmNlZCBi ZWxvdywgd2lsbCBiZSByZXBsYWNlZCB3aXRoIGFuIGF1Y3Rpb24KPiA+IG9mZmVyIHN0YXJ0aW5n IGF0ICQwLjAxLiBJdCB3aWxsIGJlIHZpc2libGUgaW4gYXBwcm94LiAzIGhvdXJzICh0aW1lZAo+ ID4gYXVjdGlvbiBzdGFydCkuCj4gPgo+ID4gQ2hlY2sgaHR0cDovL3d3dy5lYmF5LmNvbS9zY2gv c3QtYS1kLTAzL20uaHRtbCBhIGxpdHRsZSBsYXRlci4uLgo+ID4KPiA+IFRoZXJlIHdpbGwgYmUg dHdvIGF1Y3Rpb25zLCBvbmUgZm9yIGEgc2luZ2xlIExDRCBtb2R1bGUgYW5kIG9uZSBmb3IgYSBm dWxsCj4gPiBib3ggd2l0aCAyMCBMQ0QgbW9kdWxlcy4KPiA+Cj4gPiBCZXN0IFJlZ2FyZHMsIEph bi1FcmlrIFPDtmRlcmhvbG0KPiA+Cj4gPgo+ID4KPiA+Cj4gPiA+IC0tLS0tVXJzcHJ1bmdsaWd0 IG1lZGRlbGFuZGUtLS0tLQo+ID4gPiBGcsOlbjogcGljbGlzdC1ib3VuY2VzQG1pdC5lZHUgW21h aWx0bzpwaWNsaXN0LWJvdW5jZXNAbWl0LmVkdV0gRsO2cgo+ID4gSmFuLUVyaWsKPiA+ID4gU8O2 ZGVyaG9sbQo+ID4gPiBTa2lja2F0OiBkZW4gMTUganVsaSAyMDE1IDE1OjQ0Cj4gPiA+IFRpbGw6 ICdNaWNyb2NvbnRyb2xsZXIgZGlzY3Vzc2lvbiBsaXN0IC0gUHVibGljLicgPHBpY2xpc3RAbWl0 LmVkdT4KPiA+ID4gw4RtbmU6IFtBRF06IExDRCBtb2R1bGUgImZyb250IHBhbmVsIiwgYm94IG9m IDIwIHBjcy4KPiA+ID4KPiA+ID4gSGkuCj4gPiA+Cj4gPiA+IEkgaGF2ZSBub3cgdXBkYXRlZCBt eSBvZmZlciBmb3IgYSBib3ggb2YgMjAgcGNzICJmcm9udCBwYW5lbHMiCj4gPiA+IHdpdGggMTZ4 MiBMQ0QsIDQgYnV0dG9ucyBhbmQgMyBMRURzLiBMb3dlciBwcmljZSBhbmQgbG93ZXIKPiA+ID4g c2hpcHBpbmcgKGR1ZSB0byBjaGFuZ2VzIGluIGV4Y2hhbmdlIHJhdGUgU0VLIDw9PiBVU0QpLgo+ ID4gPgo+ID4gPiBodHRwOi8vd3d3LmViYXkuY29tL2l0bS8xNzA5OTM5NDMwMzQKPiA+ID4KPiA+ ID4gTm90ZSBhbHNvIHRoYXQgdGhpcyBpcyB0aGUgc2FtZSBtb2R1bGUgdGhhdCBKYW1lcyBOZXd0 b24gKHJlLSkgc2VsbHMKPiA+IGxvY2FsbHkKPiA+ID4gaW4gdGhlIFVTLiBJZiB5b3UgYXJlIGlu IHRoZSBVUyBhbmQgd2FudCBvbmUgb3IgYSBmZXcgdGhhdCBtaWdodCBiZSBhbgo+ID4gPiBvcHRp b24uLi4KPiA+ID4KPiA+ID4gaHR0cDovL3d3dy5waWNsaXN0LmNvbS90ZWNocmVmL2lvL2xjZC9w YW5lbDEuaHRtCj4gPiA+Cj4gPiA+IFlvdSBhcmUgd2VsY29tZSB0byBjaGVjayBteSBvdGhlciBl QmF5IGl0ZW1zIGFsc28sIG9mIGNvdXJzZS4gOi0pCj4gPiA+Cj4gPiA+IGh0dHA6Ly93d3cuZWJh eS5jb20vc2NoL3N0LWEtZC0wMy9tLmh0bWwKPiA+ID4KPiA+ID4KPiA+ID4gQmVzdCBSZWdhcmRz LCBKYW4tRXJpayBTw7ZkZXJob2xtLCBTd2VkZW4uCj4gPiA+Cj4gPiA+Cj4gPiA+IC0tCj4gPiA+ IGh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0 IGFyY2hpdmUKPiA+ID4gVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKPiA+ ID4gaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QKPiA+Cj4g Pgo+ID4gLS0KPiA+IGh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9T WCBGQVEgJiBsaXN0IGFyY2hpdmUKPiA+IFZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRp b25zIGF0Cj4gPiBodHRwOi8vbWFpbG1hbi5taXQuZWR1L21haWxtYW4vbGlzdGluZm8vcGljbGlz dAo+ID4KPiAtLQo+IGh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9T WCBGQVEgJiBsaXN0IGFyY2hpdmUKPiBWaWV3L2NoYW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0aW9u cyBhdAo+IGh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0CgoK LS0gCmh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBs aXN0IGFyY2hpdmUKVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKaHR0cDov L21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QK .