SW4gdGhlIGVhcmx5IGFyY2FkZSBkYXlzIHRoZXJlIHdhcyBhIGdyb3VwIG9mIHBvcHVsYXIgZ2Ft ZXMgdGhhdCB3b3VsZCBnaXZlCmNyZWRpdHMgaW4gZXhjaGFuZ2UgZm9yIGVzZCB6YXBzLiBMb3Rz IG9mIG1vZGlmaWNhdGlvbnMgd2VyZSB0cmllZCB3aXRoCmxpdHRsZSBzdWNjZXNzLiBEb3dueSBm YWJyaWMgc29mdGVuZXIsIDUwJSB3aXRoIHdhdGVyLCBzcHJheWVkIG1vbnRobHkgb24KdGhlIGNh cnBldHMgc29sdmVkIHRoZSBwcm9ibGVtLiBOb3RlOiBEb3dueSBpcyBub3cgImNvbmNlbnRyYXRl ZCIsIHNvIGEKd2Vha2VyIG1peCBtYXkgYmUgc3VmZmljaWVudC4KCk9uIFN1biwgTWFyIDEwLCAy MDE5LCA0OjAzIFBNIEFsbGVuIE11bHZleSA8YWxsZW5AYW11bHZleS5jb20+IHdyb3RlOgoKPiBJ LCB0b28sIGxpdmUgaW4gdXBzdGF0ZSBOWS4gSW4gdGhlIHdpbnRlciB0aGUgYWlyIGlzIGRyeSBh bmQgc3RhdGljIGlzCj4gaGlnaC4gQXNpZGUgZnJvbSB1c2luZyBhIGh1bWlkaWZpZXIsIEkgYWxz byBsaWdodGx5IHNwcmF5IGFsbCBzdGF0aWMKPiBwcm9kdWNpbmcgc3VyZmFjZXMgZXZlcnkgY291 cGxlIG9mIHdlZWtzLiBJIHVzZWQgdG8gdXNlIGEgcHJvZHVjdCBjYWxsZWQKPiBTVEFUWC4gSXQg d29ya2VkIHdlbGwgYnV0IEkgZG9uJ3QgdGhpbmsgaXQgaXMgYXZhaWxhYmxlIGFueW1vcmUuCj4g Rm9ydHVuYXRlbHkgSSBoYXZlIGRpc2NvdmVyZWQgdGhhdCBEb3duZXkgV3JpbmtsZSBSZWxlYXNl ciBQbHVzIGlzIG11Y2gKPiBjaGVhcGVyIGFuZCB3b3JrcyBhcyB3ZWxsIG9yIGJldHRlci4gUHJv YmFibHkgYW55IGJyYW5kIHRoYXQgY2FsbHMgaXRzZWxmIGEKPiAic3RhdGljIHJlbW92ZXIiIHdp bGwgd29yay4gSXQgaXMgY2hlYXAsIGVhc3ksIGFuZCBJIGRvbid0IGZyeSBteQo+IGVsZWN0cm9u aWNzIGFueW1vcmUuIEF0IGxlYXN0IG5vdCBmcm9tIHN0YXRpYy4gIDgtKQo+Cj4gQWxsZW4KPgo+ IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4gRnJvbTogcGljbGlzdC1ib3VuY2VzQG1pdC5l ZHUgW21haWx0bzpwaWNsaXN0LWJvdW5jZXNAbWl0LmVkdV0gT24gQmVoYWxmCj4gT2YgZ3JhaGFt IGZvdWxrZXMKPiBTZW50OiBTdW5kYXksIE1hcmNoIDEwLCAyMDE5IDExOjUwIEFNCj4gVG86IE1p Y3JvY29udHJvbGxlciBkaXNjdXNzaW9uIGxpc3QgLSBQdWJsaWMuCj4gU3ViamVjdDogUmU6IFtP VF06IEFueSBpZGVhcyBvbiByZWR1Y2luZyBzdGF0aWMgYnVpbGQgdXAgd2hlbiB2YWN1dW1pbmcK Pgo+IEkgYW0gYWxzbyB2ZXJ5IHNlbnNpdGl2ZSB0byBzdGF0aWMgYnVpbGQgdXAgYW5kIGRpc3J1 cHRpdmUgZGlzY2hhcmdlIGFuZAo+IHdoZW4gbGl2aW5nIGluIHVwc3RhdGUgTlksIHdpbnRlciB3 YXMgYSBwYXJ0aWN1bGFybHkgdHJ5aW5nIHRpbWUuIFRoZSBhaXIsCj4gb24gdGhvc2UgY29sZCBk cnkgZGF5cywgd2hlbiB0aGUgd2F0ZXIgdmFwb3VyIGZyb3plIG91dCwgd2FzIGEgbmVhciBwZXJm ZWN0Cj4gaW5zdWxhdG9yLCBjb3VwbGVkIHdpdGggc3RhdGljIGdlbmVyYXRpbmcgbWF0ZXJpYWxz LCBueWxvbiBjYXJwZXRzLAo+IHN5bnRoZXRpYyBmYWJyaWNzIGFuZCBmbG9vciBjb3ZlcmluZ3Mu IFRoZSByZXN1bHRzIHdlcmUgdmlzaWJsZSBkaXNjaGFyZ2VzCj4gZnJvbSBleHBvc2VkIGJvZHkg cGFydHMgdG8gZ3JvdW5kZWQgb2JqZWN0cy4gSSB3YXMgYSB3YWxraW5nIHN0YXRpYyBtYWNoaW5l Cj4gY29tcGxldGUgd2l0aCBMYXlkZW4gamFyIGNhcGFjaXRvciwgKGEgZmV3IGh1bmRyZWQgcGYg YXQgbGVhc3QgKSwganVzdAo+IHdhaXRpbmcgdG8gY29tcGxldGUgdGhlIGNpY3VpdC4KPiBBIHBh cnRpYWwgc29sdXRpb24gd2FzIEVTRCBmb290d2Vhciwgd2l0aCBzb2xlcyBpbmNvcnBvcmF0aW5n IGEgaGlnaAo+IHJlc2lzdGl2ZSBjb25kdWN0aXZlIG1hdGVyaWFsIHRvIGJsZWVkIG9mZiBhbnkg c3RhdGljIGJ1aWxkIHVwIHRvIGdyb3VuZCwKPiBvciBhdCBsZWFzdCBrZWVwIHlvdSBhdCB0aGUg c2FtZSBwb3RlbnRpYWwgYXMgeW91ciBpbW1lZGlhdGUgZW52aXJvbm1lbnQuCj4gQW5vdGhlciB1 c2VmdWwgbWVhbnMgb2YgcmVkdWNpbmcgc3RhdGljIGluIGEgZHJ5IGxvY2F0aW9uIGlzIHRvIGlu Y3JlYXNlCj4gdGhlIGh1bWlkaXR5IGluIHRoZSBhaXIuCj4gSSBhbHdheXMgY2FycmllZCBhIGtl eSBvciBjb2luIHRvIHVzZSwgdG91Y2hpbmcgZ3JvdW5kZWQgb2JqZWN0cyB3aXRoIHRoZQo+IG1l dGFsIHJlZHVjZWQgdGhlIHBvaW50IGNvbnRhY3QgZm9yIHRoZSB6YXAsIHNwcmVhZGluZyB0aGUg ZGlzY2hhcmdlIGFyZWEKPiBvdmVyIG1vcmUgc2tpbi4KPiBVc2VmdWwgdGlwIGV4aXRpbmcgdGhl IGNhciwgYWx3YXlzIGhvbGQgb250byB0aGUgZG9vciBlZGdlIG9yIHRoZSBtZXRhbAo+IGJvZHl3 b3JrIGJlZm9yZSB5b3UgcHV0IHlvdXIgZmVldCBvbiB0aGUgZ3JvdW5kLCB0aHVzIGRpc2NoYXJn aW5nIHRvIGEKPiBsYXJnZSBtZXRhbCBzdXJmYWNlIGJlZm9yZSB5b3UgdG91Y2ggeW91ciBsb3Zl ZCBvbmUgb24gdGhlIGxpcHMhCj4gQlRXLCBpdCdzIGZyaWN0aW9uIG9uIHRoZSBzZWF0IHVwaG9s c3RlcnkgdGhhdCBjcmVhdGVzIG1vc3Qgb2YgdGhlIHN0YXRpYwo+IGJ1aWxkIHVwLCBub3QgdGhl IGNhcidzIG1vdGlvbi4gVGVzdCwgc2l0IGluIHRoZSBjYXIgYW5kIHdyaWdnbGUgYXJvdW5kIG9u Cj4gdGhlIHNlYXQgZm9yIGEgd2hpbGUsIGlnbm9yZSB0aGUgbmVpZ2hib3JzIHN0YXJlLCBhbmQg ZXhpdCwgdG91Y2ggZ3JvdW5kZWQKPiBvYmplY3QsIHphcCEhCj4KPiBPbiBTdW4sIE1hciAxMCwg MjAxOSwgMTowMyBBTSBKdXN0aW4gUmljaGFyZHMgPGp1c3Rpbi5yaWNoYXJkc0BnbWFpbC5jb20+ Cj4gd3JvdGU6Cj4KPiA+IFJ1YmVuLAo+ID4KPiA+IGFsbCBvdXIgb3V0bGV0cyBhcmUgMyBwaW4g d2l0aCBvbmUgb2YgdGhlbSBhcyBhbiBlYXJ0aC4gIEkgYXNzdW1lIHRoZW4KPiB0aGF0Cj4gPiBp cyBub3QgdGhlIGNhc2UgaW4gYSB0eXBpY2FsIGRvbWVzdGljIHNldHRpbmcgaW4geW91ciBwYXJ0 IG9mIHRoZSB3b3JsZAo+IGFuZAo+ID4gZWFydGhlZCBvdXRsZXRzIGFyZSByZXNlcnZlZCBmb3Ig aW5kdXN0cmlhbCBzZXR0aW5ncz8KPiA+Cj4gPiBJIHdpbGwgY2hlY2sgb3V0IGNvbGUgZmlicmUg YnJ1c2guIFRoYW5rcwo+ID4KPiA+IEp1c3Rpbgo+ID4KPiA+IE9uIFN1biwgMTAgTWFyIDIwMTkg YXQgMTc6MzMsIFJ1YmVuIErDtm5zc29uIDxydWJlbmpvbnNzb25AYnJlZGJhbmQubmV0Pgo+ID4g d3JvdGU6Cj4gPgo+ID4gPgo+ID4gPgo+ID4gPgo+ID4gPgo+ID4gPiBUaGF0IHdvdWxkIHdvcmsu IEFub3RoZXIgd2F5IGlzIHRvIHB1dCBjb2xlIGZpYnJlIGJydXNoKGVzKSBvbiB0aGUKPiBtZXRh bAo+ID4gPiBlbmQgb2YgdGhlIHZhY2N1bSB3YW5kIHdoaWNoIHdvdWxkIGRpc2NoYXJnZSB0aGUg YW50aXN0YXRpYyB2b2x0YWdlIHRvCj4gPiBhaXIKPiA+ID4gYXQgYSBsb3dlciB2b2x0YWdlIGlu IG9yZGVyIHRvIG5vdCB6YXAgeW91LiBJZGVhbGx5IHRoZSBicnVzaCB3b3VsZAo+IGFsc28KPiA+ ID4gaGF2ZSB0byBiZSBlYXJ0aGVkIGJ1dCBpdCBtaWdodCB3b3JrIHdpdGhvdXQgZWFydGhpbmcu Cj4gPiA+Cj4gPiA+IERvIHlvdSBldmVuIGhhdmUgZWFydGhlZCBvdXRsZXRzIHdoZXJlIHlvdSBh cmUgdmFjdXVtaW5nPwo+ID4gPgo+ID4gPiAvUnViZW4KPiA+ID4KPiA+ID4KPiA+ID4gRGVuIFN1 biwgMTAgTWFyIDIwMTkgMTM6MTg6MjcgKzA4MDAsIEp1c3RpbiBSaWNoYXJkcyAgc2tyZXY6Cj4g PiA+Cj4gPiA+IFN1bW1hcnk6Cj4gPiA+Cj4gPiA+IEkgZ2V0IGxvdHMgb2Ygc3RhdGljIHphcHMg d2hpbGUgdmFjdXVtaW5nIHRoZSBjYXJwZXQgYW5kIGhvcGluZyB0aGUKPiBsaXN0Cj4gPiA+IG1h eSBiZSBhYmxlIHRvIHJlY29tbWVuZCB3YXlzIHRvIHJlZHVjZSBvciBwcmVmZXJhYmx5IGVsaW1p bmF0ZSB0aGUKPiB6YXBzLgo+ID4gPgo+ID4gPiBJIGFtIGNvbnNpZGVyaW5nIHJlcGxhY2luZyB0 aGUgMiBjb3JlIHBvd2VyIGNvcmQgd2l0aCB0aHJlZSBjb3JlIGFuZAo+ID4gPiBlYXJ0aGluZyB0 aGUgbWV0YWwgcGlwZSBzZWN0aW9uIG9mIHRoZSB2YWN1dW0gd2FuZC4gV291bGQgdGhhdCBiZSBh IGJhZAo+ID4gPiBpZGVhPyBXb3VsZCBpdCBiZSBleHBlY3RlZCB0byB3b3JrPwo+ID4gPgo+ID4g PiBBbnkgdGhvdWdodHM/Cj4gPiA+Cj4gPiA+IERldGFpbHM6Cj4gPiA+Cj4gPiA+IEkgc3BlbmQg c29tZSB0aW1lIGluIGEgd2FybSBkcnkgcGxhY2UuIFRoZSBhY2NvbW9kYXRpb25zIGFyZSBhaXIK PiA+ID4gY29uZGl0aW9uZWQgd2hpY2ggZnVydGhlciBkcmllcyB0aGUgYWlyLgo+ID4gPgo+ID4g PiBUbyBoZWxwIG91dCBJIHNvbWV0aW1lcyB2YWN1dW0gdGhlIGNhcnBldCB3aXRoIEthcmNoZXIg TlQgMzUvMSBUYWN0IHRvCj4gPiA+IHJlbW92ZSBtdWNoIGRlYnJpcyAoZ2VuZXJhdGVkIGJ5IG1l KSBiZWZvcmUgSSBsZWF2ZS4KPiA+ID4KPiA+ID4gRHVyaW5nIHZhY3V1bWluZyBJIGFtIGNvbnRp bnVhbGx5IHphcHBlZC4gVG8gaGVscCByZWR1Y2UgdGhlIHNldmVyaXR5IEkKPiA+ID4gaG9sZCB0 aGUgc3RlZWwgcGlwZSBzZWN0aW9uIHJhdGhlciB0aGFuIHRoZSBwbGFzdGljIGhhbmRsZS4gVGhp cyBoZWxwcwo+IGEKPiA+ID4gZ3JlYXQgZGVhbCBidXQgdGhlIHBsYXN0aWMgaG9zZSBjb250aW51 ZXMgdG8gcXVpY2tseSBidWlsZCB1cCBjaGFyZ2UKPiA+IHdoaWNoCj4gPiA+IGp1bXBzIHRvIHRo ZSBzdGVlbCBwaXBlIGFuZCBJIGNvbnRpbnVlIHRvIGZlZWwgdGhlIGRpc2NoYXJnZXMuCj4gPiA+ Cj4gPiA+IFNvbWV0aW1lcyB0aGUgcGxhc3RpYyBob3NlIHRvdWNoZXMgdGhlIGJhY2sgb2YgbXkg bGVncyBhbmQgaSBnZXQKPiB6YXBwZWQuCj4gPiA+Cj4gPiA+IEkgd2VhciBsb25nIHNsZWV2ZXMg YW5kIHRyb3VzZXJzIHdpdGggd29yayBib290cy4gQmFyZSBmZWV0IGlzIGJldHRlcgo+IGJ1dAo+ ID4gPiBJIHN0aWxsIGZlZWwgdGhlIHphcHMuCj4gPiA+Cj4gPiA+IEkgcmVhbGx5IGRvbid0IGxp a2UgZ2V0dGluZyB6YXBwZWQgYW5kIGN1cmlvdXMgaWYgZWFydGhpbmcgdGhlIG1ldGFsCj4gaG9z ZQo+ID4gPiBzZWN0aW9uIHdvdWxkIGhlbHAuCj4gPiA+Cj4gPiA+IFRoZSBwb3dlciBjb3JkIGlz IGN1cnJlbnRseSAyIHdpcmUgYW5kIEkgY29uc2lkZXJlZCByZXBsYWNpbmcgd2l0aCBhCj4gPiB0 aHJlZQo+ID4gPiB3aXJlIHBsdWcgYW5kIGNvcmQgYW5kIHJ1bm5pbmcgdGhlIGVhcnRoIGFsb25n IHRoZSBvdXRlciBvciBpbm5lciBvZgo+IHRoZQo+ID4gPiBmbGV4aWJsZSBwbGFzdGljIGhvc2Ug YW5kIHRoZW4gYm9uZGluZyB0byB0aGUgbWV0YWwgcGlwZSBzZWN0aW9uLgo+ID4gPgo+ID4gPiBX b3VsZCB0aGlzIGJlIGJhZC4gSXMgdGhlcmUgYSBkYW5nZXIgSSBhbSB1bmF3YXJlIG9mIHJlcGxh Y2luZyB0aGUgdHdvCj4gPiA+IGNvcmUgd2l0aCB0aHJlZSBjb3JlIG9uIGFuIGl0ZW0gdGhhdCBp cyBjb25zaWRlcmVkIGRvdWJsZSBpbnN1bGF0ZWQgYW5kCj4gPiA+IGhlbmNlIGRvZXMgbm90IHJl cXVpcmUgYW4gZWFydGguCj4gPiA+Cj4gPiA+IEkgYWxzbyBnZXQgemFwcGVkIHdhbGtpbmcgYWNy b3NzIHN5bnRoZXRpYyBncmFzcy4gU29tZSBzYWZ0ZXkgYm9vdHMgYXJlCj4gPiA+IHdheSB3b3Jz ZSB0aGFuIG90aGVycy4gQW55IGVsZWdhbnQgc29sdXRpb25zPwo+ID4gPiAtLQo+ID4gPiBodHRw Oi8vd3d3LnBpY2xpc3QuY29tL3RlY2hyZWYvcGljbGlzdCBQSUMvU1ggRkFRICZhbXA7IGxpc3Qg YXJjaGl2ZQo+ID4gPiBWaWV3L2NoYW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0aW9ucyBhdAo+ID4g PiBodHRwOi8vbWFpbG1hbi5taXQuZWR1L21haWxtYW4vbGlzdGluZm8vcGljbGlzdAo+ID4gPiAm bmJzcDsKPiA+ID4KPiA+ID4KPiA+ID4KPiA+ID4gLS0KPiA+ID4gaHR0cDovL3d3dy5waWNsaXN0 LmNvbS90ZWNocmVmL3BpY2xpc3QgUElDL1NYIEZBUSAmIGxpc3QgYXJjaGl2ZQo+ID4gPiBWaWV3 L2NoYW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0aW9ucyBhdAo+ID4gPiBodHRwOi8vbWFpbG1hbi5t aXQuZWR1L21haWxtYW4vbGlzdGluZm8vcGljbGlzdAo+ID4gPgo+ID4gLS0KPiA+IGh0dHA6Ly93 d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUK PiA+IFZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0Cj4gPiBodHRwOi8vbWFp bG1hbi5taXQuZWR1L21haWxtYW4vbGlzdGluZm8vcGljbGlzdAo+ID4KPiAtLQo+IGh0dHA6Ly93 d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUK PiBWaWV3L2NoYW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0aW9ucyBhdAo+IGh0dHA6Ly9tYWlsbWFu Lm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0Cj4KPgo+IC0tCj4gaHR0cDovL3d3dy5w aWNsaXN0LmNvbS90ZWNocmVmL3BpY2xpc3QgUElDL1NYIEZBUSAmIGxpc3QgYXJjaGl2ZQo+IFZp ZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0Cj4gaHR0cDovL21haWxtYW4ubWl0 LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QKPgotLSAKaHR0cDovL3d3dy5waWNsaXN0LmNv bS90ZWNocmVmL3BpY2xpc3QgUElDL1NYIEZBUSAmIGxpc3QgYXJjaGl2ZQpWaWV3L2NoYW5nZSB5 b3VyIG1lbWJlcnNoaXAgb3B0aW9ucyBhdApodHRwOi8vbWFpbG1hbi5taXQuZWR1L21haWxtYW4v bGlzdGluZm8vcGljbGlzdAo= .