TWVhc3VyaW5nIHRoZSB2b2x0YWdlIG9mIHRoZSBiYXR0ZXJ5IHRlcm1pbmFscyBpcyBhIHByZXR0 eSBiYXNpYyB0aGluZyEKaWYgdGhlIHZvbHRhZ2UgdW5kZXIgbG9hZCByaXNlcyBpbnN0ZWFkIG9m IGRyb3BwaW5nIGxpa2UgdXN1YWwgLCB0aGVuIFJpbnQKPSBkZWx0YSBVIC8gZGVsdGEgSSB3b3Vs ZCBiZSBuZWdhdGl2ZSEgSWYgYmF0dGVyeSBtYW51ZmFjdHVyZXJzIGNvdWxkIGJyZWVkCnRob3Nl IHR5cGUgb2YgaG9yc2VzIGl0IHdvdWxkIG1lYW4gYmF0dGVyaWVzIHRoYXQga2VlcCBjYWxtIGFu ZCBob2xkIHRoZWlyCmlkbGUgY2hhcmdlIGxvbmdlciB3aGlsZSBhbnN3ZXJpbmcgcG93ZXIgZGVt YW5kcyBtb3JlIGdlbmVyb3VzbHkhCkkgYW0gZ29pbmcgdG8gaGF2ZSB0byBnbyBiYWNrIGFuZCBz ZWUgaWYgdGhlIGNlbGxzIGlkZW50aWZpZWQgd2l0aCBuZWdhdGl2ZQpSaW50IGluIHRoZSBmaXJz dCBwYXNzIHNob3cgc2ltaWxhciB0aGluZ3MgYWdhaW4uLi4KCk9uIFNhdCwgRGVjIDUsIDIwMTUg YXQgMTA6NDggQU0sIGVtYmVkZGVkIHN5c3RlbXMgPHBpY2xpc3Q5QGdtYWlsLmNvbT4Kd3JvdGU6 Cgo+IFRvYmlhcywKPiB3aGljaCB3b3VsZCBiZSB0aGUKPiBwaHlzaWNhbCBzaWduaWZpY2FuY2Ug b2YgdGhlIG5lZ2F0aXZlIHJlc2lzdGFuY2U/Cj4KPiBDYW4gYmUganVzdCBhIG1lYXN1cmluZy9j b21wdXRpbmcgZXJyb3I/Cj4KPiBWYXNpbGUKPiAtLQo+IGh0dHA6Ly93d3cucGljbGlzdC5jb20v dGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKPiBWaWV3L2NoYW5nZSB5 b3VyIG1lbWJlcnNoaXAgb3B0aW9ucyBhdAo+IGh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1h bi9saXN0aW5mby9waWNsaXN0Cj4KCgoKLS0gCuKAnkpldHp0IHdhciBkZXIgQXVnZW5ibGljayBn ZWtvbW1lbiB3byB3aXIgZGVua2VuIG11c3N0ZW4uIERlciBBdWdlbmJsaWNrIHdvCndpciBhdWZz cHJpbmdlbiB1bmQgZW50c2NoZWlkZW4gbXXDn3Rlbiwgd2VubiB3aXIgbmljaHQgYWxsbcOkaGxp Y2ggc28KdmVyZ2lmdGV0IHdlcmRlbiB3b2xsdGVuLCBkYcOfIHdpciBibGluZCBkaWUgUGzDpHR6 ZSBlaW5uYWhtZW4sIGRpZSB1bnMgaW0KZsO8aHJlcmxvc2VuIFp1ZyBkZXIgw4RsdGVyZW4gYW5n ZWJvdGVuIHd1cmRlbi7igJwKQXVzIGRlbSBlcnN0ZW4gS2FwaXRlbCB2b24gJ0ZhdHUgSGl2YSAt IFp1csO8Y2sgenVyIE5hdHVyJyB2b24gVGhvciBIZXllcmRhaGwKLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQoKVG9iaWFzIEdvZ29saW4KVGVsLiBEMSAoNDkpIDAxNTEgNTE4 NyA1MjEwClRlbC4gRDIgKDQ5KSAwMTUyIDA4MzkgNTA2MApza3lwZTogbW9vbnRvZ28KCllvdSBk ZXZlbG9wIFN1c3RhaW5hYmxlIFJhbmNoIFRlY2hub2xvZ3kgYXQKaHR0cDovL3RlY2guZ3JvdXBz LnlhaG9vLmNvbS9ncm91cC9TVVJBLVRFQ0gKYW4gT3BlbiBTb3VyY2UgRWxlY3RyaWMgTW90b3Iv QWx0ZXJuYXRvciBhdApodHRwOi8vZ3JvdXBzLnlhaG9vLmNvbS9ncm91cC9QZXJmb3JtYW5jZV9B eGlhbF9GbHV4CmFuZCBhbiBPcGVuIFNvdXJjZSBNb3RvciBDb250cm9sbGVyIGF0IGh0dHA6Ly9n cm91cHMueWFob28uY29tL2dyb3VwL0dvQm94Ci0tIApodHRwOi8vd3d3LnBpY2xpc3QuY29tL3Rl Y2hyZWYvcGljbGlzdCBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlClZpZXcvY2hhbmdlIHlvdXIg bWVtYmVyc2hpcCBvcHRpb25zIGF0Cmh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0 aW5mby9waWNsaXN0Cg== .