SGkgVG9iaWFzLApFdmVyeSBwcmludGVyIG1hbnVmYWN0dXJlciBpcyBmcmVlIHRvIGRvIHdoYXRl dmVyIHRoZXkgd2FudCwgYW5kIHRoZXkKZG8uIEFuZCB0aGUgbGVnYWxpdHkgb2YgcmV2ZXJzZSBl bmdpbmVlcmluZyB2YXJpZXMsIGJvdGggaW4gIndoZXJlIiBhbmQKYWxzbyAid2hhdCIgaXMgYmVp bmcgcmV2ZXJzZSBlbmdpbmVlcmVkLgoKQ29zdGNvIHJlZmlsbHMgaW5ramV0IGNhcnRyaWRnZXMu IFRoYXQgbXVzdCBpbnZvbHZlIHN3YXBwaW5nIG91dCB0aGUKY2hpcC4gU28gaXQgbXVzdCBiZSBs ZWdhbCBoZXJlIHRoZSBVUywgYXQgbGVhc3Qgd2l0aCB0aGUgYnJhbmRzIHRoZXkKc3VwcG9ydC4K Ck9uZSBvZiBteSBwcmludGVycyBoYXMgYW4gZWFzaWx5IHJlZmlsbGVkIHRvbmVyIGNhcnRyaWRn ZS4gQnV0IHRoZSBwcmludApxdWFsaXR5IHJlYWxseSBzdWZmZXJzIGFzIGl0IGdvZXMgdGhyb3Vn aCBhbiBleHRlbmRlZCBsaWZlLiBBZnRlciB0aGUKZmlyc3QgcmVmaWxsIHRoZSBwcmludGluZyBp cyBnb29kIGFsbW9zdCB0aGUgd2hvbGUgbGlmZSwgdGhlIHNlY29uZCB0aW1lCnJlZmlsbGVkIHRo ZSBwcmludCBxdWFsaXR5IGdldHMgYmFkIGJlZm9yZSBpdCdzIGVtcHR5LiBGb3JnZXQgYWJvdXQg YQp0aGlyZCByZWZpbGwsIHRoZSBwcmludCBpcyBhbHJlYWR5IHRvbyBsaWdodCBhbmQgd2l0aCBz bXVkZ2VzIGF0IHRoZQplZGdlcy4KCklmIHlvdSBkbyByZWZpbGwsIHJlbWVtYmVyIHRvIGVtcHR5 IHRoZSB3YXN0ZSB0b25lciBzZWN0aW9uIG9mIHRoZQpjYXJ0cmlkZ2Ugb3IgaXQgd2lsbCBvdmVy ZmxvdyBhbmQgamFtIHlvdXIgcHJpbnRlciB3aXRoIG9sZCBjbHVtcHkKdG9uZXIuCgpJIGFsc28g aGF2ZSBhbiBvbGRlciBjb2xvciBsYXNlciBwcmludGVyLiBUaGVyZSBhcmUgc21hbGwgZWVwcm9t cyBpbgplYWNoIG9mIHRoZSA0IHRvbmVycywgYW5kIGFsc28gaW4gdGhlIGRydW0sIHRyYW5zZmVy IHVuaXQsIGFuZCBmdXNlcgp1bml0LiBBbGwgdGhleSBkbyBpcyBrZWVwIHRyYWNrIG9mIHRoZSBj b3VudCBmb3Igc3RhdHVzIHJlcG9ydHMuIEl0IGRvZXMKZXZlbnR1YWxseSBzdG9wIHByaW50aW5n IGFmdGVyIGEgd2hpbGUgd2l0aCBhIHVuaXQgYXQgMCBwZXJjZW50LiBBbmQgaWYKeW91IGFyZSBu b3QgZnVzc3kgYWJvdXQgcHJpbnQgcXVhbGl0eSB5b3UgY291bGQgcmVzZXQgdGhlIGVlcHJvbXMu CgpCZXN0IHJlZ2FyZHMsIEJvYgoKCk9uIFR1ZSwgSmFuIDE5LCAyMDE2LCBhdCAwOTo0NyBBTSwg VG9iaWFzIEdvZ29saW4gd3JvdGU6Cj4gSSBzdXBwb3NlIEkgY2FuIHNlZSB0aGUgaW5ldml0YWJs ZSAnc3VjY2Vzcycgb2YgY2hlYXAgcHJpbnRlcnMgd2l0aAo+IGRlbGF5ZWQKPiBwYXltZW50IGJ5 ICdJUCBsaWNlbnNlZCB0b25lciB1c2FnZScuLi4gU28gSSBhbSBpbWFnaW5pbmcgYWxsIGtpbmRz IG9mCj4gYWxnb3JpdGhtaWMgdHJpY2tlcnkgdGhhdCBzb21lb25lIHdvdWxkIGhhdmUgdG8gY29t ZSB1cCB3aXRoIHRvIG1ha2UgaXQKPiBwb3NzaWJsZSB0byBoYXZlIGEgaGFyZCB0byBjbG9uZSBv ciByZXNldCB0b25lciBJUCBwcmVzZW50IGluIHRoZSB0b25lcgo+IGNhcnRyaWRnZS4uLgo+IAo+ IEF0IHRoZSBzYW1lIHRpbWUgYW55IGtpbmQgb2YgcmVzZXR0aW5nIGFuZCBldmVuIGRpc2N1c3Np bmcgY3VsdHVyZSB3b3VsZAo+IGJlY29tZSBzaW1pbGFyIHRvIHRoZSAnaWxsZWdhbCBkcnVnIG1h cmtldCcgPT4gbW9yZSB2YWx1YWJsZSB3aGVuCj4gc3VwcHJlc3NlZCEgU28gd2hhdHMgaW4gdGhl IGNoaXBzIG9mIHRoZSBkaWZmZXJlbnQgbWFudWZhY3R1cmVycz8gSG93Cj4gaGFyZAo+IGlzIGl0 IHRvIGF2b2lkIHByb2R1Y2luZyB0b28gbXVjaCB0cmFzaD8gV2hpY2ggbWFrZXMgYXJlIG1vc3Qg cmVzZXRhYmxlCj4gcmVmaWxsYWJsZT8gSXMgaXQgYSBkaXNjdXNzZWQgc3ViamVjdCBzb21ld2hl cmU/IEkgaGF2ZSBhIFJpY29oIEFmaWNpbwo+IEMyNDBETiBMYXNlciBQcmludGVyIChpbmNyZWRp YmxlIGR1cGxleCBwcmludHMhKSB0aGF0IGNvc3QgbWUgaGFsZiBvZiBvbmUKPiBjb21wbGV0ZSBu ZXcgc2V0IG9mIHRvbmVyISBJIGRvIHRoaW5rIHRoZXkgZGVzZXJ2ZSB0byBtYWtlIHNvbWUgbW9u ZXksCj4gYnV0Cj4gbm90IHlldCBJIHRoaW5rIHRoZXJlIHN0aWxsIGlzIGEgYnVuY2ggb2YgdG9u ZXIgaW4gbXkgY2FydHJpZGdlcywgSSBoYWQKPiBub3QKPiBub3RpY2VkIGFueSB3ZWFrZW5pbmcg b2YgdGhlIHByaW50IHJlc3VsdCEgSSB3b25kZXIgd2hhdCB0aGUKPiBlbnZpcm9ubWVudGFsCj4g aW1wYWN0IGlzIG9mIHRoZXNlIGNvbG9yZnVsIG5hbm8gcGFydGljbGVzIGJlaW5nIHNwaWxsZWQg c29tZXdoZXJlIChzb21lCj4gdW5lZHVjYXRlZCBwZW9wbGUgdHJvdyB0aGVzZSB0aGluZ3MgaW50 byB0aGUgcmVndWxhciB0cmFzaCkgLCB3aGF0IGlzCj4gdG9uZXIKPiByZWFsbHk/Cj4gU28gbWFu eSBxdWVzdGlvbnMgLSBvaCBhbmQgYnkgdGhlIHdheSBzbyBtYW55IHByaW50ZXJzIC0gd291bGRu J3QgbWluZAo+IGhlYXJpbmcgYWJvdXQgaW50ZXJlc3RpbmcgaGFja3MgcGVvcGxlIGRvIHRvIHJl IHV0aWxpemUgdGhvc2UKPiAnZGlzcG9zYWJsZScKPiBsYXNlciBwcmludGVycyEKPiAKPiAtLSAK PiDigJ5KZXR6dCB3YXIgZGVyIEF1Z2VuYmxpY2sgZ2Vrb21tZW4gd28gd2lyIGRlbmtlbiBtdXNz dGVuLiBEZXIgQXVnZW5ibGljawo+IHdvCj4gd2lyIGF1ZnNwcmluZ2VuIHVuZCBlbnRzY2hlaWRl biBtdcOfdGVuLCB3ZW5uIHdpciBuaWNodCBhbGxtw6RobGljaCBzbwo+IHZlcmdpZnRldCB3ZXJk ZW4gd29sbHRlbiwgZGHDnyB3aXIgYmxpbmQgZGllIFBsw6R0emUgZWlubmFobWVuLCBkaWUgdW5z IGltCj4gZsO8aHJlcmxvc2VuIFp1ZyBkZXIgw4RsdGVyZW4gYW5nZWJvdGVuIHd1cmRlbi7igJwK PiBBdXMgZGVtIGVyc3RlbiBLYXBpdGVsIHZvbiAnRmF0dSBIaXZhIC0gWnVyw7xjayB6dXIgTmF0 dXInIHZvbiBUaG9yCj4gSGV5ZXJkYWhsCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQo+IAo+IFRvYmlhcyBHb2dvbGluCj4KCi0tIApodHRwOi8vd3d3LmZhc3RtYWlsLmNv bSAtIFNhbWUsIHNhbWUsIGJ1dCBkaWZmZXJlbnQuLi4KCgotLSAKaHR0cDovL3d3dy5waWNsaXN0 LmNvbS90ZWNocmVmL3BpY2xpc3QgUElDL1NYIEZBUSAmIGxpc3QgYXJjaGl2ZQpWaWV3L2NoYW5n ZSB5b3VyIG1lbWJlcnNoaXAgb3B0aW9ucyBhdApodHRwOi8vbWFpbG1hbi5taXQuZWR1L21haWxt YW4vbGlzdGluZm8vcGljbGlzdAo= .