PiBQQUdFU0VMIGlzIG5lZWRlZCB0byBzZXQgUENMQVRIIGJlZm9yZSBlYWNoIEdPVE8vQ0FMTCB1 bmxlc3MgdGhlIHRhcmdldCBpcyBpbiB0aGUgc2FtZSBDT0RFIGJsb2NrLgoKTm8uClBBR0VTRUwg aXMgbmVlZGVkIHRvIHNldCBQQ0xBVEggYmVmb3JlIGVhY2ggR09UTy9DQUxMIHVubGVzcyB0aGUg dGFyZ2V0IGlzIGluIHRoZSBzYW1lICptZW1vcnkgcGFnZSouCk11bHRpcGxlIENPREUgc2VnbWVu dHMgY2FuIHZlcnkgd2VsbCBnbyBpbnRvIHRoZSBzYW1lIG1lbW9yeSBwYWdlLCBpZiB0aGV5IGZp dCwgc28gdG8gc3BlYWsuCkl0IGlzIHVwIHRvIHRoZSBsaW5rZXIgdG8gZGVjaWRlLiBBbmQgaWYg dGhleSBkbyBub3QgZml0LCBhYnNvbHV0ZSBjb2RlIHdpbGwgbm90IG1ha2UgdGhlbSBmaXQgZWl0 aGVyLi4uCgo+IFRoZSBjYWxsIGludG8gaW50ZXJydXB0IGRvZXMgTk9UIGNoYW5nZSBQQ0xBVEgs IHNvIHRoZXJlIGlzIGEgbmVlZCB0byBkbyBpdCBfd2l0aGluXyB0aGUgaGFuZGxlci4KClRoYXQg SSB0aGluayBpcyBjb3JyZWN0LiBZb3UgYWxzbyBoYXZlIHRvIHJlc2V0IFBDTEFUSCBiZWZvcmUg UkVURklFLCBvdGhlcndpc2UgdGhlICJpbnRlcnJ1cHRlZCIKcm91dGluZSB3aWxsIGdldCBjb25m dXNlZC4gU2VlIGFsc28gYmVsb3cgcmVnYXJkaW5nIHRoZSBuZXdlciBQSUMxNkYxeHh4LgoKPiBU aGUgb25seSB3YXkgdG8gYXZvaWQgdGhlc2UgaXNzdWVzIGlzIHRvIHVzZSBhYnNvbHV0ZSBjb2Rl Li4uCgpObywgYWJzb2x1dGVseSBub3QuIDotKQpSb3V0aW5lcyB0aGF0IHdpbGwgaGF2ZSBhIGxv dCBvZiBDQUxMcyBpbiBiZXR3ZWVuIHRoZW0gY2FuIGJlIGluIHRoZSBzYW1lIENPREUgc2VnbWVu dC4KVGhhdCBhdm9pZHMgYWxsIFBDTEFUSCBoYW5kbGluZyBhcyBsb25nIGFzIHlvdSBzdGF5IGlu IHRoZXNlIHJvdXRpbmVzLgoKPiAuLi4ob3IgdG8gd3JpdGUgY29kZSBpbiBhIHdheSB0aGF0IHJl bW92ZXMgYWxsIG9mIHRoZSByZWxvY2F0YWJsZSBjb2RlIGJlbmVmaXRzKQoKVGFraW5nIGNhcmUg b2YgUENMQVRIIGlzIG1vc3RseSB0aGUgc2FtZSBubyBtYXR0ZXIgaWYgb25lIHVzZSBhYnNvbHV0 ZSBvciByZWxvY2F0YWJsZSBjb2RlLgpUaGVyZSBhcmUgb3RoZXIgaHVnZSBiZW5lZml0cyB3aXRo IHJlbG9jYXRhYmxlIGNvZGUgc3VjaCBhcyBhdXRvbWF0aWMgYWxsb2NhdGlvbiBvZiB2YXJpYWJs ZXMuCgpGaW5lbHksIG5vdGUgYWxzbyB0aGF0IHRoZSBtb3JlIG1vZGVybiBQSUMxNkYxeHh4IGZh bWlseSBoYXZlIGEgc2xpZ2h0bHkgYmV0dGVyIGhhbmRsaW5nIG9mIHRoaXMuClN1Y2ggYXMgYXV0 b21hdGljIHNhdmUvcmVzdG9yZSBvZiBQQ0xBVEggYXQgaW50ZXJydXB0cy4gSWYgeW91IGFyZSBk b2luZyBzb21ldGhpbmcgbmV3CnRoZXJlIGlzIGxpdHRsZSByZWFzb24gdG8gdXNlIHRoZSBvbGQg UElDMTZGODc2QS4gSXQgYWxzbyBwcm9iYWJseSBjb3N0cyBtb3JlIHRoZW4KdGhlIHNpbWlsYXIg UElDMTZGMXh4eCBtb2RlbC4gOi0pCgpKYW4tRXJpay4KCi0tLS0tVXJzcHJ1bmdsaWd0IG1lZGRl bGFuZGUtLS0tLQpGcsOlbjogcGljbGlzdC1ib3VuY2VzQG1pdC5lZHUgW21haWx0bzpwaWNsaXN0 LWJvdW5jZXNAbWl0LmVkdV0gRsO2ciBBbnRob255IFRvZnQKU2tpY2thdDogZGVuIDEzIGphbnVh cmkgMjAxNSAxNDowNQpUaWxsOiBwaWNsaXN0QG1pdC5lZHUKw4RtbmU6IFJlOiBTVjogW1BJQ10g UmVsb2NhdGFibGUgY29kZSwgcGFnZXNlbCwgY2FsbCBhbmQgZ290bwoKVGhhbmsgeW91IEphbi1F cmlrLAoKU28gbXkgdW5kZXJzdGFuZGluZyBiYXNlZCBvbiB3aGF0IEkgaGF2ZSByZWFkIGFuZCB3 aGF0IHlvdSBzYXkgaGVyZS4uLgoKUEFHRVNFTCBpcyBuZWVkZWQgdG8gc2V0IFBDTEFUSCBiZWZv cmUgZWFjaCBHT1RPL0NBTEwgdW5sZXNzIHRoZSB0YXJnZXQgaXMgaW4gdGhlIHNhbWUgQ09ERSBi bG9jay4gVGhlIGNhbGwgaW50byBpbnRlcnJ1cHQgZG9lcyBOT1QgY2hhbmdlIFBDTEFUSCwgc28g dGhlcmUgaXMgYSBuZWVkIHRvIGRvIGl0IF93aXRoaW5fIHRoZSBoYW5kbGVyLgoKUkVUVVJOL1JF VEZJRSBkb24ndCB1c2UgUENMQVRILCB0aGUgZW50aXJlIGFkZHJlc3MgY29tZXMgZnJvbSB0aGUg c3RhY2suCgpUaGUgb25seSB3YXkgdG8gYXZvaWQgdGhlc2UgaXNzdWVzIGlzIHRvIHVzZSBhYnNv bHV0ZSBjb2RlIChvciB0byB3cml0ZSBjb2RlIGluIGEgd2F5IHRoYXQgcmVtb3ZlcyBhbGwgb2Yg dGhlIHJlbG9jYXRhYmxlIGNvZGUgYmVuZWZpdHMpCgpBIHJlbWFpbmluZyBxdWVzdGlvbi4uLiBk b2VzIFJFVFVSTi9SRVRGSUUgcmVzZXQgUENMQVRIPyBJbiB0aGUgY2FzZSBvZiBSRVRVUk4sIGl0 IGNhbiBiZSByZXNldCAoYXMgeW91IGtub3cgd2hlbiB0aGUgQ0FMTCBoYXBwZW5lZCkgYnV0IGlu IHRoZSBjYXNlIG9mIFJFVEZJRSwgSSBndWVzcyB0aGF0IHlvdSBzdG9yZSB0aGUgUENMQVRIIHJl Z2lzdGVyIGp1c3QgbGlrZSBXLCBGU1IgYW5kIFNUQVRVUz8KCk9uIDIwMTUtMDEtMTMgMDU6NTEs IEphbi1FcmlrIFPDtmVyaG9sbSB3cm90ZToKPiBIaS4KPiBZb3UgaGF2ZSB0byByZWFkIG9mIG9u IHRoZSBoYW5kbGluZyBvZiBhZGRyZXNzZXMgaW4gZGlmZmVyZW50IHdheXMuCj4gCj4gU29tZSB0 aGluZ3MgKEdPVE8sIENBTEwuLi4pIG9ubHkgY29kZXMgdGhlIGxvd2VyIHBhcnQgb2YgdGhlIGVm ZmVjdGl2ZSAKPiBhZGRyZXNzIGluIHRoZSBpbnN0cnVjdGlvbiBhbmQgZmV0Y2hlcyB0aGUgaGln aGVyIGJpdHMgZnJvbSBQQ0xBVEguCj4gCj4gU29tZSBvdGhlciB0aGluZ3MgKGxpa2UgYW4gUkVU VVJOIG9yIFJFVEZJRSkgYWx3YXlzIGZldGNoZXMgdGhlIGZ1bGwgCj4gcmV0dXJuIGFkZHJlc3Mg ZnJvbSB0aGUgc3RhY2sgYW5kIGRvZXMgbm90IHVzZSBQQ0xBVEguCj4gCj4+IGJ1dCB0aGlzIHdp bGwgYnJlYWsgdGhlIEJURlNTIGFzIHRoZXJlIHdpbGwgYmUgbW9yZSB0aGFuIG9uZSAKPj4gaW5z dHJ1Y3Rpb24KPiB0aGVyZS4uLgo+IAo+IEEgd2VsbC1rbm93biAicHJvYmxlbSIuLi4gOi0pIFlv dSBzaW1wbHkgaGFzIHRvIHdvcmsgYXJvdW5kIGl0Lgo+IAo+PiB0aGUgdGFyZ2V0IGlzIG5lYXJi eSwgc28gSSdtIGJlIHZlcnkgc3VycHJpc2VkIHRoYXQgdGhleSBhcHBlYXIgaW4KPiBkaWZmZXJl bnQgcGFnZXMuCj4gCj4gTm93LCB0aGUgR09UTyB1c2VzIFBDTEFUSCB3aGljaCBwcm9iYWJseSBp cyBzdGlsbCBwb2ludGluZyB0byB0aGUgcGFnZSAKPiBmcm9tIHdoZXJlIHRoZSBvcmlnaW5hbCBD QUxMIHdhcyBtYWRlLiBQQ0xBVEggaXMgbm90IGNoYW5nZWQgYnkgdGhlIAo+IENBTEwuCj4gWW91 IGNhbgo+IHN0YXJ0IHlvdXIgc3Vicm91dGluZSBieSBzZXR0aW5nIFBDTEFUSCB1c2luZyB0aGUg dmFsdWUgb2YgdGhlIAo+IHN5bWJvbC9uYW1lIG9mIHRoZSBuZXcgY29kZS1ibG9jay4gVGhhdCB3 YXksIFBDTEFUSCB3aWxsIGFsd2F5cyBiZSAKPiBjb3JyZWN0IG5vIG1hdHRlciB3aGljaCBwYWdl IHRoZSBhY3R1YWwgcm91dGluZSBoYXBwZW5zIHRvIGVuZCB1cCBpbi4KPiAKPj4gRnJvbSB3aGF0 IEkgaGF2ZSByZWFkLCBJIG5lZWQgdG8gUEFHRVNFTCBiZWZvcmUgZWFjaCBHT1RPLi4uCj4gCj4g SXQncyBlbm91Z2ggaWYgeW91IHNvIGl0IG9uY2UgYXQgdGhlIHN0YXJ0IG9mIHRoZSBDT0RFIGJs b2NrIChvciBhdCAKPiBlYWNoIGVudHJ5LXBvaW50IHRvIHRoZSBDT0RFIGJsb2NrLCBpZiB0aGVy ZSBhcmUgbXVsdGlwbGUgcG9zc2libGUgCj4gcG9pbnQgdG8gQ0FMTCkuIFRoZW4gYWxzbyBhZnRl ciBhIENBTEwgaW4gdGhhdCBjb2RlIGl0c2VsZiwgdGhlIAo+IHJvdXRpbmVzIENBTEwnZWQgY2Fu IGFsc28gaGF2ZSBjaGFuZ2VkIFBDTEFUSC4KPiAKPiBCdXQgb25jZSBQQ0xBVEggaXMgc2V0dXAs IHlvdSBjYW4gR09UTyBhcyBtdWNoIGFzIHlvdSBsaWtlICp3aXRoaW4qIAo+IHRoZSBzYW1lIHBh Z2UuCj4gCj4+IElzIHRoZXJlIGFueXRoaW5nIEkgY2FuIGRvIHRvIHRoZSBsaW5rZXIgc2NyaXB0 IHRvIGVuc3VyZSB0aGF0IHRoZSAKPj4gY29kZSBpcwo+IHB1dCBpbiB0aGUgc2FtZSBwYWdlPwo+ IAo+IFR3byB0aGluZ3MgcG9wcyB1cC4KPiAtIFVzZSB0aGUgc2FtZSBDT0RFIHNlZ21lbnQuCj4g LSBIYXJkY29kZSBhIG1lbW9yeSBzZWN0aW9uIGluIHRoZSBDT0RFIGRpcmVjdGl2ZS4KPiAKPiBK YW4tRXJpay4KPiAtLS0tLVVyc3BydW5nbGlndCBtZWRkZWxhbmRlLS0tLS0KPiBGcsOlbjogcGlj bGlzdC1ib3VuY2VzQG1pdC5lZHUgW21haWx0bzpwaWNsaXN0LWJvdW5jZXNAbWl0LmVkdV0gRsO2 ciAKPiBBbnRob255IFRvZnQKPiBTa2lja2F0OiBkZW4gMTMgamFudWFyaSAyMDE1IDAxOjI3Cj4g VGlsbDogJ01pY3JvY29udHJvbGxlciBkaXNjdXNzaW9uIGxpc3QgLSBQdWJsaWMuJwo+IMOEbW5l OiBbUElDXSBSZWxvY2F0YWJsZSBjb2RlLCBwYWdlc2VsLCBjYWxsIGFuZCBnb3RvCj4gCj4gSGV5 IGZvbGtzLCBJIGFtIG1pZHdheSB0aHJvdWdoIHdyaXRpbmcgbXkgZmlyc3QgcmVsb2NhdGFibGUg Y29kZSAKPiBwcm9qZWN0IGZvciBhIDE2Zjg3NmEsIGFuZCBoYXZlIG1hbmFnZWQgdG8gY29uZnVz ZSBteXNlbGYgCj4gdGhvcm91Z2hseS4uLgo+IAo+IFRoZSBwcm9ibGVtIHN0YXJ0ZWQgd2hlbiBJ IGFkZGVkIHNvbWUgbmV3IGNvZGUgKGluIGEgbmV3IENPREUgYmxvY2spIAo+IGFuZCBteSBpbnRl cnJ1cHQgaGFuZGxlciBzdGFydGVkIG1pc2JlaGF2aW5nLiBUaGUgY29kZSB0aGF0IGlzIAo+IGV4 aGliaXRpbmcgdGhlIHByb2JsZW0gaXMgaGVyZQo+IAo+IE5PVF9UTVIwCj4gCj4gICAgICBCVEZT QyBQSVIxLCBBRElGCj4gICAgICBDQUxMIEhhbmRsZUFkX1IKPiAKPiAgICAgIEJBTktTRUwgUElF MQo+ICAgICAgQlRGU1MgUElFMSwgVFhJRQo+ICAgICAgR09UTyBOT1RfVFhJTkcKPiAKPiAgICAg IEJBTktTRUwgUElSMQo+ICAgICAgQlRGU0MgUElSMSwgVFhJRgo+ICAgICAgQ0FMTCBTZW5kTmV4 dF9SCj4gCj4gTk9UX1RYSU5HCj4gCj4gVGhlIGNhbGwgIkdPVE8gTk9UX1RYSU5HIiBhcHBlYXJl ZCB0byBicmFuY2ggaW50byBhbiB1bnJlbGF0ZWQgCj4gZnVuY3Rpb24sIHVzaW5nIHRoZSBkZWJ1 Z2dlciAoUElDS2l0IDMpIEkgZGV0ZXJtaW5lZCB0aGF0IHRoZSBwcm9ncmFtIAo+IGNvdW50ZXIg aW4gdGhlIGludGVycnVwdCBoYW5kbGVyIGlzIDB4MTg/PyB3aGljaCBkb2Vzbid0IHNlZW0gcmln aHQsIEkgCj4gd291bGQgZXhwZWN0IGl0IHRvIGJlIDB4MDA/PyBhcyB0aGUgaW50ZXJydXB0IGhh bmRsZXIgaXMgaW50cm9kdWNlZCAKPiB3aXRoIElSUSBDT0RFIDB4MDA0Lgo+IFRoZQo+IEdPVE8g Y2hhbmdlcyB0aGUgbG93ZXIgYnl0ZSBvZiB0aGUgcHJvZ3JhbSBjb3VudGVyLCB3aGljaCB3aGVu IAo+IGNvbWJpbmVkIHdpdGggUENMQVRIIGlzIHRoZSBhZGRyZXNzIGl0IGp1bXBzIHRvLiBBZnRl ciBhIGJpdCBvZiAKPiByZXNlYXJjaCwgaXQgYXBwZWFycyB0aGF0IHRoZSBpc3N1ZSBpcyByZWxh dGVkIHRvIHRoZSBwcm9ncmFtIHBhZ2UuCj4gV2hpY2ggaXMgd2hlcmUgdGhlIGNvbmZ1c2lvbiBz aG93cyB1cC4uLgo+IAo+ICBGcm9tIHdoYXQgSSBoYXZlIHJlYWQsIEkgbmVlZCB0byBQQUdFU0VM IGJlZm9yZSBlYWNoIEdPVE8sIGJ1dCB0aGlzIAo+IHdpbGwgYnJlYWsgdGhlIEJURlNTIGFzIHRo ZXJlIHdpbGwgYmUgbW9yZSB0aGFuIG9uZSBpbnN0cnVjdGlvbiB0aGVyZSwgCj4gYnV0IGluIHRo aXMgY2FzZSwgdGhlIHRhcmdldCBpcyBuZWFyYnksIHNvIEknbSBiZSB2ZXJ5IHN1cnByaXNlZCB0 aGF0IAo+IHRoZXkgYXBwZWFyIGluIGRpZmZlcmVudCBwYWdlcy4gQXMgZmFyIGFzIEkgY2FuIHRl bGwgZWFjaCBDT0RFIGJsb2NrIAo+IGlzIGd1YXJhbnRlZWQgdG8gYmUgaW4gYSBzaW5nbGUgcGFn ZS4gRG8gSSBuZWVkIHRvIFBBR0VTRUwgdGhlIAo+IGludGVycnVwdCBoYW5kbGVyIGV2ZW4gdGhv dWdoIEkgYW0gYWxyZWFkeSB0aGVyZT8gSWYgSSBkbywgd2lsbCB0aGUgCj4gUkVURklFIHdvcmsg cHJvcGVybHk/Cj4gCj4gVGhlIGN1cnJlbnQgY29kZSBzaXplIGlzIGFyb3VuZCA2JSBvZiB0aGUg cHJvZ3JhbSBtZW1vcnksIHNvIHdoeSBpcyAKPiB0aGUgbGlua2VyIHVzaW5nIG1vcmUgdGhhbiBv bmUgcGFnZT8gSXMgdGhlcmUgYW55dGhpbmcgSSBjYW4gZG8gdG8gdGhlIAo+IGxpbmtlciBzY3Jp cHQgdG8gZW5zdXJlIHRoYXQgdGhlIGNvZGUgaXMgcHV0IGluIHRoZSBzYW1lIHBhZ2U/Cj4gCj4g Cj4gLS0KPiBodHRwOi8vd3d3LnBpY2xpc3QuY29tL3RlY2hyZWYvcGljbGlzdCBQSUMvU1ggRkFR ICYgbGlzdCBhcmNoaXZlIAo+IFZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0 IAo+IGh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0Ci0tCmh0 dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFy Y2hpdmUgVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQgaHR0cDovL21haWxt YW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QKCgotLSAKaHR0cDovL3d3dy5waWNs aXN0LmNvbS90ZWNocmVmL3BpY2xpc3QgUElDL1NYIEZBUSAmIGxpc3QgYXJjaGl2ZQpWaWV3L2No YW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0aW9ucyBhdApodHRwOi8vbWFpbG1hbi5taXQuZWR1L21h aWxtYW4vbGlzdGluZm8vcGljbGlzdAo= .