VGhhdCdzIG9uZSBwb3NzaWJpbGl0eSwgd2UndmUgc2VlbiBDaXNjbyBhbmQgb3RoZXIgbW9yZSAn bG9jYWwnIGtpdCBjYW4gYmUKdGFtcGVyZWQgd2l0aCwgSSdkIGFzc3VtZSB0aGVpciBzb2Z0d2Fy ZSB1cGRhdGVzIGFyZSBzaWduZWQgc28gdGhhdCB3b3VsZApzdWdnZXN0IHRoZSBrZXlzIGFyZSBr bm93bi4KCk1heWJlIEh1YXdlaSB3ZXJlIHJlc2lzdGFudCB0byBhbGxvd2luZyB0aGUgVExBcyBh Y2Nlc3MuLi4KCk9uIFR1ZSwgMjggTWF5IDIwMTksIDAzOjA5IFN0ZXBoZW4gRm9ycmVzdCwgPHNm b3JyZXN0LmF1QGdtYWlsLmNvbT4gd3JvdGU6Cgo+IEhtbXBoIC0gYmFkIGJlaGF2aW9yIGluIEFm cmljYSBhbmQgRWFzdGVyIEV1cm9wZSBub3R3aXRoc3RhbmRpbmcsIEkgc3VzcGVjdAo+IGl0J3Mg YmVjYXVzZSB0aGUgdmFyaW91cyBUTEEgYWdlbmNpZXMgaGF2ZSBiZSBfdW5hYmxlXyB0byBiYWNr ZG9vci9jcmFjawo+IHRoZW0gdG8gZ2FpbiBhY2Nlc3MgdG8gaW50ZWxsaWdlbmNlLgo+Cj4gICA7 bykKPgo+IE9uIFR1ZSwgTWF5IDI4LCAyMDE5IGF0IDg6NTYgQU0gUnlhbiBPJ0Nvbm5vciA8cm9j aWZpZXJAZ21haWwuY29tPiB3cm90ZToKPgo+ID4gSXQgaGFzIGJlZW4gcHVibGljYWxseSBhbm5v dW5jZWQgZm9yIHNvbWUgdGltZSB0aGF0IHRoZSBVUyBnb3Zlcm5tZW50IGhhcwo+ID4gY2xhc3Np ZmllZCBldmlkZW5jZSBmb3Igd2h5IHRoZXkgd291bGQgbGlrZSB0aGUgcGhvbmUgbWFrZSBiYW5u ZWQsIGFuZAo+IHRoYXQKPiA+IGl0IHJlbGF0ZXMgdG8gbmF0aW9uYWwgc2VjdXJpdHkuIFRoZSBl dmlkZW5jZSBmaXJzdCBhZmZlY3RlZCB0aGUgVVMKPiA+IGdvdmVybm1lbnQgaXRzZWxmIGRpcmVj dGx5LCBhbmQgdGhlIGJhbiB3YXMgaW1tZWRpYXRlIGludGVybmFsbHkgZm9yCj4gPiBtZW1iZXJz IHdvcmtpbmcgaW4gYW55IG1pbGl0YXJ5IG9wZXJhdGlvbnMuIEl0IHF1aWNrbHkgYWxzbyBkZWNp ZGVkIHRoYXQKPiA+IHNlY3VyaXR5IG1heSBiZSBjb21wcm9taXNlZCBpbiB0aGUgZnV0dXJlIGJl Y2F1c2Ugb2YgdGhlIGdlbmVyYWwgcHVibGljCj4gPiB1c2luZyB0aGUgbWFrZSBvZiBwaG9uZS4g U28gaXQgd2FzIGJhbm5lZCBwcmUtZW1wdGl2ZWx5IGZvciB0aGUgZ2VuZXJhbAo+ID4gcHVibGlj IG1vc3RseSBmb3IgdW5jbGVhcmx5IGFubm91bmNlZCBwb2xpdGljYWwgcmVhc29ucyAodGhhdCB5 b3UgaGF2ZQo+ID4gc3R1bWJsZWQgYWNyb3NzKS4gVGhlc2UgcmVhc29ucyB0aWUgaW4gc3Ryb25n bHkgd2l0aCB0aGUgY2xhc3NpZmllZAo+ID4gZXZpZGVuY2UsIGFuZCB0aGF0IGlzIG15IG9waW5p b24gb24gd2h5IGl0IGhhcyBub3QgYmVlbiBtYWRlIGNsZWFyIGFzIHRvCj4gPiB3aHkuCj4gPgo+ ID4gUnlhbgo+ID4KPiA+IE9uIFR1ZSwgMjggTWF5IDIwMTkgYXQgMDk6NDcsIEx5bGUgSGF6ZWx3 b29kIDxseWxlaGF6ZUBnbWFpbC5jb20+IHdyb3RlOgo+ID4KPiA+ID4gVGhhbmsgeW91IGFsbCBm b3IgeW91ciByZXNwb25zZXMuCj4gPiA+IEkgZXNwZWNpYWxseSBhcHByZWNpYXRlIHRoYXQgdGhl IHJlc3BvbnNlcyB3ZXJlIGNhcmVmdWxseSBjb25zaWRlcmVkLgo+ID4gPgo+ID4gPiBXaGlsZSBQ aWNMaXN0IG1heSBub3QgYmUgdGhlIGJlc3QgcGxhY2UgdG8gYXNrIHN1Y2ggcXVlc3Rpb25zLCAg dGhlcmUKPiBhcmUKPiA+ID4gZmV3IHBsYWNlcyBmcm9tIHdoZXJlIEkgd291bGQgYmV0dGVyIHRy dXN0IHRoZSByZXNwb25zZS4KPiA+ID4KPiA+ID4gSSdsbCBzd2l0Y2ggYmFjayB0byBsdXJraW5n IG1vZGUsIGJ1dCB3aWxsIGdsYWRseSBqdW1wIGluIGlmIGEgcXVlc3Rpb24KPiA+ID4gbWF0Y2hl cyBvbmUgb2YgbXkgZmllbGRzIG9mIGV4cGVyaWVuY2UuCj4gPiA+Cj4gPiA+IEx5bGUKPiA+ID4K PiA+ID4gT24gTW9uLCBNYXkgMjcsIDIwMTksIDQ6MjUgUE0gUmljaGFyZCBQcm9zc2VyIDxyaHBy b3NzZXJAZ21haWwuY29tPgo+ID4gd3JvdGU6Cj4gPiA+Cj4gPiA+ID4gT1RPSCB0aGV5IG1heSBq dXN0IGJlIGFuIChhbG1vc3QgPykgaW5ub2NlbnQgdmljdGltIG9mIHJoZXRvcmljICYKPiA+ID4g PiBzdXBwb3NpdGlvbi4gICBQcm9vZiBvZiBiYWQgYmVoYXZpb3VyIHNlZW1zIHRvIGJlIHNlcmlv dXNseSBsYWNraW5nCj4gPiBhbmQsCj4gPiA+ID4gZ2l2ZW4gdGhlIHB1YmxpY2l0eSBpbnZvbHZl ZCwgaWYgdGhlcmUgd2FzIGRpcmVjdCBldmlkZW5jZSB0aGVuIEknZAo+ID4gaGF2ZQo+ID4gPiA+ IHRob3VnaHQgaXQgd291bGQgYmUgd2VsbCBwdWJsaWNpc2VkLgo+ID4gPiA+IE90aGVyIHN1cHBs aWVycyBvZiBuZXR3b3JrIGVxdWlwbWVudCBoYXZlIGJlZW4gY2F1Z2h0IG91dCBkb2luZwo+IHNp bWlsYXIKPiA+ID4gPiB0aGluZ3MgZm9yIHRoZWlyIGdvdmVybm1lbnRzIGJ1dCAuLi4uCj4gPiA+ ID4KPiA+ID4gPiBQcm9iYWJseSBhIHRvcGljIGJlc3Qgc3RheWVkIGF3YXkgZnJvbSBvbiB0aGlz IGZvcnVtLgo+ID4gPiA+IFJQCj4gPiA+ID4KPiA+ID4gPiBPbiBUdWUsIDI4IE1heSAyMDE5IGF0 IDA3OjM1LCBKZWZmIFNoZWxkb24gPGplZmZzaGVsZG9uQGdtYWlsLmNvbT4KPiA+ID4gd3JvdGU6 Cj4gPiA+ID4KPiA+ID4gPiA+IEl0IGhlbHBzIHRvIGZvbGxvdyBIdWF3ZWkgbmV3cyBvdmVyIGEg bG9uZyBwZXJpb2QuIFNvbWUgb2YgdGhlCj4gcHVibGljCj4gPiA+ID4gPiBkZXRhaWxzIGhhdmUg ZW1lcmdlZCB0aHJvdWdoIHRoZWlyIGFjdGlvbnMgaW4gQWZyaWNhLCBpbiBQb2xhbmQgYW5kCj4g PiA+ID4gRWFzdGVybgo+ID4gPiA+ID4gRXVyb3BlLCBhbmQgd2l0aCB0ZWNobm9sb2dpZXMgcmVs YXRlZCB0byBzYXRlbGxpdGUgYW5kIHN1Ym1hcmluZQo+ID4gPiBjYWJsaW5nLgo+ID4gPiA+ID4g U29tZSBvZiB0aG9zZSB0aWVzIGhhdmUgYmVlbiBleHBvc2VkIHRocm91Z2ggdGhlaXIgb3duIGdv b2YtdXBzIGFuZAo+ID4gPiA+IFdlc3Rlcm4KPiA+ID4gPiA+IG1vbml0b3Jpbmcgb2Ygc3VwcGx5 IGNoYWluIGFuZCBuZXR3b3JrIGFjdGl2aXR5LiAgVGhpcyBjYW4gZXhwYW5kCj4gPiBpbnRvCj4g PiA+IGEKPiA+ID4gPiA+IG11Y2ggbGFyZ2VyIGNvbnZlcnNhdGlvbiwgYnV0IGJlY2F1c2UgdGhl IHB1YmxpYyBvbmx5IGdldHMgYml0cyBhbmQKPiA+ID4gPiBwaWVjZXMsCj4gPiA+ID4gPiBtdWNo IHdpbGwgYmUgbGFiZWxlZCBhcyBzcGVjdWxhdGlvbiAoYmVjYXVzZSBwZW9wbGUgdGhlc2UgZGF5 cyBsaWtlCj4gPiB0bwo+ID4gPiA+ID4gcHJldGVuZCB0aGV5IGNhbiBkZWR1Y2UgYmV0dGVyIHRo YW4gZXZlcnlvbmUgZWxzZSkuCj4gPiA+ID4gPgo+ID4gPiA+ID4gQXQgdGhpcyBwb2ludCwgbW9z dCB3ZXN0ZXJuIHBvd2VycyBkb27igJl0IGxpa2UgdGhlIGNsYWltcyB0aGF0IGV2ZW4KPiA+IHNv bWUKPiA+ID4gPiA+IEh1YXdlaSB0ZWNobm9sb2dpZXMgYXJlIHNhZmUgdG8gdXNlIOKAnGJlY2F1 c2UgeCwgeSwgYW5kIHrigJ0uICBUaGVpcgo+ID4gPiA+IGVxdWlwbWVudAo+ID4gPiA+ID4gcHJl dHR5IG11Y2ggYW55d2hlcmUgaW4gdGhlIGxpbmsgb2YgY29tbXMgYWN0aXZpdHkgYWxsb3dzIGZv cgo+ID4gPiBhZGRpdGlvbmFsCj4gPiA+ID4gPiBlcXVpcG1lbnQgYW5kIGRhdGEgbWFzc2FnaW5n IHdoaWNoIGNhbiByZXN1bHQgaW4gZ2F0aGVyZWQKPiA+IGludGVsbGlnZW5jZQo+ID4gPiBvZgo+ ID4gPiA+ID4gc29tZSBuYXR1cmUuIFBsdXMsIGEgZm9vdCBpbiB0aGUgZG9vciBhbHdheXMga2Vl cHMgdGhlbSBvbiB0aGUKPiB0YWJsZQo+ID4gPiBmb3IKPiA+ID4gPiA+IGJpZ2dlciBwcm9qZWN0 cyB0aGF0IG1pZ2h0IG5vdCBiZSB3aWRlbHkgcmVjb2duaXplZCBiZWZvcmUgZGVhbHMKPiBhcmUK PiA+ID4gPiBtYWRlLgo+ID4gPiA+ID4KPiA+ID4gPiA+Cj4gPiA+ID4gPiAtSmVmZgo+ID4gPiA+ ID4KPiA+ID4gPiA+ID4gT24gTWF5IDI3LCAyMDE5LCBhdCAwNTo0NywgTHlsZSBIYXplbHdvb2Qg PGx5bGVoYXplQGdtYWlsLmNvbT4KPiA+ID4gd3JvdGU6Cj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ IEdyZWV0aW5ncyBhbGwsCj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+IE5vdGFibHkgW09UXSwgYW5k IGhvcGVmdWxseSBhdm9pZGluZyBhbnkgcG9saXRpY2FsLgo+ID4gPiA+ID4gPgo+ID4gPiA+ID4g PiBIdWF3ZWkgaGFzIGJlZW4gYmFubmVkIGZyb20gZG9pbmcgYnVzaW5lc3MgaW4gdGhlIFUuUy4u IEZyb20KPiBoZXJlLAo+ID4gSQo+ID4gPiA+ID4gPiBjYW4gZmluZCBvbmx5IHBlcmlwaGVyYWwg cmVhc29ucyB3aHkgdGhpcyBtaWdodCBoYXZlIGhhcHBlbmVkLAo+IGJ1dAo+ID4gbm8KPiA+ID4g PiA+ID4gaGFyZCBjYXVzZS4KPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gSSB3YXMgc3VycHJpc2Vk IHRvIGZpbmQgdGhlbSB0aGUgc2Vjb25kIGxhcmdlc3QgY2VsbCBwaG9uZSBtYWtlci4KPiA+ID4g PiA+ID4KPiA+ID4gPiA+ID4gSSdkIGxpa2UgdG8gdGhpbmsgc29tZXRoaW5nIGFzIGJpZyBhcyB0 aGlzIHdvdWxkIHJlcXVpcmUgc29tZQo+ID4gPiA+ID4gPiBldmlkZW5jZSwgYnV0IGFsbCBJIGNh biBmaW5kIGhlcmUgaXMgc3VzcGljaW9uIGFib3V0IHRoZWlyICJ0aWVzCj4gdG8KPiA+ID4gPiA+ ID4gdGhlIENoaW5lc2UgZ292ZXJubWVudCIuLgo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiBTYWRs eSwgSSdtIGluIGEgY291bnRyeSB3aGVyZSBhY2N1cmF0ZSBpbmZvcm1hdGlvbiBpcyBnZXR0aW5n Cj4gPiBoYXJkZXIKPiA+ID4gPiA+ID4gdG8gZmluZC4gQXJlIHRoZXkgcmVhbGx5IGFzIHNjYXJ5 IGFzIG91ciBjdXJyZW50IGdvdmVybm1lbnQgd2FudHMKPiA+IHVzCj4gPiA+ID4gPiA+IHRvIGJl bGlldmU/Cj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+IFRoYW5rcywKPiA+ID4gPiA+ID4gTHlsZQo+ ID4gPiA+ID4gPiAtLQo+ID4gPiA+ID4gPiBodHRwOi8vd3d3LnBpY2xpc3QuY29tL3RlY2hyZWYv cGljbGlzdCBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlCj4gPiA+ID4gPiA+IFZpZXcvY2hhbmdl IHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0Cj4gPiA+ID4gPiA+IGh0dHA6Ly9tYWlsbWFuLm1p dC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0Cj4gPiA+ID4gPgo+ID4gPiA+ID4gLS0KPiA+ ID4gPiA+IGh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEg JiBsaXN0IGFyY2hpdmUKPiA+ID4gPiA+IFZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRp b25zIGF0Cj4gPiA+ID4gPiBodHRwOi8vbWFpbG1hbi5taXQuZWR1L21haWxtYW4vbGlzdGluZm8v cGljbGlzdAo+ID4gPiA+ID4KPiA+ID4gPiAtLQo+ID4gPiA+IGh0dHA6Ly93d3cucGljbGlzdC5j b20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKPiA+ID4gPiBWaWV3 L2NoYW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0aW9ucyBhdAo+ID4gPiA+IGh0dHA6Ly9tYWlsbWFu Lm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0Cj4gPiA+ID4KPiA+ID4gLS0KPiA+ID4g aHR0cDovL3d3dy5waWNsaXN0LmNvbS90ZWNocmVmL3BpY2xpc3QgUElDL1NYIEZBUSAmIGxpc3Qg YXJjaGl2ZQo+ID4gPiBWaWV3L2NoYW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0aW9ucyBhdAo+ID4g PiBodHRwOi8vbWFpbG1hbi5taXQuZWR1L21haWxtYW4vbGlzdGluZm8vcGljbGlzdAo+ID4gPgo+ ID4gLS0KPiA+IGh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBG QVEgJiBsaXN0IGFyY2hpdmUKPiA+IFZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25z IGF0Cj4gPiBodHRwOi8vbWFpbG1hbi5taXQuZWR1L21haWxtYW4vbGlzdGluZm8vcGljbGlzdAo+ ID4KPiAtLQo+IGh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBG QVEgJiBsaXN0IGFyY2hpdmUKPiBWaWV3L2NoYW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0aW9ucyBh dAo+IGh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0Cj4KLS0g Cmh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0 IGFyY2hpdmUKVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKaHR0cDovL21h aWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QK .