VGhlIHByb2JsZW0gaXMgbWFueSBmYWJzICh1bmxlc3MgaXRzIGFuIGluaG91c2UgZmFiKSBhcmUg bW92aW5nIHRvIHRoZSBzbWFsbGVyIGdlb21ldHJpZXMsIHNvIGV2ZW4gdGhvIGl0cyBvdmVya2ls bCAoYW5kIEkgZG8gbm90IGFyZ3VlIG9uIHRoYXQpIHlvdSBuZWVkIHNvbWVvbmUgdG8gYmUgYWJs ZSBidWlsZCBpdCDwn5iKCgpCdXQgSm9obiBkaWQgZmluZCB0aGUgYW5zd2VyLiAgSXRzIGFjdHVh bGx5IGFtYXppbmcgaG93IG1hbnkgZGV2aWNlcyBhcmUgb3V0IHRoZXJlLCB3aXRoIEFzaWFuIG9y aWdpbnMsIHRoYXQgd2UgYXMgIndlc3Rlcm4iIGRlc2lnbiBlbmdpbmVlcnMgaGF2ZSB2ZXJ5IGxp dHRsZSBpbnNpZ2h0IGludG8uCgoKCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCkZyb206IHBp Y2xpc3QtYm91bmNlc0BtaXQuZWR1IDxwaWNsaXN0LWJvdW5jZXNAbWl0LmVkdT4gT24gQmVoYWxm IE9mIFNlYW4gQnJlaGVueQpTZW50OiBUaHVyc2RheSwgTm92ZW1iZXIgMDEsIDIwMTggMjowNyBQ TQpUbzogTWljcm9jb250cm9sbGVyIGRpc2N1c3Npb24gbGlzdCAtIFB1YmxpYy4gPHBpY2xpc3RA bWl0LmVkdT4KU3ViamVjdDogUmU6IFtFRV0gVW5rbm93biBMRUQgY3VycmVudCByZWd1bGF0b3IK CjU2bm0gaXMgYW4gIm9sZGVyIHRlY2hub2xvZ3kiPyBTdXJlLCBpdCBpcyBub3QgZXZlbiBjbG9z ZSB0byB0aGUgbGF0ZXN0IGZvciBoaWdoLWVuZCBwcm9jZXNzb3JzLCBidXQgaXQgd2FzIHRoZSBz dGF0ZS1vZi10aGUtYXJ0IGluIDIwMDYgYW5kIEkgd291bGQgdGhpbmsgaXQgd291bGQgYmUgd2F5 IG92ZXJraWxsIGZvciBzbWFsbCBtb3N0bHkgYW5hbG9nIEFTSUNzLgoKT24gVGh1LCBOb3YgMSwg MjAxOCBhdCAzOjQzIFBNIEhhcnJpc29uIENvb3BlciA8SGFycmlzb24uQ29vcGVyQHdkYy5jb20+ Cndyb3RlOgoKPiBJdCB3b3VsZCBub3Qgc3VycHJpc2UgbWUgaWYgdGhpcyB3YXMgYSBjdXN0b20g QVNJQywgT3NSQU0gaXMgYSBodWdlIAo+IGNvbXBhbnksIGFuZCBhbHJlYWR5IGRvaW5nIEFTSUMn cyBmb3Igb3RoZXIgcHJvZHVjdHMsIGFuZCBpZiB0aGV5IGFyZSAKPiB1c2luZyBhIG9sZGVyIHRl Y2hub2xvZ3kuLi5zYXkgNTZubSBmb3IgdGhpcywgdGhpcyBjaGlwIHdvdWxkIGJlIHBlbm5pZXMu Cj4KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+IEZyb206IHBpY2xpc3QtYm91bmNlc0Bt aXQuZWR1IDxwaWNsaXN0LWJvdW5jZXNAbWl0LmVkdT4gT24gQmVoYWxmIE9mIAo+IEpvaG4gQ29w cGVucwo+IFNlbnQ6IFRodXJzZGF5LCBOb3ZlbWJlciAwMSwgMjAxOCA3OjU4IEFNCj4gVG86IHBp Y2xpc3RAbWl0LmVkdQo+IFN1YmplY3Q6IFtFRV0gVW5rbm93biBMRUQgY3VycmVudCByZWd1bGF0 b3IKPgo+IEhlbGxvIGFsbC4KPgo+IEkndmUgYmVlbiByZWFsbHkgc3VycHJpc2VkIGF0IHRoZSB2 YXJpYXRpb25zIG9mIHRoZSBjaXJjdWl0cnkgaW5zaWRlIAo+IExFRCBidWxiIHJlcGxhY2VtZW50 cy4gQSB3aGlsZSBhZ28sIEkgYm91Z2h0IGEgY291cGxlIG9mIGJ1bGJzICgnR3JlYXQgCj4gVmFs dWUnLWJyYW5kLCBhIGxvY2FsIFdhbG1hcnQgcHJvZHVjdCksIHdoaWNoIHN0YXJ0ZWQgc2hvd2lu ZyBmYWlsaW5nIAo+IGFmdGVyIGp1c3QgYSBjb3VwbGUgb2Ygd2Vla3MuIE9wZW5pbmcgdGhlbSB1 cCBzaG93ZWQgdGhhdCB0aGV5IHdlcmUgCj4gZmVkIGJ5IGp1c3QgYQo+IChsaW5lYXIpIHNlcmll cyByZWd1bGF0b3IuIFNvIG11Y2ggZm9yIGdyZWVuIGVuZXJneS4KPgo+IE5vdyBJIGFjcXVpcmVk IGEgY291cGxlIG9mIE9TUkFNIGJ1bGJzLCBhbmQgb3BlbmVkIG9uZSB1cCBqdXN0IHRvIAo+IGlu dmVzdGlnYXRlLiBJdCBkaWQgaGF2ZSBhIHN3aXRjaGluZyBjdXJyZW50IHJlZ3VsYXRvciwgYnV0 IGl0IHVzZWQgYSAKPiA0LXBpbiBjaGlwIGZvciB3aGljaCBJIGNvdWxkIG5vdCBmaW5kIGFueSBk YXRhLiBJbiBmYWN0LCBJIGRpZG4ndCBmaW5kIAo+IF9hbnlfIDQtcGluIGN1cnJlbnQgcmVndWxh dG9yIElDLgo+Cj4gSSd2ZSBhdHRhY2hlZCB0aGUgY2lyY3VpdC4gSSBzdXNwZWN0IHRoZSAxLjgg T2htIHJlc2lzdG9yIHRvIGJlIHRoZSAKPiBjdXJyZW50LWRldGVybWluaW5nIGNvbXBvbmVudC4g U3RyYW5nZSBpcyB0aGUgKEkgc3VzcGVjdCkgdHJhbnNmb3JtZXIgCj4gd2hpY2ggaXMgYWN0dWFs bHkgYWNyb3NzIHRoZSBMRURzIChJJ20gbm90IHBvc2l0aXZlIGFib3V0IGl0J3MgCj4gaW50ZXJu YWwgY29ubmVjdGlvbnMuIEkgbWVhc3VyZSAxMCBPaG0gYWNyb3NzIHR3byBwaW5zLCAxNGsgYWNy b3NzIHR3byAKPiBvdGhlciBwaW5zLCBidXQgd2l0aG91dCB1bnNvbGRlcmluZykuIDEyIExFRHMg KEkgc3VzcGVjdCB0cmlwbGV0cykgYXJlIAo+IGNvbm5lY3RlZCBiZXR3ZWVuICsgYW5kIC0uCj4K PiBEb2VzIGFueW9uZSBoYXZlIGFuIGlkZWEgd2hpY2ggSUMgdGhpcyBjb3VsZCBiZT8gSXQncyBt YXJrZWQgOTkzOEYgYW5kIAo+IFMxQzAxWC4gTm8gbG9nbyBhcyBmYXIgYXMgSSBjYW4gZGV0ZWN0 Lgo+Cj4KPiAtLQo+IGh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9T WCBGQVEgJiBsaXN0IGFyY2hpdmUgCj4gVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlv bnMgYXQgCj4gaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QK PgotLQpodHRwOi8vd3d3LnBpY2xpc3QuY29tL3RlY2hyZWYvcGljbGlzdCBQSUMvU1ggRkFRICYg bGlzdCBhcmNoaXZlIFZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0IGh0dHA6 Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0CgotLSAKaHR0cDovL3d3 dy5waWNsaXN0LmNvbS90ZWNocmVmL3BpY2xpc3QgUElDL1NYIEZBUSAmIGxpc3QgYXJjaGl2ZQpW aWV3L2NoYW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0aW9ucyBhdApodHRwOi8vbWFpbG1hbi5taXQu ZWR1L21haWxtYW4vbGlzdGluZm8vcGljbGlzdAo= .