SSwgdG9vLCBsaXZlIGluIHVwc3RhdGUgTlkuIEluIHRoZSB3aW50ZXIgdGhlIGFpciBpcyBkcnkg YW5kIHN0YXRpYyBpcyBoaWdoLiBBc2lkZSBmcm9tIHVzaW5nIGEgaHVtaWRpZmllciwgSSBhbHNv IGxpZ2h0bHkgc3ByYXkgYWxsIHN0YXRpYyBwcm9kdWNpbmcgc3VyZmFjZXMgZXZlcnkgY291cGxl IG9mIHdlZWtzLiBJIHVzZWQgdG8gdXNlIGEgcHJvZHVjdCBjYWxsZWQgU1RBVFguIEl0IHdvcmtl ZCB3ZWxsIGJ1dCBJIGRvbid0IHRoaW5rIGl0IGlzIGF2YWlsYWJsZSBhbnltb3JlLiBGb3J0dW5h dGVseSBJIGhhdmUgZGlzY292ZXJlZCB0aGF0IERvd25leSBXcmlua2xlIFJlbGVhc2VyIFBsdXMg aXMgbXVjaCBjaGVhcGVyIGFuZCB3b3JrcyBhcyB3ZWxsIG9yIGJldHRlci4gUHJvYmFibHkgYW55 IGJyYW5kIHRoYXQgY2FsbHMgaXRzZWxmIGEgInN0YXRpYyByZW1vdmVyIiB3aWxsIHdvcmsuIEl0 IGlzIGNoZWFwLCBlYXN5LCBhbmQgSSBkb24ndCBmcnkgbXkgZWxlY3Ryb25pY3MgYW55bW9yZS4g QXQgbGVhc3Qgbm90IGZyb20gc3RhdGljLiAgOC0pCgpBbGxlbgoKLS0tLS1PcmlnaW5hbCBNZXNz YWdlLS0tLS0KRnJvbTogcGljbGlzdC1ib3VuY2VzQG1pdC5lZHUgW21haWx0bzpwaWNsaXN0LWJv dW5jZXNAbWl0LmVkdV0gT24gQmVoYWxmIE9mIGdyYWhhbSBmb3Vsa2VzClNlbnQ6IFN1bmRheSwg TWFyY2ggMTAsIDIwMTkgMTE6NTAgQU0KVG86IE1pY3JvY29udHJvbGxlciBkaXNjdXNzaW9uIGxp c3QgLSBQdWJsaWMuClN1YmplY3Q6IFJlOiBbT1RdOiBBbnkgaWRlYXMgb24gcmVkdWNpbmcgc3Rh dGljIGJ1aWxkIHVwIHdoZW4gdmFjdXVtaW5nCgpJIGFtIGFsc28gdmVyeSBzZW5zaXRpdmUgdG8g c3RhdGljIGJ1aWxkIHVwIGFuZCBkaXNydXB0aXZlIGRpc2NoYXJnZSBhbmQKd2hlbiBsaXZpbmcg aW4gdXBzdGF0ZSBOWSwgd2ludGVyIHdhcyBhIHBhcnRpY3VsYXJseSB0cnlpbmcgdGltZS4gVGhl IGFpciwKb24gdGhvc2UgY29sZCBkcnkgZGF5cywgd2hlbiB0aGUgd2F0ZXIgdmFwb3VyIGZyb3pl IG91dCwgd2FzIGEgbmVhciBwZXJmZWN0Cmluc3VsYXRvciwgY291cGxlZCB3aXRoIHN0YXRpYyBn ZW5lcmF0aW5nIG1hdGVyaWFscywgbnlsb24gY2FycGV0cywKc3ludGhldGljIGZhYnJpY3MgYW5k IGZsb29yIGNvdmVyaW5ncy4gVGhlIHJlc3VsdHMgd2VyZSB2aXNpYmxlIGRpc2NoYXJnZXMKZnJv bSBleHBvc2VkIGJvZHkgcGFydHMgdG8gZ3JvdW5kZWQgb2JqZWN0cy4gSSB3YXMgYSB3YWxraW5n IHN0YXRpYyBtYWNoaW5lCmNvbXBsZXRlIHdpdGggTGF5ZGVuIGphciBjYXBhY2l0b3IsIChhIGZl dyBodW5kcmVkIHBmIGF0IGxlYXN0ICksIGp1c3QKd2FpdGluZyB0byBjb21wbGV0ZSB0aGUgY2lj dWl0LgpBIHBhcnRpYWwgc29sdXRpb24gd2FzIEVTRCBmb290d2Vhciwgd2l0aCBzb2xlcyBpbmNv cnBvcmF0aW5nIGEgaGlnaApyZXNpc3RpdmUgY29uZHVjdGl2ZSBtYXRlcmlhbCB0byBibGVlZCBv ZmYgYW55IHN0YXRpYyBidWlsZCB1cCB0byBncm91bmQsCm9yIGF0IGxlYXN0IGtlZXAgeW91IGF0 IHRoZSBzYW1lIHBvdGVudGlhbCBhcyB5b3VyIGltbWVkaWF0ZSBlbnZpcm9ubWVudC4KQW5vdGhl ciB1c2VmdWwgbWVhbnMgb2YgcmVkdWNpbmcgc3RhdGljIGluIGEgZHJ5IGxvY2F0aW9uIGlzIHRv IGluY3JlYXNlCnRoZSBodW1pZGl0eSBpbiB0aGUgYWlyLgpJIGFsd2F5cyBjYXJyaWVkIGEga2V5 IG9yIGNvaW4gdG8gdXNlLCB0b3VjaGluZyBncm91bmRlZCBvYmplY3RzIHdpdGggdGhlCm1ldGFs IHJlZHVjZWQgdGhlIHBvaW50IGNvbnRhY3QgZm9yIHRoZSB6YXAsIHNwcmVhZGluZyB0aGUgZGlz Y2hhcmdlIGFyZWEKb3ZlciBtb3JlIHNraW4uClVzZWZ1bCB0aXAgZXhpdGluZyB0aGUgY2FyLCBh bHdheXMgaG9sZCBvbnRvIHRoZSBkb29yIGVkZ2Ugb3IgdGhlIG1ldGFsCmJvZHl3b3JrIGJlZm9y ZSB5b3UgcHV0IHlvdXIgZmVldCBvbiB0aGUgZ3JvdW5kLCB0aHVzIGRpc2NoYXJnaW5nIHRvIGEK bGFyZ2UgbWV0YWwgc3VyZmFjZSBiZWZvcmUgeW91IHRvdWNoIHlvdXIgbG92ZWQgb25lIG9uIHRo ZSBsaXBzIQpCVFcsIGl0J3MgZnJpY3Rpb24gb24gdGhlIHNlYXQgdXBob2xzdGVyeSB0aGF0IGNy ZWF0ZXMgbW9zdCBvZiB0aGUgc3RhdGljCmJ1aWxkIHVwLCBub3QgdGhlIGNhcidzIG1vdGlvbi4g VGVzdCwgc2l0IGluIHRoZSBjYXIgYW5kIHdyaWdnbGUgYXJvdW5kIG9uCnRoZSBzZWF0IGZvciBh IHdoaWxlLCBpZ25vcmUgdGhlIG5laWdoYm9ycyBzdGFyZSwgYW5kIGV4aXQsIHRvdWNoIGdyb3Vu ZGVkCm9iamVjdCwgemFwISEKCk9uIFN1biwgTWFyIDEwLCAyMDE5LCAxOjAzIEFNIEp1c3RpbiBS aWNoYXJkcyA8anVzdGluLnJpY2hhcmRzQGdtYWlsLmNvbT4Kd3JvdGU6Cgo+IFJ1YmVuLAo+Cj4g YWxsIG91ciBvdXRsZXRzIGFyZSAzIHBpbiB3aXRoIG9uZSBvZiB0aGVtIGFzIGFuIGVhcnRoLiAg SSBhc3N1bWUgdGhlbiB0aGF0Cj4gaXMgbm90IHRoZSBjYXNlIGluIGEgdHlwaWNhbCBkb21lc3Rp YyBzZXR0aW5nIGluIHlvdXIgcGFydCBvZiB0aGUgd29ybGQgYW5kCj4gZWFydGhlZCBvdXRsZXRz IGFyZSByZXNlcnZlZCBmb3IgaW5kdXN0cmlhbCBzZXR0aW5ncz8KPgo+IEkgd2lsbCBjaGVjayBv dXQgY29sZSBmaWJyZSBicnVzaC4gVGhhbmtzCj4KPiBKdXN0aW4KPgo+IE9uIFN1biwgMTAgTWFy IDIwMTkgYXQgMTc6MzMsIFJ1YmVuIErDtm5zc29uIDxydWJlbmpvbnNzb25AYnJlZGJhbmQubmV0 Pgo+IHdyb3RlOgo+Cj4gPgo+ID4KPiA+Cj4gPgo+ID4gVGhhdCB3b3VsZCB3b3JrLiBBbm90aGVy IHdheSBpcyB0byBwdXQgY29sZSBmaWJyZSBicnVzaChlcykgb24gdGhlIG1ldGFsCj4gPiBlbmQg b2YgdGhlIHZhY2N1bSB3YW5kIHdoaWNoIHdvdWxkIGRpc2NoYXJnZSB0aGUgYW50aXN0YXRpYyB2 b2x0YWdlIHRvCj4gYWlyCj4gPiBhdCBhIGxvd2VyIHZvbHRhZ2UgaW4gb3JkZXIgdG8gbm90IHph cCB5b3UuIElkZWFsbHkgdGhlIGJydXNoIHdvdWxkIGFsc28KPiA+IGhhdmUgdG8gYmUgZWFydGhl ZCBidXQgaXQgbWlnaHQgd29yayB3aXRob3V0IGVhcnRoaW5nLgo+ID4KPiA+IERvIHlvdSBldmVu IGhhdmUgZWFydGhlZCBvdXRsZXRzIHdoZXJlIHlvdSBhcmUgdmFjdXVtaW5nPwo+ID4KPiA+IC9S dWJlbgo+ID4KPiA+Cj4gPiBEZW4gU3VuLCAxMCBNYXIgMjAxOSAxMzoxODoyNyArMDgwMCwgSnVz dGluIFJpY2hhcmRzICBza3JldjoKPiA+Cj4gPiBTdW1tYXJ5Ogo+ID4KPiA+IEkgZ2V0IGxvdHMg b2Ygc3RhdGljIHphcHMgd2hpbGUgdmFjdXVtaW5nIHRoZSBjYXJwZXQgYW5kIGhvcGluZyB0aGUg bGlzdAo+ID4gbWF5IGJlIGFibGUgdG8gcmVjb21tZW5kIHdheXMgdG8gcmVkdWNlIG9yIHByZWZl cmFibHkgZWxpbWluYXRlIHRoZSB6YXBzLgo+ID4KPiA+IEkgYW0gY29uc2lkZXJpbmcgcmVwbGFj aW5nIHRoZSAyIGNvcmUgcG93ZXIgY29yZCB3aXRoIHRocmVlIGNvcmUgYW5kCj4gPiBlYXJ0aGlu ZyB0aGUgbWV0YWwgcGlwZSBzZWN0aW9uIG9mIHRoZSB2YWN1dW0gd2FuZC4gV291bGQgdGhhdCBi ZSBhIGJhZAo+ID4gaWRlYT8gV291bGQgaXQgYmUgZXhwZWN0ZWQgdG8gd29yaz8KPiA+Cj4gPiBB bnkgdGhvdWdodHM/Cj4gPgo+ID4gRGV0YWlsczoKPiA+Cj4gPiBJIHNwZW5kIHNvbWUgdGltZSBp biBhIHdhcm0gZHJ5IHBsYWNlLiBUaGUgYWNjb21vZGF0aW9ucyBhcmUgYWlyCj4gPiBjb25kaXRp b25lZCB3aGljaCBmdXJ0aGVyIGRyaWVzIHRoZSBhaXIuCj4gPgo+ID4gVG8gaGVscCBvdXQgSSBz b21ldGltZXMgdmFjdXVtIHRoZSBjYXJwZXQgd2l0aCBLYXJjaGVyIE5UIDM1LzEgVGFjdCB0bwo+ ID4gcmVtb3ZlIG11Y2ggZGVicmlzIChnZW5lcmF0ZWQgYnkgbWUpIGJlZm9yZSBJIGxlYXZlLgo+ ID4KPiA+IER1cmluZyB2YWN1dW1pbmcgSSBhbSBjb250aW51YWxseSB6YXBwZWQuIFRvIGhlbHAg cmVkdWNlIHRoZSBzZXZlcml0eSBJCj4gPiBob2xkIHRoZSBzdGVlbCBwaXBlIHNlY3Rpb24gcmF0 aGVyIHRoYW4gdGhlIHBsYXN0aWMgaGFuZGxlLiBUaGlzIGhlbHBzIGEKPiA+IGdyZWF0IGRlYWwg YnV0IHRoZSBwbGFzdGljIGhvc2UgY29udGludWVzIHRvIHF1aWNrbHkgYnVpbGQgdXAgY2hhcmdl Cj4gd2hpY2gKPiA+IGp1bXBzIHRvIHRoZSBzdGVlbCBwaXBlIGFuZCBJIGNvbnRpbnVlIHRvIGZl ZWwgdGhlIGRpc2NoYXJnZXMuCj4gPgo+ID4gU29tZXRpbWVzIHRoZSBwbGFzdGljIGhvc2UgdG91 Y2hlcyB0aGUgYmFjayBvZiBteSBsZWdzIGFuZCBpIGdldCB6YXBwZWQuCj4gPgo+ID4gSSB3ZWFy IGxvbmcgc2xlZXZlcyBhbmQgdHJvdXNlcnMgd2l0aCB3b3JrIGJvb3RzLiBCYXJlIGZlZXQgaXMg YmV0dGVyIGJ1dAo+ID4gSSBzdGlsbCBmZWVsIHRoZSB6YXBzLgo+ID4KPiA+IEkgcmVhbGx5IGRv bid0IGxpa2UgZ2V0dGluZyB6YXBwZWQgYW5kIGN1cmlvdXMgaWYgZWFydGhpbmcgdGhlIG1ldGFs IGhvc2UKPiA+IHNlY3Rpb24gd291bGQgaGVscC4KPiA+Cj4gPiBUaGUgcG93ZXIgY29yZCBpcyBj dXJyZW50bHkgMiB3aXJlIGFuZCBJIGNvbnNpZGVyZWQgcmVwbGFjaW5nIHdpdGggYQo+IHRocmVl Cj4gPiB3aXJlIHBsdWcgYW5kIGNvcmQgYW5kIHJ1bm5pbmcgdGhlIGVhcnRoIGFsb25nIHRoZSBv dXRlciBvciBpbm5lciBvZiB0aGUKPiA+IGZsZXhpYmxlIHBsYXN0aWMgaG9zZSBhbmQgdGhlbiBi b25kaW5nIHRvIHRoZSBtZXRhbCBwaXBlIHNlY3Rpb24uCj4gPgo+ID4gV291bGQgdGhpcyBiZSBi YWQuIElzIHRoZXJlIGEgZGFuZ2VyIEkgYW0gdW5hd2FyZSBvZiByZXBsYWNpbmcgdGhlIHR3bwo+ ID4gY29yZSB3aXRoIHRocmVlIGNvcmUgb24gYW4gaXRlbSB0aGF0IGlzIGNvbnNpZGVyZWQgZG91 YmxlIGluc3VsYXRlZCBhbmQKPiA+IGhlbmNlIGRvZXMgbm90IHJlcXVpcmUgYW4gZWFydGguCj4g Pgo+ID4gSSBhbHNvIGdldCB6YXBwZWQgd2Fsa2luZyBhY3Jvc3Mgc3ludGhldGljIGdyYXNzLiBT b21lIHNhZnRleSBib290cyBhcmUKPiA+IHdheSB3b3JzZSB0aGFuIG90aGVycy4gQW55IGVsZWdh bnQgc29sdXRpb25zPwo+ID4gLS0KPiA+IGh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9w aWNsaXN0IFBJQy9TWCBGQVEgJmFtcDsgbGlzdCBhcmNoaXZlCj4gPiBWaWV3L2NoYW5nZSB5b3Vy IG1lbWJlcnNoaXAgb3B0aW9ucyBhdAo+ID4gaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFu L2xpc3RpbmZvL3BpY2xpc3QKPiA+ICZuYnNwOwo+ID4KPiA+Cj4gPgo+ID4gLS0KPiA+IGh0dHA6 Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hp dmUKPiA+IFZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0Cj4gPiBodHRwOi8v bWFpbG1hbi5taXQuZWR1L21haWxtYW4vbGlzdGluZm8vcGljbGlzdAo+ID4KPiAtLQo+IGh0dHA6 Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hp dmUKPiBWaWV3L2NoYW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0aW9ucyBhdAo+IGh0dHA6Ly9tYWls bWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0Cj4KLS0gCmh0dHA6Ly93d3cucGlj bGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKVmlldy9j aGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKaHR0cDovL21haWxtYW4ubWl0LmVkdS9t YWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QKCgotLSAKaHR0cDovL3d3dy5waWNsaXN0LmNvbS90ZWNo cmVmL3BpY2xpc3QgUElDL1NYIEZBUSAmIGxpc3QgYXJjaGl2ZQpWaWV3L2NoYW5nZSB5b3VyIG1l bWJlcnNoaXAgb3B0aW9ucyBhdApodHRwOi8vbWFpbG1hbi5taXQuZWR1L21haWxtYW4vbGlzdGlu Zm8vcGljbGlzdAo= .