SGkhCgpJIGFsd2F5cyBsaWtlZCB0aGUgYXBwcm9hY2ggb2YgdGhlIGNvbnRhY3RzIHJlc291cmNl LCB0byB1c2UgYSBkaXJlY3Rvcnkgb2YgCnZjZiBmaWxlcyBpbnN0ZWFkIG9mIGEgc2luZ2xlIGZp bGUsIGJ1dCBmb3VuZCB0aGF0IG15IGNhbGVuZGFyIHdhcyBzdGlsbCB1c2luZyBhIApzaW5nbGUg ZmlsZSBpbiB0aGUgdHJhZGl0aW9uYWwgbG9jYXRpb24gfi8ua2RlL3NoYXJlL2FwcHMva29yZ2Fu aXplci9zdGQuaWNzIAp3aGljaCB3YXMgYWJvdXQgNyBNaUIgYWxyZWFkeS4gSSBkbyBqb3VybmFs IGVudHJpZXMgaW4gbXkgY2FsZW5kYXIgYXMgd2VsbCBhbmQgCnNvbWV0aW1lcyBhdHRhY2ggZmls ZXMgdG8gYXBwb2ludG1lbnRzIEkgbGlrZSB0byBpbmNsdWRlIHdpdGhpbiB0aGUgY2FsZW5kYXIg Cml0c2VsZi4KCkkgdGhvdWdodCB0aGF0IGl0IHdvdWxkIGJlIG5pY2UgdG8gaGF2ZSB0aGlzIGFz IGZvbGRlciBvZiBpY3MgZmlsZXMgYXMgd2VsbC4gCkFuZCBmb3VuZCB0aGlzIHRvIGJlIHBvc3Np YmxlIHdpdGggYWtvbmFkaV9pY2FsZGlyX3Jlc291cmNlLgoKTm93IEkgaGF2ZSBhIGZldyBxdWVz dGlvbiByZWdhcmRpbmcgdGhpczoKCjEpIFdoeSBpc27CtHQgaXQgdXNlZD8gSXQgYXZvaWRzIHdy aXRpbmcgYSBjb21wbGV0ZSA3IE1CIGZpbGUgb24gYWRkaW5nIGFuIAphcHBvaW50bWVudCAoZXZl biBpZiBpdHMgZGVsYXllZCBzb21ld2hhdCBieSBpbnRlcm5hbCBjYWNoaW5nKS4gSSB0aGluayBp dHMgCmFsc28gc2FmZXIgYXMgbW9kaWZ5aW5nIGFuIGV2ZW50IGp1c3Qgd3JpdGUgdG8gb25lIHNp bmdsZSBldmVudCBmaWxlIGFuZCB0aGVyZSAKaXMgbm8gcmlzayB0byBsb29zZSBvdGhlciBldmVu dHMgKGR1ZSB0byBpbmNvbXBsZXRlIHdyaXRpbmcgb2Ygc3RkLmljcyBmaWxlKS4KCjIpIFdoYXQg aXMgdGhlIHN0YXR1cyBvZiBpdCwgaXMgaXQgY29uc2lkZXJlZCBzdXBwb3J0ZWQgYW5kIHN0YWJs ZT8gTW9yZSBvbiBteSAKZmluZGluZ3MgYWJvdXQgdGhpcyBpbiBhIG1vbWVudC4KCjMpIFdoeSBj YW4gSSBub3Qgc2V0IGEgbmFtZSBmb3IgaXQgbGlrZSB3aXRoIGljYWwgZmlsZSByZXNvdXJjZT8g SSBjYW4gc2V0IGEgCm5hbWUgaW4gS29yZ2FuaXplciwgYnV0IG5vdCBpbiBBa29uYWRpY29uc29s ZSB2aWEgIkNvbmZpZ3VyZSBOYXRpdmVseSIuIApDb25zZXF1ZW50bHkgaXQgc2hvd3MgYXMgYWtv bmFkaV9pY2FsZGlyX3Jlc291cmNlXzAgaW4gQWtvbmFkaWNvbnNvbGUgaW5zdGVhZCAKb2YgdGhl IG5hbWUgSSBzZXQgZm9yIGl0IGluIEtvcmdhbml6ZXIuIElzIHRoaXMganVzdCBhIG1pc3Npbmcg ZmVhdHVyZT8KCgoKQXMgcmVnYXJkaW5nIHRoZSBzdGFiaWxpdHksIEkgdHJpZWQgdG8gbWlncmF0 ZSBteSBvbGQgY2FsZW5kZXIgdG8gdGhlIG5ldywgYXMgCkkgZm91bmQgaW4gQWtvbmFkaWNvbnNv bGUgdGhhdCBJIGNhbiBtb3ZlIG9yIGNvcHkgaXRlbXMgYmV0d2VlbiBjb2xsZWN0aW9ucyBpbiAK dGhlICJCcm93c2VyIiB0YWIuCgpGaXJzdCBJIG1vdmVkIG9uIGl0ZW0uIEl0IGltbWVkaWF0ZWx5 IGdvdCByZW1vdmVkIGZyb20gdGhlIHN0ZC5pY3MgYW5kIGFkZGVkIAphcyBsaWJpY2FsLWZpbGUg dG8gfi8ubG9jYWwvc2hhcmUvY2FsZW5kZXIgZGlyZWN0b3J5IEkgc2VsZWN0ZWQgZm9yIGl0IGZv ciAKc3RvcmFnZS4KClRoZW4gSSB3YXMgYm9sZCBhbmQgbW92ZWQgMTAgaXRlbXMuIFRoZXNlIGdv dCByZW1vdmVkIGZyb20gc3RkLmljcyBmaWxlLCBidXQgCm9ubHkgdGhlIGZpcnN0IG9mIGl0IGdv dCBhZGRlZCB0byB0aGUgY2FsZW5kZXIgZGlyZWN0b3J5LiBUaGUgb3RoZXJzIHNlZW1lZCB0byAK YXBwZWFyIGluIGZpbGVfZGJfZGF0YSBhbmQgQWtvbmFkaSBkaXNwbGF5ZWQgdGhlIGl0ZW1zIGlu IHRoZSBuZXcgaWNhbGRpciAKY29sbGVjdGlvbiBhbmQgbm90IGluIHRoZSBvbGQgb25lLiBJIHdh aXRlZCBmb3IgbWludXRlcywgYnV0IHRoZXkgZGlkbsK0dCAKYXBwZWFyIGluIHRoZSBjYWxlbmRl ciBmb2xkZXIuIEkgYmV0IHRoaXMgaXMgZHVlIHRvIHRoZSBjYWNoaW5nIHdpdGhpbiAKQWtvbmFk aSwgYnV0IEkgZXhwZWN0ZWQgaXQgdG8gYWN0IGFmdGVyIDE1IG1pbnV0ZXMgb3Igc28uIEZvciBt YWlsIGZvbGRlcnMgaXRzIApwb3NzaWJsZSB0byBzZXQgYSBjYWNoZSBwb2xpY3ksIEkgZGlkbsK0 dCBmaW5kIGl0IGZvciBpY2FsZGlyIHJlc291cmNlIGZvbGRlci4KClRoZW4gSSB3YXMgY3Jhenkg YW5kIGRpZCBDdHJsLUEgb2YgdGhlIDQxNzMgaXRlbXMgYW5kIG1vdmVkIHRoZW0gYWxsLiAKQWtv bmFkaWNvbnNvbGUgd2FzIHRoaW5raW5nIGFib3V0IGl0c2VsZiBmb3IgYSB3aGlsZSwgc3RpbGwg dGhlbiBub3RoaW5nIGdvdCAKcmVtb3ZlZCBmcm9tIHN0ZC5pY3MsIGFuZCBub3RoaW5nIGdvdCBh ZGRlZCB0byBjYWxlbmRhci4gV2VsbCBtYXliZSB0aGUgZmlyc3QgCml0ZW0gZ290IG1vdmVkLCBJ IGRpZG7CtHQgY2hlY2sgdGhhdCBjbG9zZWx5LiBIb3dldmVyIGl0ZW1zIGFwcGVhcmVkIHRvIGJl IAptb3ZlZCB3aXRoaW4gQWtvbmFkaWNvbnNvbGUgYWZ0ZXIgYSB3aGlsZSBhbmQgYXBwZWFyZWQg aW4gZmlsZV9kYl9kYXRhLiBOb3RoaW5nIApzZWVtZWQgdG8gaGFwcGVuIGZvciBhYm91dCBoYWxm IGFuIGhvdXIgb2YgbWUgcmVhZGluZyBzdHVmZiBhYm91dCBBa29uYWRpIGFuZCAKdHJ5aW5nIHRv IGZpbmQgb3V0IG1vcmUgaG93IGZpbGVfZGJfZGF0YSBiZWhhdmVzLiBJIHdhcyBwdXp6bGVkIGNh dXNlIEkgZXhwZWN0ZWQgCkFrb25hZGkgdG8gYXQgbGVhc3QgcmVtb3ZlIHRoZSBzdHVmZiBmcm9t IHN0ZC5pY3MsIHdoZW4gaXQgaGFzIHN0b3JlZCBpdCBpbiAKZmlsZV9kYl9kYXRhIGFscmVhZHku CgpJIHRyaWVkIHRvIGZpbmQgd2F5cyB0byB0cmlnZ2VyIGFueSBhY3Rpb24gYW5kIGRpZCAiU3lu Y2hyb25pemUgRm9sZGVyIiBhbmQgCiJTeW5jaHJvbml6ZSBGb2xkZXIgUmVjdXJzaXZlbHkiIG9u IGljYWwgZGlyIHJlc291cmNlLiBJdCB3b3JrZWQgYSBiaXQsIHlldCAKc3RpbGwgbm8gZmlsZXMg YXBwZWFyZWQgaW4gY2FsZW5kZXIgZGlyZWN0b3J5LiBUaGVuIEkgdHJpZWQgdGhlIHNhbWUgdG8g dGhlIG9sZCAKaWNhbCBmaWxlIHJlc291cmNlIHRvIHNlZSB3aGV0aGVyIGl0IHJlbW92ZXMgdGhl IHN0dWZmIGZyb20gc3RkLmljcy4gSXQgZGlkbsK0dC4gCkluc3RlYWQgaXQgYXBwZWFyZWQgdG8g cmVzY2FuIHN0ZC5pY3MgYW5kIGFkZGVkIGFsbCBlbnRyaWVzIGluIGl0IHRvIHRoZSAKcmVzb3Vy Y2UgYWdhaW4uIEkgdGhpbmsgaXQgc2hvdWxkIGhhdmUga25vd24gdGhhdCBJIG1vdmVkIHRoZW0g YWxyZWFkeSA6KS4KClRoZW4gSSB3ZW50IGJvbGQga25vd2luZyB0aGF0IG5pY2UgaGFuZHkgQlRS RlMgc25hcHNob3QgYW5kIGEgbWFudWFsIGJhY2t1cCBvZiAKdGhlIG9sZCBzdGQuaWNzIGluIHBs YWNlIGFuZCBkZWxldGVkIHRoYXQgbmV3bHkgYWRkZWQgaXRlbXMgdG8gaGF2ZSBpdCAKdHJ1bmNh dGUgdGhlIHRoZSBzdGQuaWNzLiBUaGlzIGRpZCB3b3JrLgoKWWV0IHN0aWxsIGluIGNhbGVuZGFy IGZvbGRlciBubyBuZXcgaWNhbCBmaWxlcyBhcHBlYXJlZC4gVGhlbiBJIHJlYWQgYWJvdXQgCiJD bGVhciBBa29uYWRpIENhY2hlIiByZWdhcmRpbmcgaG93IHRvIGNvcnJlY3QgaW5jb3JyZWN0IGlu Zm9ybWF0aW9uIGluIHNvbWUgCm1haWwgZm9sZGVycy4gSSB3b25kZXJlZCBhbHJlYWR5IHRoYXQg dGhpcyBtYXkgZGVzdHJveSBtYXkgY2FsZW5kZXIgaXRlbXMsIGJ1dCAKdHJpZWQgaXQgbm9uZXRo ZWxlc3MgaW4gdGhlIHNsaWdodCBob3BlIHRoYXQgY2xlYXJpbmcgYWtvbmFkaSBjYWNoZSB3b3Vs ZCBtZWFuIAp0aGF0IGljYWxkaXIgcmVzb3VyY2UgdGFrZXMgdGhvc2UgZmlsZSBpbiBmaWxlX2Ri X2RhdGEgYW5kIHdyaXRlcyB0aGVtIG91dCBpbiAKdGhlIGNhbGVuZGVyIGRpcmVjdG9yeSBmaW5h bGx5LgoKV2VsbCBpdCBkaWRuwrR0IGFuZCBvbiBBa29uYWRpY29uc29sZSByZXN0YXJ0IG9ubHkg dGhlIGZldyBpdGVtcyB0aGF0IEFrb25hZGkgCmFjdHVhbGx5IHJlYWxseSBtb3ZlZCB3ZXJlIHN0 aWxsIHRoZXJlLgoKU28gaXQgc2VlbXMgdGhhdCBtb3ZpbmcgaXRlbXMgZnJvbSBhbiBpY2FsIGZp bGUgcmVzb3VyY2UgdG8gYW4gaWNhbCBkaXIgCnJlc291cmNlIGlzIHNvbWV3aGF0IGJyb2tlbi4g SXMgaXQgc3VwcG9zZWQgdG8gd29yayBhdCBhbGw/CgoKVGhlbiBJIHRyaWVkIHRoZSBzYW5lciBh cHByb2FjaCBvZiBjb3B5aW5nIHRoZSBpdGVtczoKClRoZW4gcXVpdHRlZCBBa29uYWRpLCBtYWRl IHN1cmUgbXlzcWwgZ290IHF1aXR0ZWQgdG8sIHdhcyBzdGlsbCBydW5uaW5nIGFmdGVyIApha29u YWRpY3RsIHN0b3AgY29tcGxldGVkIHdpdGggYSBwb3B1cC4gSSBiZXQgdGhpcyBtaWdodCBiZSBk dWUgdG8gdGhlIGNhc2UgSSAKaGFkIGEgbXlzcWwgY2xpZW50IHJ1bm5pbmcgb24gaXRzIHNvY2tl dC4gScK0ZCBleHBlY3QgTXlTUUwgdG8gZGlzY29ubmVjdCB0aGUgCmNsaWVudCBpbiB0aGF0IGNh c2UuCgpQdXQgdGhlIGJhY2t1cCBvZiB0aGUgc3RkLmljcyBmaWxlIGluIHBsYWNlIGFuZCBzdGFy dGVkIEFrb25hZGkgYWdhaW4uIEl0IAppbW1lZGlhdGVseSBwaWNrZWQgdXAgdGhlIGNvbnRlbnRz IG9mIHRoZSBmaWxlIGFuZCBJIGhhZCBteSBjYWxlbmRlciBiYWNrLgoKSSB1bnNlbGVjdGVkIGJv dGggY2FsZW5kYXIgcmVzb3VyY2UgaW4gS29yZ2FuaXplciBzbyBpdCBkb2VzbsK0dCBnZXQgdG9v IGNyYXp5LiAKQW5kIHRoZW4gSSBDdHJsLUEgb24gdGhlIGljYWwgZmlsZSByZXNvdXJjZSBpdGVt cyBhbmQganVzdCBjb3BpZWQgdGhlbSBhbGwgb3ZlciAKdG8gdGhlIGljYWxkaXIgcmVzb3VyY2Uu IFRoZSBjb3B5IG9wZXJhdGlvbiB3ZW50IHNtb290aGx5IGFuZCBuaWNlbHkuIEkgdG9sZCAKS29y Z2FuaXplciB0byBkaXNwbGF5IHRoZSBpY2FsZGlyIHJlc291cmNlIGNhbGVuZGVyIGFuZCB2b2ls YSB0aGVyZSBpdCB3YXMuCgpJIG5vdyBoYXZlIGEgbmljZToKCm1hcnRpbkBtZXJrYWJhOn4vLmxv Y2FsL3NoYXJlPiBmaW5kIGNhbGVuZGFyIC10eXBlIGYgfCB3YyAtbAo0MTU2Cm1hcnRpbkBtZXJr YWJhOn4vLmxvY2FsL3NoYXJlPiBkdSAtc2ggY2FsZW5kYXIgICAgICAgICAgICAgIAoyMU0gICAg IGNhbGVuZGFyCgpIbW0sIGR1IHNlZW1zIHRvIGNvdW50IGVhY2ggZmlsZSBpbiA0IEtpQiBibG9j a3MsIHVubGVzcyBJIHVzZToKCm1hcnRpbkBtZXJrYWJhOn4vLmxvY2FsL3NoYXJlPiBkdSAtLWFw cGFyZW50LXNpemUgLXNoIGNhbGVuZGFyCjExTSAgICAgY2FsZW5kYXIKCgoKSW5zdGVhZCBvZiBh CgptYXJ0aW5AbWVya2FiYTp+Ly5rZGUvc2hhcmUvYXBwcy9rb3JnYW5pemVyPiBscyAtbCBzdGQu aWNzCi1ydy1yLS1yLS0gMSBtYXJ0aW4gbWFydGluIDc1NDA3MTQgTcOkciAyNyAxMzoyOSBzdGQu aWNzCgoKCkkgd29uZGVyIGEgYml0IGFib3V0IHRoZSBzaXplIGRpZmZlcmVuY2UgdG91Z2guIFdo eSBpcyB0aGUgY2FsZW5kZXIgZm9sZGVyIDExIApNaUIgaW5zdGVhZCBvZiBhYm91dCA3IE1pQj8K CldlbGwsIEkgZXhwZWN0IHRoaXMgdG8gYmUgc29tZSBvdmVyaGVhZCBvZiBpY2FsIGZvcm1hdCwg aGVhZGVyIGluZm9ybWF0aW9uIApkdXBsaWNhdGVkIGluIGVhY2ggZmlsZS4gSSBhbSBmaW5lIHdp dGggdGhhdC4KCgoKQW5vdGhlciBvYnNlcnZhdGlvbjogSXQgaXMgYSBuaWNlIGlkZWEgdG8gZGlz YWJsZSBzaG93aW5nIGNhbGVuZGVyIGl0ZW1zIGluIApEaWdpdGFsIENsb2NrLCBpZiBJIGludGVu ZCB0byB1c2UgcGxhc21hLWRlc2t0b3AgZHVyaW5nIHN1Y2ggYW4gb3BlcmF0aW9uLiBJdCAKd2Fz IGJsb2NrZWQgZm9yIG1pbnV0ZXMgOikKCgpUaGVyZSBhcmUgc29tZSBwb3NzaWJsZSBidWcgcmVw b3J0cyBpbiB0aGVyZSBhbmQgSSBhbSB3aWxsaW5nIHRvIHJlcG9ydCB0aG9zZSwgCmp1c3QgZmly c3QgSSB3YW50ZWQgdG8gZ2V0IHNvbWUgZmVlZGJhY2sgYWJvdXQgdGhlIHN0YXRlIG9mIHRoZSBy ZXNvdXJjZS4KCgpJIHRoaW5rIEkgZGlkIGEgYml0IGRlZXBlciBpbiBzb21lIHN0dWZmIGFuZCBk byBzb21lIG1vcmUgYW5hbHlzaXMuIEkgc2F3IHNvbWUgCmh1Z2UgYW1vdW50cyBvZiBzdGF0KCIv ZXRjL2xvY2FsdGltZSIpLi4uIG9uIGVhY2ggYWNjZXNzIG9mIGEgbWFpbGRpciBtYWlsIGZpbGUg Cm9yIHNvbWV3aGF04oCmCgoKQnV0IGZvciBub3cgSSBsZWF2ZSBpdCBhdCB0aGF0LiBJIHdpbGwg dGVzdCBpY2FsZGlyIHJlc291cmNlIGZvciBub3cuIEkgYW0gCnF1aXRlIGNvbmZpZGVudCB0aGF0 IGl0IHdpbGwgd29yayBhcyBjb250YWN0cyByZXNvdXJjZSB3b3JrcyBuaWNlbHkgYXMgd2VsbC4K CkkgbGVhcm5lZCBzb21lIG1vcmUgYWJvdXQgQWtvbmFkaWNvbnNvbGUgYW5kIEFrb25hZGkgYmVo YXZpb3Vy4oCmCgpDaWFvLAotLSAKTWFydGluICdIZWxpb3MnIFN0ZWlnZXJ3YWxkIC0gaHR0cDov L3d3dy5MaWNodHZvbGwuZGUKR1BHOiAwM0IwIDBENkMgMDA0MCAwNzEwIDRBRkEgIEI4MkYgOTkx QiBFQUFDIEE1OTkgODRDNwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpLREUgUElNIG1haWxpbmcgbGlzdCBrZGUtcGltQGtkZS5vcmcKaHR0cHM6Ly9tYWls LmtkZS5vcmcvbWFpbG1hbi9saXN0aW5mby9rZGUtcGltCktERSBQSU0gaG9tZSBwYWdlIGF0IGh0 dHA6Ly9waW0ua2RlLm9yZy8=