T24gTW9uZGF5IDExIE5vdmVtYmVyIDIwMTMgMTM6NTY6MzIgRWlrZSBIZWluIHdyb3RlOgo+IAo+ IEFmdGVyIHRoZSBleGNoYW5nZXMgaW4gdGhpcyBhbmQgdGhlIG90aGVyIGxlZyBvZiB0aGUgc3Vi dGhyZWFkCj4gdGhlcmUgZW5kZWQgdXAgYmVpbmcgYSBmb2xsb3ctdXAgZGlzY3Vzc2lvbiBvbiBJ UkMsIHdpdGggQWFyb24sCj4gU3VuZSAoc3Z1b3JlbGEpLCBtZSAoU2hvXykgYW5kIG90aGVycyBj b250cmlidXRpbmcuCj4gCj4gVWx0aW1hdGVseSwgd2UndmUgdG9nZXRoZXIgc2V0dGxlZCBvbiB0 aGlzIHdvcmRpbmcgc3VnZ2VzdGlvbjoKPiAKPiAiQWxsIHByb2plY3QgYXNzZXRzIG11c3QgYmUg aG9zdGVkIG9uIGluZnJhc3RydWN0dXJlIGF2YWlsYWJsZQo+IGFuZCB3cml0YWJsZSB0byBhbGwg S0RFIGNvbnRyaWJ1dG9yIGFjY291bnRzLiIKClRoYW5rcyBmb3IgdGhlIG5pY2UgcHJvZ3Jlc3Mg YW5kIHRoZSBnb29kIGRpc2N1c3Npb24uCgo+IFN1bW1pbmcgdXAgdGhlIHRob3VnaHRzIGJlaGlu ZCB0aGlzOgo+IAo+ICogVGhpcyBpcyBpbnRlbmRlZCB0byBjb3ZlciB0aGUgaWRlYXMgYmVoaW5k IGJvdGggdGhlIG9yaWdpbmFsCj4gICBBTEwgYW5kIE9OTFkgY2xhdXNlcyBieSBzcGVjaWZ5aW5n IHRoYXQgJ2FsbCBwcm9qZWN0IGFzc2V0cycKPiAgIG11c3QgYmUgb24gaW5mcmFzdHJ1Y3R1cmUg dGhhdCdzIGNvdmVyZWQgYnkgb3VyIGNvbnRyaWJ1dG9yCj4gICBhY2NvdW50IHN5c3RlbS4gVGhl IHdheSB0aGlzIGltcGxlbWVudHMgT05MWSBpcyBieSBpbXBsaWNpdGx5Cj4gICBydWxpbmcgb3V0 IG1pcnJvcnMgdGhhdCBjb250YWluIGFkZGl0aW9uYWwgYXNzZXRzIC0gaW4gb3RoZXIKPiAgIHdv cmRzLCBpdCdzIG1lYW50IHRvIGVuc3VyZSB0aGF0IEtERSdzIHJlcG9zaXRvcmllcyBhcmUgY2Et Cj4gICBub25pY2FsIGZvciBwcm9qZWN0cywgYW5kIG5vdCBvdXRkYXRlZC4gVGhpcyBicmluZ3Mg cGFyaXR5Cj4gICBiZXR3ZWVuIHdoYXQgUmV2aWV3Qm9hcmQgaXMgZG9pbmcgYW5kIHdoYXQgYSBH aXRIdWIgbWlycm9yCj4gICBpcyBkb2luZy4KCldoZW4gSSByZWFkIHRoZSBzdWdnZXN0aW9uIGFu ZCB0aGlzIGV4cGxhbmF0aW9uIEkgd29uZGVyIHdoeSB3ZSBkb24ndCBqdXN0IHNheSAKd2hhdCBp cyBtZWFudDogIlRoZSBjYW5vbmljYWwgdmVyc2lvbiBvZiB0aGUgcHJvamVjdCBpcyBob3N0ZWQg b24gS0RFIAppbmZyYXN0cnVjdHVyZSI/CgpUaGlzIGRvZXNuJ3QgY292ZXIgdGhlIHBhcnQgdGhh dCBhbGwgS0RFIGNvbnRyaWJ1dG9ycyBoYXZlIHdyaXRlIGFjY2VzcyB0byBhbGwgCnByb2plY3Rz LCBidXQgdGhhdCB3b3VsZCBiZSBjb3ZlcmVkIGJ5IHRoZSBvcmlnaW5hbCBwcm9wb3NhbCBvZiAg 4oCcQWxsIEtERSAKY29udHJpYnV0b3IgYWNjb3VudHMgYXJlIGdyYW50ZWQgZGlyZWN0LCB1bml2 ZXJzYWwgd3JpdGUgYWNjZXNzIHRvIHRoZSAKc29mdHdhcmUgYXNzZXRzIgoKPiAqIFRoZSBuZXcg d29yZGluZyBob3BlZnVsbHkgc3VjY2VlZHMgaW4gYmVpbmcgbGVzcyBvZmYtcHV0dGluZwo+ICAg dG8gcmVhZGVycywgdG8gYXZvaWQgZGVmZWF0aW5nIHRoZSBwdXJwb3NlIG9mIHRoZSBvcmlnaW5h bAo+ICAgT05MWSBjYXVzZSAoaS5lLiB3ZSB3YW50IHRvIHN1Y2Nlc3NmdWxseSBwaXRjaC9jb252 aW5jZQo+ICAgcGVvcGxlIHRvIGJlIHBhcnQgb2YgdGhlIGNvbW11bml0eSwgbm90IGFwcGVhciB0 byBmb3JjZSB0aGVtKS4KCkknbGwgZ2l2ZSB5b3UgbXkgZmVlZGJhY2sgaGVyZSwgZnJvbSB3aGVu IEkgcmVhZCB0aGUgcHJvcG9zZWQgd29yZGluZyBmb3IgdGhlIApmaXJzdCB0aW1lOiBJIHBlcmNl aXZlZCBpdCBhcyBvZmYtcHV0dGluZywgYmVjYXVzZSBpdCBzYXlzICJhbGwiIGFuZCBpdCBzYXlz IAoibXVzdCIuIFRoYXQgZmVlbHMgYXMgYSBwcmV0dHkgc2Nhcnkgc3RhdGVtZW50IHRvIG1lLCBl c3BlY2lhbGx5IGxvb2tpbmcgZnJvbSAKdGhlIHBlcnNwZWN0aXZlIG9mIHNvbWVvbmUgdHJ5aW5n IHRvIG1vdmUgY2xvc2VyIHRvIEtERSwgYnV0IG5vdCBiZWluZyB0aGVyZSAKeWV0LgoKSXQgYWxz byBzb3VuZHMgbGlrZSBpdCB3b3VsZCBydWxlIG91dCB1c2luZyBhbnkgb3RoZXIgdG9vbHMsIHdo aWNoIGFyZSBub3QgCmhvc3RlZCBvbiBLREUgaW5mcmFzdHJ1Y3R1cmUuIEluIHRoZSBJUkMgbG9n IHRoZXJlIHdlcmUgbWVudGlvbmVkIEdvb2dsZSBEb2NzLCAKVHJlbGxvLCB0aGVyZSBhcmUgY2Vy dGFpbmx5IG1vcmUgKGFuZCBub3Qgb25seSBjbG9zZWQtc291cmNlIG9uZXMpLiBJIGRvbid0IAp0 aGluayB3ZSBhcmUgdHJ5aW5nIHRvIHNheSB0aGF0LCBhcyB0aGF0IHdvdWxkIG9idmlvdXNseSBn byBhZ2FpbnN0IHRoZSBzdGF0dXMgCnF1bywgYW5kIHRoZSBtYW5pZmVzdCBpcyBzdXBwb3NlZCB0 byBkb2N1bWVudCBvdXIgY3VycmVudCB2aWV3LCBub3QgYSBmdXR1cmUgCmdvYWwuCgpNYXliZSB0 aGF0J3Mgbm90IHdoYXQncyBtZWFudCBhcyB5b3UgZXhwbGFpbiBpbiB0aGUgcGFyYWdyYXBoIGJl bG93LCBidXQgaXQgCmlzbid0IG9idmlvdXMgdG8gbWUgZnJvbSBqdXN0IHJlYWRpbmcgdGhlIHN1 Z2dlc3RlZCB3b3JkaW5nLiBDb3VsZCBiZSB0aGF0IAppdCdzIGp1c3QgbWUsIHRob3VnaCA7LSkK IAo+ICogSG9zdGluZyBsb2NhdGlvbiBpcyBzdGlsbCBub3QgbmFpbGVkIGRvd24gZnVydGhlciB0 aGFuICJLREUKPiAgIGNvbnRyaWJ1dG9yIGFjY291bnRzIG11c3QgaGF2ZSByL3cgYWNjZXNzIiwg YW5zd2VyaW5nIGEgZGUtCj4gICBtYW5kIGluIHRoZSBvcmlnaW5hbCBNYW5pZmVzdG8gZGlzY3Vz c2lvbi4KCkkgZ3Vlc3MgdGhlIHJlYXNvbiB3aHkgSSdtIHBlcmNlaXZpbmcgdGhpcyBhcyBleGNs dWRpbmcgbm9uLUtERSBob3N0ZWQgCmluZnJhc3RydWN0dXJlIGlzIHRoYXQgSSByZWFkICJLREUg Y29udHJpYnV0b3IgYWNjb3VudHMgbXVzdCBoYXZlIHIvdyBhY2Nlc3MiIAphcyAiSSBtdXN0IGJl IGFibGUgdG8gbG9nIGluIHdpdGggaWRlbnRpdHkua2RlLm9yZyIuIFRoYXQncyBvYnZpb3VzbHkg bm90IApwb3NzaWJsZSB3aXRoIG1hbnkgc2VydmljZXMgaG9zdGVkIGJ5IG90aGVyIHBhcnRpZXMu CgotLSAKQ29ybmVsaXVzIFNjaHVtYWNoZXIgPHNjaHVtYWNoZXJAa2RlLm9yZz4KX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Ka2RlLWNvbW11bml0eSBtYWls aW5nIGxpc3QKa2RlLWNvbW11bml0eUBrZGUub3JnCmh0dHBzOi8vbWFpbC5rZGUub3JnL21haWxt YW4vbGlzdGluZm8va2RlLWNvbW11bml0eQ==