T24gMjkgTWF5IDIwMTUgYXQgMjM6NDQsIEphbWVzIENhbWVyb24gPHF1b3psQGxhcHRvcC5vcmc+ IHdyb3RlOgoKPiBPbiBGcmksIE1heSAyOSwgMjAxNSBhdCAxMTozMzoxOFBNICsxMjAwLCBSdXNz ZWxsTWMgd3JvdGU6Cj4gPiBkbyB5b3UgaGF2ZSBzb21lIHdheSBvZiByZW1lbWJlcmluZyB0aG9z ZSBudW1iZXJzIGVhc2lseSA/IDotKQo+Cj4gVGhlcmUgYXJlIHNvbWUgZ29vZCBtZXRob2RzIGZv ciB0aGF0Lgo+Cj4gRm9yIG1lcmUgZmFjdHMsIEknbSBmaW5kaW5nIG1uZW1vc3luZSB1c2VmdWw7 IGFuIGFwcGxpY2F0aW9uIG9mIHNwYWNlZAo+IHJlcGV0aXRpb24uICBPbmUgb2YgbXkgc3R1ZGVu dHMgZ2V0cyBhIGZlZWQgb2YgcGh5c2ljcyBxdWVzdGlvbnMgYW5kCj4gYW5zd2VycyBmcm9tIG1l Lgo+CgrigItUaGF0IHdhcyBhIGpva2UgKG9mIHNvcnRzKS4KT25lIGNlbnR1cnkgSSBtYXkgbGVh cm4gdGhhdCBldmVuIGpva2VzIGxlYWQgdG8gZXZlbiBtb3JlICJzdHVmZiIuCgpEb3dubG9hZGlu ZyBub3cKCiAgICAgICAgICAgIGh0dHA6Ly9tbmVtb3N5bmUtcHJvai5vcmcvZG93bmxvYWQtbW5l bW9zeW5lLnBocAoK4oCLCgrigIsgICAgICAgICAgICAgIFJ1c3NlbGwKCl9fX19fX18KCldlbGNv bWUgdG8gdGhlIE1uZW1vc3luZSBQcm9qZWN0CgpUaGUgTW5lbW9zeW5lIFByb2plY3QgaGFzIHR3 byBhc3BlY3RzOgoKICAgLSBJdCdzIGEgZnJlZSBmbGFzaC1jYXJkIHRvb2wgd2hpY2ggb3B0aW1p emVzIHlvdXIgbGVhcm5pbmcgcHJvY2Vzcy4KICAgLSBJdCdzIGEgcmVzZWFyY2ggcHJvamVjdCBp bnRvIHRoZSBuYXR1cmUgb2YgbG9uZy10ZXJtIG1lbW9yeS4KCldlIHN0cml2ZSB0byBwcm92aWRl IGEgY2xlYXIsIHVuY2x1dHRlcmVkIHBpZWNlIG9mIHNvZnR3YXJlLCBlYXN5IHRvIHVzZQphbmQg dG8gdW5kZXJzdGFuZCBmb3IgbmV3YmllcywgYnV0IHN0aWxsIGluZmluaXRlbHkgY3VzdG9taXNh YmxlIHRocm91Z2gKcGx1Z2lucyBhbmQgc2NyaXB0cyBmb3IgcG93ZXIgdXNlcnMuCkVmZmljaWVu dCBsZWFybmluZwoKTW5lbW9zeW5lIHVzZXMgYSBzb3BoaXN0aWNhdGVkIGFsZ29yaXRobSB0byBz Y2hlZHVsZSB0aGUgYmVzdCB0aW1lIGZvciBhCmNhcmQgdG8gY29tZSB1cCBmb3IgcmV2aWV3LiBE aWZmaWN1bHQgY2FyZHMgdGhhdCB5b3UgdGVuZCB0byBmb3JnZXQgcXVpY2tseQp3aWxsIGJlIHNj aGVkdWxlZCBtb3JlIG9mdGVuLCB3aGlsZSBNbmVtb3N5bmUgd29uJ3Qgd2FzdGUgeW91ciB0aW1l IG9uCnRoaW5ncyB5b3UgcmVtZW1iZXIgd2VsbC4KTWVtb3J5IHJlc2VhcmNoCgpJZiB5b3Ugd2Fu dCwgYW5vbnltb3VzIHN0YXRpc3RpY3Mgb24geW91ciBsZWFybmluZyBwcm9jZXNzIGNhbiBiZSB1 cGxvYWRlZAp0byBhIGNlbnRyYWwgc2VydmVyIGZvciBhbmFseXNpcy4gVGhpcyBkYXRhIHdpbGwg YmUgdmFsdWFibGUgdG8gc3R1ZHkgdGhlCmJlaGF2aW91ciBvZiBvdXIgbWVtb3J5IG92ZXIgYSB2 ZXJ5IGxvbmcgdGltZSBwZXJpb2QuIFRoZSByZXN1bHRzIHdpbGwgYmUKdXNlZCB0byBpbXByb3Zl IHRoZSBzY2hlZHVsaW5nIGFsZ29yaXRobXMgYmVoaW5kIHRoZSBzb2Z0d2FyZSBldmVuIGZ1cnRo ZXIuCgrigIsKLS0gCmh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9T WCBGQVEgJiBsaXN0IGFyY2hpdmUKVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMg YXQKaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QK .