VGhlIEhpZ2h3YXltYW4gY2FtZSByaWRpbmcsIHJpZGluZywgcmlkaW5nLgpUSE1DUiB1cCB0byB0 aGUgb2xkIGlubiBkb29yLgouLi4gQmV0aCAuLi4KLi4uCkRlIGxhIG1lcmU/Ci4uLgpOb3BlLiBO b3llcy4KQW5kIEJlc3MuCgpBaC4gTWVtb3JpZXMuCgoqTG9vayBmb3IgbWUgYnkgbW9vbmxpZ2h0 OyoKICAgICAgICAgKldhdGNoIGZvciBtZSBieSBtb29ubGlnaHQ7KgoqSeKAmWxsIGNvbWUgdG8g dGhlZSBieSBtb29ubGlnaHQsIHRob3VnaCBoZWxsIHNob3VsZCBiYXIgdGhlIHdheSEqCgpJdCBk aWQuIFRoaXMgd2FzIG5vdCBhIGdvb2QgaWRlYS4KCldoaWNoIHRha2VzIG1lIHRvIEhlbG0ncyBE ZWVwLgpWZXJ5IG5pY2VseSBkb25lLgpUaGUgYmF0dGxlIGNsb3NlIHRvIGxvc3QuCk5vIGNoYW5j ZSBvZiBzdWNjb3VyLgpBbmQgLi4uCldoYXQgaGFkIEdhbmRhbGYgc2FpZD8KIkxvb2sgZm9yIG1l IG9uIHRoZSBtb3JuaW5nIG9mIHRoZSB0aGlyZCBkYXkiLgpUaGV5IHNlZW1lZCB0byBoYXZlIGZv cmdvdHRlbi4KSSdkIGZvcmdvdHRlbi4KR2FuZGFsZiBoYWRuJ3QuCkkgcmVjYWxsIG5vdGluZyB0 aGF0IHJpZGluZyBkb3duIGEgaGlsbCBsaWtlIHRoYXQgd2FzIGFuIGF3ZXNvbWUgZmVhdCwKYmFz ZWQgb24gdGhlIGZlYXIgbGV2ZWxzIGdlbmVyYXRlZCB3aGlsZSBoYXZpbmcgZG9uZSBsZXNzIG9u IGEgbW90b3JjeWNsZQppbiBkYXlzIG9mIHlvcmUKCk5vdyB5b3UncmUgZ29pbmcgdG8gaGF2ZSB0 byBsb29rIGl0IHVwIHRvIHNlZSBpZiBJIHJlbWVtYmVyZWQgaXQgYXJpZ2h0LgpPciwgYXQgbGVh c3QsIEkgYW0gOi0pLgoKCiAgICAgICAgUnVzc2VsbAoKTXVzdCBiZSBzb21lIFBJQyBzdHVmZiBk dWUgYW55IG1vbWVudCBub3c6LSkKCgoKCk9uIDI2IE1heSAyMDE4IGF0IDAxOjE1LCBBQiwgUGVh cmNlIC0gVUtSSSBTVEZDIDxhbGFuLmIucGVhcmNlQHN0ZmMuYWMudWs+Cndyb3RlOgoKPiA+PiBT aGhoLiAgUGVvcGxlIGFyZSBzbGVlcGluZwo+ID4+Cj4gPgo+ID4g4oCLVGhlbSB0aGF0IGFza3Mg bm8gcXVlc3Rpb25zCj4gPiBXb24ndCBiZSB0b2xkIG5vIGxpZXMKPiA+IFNvLCB3YXRjaCB0aGUg d2FsbCBteSBkYXJsaW5ncyB3aGVuIHRoZSBnZW50bGVtZW4gcmlkZSBieS4KPiA+Cj4gPiAuLi4g Z2FyZ2xhYmV0IC4uLgo+ID4KPiA+IEhtbSAtIHdvcmRzIG5vdCBxdWl0ZSByaWdodAo+ID4KPiA+ IGh0dHA6Ly93d3cua2lwbGluZ3NvY2lldHkuY28udWsvcG9lbXNfc211Z2dsZXIuaHRtCj4KPiAu Li4KPgo+IEdvb2RseSBmZXcgeWVhcnMgc2luY2UgbGVzdCBzZWVpbmcgdGhvc2Ugd29yZHMsICd0 aG91Z2ggaGF2ZSB0aG91Z2h0IGFib3V0Cj4gdGhlbSBvY2Nhc2lvbmFsbHkgb3ZlciB0aGUgeWVh cnMuCj4KPiBUYWtlcyBtZSBiYWNrIHRvIHByaW1hcnkgc2Nob29sIGRheXMgLi4uCj4KPiBUaGUg b3RoZXIgb25lIGluIGEgc2ltaWxhciB2ZWluIHdhcwo+Cj4gIlRoZSBtb29uIHdhcyBhIGdob3N0 bHkgZ2FsbGVvbiB0b3NzZWQgb24gY2xvdWR5IHNlYXMiCj4KPiBZZXAsIGdhcmdsYWJldCBrbm93 IHRoYXQgb25lIHRvbyAuLi4KPgo+IGh0dHBzOi8vd3d3LnBvZXRyeWZvdW5kYXRpb24ub3JnL3Bv ZW1zLzQzMTg3L3RoZS1oaWdod2F5bWFuCj4KPgo+Cj4gLS0KPiBodHRwOi8vd3d3LnBpY2xpc3Qu Y29tL3RlY2hyZWYvcGljbGlzdCBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlCj4gVmlldy9jaGFu Z2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKPiBodHRwOi8vbWFpbG1hbi5taXQuZWR1L21h aWxtYW4vbGlzdGluZm8vcGljbGlzdAo+Ci0tIApodHRwOi8vd3d3LnBpY2xpc3QuY29tL3RlY2hy ZWYvcGljbGlzdCBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlClZpZXcvY2hhbmdlIHlvdXIgbWVt YmVyc2hpcCBvcHRpb25zIGF0Cmh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5m by9waWNsaXN0Cg== .