RXh0cmFvcmRpbmFyeSBhZHZlbnR1cmUgYW5kIGFkdmVudHVyZXIgLgoKSG93IGRvIHlvdSBzdXJ2 aXZlIC01NiBkZWdjIHdpdGggYnVzdGVkIGhlYXRlcnMuIEkgYW0gc3RydWdnbGluZyB0byBkZWZy b3N0Cm15IHRvb3RzaWVzIG9uIHRoaXMgY29vbCBQZXJ0aCBuaWdodC4KCk9uIDIzIEp1bHkgMjAx NiBhdCAyMDowNSwgUnVzc2VsbE1jIDxhcHB0ZWNobnpAZ21haWwuY29tPiB3cm90ZToKCj4gNjUg eWVhciBvbGQgRmVkb3IgS29ueXVraG92LCBSdXNzaWFuLU90aG9kb3ggUHJpZXN0LCBhbW9uZ3N0 IG1hbnkgb3RoZXIKPiB0aGluZ3MsIHNldHMgbmV3ICdhcm91bmQgdGhlIHdvcmxkIGhvdCBhaXIg YmFsbG9vbiByZWNvcmQnIGFzIG9mIC4gNDozMHBtCj4gV0EgdGltZSB0b2RheSBTYXR1cmRheSBK dWx5IDIzcmQuIFlvdSBkb24ndCBnZXQgbXVjaCBtYWRkZXIgb3IgYnJhdmVyIHRoYW4KPiB0aGlz Lgo+Cj4gUm91bmQgd29ybGQgaG90IGFpciBiYWxsb29uIC0gMTEueCBkYXlzIGFzIG9mIHRvZGF5 Lgo+IEV2ZXJlc3QgdHdpY2UsCj4gTm9ydGggUG9sZSAzIHRpbWVzLAo+IFNvdXRoIFBvbGUsCj4g U291dGhlcm4gcG9sZSBvZiBpbmFjY2Vzc2liaWxpdHkqLAo+IFNhaWxlZCByb3VuZCB0aGUgd29y bGQgdmlhIENhcGUgSG9ybiA0IHRpbWVzLAo+IDcgc3VtbWl0cyBjaGFsbGVuZ2UsCj4gTm9uIHN0 b3AgY2lyY3VtbmF2aWdhdGlvbiBvZiBBbnRhcmN0aWNhICwKPiBSb3dlZCBBdGxhbnRpYywKPiBS b3dlZCBQYWNpZmljLAo+IC4uLiAuCj4KPiBbWyogVGhlIGJlc3QgSSd2ZSBtYW5hZ2VkIHRvIGFu eXRoaW5nIG9uIHRoYXQgbGlzdCBpcyBnZXR0aW5nIHdpdGhpbiBhIGZldwo+IGh1bmRyZWQga20g b2YgdGhlIG9uLWxhbmQgbm9ydGhlcm4gcG9sZSBvZiBpbmFjY2Vzc2liaWxpdHksIGFuZCBjaXJj bGluZwo+IHRoZSB3b3JsZCBvbmNlIC0gYnkgcmVndWxhciBhaXJsaW5lIGZsaWdodHMgaW4gYm90 aCBjYXNlcy5dXQo+Cj4gX19fX19fX19fX19fX19fXwo+Cj4gMzMsMDAwIGttCj4gVGhlIHN1Yi1j bGFzcyBBTSBSb3ppZXJlIGJhbGxvb24gc3RhbmRzIDUyIG1ldHJlcyB0YWxsIGFuZCB3ZWlnaHMg OCw1MDAKPiBraWxvZ3JhbXMsIGFsdGhvdWdoIHRoZSBhZHZlbnR1cmVyIHdpbGwgYmUgY29uZmlu ZWQgdG8gYSBwb2Qgbm90IG11Y2gKPiBiaWdnZXIgdGhhbiBoaW1zZWxmIGluIGl0cyBnb25kb2xh Lgo+Cj4gR29vZCBjcm9zcyBzZWN0aW9uCj4KPgo+IGh0dHA6Ly93d3cuYWJjLm5ldC5hdS9uZXdz LzIwMTYtMDctMjMvcnVzc2lhbi1hZHZlbnR1cmVyLWxhbmRzLWhvdC1haXItYmFsbG9vbi1pbi13 YS83NjU0ODEyCj4KPiBSb3V0ZS4KPiBUaGUgU291dGhlcm4gT2NlYW4gZXhjdXJzaW9uIGxhdGUg aW4gdGhlIHZveWFnZSB3YXMgbm90IHBsYW5uZWQuCj4gTmVlZGVkIHRvIG1haW50YWluIGRpcmVj dGlvbiBhbmQgbmF2aWdhdGUgYSBjb2xkIGZyb250LiAuCj4KPiBodHRwOi8va29ueXVraG92LnJ1 L2VuL2luZGV4Lmh0bWwKPgo+Cj4gaHR0cDovL3d3dy5hYmMubmV0LmF1L25ld3MvMjAxNi0wNy0y My9ydXNzaWFuLWFkdmVudHVyZXItbGFuZHMtaG90LWFpci1iYWxsb29uLWluLXdhLzc2NTQ4MTIK Pgo+Cj4gaHR0cDovL3d3dy5pYnRpbWVzLmNvLnVrL3J1c3NpYW4tYWR2ZW50dXJlci1mZWRvci1r b255dWtob3YtYmVhdHMtd29ybGQtcmVjb3JkLWZseWluZy1zb2xvLWFyb3VuZC13b3JsZC0xNTcy MTIwCj4KPiBXaWtpcGVkaWEKPgo+IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0Z5b2Rv cl9Lb255dWtob3YKPgo+IFRoZSBGw6lkw6lyYXRpb24gQcOpcm9uYXV0aXF1ZSBJbnRlcm5hdGlv bmFsZSwgRkFJIC0gVGhlIFdvcmxkIEFpciBTcG9ydHMKPiBGZWRlcmF0aW9uLgo+Cj4KPiBUaGUg RkFJIE9mZmljaWFsIE9ic2VydmVyIEF1c3RyYWxpYW4gSm9obiBXYWxsaW5ndG9uIGZyb20gdGhl IEF1c3RyYWxpYW4KPiBCYWxsb29uaW5nIEZlZGVyYXRpb24gYW5kIGhpcyBBc3Npc3RhbnQgQnJp dGlzaCBEb25hbGQgQ2FtZXJvbiwgTWVtYmVyIG9mCj4gdGhlIENJQSBSZWNvcmRzIFN1YmNvbW1p dHRlZSwgYXJlIGNvbnRyb2xsaW5nIGlmIEZBSeKAmXMgU3BvcnRpbmcgQ29kZSBhbmQKPiBpdHMg cnVsZXMgYXJlIHJlc3BlY3RlZC4gVGhlIHN1Yi1jbGFzcyBBTSBSb3ppZXJlIHN0YW5kcyA1MiBt ZXRyZXMgdGFsbCBhbmQKPiB3ZWlnaHMgOCw1MDAga2lsb2dyYW1zLCBhbHRob3VnaCB0aGUgYWR2 ZW50dXJlciB3aWxsIGJlIGNvbmZpbmVkIHRvIGEgcG9kCj4gbm90IG11Y2ggYmlnZ2VyIHRoYW4g aGltc2VsZiBpbiBpdHMgZ29uZG9sYS4KPgo+Cj4KPiBodHRwOi8vd3d3LmZhaS5vcmcvZmFpLXNs aWRlci1uZXdzLzQxNTY2LXJ1c3NpYW4tYWR2ZW50dXJlci1mZWRvci1rb255dWtob3YtbGF1bmNo ZXMtc29sby1hcm91bmQtdGhlLXdvcmxkLWJpZAo+Cj4KPiBodHRwOi8vd3d3LnBlcnRobm93LmNv bS5hdS9uZXdzL3dlc3Rlcm4tYXVzdHJhbGlhL2Fyb3VuZHRoZXdvcmxkLWJhbGxvb25pc3QtZmVk b3Ita29ueXVraG92LXNvYXJzLW92ZXItcGVydGgtdG8tc2V0LW5ldy13b3JsZC1yZWNvcmQvbmV3 cy1zdG9yeS9jZGZhZDc3OGIzNWE3ZjcyNTc0Y2VjNzIxNzYzNGQ4NAo+Cj4KPiAqSW1hZ2VzKgo+ Cj4KPiBodHRwczovL3d3dy5nb29nbGUuY28ubnovc2VhcmNoP3E9RmVkb3IrS29ueXVraG92Jm51 bT0xMDAmZXNwdj0yJnNvdXJjZT1sbm1zJnRibT1pc2NoJnNhPVgmdmVkPTBhaFVLRXdpd3NvS2x2 SW5PQWhYRG1wUUtIY3YzQ3lVUV9BVUlDQ2dCJmJpdz0xMTIwJmJpaD02MTcmZHByPTEuNQo+Cj4K PiBodHRwOi8vd3d3LnN0dWZmLmNvLm56L3dvcmxkL2F1c3RyYWxpYS84MjQxNTg4NS9hcm91bmR0 aGV3b3JsZC1iYWxsb29uaXN0LWJyZWFrcy13b3JsZC1yZWNvcmQtcmV0dXJuaW5nLXRvLXdlc3Rl cm4tYXVzdHJhbGlhCj4KPgo+IEdpZ2xhYmV0Cj4KPgo+IGh0dHBzOi8vd3d3Lmdvb2dsZS5jby5u ei9zZWFyY2g/cT1GZWRvcitLb255dWtob3YmbnVtPTEwMCZlc3B2PTImc291cmNlPXVuaXYmdGJt PW53cyZ0Ym89dSZzYT1YJnZlZD0wYWhVS0V3aXdzb0tsdkluT0FoWERtcFFLSGN2M0N5VVFzUVFJ SWcmYml3PTExMjAmYmloPTYxNyZkcHI9MS41Cj4KPgo+Cj4KPiBodHRwczovL3N0YXJ0c2F0NjAu Y29tL3N0b3JpZXMvZnVuL3RoaXMtNjQteWVhci1vbGQtaXMtc2V0dGluZy1hLXdvcmxkLXJlY29y ZC1pbi1hdXN0cmFsaWEtdG9kYXkKPiAtLQo+IGh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJl Zi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKPiBWaWV3L2NoYW5nZSB5b3VyIG1l bWJlcnNoaXAgb3B0aW9ucyBhdAo+IGh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0 aW5mby9waWNsaXN0Cj4KLS0gCmh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0 IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9w dGlvbnMgYXQKaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QK .