Tm90IHRvIGNvbXBsZXRlbHkgaGlqYWNrIHRoZSB0aHJlYWQsIGJ1dCBzcGVha2luZyBvZiB1bmtu b3duIEFzaWFuIHBhcnRzLApoYXMgYW55Ym9keSBiZWVuIGZvbGxvd2luZyB0aGUgYWR2ZW50dXJl IG9mIHRoZSB0aHJlZS1jZW50IG1pY3JvY29udHJvbGxlcj8KaHR0cHM6Ly93d3cueW91dHViZS5j b20vd2F0Y2g/dj1SaXhvNzhodl9sdwoKCk9uIFRodSwgTm92IDEsIDIwMTggYXQgMjoyMyBQTSBI YXJyaXNvbiBDb29wZXIgPEhhcnJpc29uLkNvb3BlckB3ZGMuY29tPgp3cm90ZToKCj4gVGhlIHBy b2JsZW0gaXMgbWFueSBmYWJzICh1bmxlc3MgaXRzIGFuIGluaG91c2UgZmFiKSBhcmUgbW92aW5n IHRvIHRoZQo+IHNtYWxsZXIgZ2VvbWV0cmllcywgc28gZXZlbiB0aG8gaXRzIG92ZXJraWxsIChh bmQgSSBkbyBub3QgYXJndWUgb24gdGhhdCkKPiB5b3UgbmVlZCBzb21lb25lIHRvIGJlIGFibGUg YnVpbGQgaXQg8J+Yigo+Cj4gQnV0IEpvaG4gZGlkIGZpbmQgdGhlIGFuc3dlci4gIEl0cyBhY3R1 YWxseSBhbWF6aW5nIGhvdyBtYW55IGRldmljZXMgYXJlCj4gb3V0IHRoZXJlLCB3aXRoIEFzaWFu IG9yaWdpbnMsIHRoYXQgd2UgYXMgIndlc3Rlcm4iIGRlc2lnbiBlbmdpbmVlcnMgaGF2ZQo+IHZl cnkgbGl0dGxlIGluc2lnaHQgaW50by4KPgo+Cj4KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQo+IEZyb206IHBpY2xpc3QtYm91bmNlc0BtaXQuZWR1IDxwaWNsaXN0LWJvdW5jZXNAbWl0LmVk dT4gT24gQmVoYWxmIE9mIFNlYW4KPiBCcmVoZW55Cj4gU2VudDogVGh1cnNkYXksIE5vdmVtYmVy IDAxLCAyMDE4IDI6MDcgUE0KPiBUbzogTWljcm9jb250cm9sbGVyIGRpc2N1c3Npb24gbGlzdCAt IFB1YmxpYy4gPHBpY2xpc3RAbWl0LmVkdT4KPiBTdWJqZWN0OiBSZTogW0VFXSBVbmtub3duIExF RCBjdXJyZW50IHJlZ3VsYXRvcgo+Cj4gNTZubSBpcyBhbiAib2xkZXIgdGVjaG5vbG9neSI/IFN1 cmUsIGl0IGlzIG5vdCBldmVuIGNsb3NlIHRvIHRoZSBsYXRlc3QKPiBmb3IgaGlnaC1lbmQgcHJv Y2Vzc29ycywgYnV0IGl0IHdhcyB0aGUgc3RhdGUtb2YtdGhlLWFydCBpbiAyMDA2IGFuZCBJCj4g d291bGQgdGhpbmsgaXQgd291bGQgYmUgd2F5IG92ZXJraWxsIGZvciBzbWFsbCBtb3N0bHkgYW5h bG9nIEFTSUNzLgo+Cj4gT24gVGh1LCBOb3YgMSwgMjAxOCBhdCAzOjQzIFBNIEhhcnJpc29uIENv b3BlciA8SGFycmlzb24uQ29vcGVyQHdkYy5jb20+Cj4gd3JvdGU6Cj4KPiA+IEl0IHdvdWxkIG5v dCBzdXJwcmlzZSBtZSBpZiB0aGlzIHdhcyBhIGN1c3RvbSBBU0lDLCBPc1JBTSBpcyBhIGh1Z2UK PiA+IGNvbXBhbnksIGFuZCBhbHJlYWR5IGRvaW5nIEFTSUMncyBmb3Igb3RoZXIgcHJvZHVjdHMs IGFuZCBpZiB0aGV5IGFyZQo+ID4gdXNpbmcgYSBvbGRlciB0ZWNobm9sb2d5Li4uc2F5IDU2bm0g Zm9yIHRoaXMsIHRoaXMgY2hpcCB3b3VsZCBiZSBwZW5uaWVzLgo+ID4KPiA+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tCj4gPiBGcm9tOiBwaWNsaXN0LWJvdW5jZXNAbWl0LmVkdSA8cGljbGlz dC1ib3VuY2VzQG1pdC5lZHU+IE9uIEJlaGFsZiBPZgo+ID4gSm9obiBDb3BwZW5zCj4gPiBTZW50 OiBUaHVyc2RheSwgTm92ZW1iZXIgMDEsIDIwMTggNzo1OCBBTQo+ID4gVG86IHBpY2xpc3RAbWl0 LmVkdQo+ID4gU3ViamVjdDogW0VFXSBVbmtub3duIExFRCBjdXJyZW50IHJlZ3VsYXRvcgo+ID4K PiA+IEhlbGxvIGFsbC4KPiA+Cj4gPiBJJ3ZlIGJlZW4gcmVhbGx5IHN1cnByaXNlZCBhdCB0aGUg dmFyaWF0aW9ucyBvZiB0aGUgY2lyY3VpdHJ5IGluc2lkZQo+ID4gTEVEIGJ1bGIgcmVwbGFjZW1l bnRzLiBBIHdoaWxlIGFnbywgSSBib3VnaHQgYSBjb3VwbGUgb2YgYnVsYnMgKCdHcmVhdAo+ID4g VmFsdWUnLWJyYW5kLCBhIGxvY2FsIFdhbG1hcnQgcHJvZHVjdCksIHdoaWNoIHN0YXJ0ZWQgc2hv d2luZyBmYWlsaW5nCj4gPiBhZnRlciBqdXN0IGEgY291cGxlIG9mIHdlZWtzLiBPcGVuaW5nIHRo ZW0gdXAgc2hvd2VkIHRoYXQgdGhleSB3ZXJlCj4gPiBmZWQgYnkganVzdCBhCj4gPiAobGluZWFy KSBzZXJpZXMgcmVndWxhdG9yLiBTbyBtdWNoIGZvciBncmVlbiBlbmVyZ3kuCj4gPgo+ID4gTm93 IEkgYWNxdWlyZWQgYSBjb3VwbGUgb2YgT1NSQU0gYnVsYnMsIGFuZCBvcGVuZWQgb25lIHVwIGp1 c3QgdG8KPiA+IGludmVzdGlnYXRlLiBJdCBkaWQgaGF2ZSBhIHN3aXRjaGluZyBjdXJyZW50IHJl Z3VsYXRvciwgYnV0IGl0IHVzZWQgYQo+ID4gNC1waW4gY2hpcCBmb3Igd2hpY2ggSSBjb3VsZCBu b3QgZmluZCBhbnkgZGF0YS4gSW4gZmFjdCwgSSBkaWRuJ3QgZmluZAo+ID4gX2FueV8gNC1waW4g Y3VycmVudCByZWd1bGF0b3IgSUMuCj4gPgo+ID4gSSd2ZSBhdHRhY2hlZCB0aGUgY2lyY3VpdC4g SSBzdXNwZWN0IHRoZSAxLjggT2htIHJlc2lzdG9yIHRvIGJlIHRoZQo+ID4gY3VycmVudC1kZXRl cm1pbmluZyBjb21wb25lbnQuIFN0cmFuZ2UgaXMgdGhlIChJIHN1c3BlY3QpIHRyYW5zZm9ybWVy Cj4gPiB3aGljaCBpcyBhY3R1YWxseSBhY3Jvc3MgdGhlIExFRHMgKEknbSBub3QgcG9zaXRpdmUg YWJvdXQgaXQncwo+ID4gaW50ZXJuYWwgY29ubmVjdGlvbnMuIEkgbWVhc3VyZSAxMCBPaG0gYWNy b3NzIHR3byBwaW5zLCAxNGsgYWNyb3NzIHR3bwo+ID4gb3RoZXIgcGlucywgYnV0IHdpdGhvdXQg dW5zb2xkZXJpbmcpLiAxMiBMRURzIChJIHN1c3BlY3QgdHJpcGxldHMpIGFyZQo+ID4gY29ubmVj dGVkIGJldHdlZW4gKyBhbmQgLS4KPiA+Cj4gPiBEb2VzIGFueW9uZSBoYXZlIGFuIGlkZWEgd2hp Y2ggSUMgdGhpcyBjb3VsZCBiZT8gSXQncyBtYXJrZWQgOTkzOEYgYW5kCj4gPiBTMUMwMVguIE5v IGxvZ28gYXMgZmFyIGFzIEkgY2FuIGRldGVjdC4KPiA+Cj4gPgo+ID4gLS0KPiA+IGh0dHA6Ly93 d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUK PiA+IFZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0Cj4gPiBodHRwOi8vbWFp bG1hbi5taXQuZWR1L21haWxtYW4vbGlzdGluZm8vcGljbGlzdAo+ID4KPiAtLQo+IGh0dHA6Ly93 d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUK PiBWaWV3L2NoYW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0aW9ucyBhdAo+IGh0dHA6Ly9tYWlsbWFu Lm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0Cj4KPiAtLQo+IGh0dHA6Ly93d3cucGlj bGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKPiBWaWV3 L2NoYW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0aW9ucyBhdAo+IGh0dHA6Ly9tYWlsbWFuLm1pdC5l ZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0Cj4KLS0gCmh0dHA6Ly93d3cucGljbGlzdC5jb20v dGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKVmlldy9jaGFuZ2UgeW91 ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xp c3RpbmZvL3BpY2xpc3QK .