.NET Developer / C# Software Engineer
Hackajob
Software Engineering
Horsham, UK
Posted on Mar 10, 2026
hackajob is collaborating with Envitia to connect them with exceptional professionals for this role.
PHA+Jm5ic3A7PC9wPgo8cD5CZSBQYXJ0IG9mIFNvbWV0aGluZyBSZWFsPC9wPgo8cD4mbmJzcDs8L3A+CjxwPkpvaW4gYSBsZWFkaW5nIFVLIGRhdGEgYW5kIHNvZnR3YXJlIGNvbXBhbnkgc2hhcGluZyB0aGUgZnV0dXJlIG9mIGdlb3NwYXRpYWwgYW5kIHNlY3VyaXR5IGlubm92YXRpb24uPC9wPgo8cD4mbmJzcDs8L3A+CjxwPkVudml0aWEgaXMgYSBVSy1iYXNlZCBzb2Z0d2FyZSBhbmQgc2VydmljZXMgY29tcGFueSB0aGF0IGhlbHBzIG9yZ2FuaXNhdGlvbnMgdW5sb2NrIHRoZSBmdWxsIHZhbHVlIG9mIHRoZWlyIGRhdGEgdG8gbWFrZSBiZXR0ZXIsIGZhc3RlciBkZWNpc2lvbnMuIFdpdGggb3ZlciAzMCB5ZWFycyBvZiBleHBlcmllbmNlLCB3ZSBzcGVjaWFsaXNlIGluIGRlbGl2ZXJpbmcgaW5ub3ZhdGl2ZSBzb2Z0d2FyZSBwcm9kdWN0cywgc29sdXRpb25zLCBhbmQgY29uc3VsdGFuY3kgc2VydmljZXMgdGhhdCB0cmFuc2Zvcm0gY29tcGxleCBkYXRhIGNoYWxsZW5nZXMgaW50byBhY3Rpb25hYmxlIGluc2lnaHRzLjwvcD4KPHA+Jm5ic3A7PC9wPgo8cD5PdXIgbWlzc2lvbiBpcyB0byBlbXBvd2VyIGN1c3RvbWVycyBhY3Jvc3MgZGVmZW5jZSwgZ292ZXJubWVudCwgYW5kIG5hdGlvbmFsIHNlY3VyaXR5IHNlY3RvcnMgdG8gaGFybmVzcyB0aGUgcG93ZXIgb2YgZGF0YSAmbWRhc2g7IGZyb20gZ2Vvc3BhdGlhbCBpbnRlbGxpZ2VuY2UgdG8gYWR2YW5jZWQgYW5hbHl0aWNzIGFuZCBBSSBpbnRlZ3JhdGlvbi4gV2UgYXJlIHByb3VkIHRvIGJlIGEgdHJ1c3RlZCBwYXJ0bmVyIHRvIFVLIGRlZmVuY2UgYW5kIGdvdmVybm1lbnQgb3JnYW5pc2F0aW9ucywgZGVsaXZlcmluZyB0ZWNobm9sb2d5IHRoYXQgZHJpdmVzIHNtYXJ0ZXIsIGRhdGEtZHJpdmVuIG91dGNvbWVzLjwvcD4KPHA+Jm5ic3A7PC9wPgo8cD5XZSZyc3F1bztyZSBhbHNvIGRlbGlnaHRlZCB0byBoYXZlIGJlZW4gbmFtZWQgb25lIG9mJm5ic3A7PGVtPlRoZSBTdW5kYXkgVGltZXMgVG9wIDEwMCBNZWRpdW0tU2l6ZWQgQ29tcGFuaWVzIHRvIFdvcmsgRm9yIDIwMjU8L2VtPiZuYnNwOyZtZGFzaDsgYSByZWNvZ25pdGlvbiBvZiBvdXIgY29tbWl0bWVudCB0byBpbm5vdmF0aW9uLCBjb2xsYWJvcmF0aW9uLCBhbmQgY3JlYXRpbmcgYW4gb3V0c3RhbmRpbmcgd29ya3BsYWNlIHdoZXJlIHBlb3BsZSBjYW4gdGhyaXZlLjwvcD4KPHA+Jm5ic3A7PC9wPgo8cD5UaGUgUm9sZTwvcD4KPHA+Jm5ic3A7PC9wPgo8cD5FbnZpdGlhIGlzIGxvb2tpbmcgdG8gZXhwYW5kIG91ciBlbmdpbmVlcmluZyB0ZWFtIGFuZCBpcyByZWNydWl0aW5nIGEgLk5FVCBEZXZlbG9wZXIgdG8gam9pbiBvdXIgTWFwbGluayBQcm8gcHJvZHVjdCB0ZWFtLjwvcD4KPHA+Jm5ic3A7PC9wPgo8cD5Zb3UmcnNxdW87bGwgaGVscCBsZWFkIHRoZSBuZXh0IGV2b2x1dGlvbiBvZiBvdXIgaGlnaC1wZXJmb3JtYW5jZSAyRCBhbmQgM0QgbWFwcGluZyBhbmQgZ2Vvc3BhdGlhbCB2aXN1YWxpc2F0aW9uIFNESywgcGxheWluZyBhIGtleSByb2xlIGluIGFkdmFuY2luZyB0aGUgTWFwbGluayBQcm8gcGxhdGZvcm0gdG93YXJkcyB0cnVlIGNyb3NzLXBsYXRmb3JtIGNhcGFiaWxpdHkuIFlvdSZyc3F1bztsbCBkZWxpdmVyIG5ldyBmZWF0dXJlcyBhbmQgZnVuY3Rpb25hbGl0eSBhbGlnbmVkIHdpdGggb3VyIHByb2R1Y3Qgcm9hZG1hcC48L3A+CjxwPiZuYnNwOzwvcD4KPHA+V29ya2luZyBhdCB0aGUgY3V0dGluZyBlZGdlIG9mIGdlb3NwYXRpYWwgdGVjaG5vbG9neSwgeW91JnJzcXVvO2xsIGhlbHAgY3JlYXRlIHJvYnVzdCwgc2NhbGFibGUgc29sdXRpb25zIHVzZWQgYnkgcHVibGljIHNlY3RvciBhbmQgRGVmZW5jZSBvcmdhbmlzYXRpb25zIGFjcm9zcyB0aGUgVUsgYW5kIGludGVybmF0aW9uYWxseS48L3A+CjxwPiZuYnNwOzwvcD4KPHA+UmVzcG9uc2liaWxpdGllczwvcD4KPHA+Jm5ic3A7PC9wPgo8dWw+CjxsaT5EZXNpZ24gYW5kIGRldmVsb3AgdGhlIGFyY2hpdGVjdHVyZSBmb3IgdGhlIG1pZ3JhdGlvbiBvZiBhIGhpZ2gtcGVyZm9ybWFuY2UgbmF0aXZlIEMrKyAyRCBhbmQgM0QgbWFwcGluZyBTREsgdG93YXJkcyBhIHRydWx5IGNyb3NzLXBsYXRmb3JtIC5ORVQgc29sdXRpb24gc3VwcG9ydGluZyBib3RoIGRlc2t0b3AgYW5kIG1vYmlsZSBhcHBsaWNhdGlvbnMuPC9saT4KPGxpPkNvbnRyaWJ1dGUgdG8gYXJjaGl0ZWN0dXJhbCBkZWNpc2lvbnMsIHRlY2huaWNhbCBkZXNpZ24sIGFuZCB0ZWNobm9sb2d5IHNlbGVjdGlvbiB0byBlbmFibGUgY3Jvc3MtcGxhdGZvcm0gZGV2ZWxvcG1lbnQgd2hpbGUgbWFpbnRhaW5pbmcgcGVyZm9ybWFuY2UsIHJlbGlhYmlsaXR5LCBhbmQgc2VjdXJpdHkuPC9saT4KPGxpPkRldmVsb3AsIGVuaGFuY2UsIGFuZCBtYWludGFpbiBDIy8uTkVUIGNvbXBvbmVudHMgdGhhdCBpbnRlZ3JhdGUgd2l0aCBleGlzdGluZyBuYXRpdmUgY29kZSBhbmQgc3VwcG9ydCB0aGUgZXZvbHV0aW9uIG9mIHRoZSBTREsuPC9saT4KPGxpPkNvbGxhYm9yYXRlIGNsb3NlbHkgd2l0aCB0aGUgUHJvZHVjdCBNYW5hZ2VyLCBFbmdpbmVlcmluZyBNYW5hZ2VyLCBhbmQgd2lkZXIgcHJvZHVjdCBkZXZlbG9wbWVudCB0ZWFtIHdpdGhpbiBhIGNyb3NzLWZ1bmN0aW9uYWwgQWdpbGUgZW52aXJvbm1lbnQuPC9saT4KPGxpPkRlbGl2ZXIgaGlnaC1xdWFsaXR5LCB3ZWxsLXRlc3RlZCBjb2RlIGFsaWduZWQgdG8gYSBjbGVhciBkZWZpbml0aW9uIG9mIGRvbmUsIGNvbnRyaWJ1dGluZyB0byByZWd1bGFyIFNESyByZWxlYXNlcyBmb3IgaW50ZXJuYWwgYW5kIGV4dGVybmFsIHVzZXIgdGVhbXMuPC9saT4KPGxpPlBhcnRpY2lwYXRlIGluIHNwcmludCBwbGFubmluZywgcmV2aWV3cywgYW5kIHJldHJvc3BlY3RpdmVzLCBwcm92aWRpbmcgdGVjaG5pY2FsIGlucHV0IHRvIHNoYXBlIHRoZSBwcm9kdWN0IHJvYWRtYXAgYW5kIGRlbGl2ZXJ5IHByaW9yaXRpZXMuPC9saT4KPGxpPlN1cHBvcnQgY29udGludW91cyBpbXByb3ZlbWVudCBvZiBkZXZlbG9wbWVudCBwcmFjdGljZXMsIHRvb2xpbmcsIGFuZCBjb2RlIHF1YWxpdHkgYWNyb3NzIHRoZSB0ZWFtLjwvbGk+CjwvdWw+CjxwPiZuYnNwOzwvcD4KPHA+RXhwZXJpZW5jZSBSZXF1aXJlZDwvcD4KPHA+Jm5ic3A7PC9wPgo8cD5Fc3NlbnRpYWw8L3A+CjxwPiZuYnNwOzwvcD4KPHVsPgo8bGk+U3Ryb25nIGV4cGVyaWVuY2UgZGV2ZWxvcGluZyBjcm9zcy1wbGF0Zm9ybSBhcHBsaWNhdGlvbnMgdXNpbmcgQyMgYW5kIC5ORVQuPC9saT4KPGxpPlNvbGlkIGJhY2tncm91bmQgaW4gV2luZG93cyBkZXNrdG9wIGRldmVsb3BtZW50LCBpbmNsdWRpbmcgV1BGLjwvbGk+CjxsaT5Qcm9maWNpZW5jeSB3aXRoIFZpc3VhbCBTdHVkaW8gYW5kIE1TQnVpbGQgZm9yIGJ1aWxkaW5nLCBkZWJ1Z2dpbmcsIGFuZCBtYWludGFpbmluZyBjb21wbGV4IHNvbHV0aW9ucy48L2xpPgo8bGk+RXhwZXJpZW5jZSB1c2luZyBHaXQgZm9yIHNvdXJjZSBjb250cm9sIGluIGEgY29sbGFib3JhdGl2ZSBkZXZlbG9wbWVudCBlbnZpcm9ubWVudC48L2xpPgo8bGk+R29vZCB1bmRlcnN0YW5kaW5nIG9mIHN0YW5kYXJkIHNvZnR3YXJlIGRlc2lnbiBwYXR0ZXJucyBhbmQgYmVzdCBwcmFjdGljZXMuPC9saT4KPC91bD4KPHA+Jm5ic3A7PC9wPgo8cD5EZXNpcmFibGU8L3A+CjxwPiZuYnNwOzwvcD4KPHVsPgo8bGk+RXhwZXJpZW5jZSB3aXRoIGNyb3NzLXBsYXRmb3JtIFVJIGZyYW1ld29ya3Mgc3VjaCBhcyBBdmFsb25pYSBVSS48L2xpPgo8bGk+RXhwZXJpZW5jZSB3b3JraW5nIHdpdGggbmF0aXZlIGJ1aWxkIHN5c3RlbXMgc3VjaCBhcyBDTWFrZSBhbmQgaW50ZWdyYXRpbmcgbWFuYWdlZCBhbmQgdW5tYW5hZ2VkIGNvZGViYXNlcy48L2xpPgo8bGk+UHJhY3RpY2FsIGV4cGVyaWVuY2Ugb2YgdGVzdC1kcml2ZW4gZGV2ZWxvcG1lbnQgYW5kIGF1dG9tYXRlZCB0ZXN0aW5nIGFwcHJvYWNoZXMuPC9saT4KPGxpPkV4cGVyaWVuY2UgZGV2ZWxvcGluZyBmb3IgbW9iaWxlIHBsYXRmb3Jtcy48L2xpPgo8L3VsPgo8cD4mbmJzcDs8L3A+CjxwPlNlY3VyaXR5IENsZWFyYW5jZSBSZXF1aXJlbWVudHM8L3A+CjxwPiZuYnNwOzwvcD4KPHA+VGhlIHN1Y2Nlc3NmdWwgY2FuZGlkYXRlIG11c3QgYmUgZWxpZ2libGUgdG8gb2J0YWluIGFuZCBtYWludGFpbiBhIFNDIGxldmVsIHNlY3VyaXR5IGNsZWFyYW5jZS48L3A+CjxwPiZuYnNwOzwvcD4KPHA+TG9jYXRpb248L3A+CjxwPiZuYnNwOzwvcD4KPHA+VGhlIHJvbGUgd2lsbCByZXF1aXJlIHRyYXZlbCB0byBvdXIgSG9yc2hhbSBvZmZpY2VzIDIgZGF5cyBhIG1vbnRoLjwvcD4KPHA+Jm5ic3A7PC9wPgo8cD5XaGF0IGl0J3MgbGlrZSB0byB3b3JrIGF0IEVudml0aWE8L3A+CjxwPiZuYnNwOzwvcD4KPHA+QXQgRW52aXRpYSwgd2UgYmVsaWV2ZSB0aGF0IG91ciBncmVhdGVzdCBhc3NldCBpcyBvdXIgcGVvcGxlLiBXZSZyc3F1bztyZSBjb21taXR0ZWQgdG8gZm9zdGVyaW5nIGEgd29yayBlbnZpcm9ubWVudCB3aGVyZSBldmVyeSBlbXBsb3llZSBmZWVscyB2YWx1ZWQsIHN1cHBvcnRlZCwgYW5kIG1vdGl2YXRlZCB0byBleGNlbC4gT3VyIGNvbXByZWhlbnNpdmUgYmVuZWZpdHMgcGFja2FnZSBpcyBkZXNpZ25lZCB0byBlbmhhbmNlIGJvdGggeW91ciBwcm9mZXNzaW9uYWwgYW5kIHBlcnNvbmFsIHdlbGxiZWluZywgaW5jbHVkaW5nOjwvcD4KPHA+Jm5ic3A7PC9wPgo8dWw+CjxsaT5Bbm51YWwgTGVhdmU6Jm5ic3A7MjUgZGF5cyBwbHVzIHlvdXIgYmlydGhkYXkgb2ZmLCB3aXRoIHRoZSBhYmlsaXR5IHRvIGJ1eSBvciBzZWxsIHVwIHRvIGZpdmUgYWRkaXRpb25hbCBkYXlzPC9saT4KPGxpPlByaXZhdGUgSGVhbHRoY2FyZTombmJzcDtDb21wcmVoZW5zaXZlIGNvdmVyYWdlIHdpdGggYWRkaXRpb25hbCBvcHRpb25zIGZvciBmYW1pbHkgbWVtYmVyczwvbGk+CjxsaT5UcmFpbmluZyAmYW1wOyBTa2lsbHMgRGV2ZWxvcG1lbnQ6Jm5ic3A7T25nb2luZyBsZWFybmluZyBvcHBvcnR1bml0aWVzIHRvIGhlbHAgeW91IGFkdmFuY2UgeW91ciBjYXJlZXI8L2xpPgo8bGk+Rml0bmVzcyBSZWltYnVyc2VtZW50OiZuYnNwO1N1cHBvcnQgZm9yIGd5bSBtZW1iZXJzaGlwcyBvciBmaXRuZXNzLXJlbGF0ZWQgZXhwZW5zZXM8L2xpPgo8bGk+TGlmZSBBc3N1cmFuY2U6Jm5ic3A7RXh0ZW5zaXZlIGxpZmUgaW5zdXJhbmNlIGNvdmVyYWdlIGZvciBwZWFjZSBvZiBtaW5kPC9saT4KPGxpPlBlbnNpb24gQ29udHJpYnV0aW9uOiZuYnNwO0NvbXBldGl0aXZlIG9wdGlvbnMgdG8gaGVscCB5b3UgcGxhbiBmb3IgYSBzZWN1cmUgZmluYW5jaWFsIGZ1dHVyZTwvbGk+CjxsaT5QZXJrYm94IFN1YnNjcmlwdGlvbjombmJzcDtEaXNjb3VudHMgb24gYSB3aWRlIHJhbmdlIG9mIHByb2R1Y3RzIGFuZCBzZXJ2aWNlczwvbGk+CjxsaT5GbGV4aWJsZSBXb3JrIEFycmFuZ2VtZW50czombmJzcDtEZXNpZ25lZCB0byBzdXBwb3J0IHdvcmstbGlmZSBiYWxhbmNlIGFuZCBwZXJzb25hbCBjb21taXRtZW50czwvbGk+CjxsaT5JbnRlcm5hbCBSZXdhcmQgU2NoZW1lczombmJzcDtSZWNvZ25pdGlvbiBpbml0aWF0aXZlcyB0byBjZWxlYnJhdGUgeW91ciBjb250cmlidXRpb25zIGFuZCBhY2hpZXZlbWVudHM8L2xpPgo8bGk+Q29tbXVuaXR5IEVuZ2FnZW1lbnQgJmFtcDsgVm9sdW50ZWVyaW5nOiZuYnNwO09wcG9ydHVuaXRpZXMgdG8gc3VwcG9ydCBtZWFuaW5nZnVsIGNhdXNlcyB0aHJvdWdoIGNvbXBhbnktc3BvbnNvcmVkIHByb2dyYW1zPC9saT4KPC91bD4KPHA+Jm5ic3A7PC9wPgo8cD5JbmNsdXNpb24gYXQgRW52aXRpYTwvcD4KPHA+Jm5ic3A7PC9wPgo8cD5BdCBFbnZpdGlhLCB3ZSBjZWxlYnJhdGUgZGl2ZXJzaXR5IGFuZCBhcmUgY29tbWl0dGVkIHRvIGNyZWF0aW5nIGFuIGluY2x1c2l2ZSBlbnZpcm9ubWVudCBmb3IgYWxsIGVtcGxveWVlcy4gV2Ugd2VsY29tZSBhcHBsaWNhbnRzIGZyb20gYWxsIGJhY2tncm91bmRzIGFuZCB3YWxrcyBvZiBsaWZlLiBXZSBiZWxpZXZlIHRoYXQgb3VyIHN0cmVuZ3RoIGxpZXMgaW4gb3VyIGRpZmZlcmVuY2VzLCBhbmQgd2UgYXJlIGRlZGljYXRlZCB0byBmb3N0ZXJpbmcgYSB3b3JrcGxhY2Ugd2hlcmUgZXZlcnlvbmUgZmVlbHMgdmFsdWVkLCByZXNwZWN0ZWQsIGFuZCBlbXBvd2VyZWQuPC9wPgo8cD4mbmJzcDs8L3A+CjxwPldlIGVuY291cmFnZSBhcHBsaWNhdGlvbnMgZnJvbSBwZW9wbGUgb2YgYWxsIGFiaWxpdGllcywgYWdlcywgZ2VuZGVycywgc2V4dWFsIG9yaWVudGF0aW9ucywgcmFjZXMsIGV0aG5pY2l0aWVzLCBhbmQgcmVsaWdpb25zLiBXZSBzdHJpdmUgdG8gc3VwcG9ydCBhIGN1bHR1cmUgb2YgaW5jbHVzaW9uLCBhY2Nlc3NpYmlsaXR5LCBhbmQgd29yay1saWZlIGJhbGFuY2UuPC9wPgo8cD4mbmJzcDs8L3A+CjxwPklmIHlvdSByZXF1aXJlIGFueSBhY2NvbW1vZGF0aW9ucyBkdXJpbmcgdGhlIGFwcGxpY2F0aW9uIG9yIGludGVydmlldyBwcm9jZXNzLCBwbGVhc2UgbGV0IHVzIGtub3cuPC9wPg==
PHA+Jm5ic3A7PC9wPgo8cD5CZSBQYXJ0IG9mIFNvbWV0aGluZyBSZWFsPC9wPgo8cD4mbmJzcDs8L3A+CjxwPkpvaW4gYSBsZWFkaW5nIFVLIGRhdGEgYW5kIHNvZnR3YXJlIGNvbXBhbnkgc2hhcGluZyB0aGUgZnV0dXJlIG9mIGdlb3NwYXRpYWwgYW5kIHNlY3VyaXR5IGlubm92YXRpb24uPC9wPgo8cD4mbmJzcDs8L3A+CjxwPkVudml0aWEgaXMgYSBVSy1iYXNlZCBzb2Z0d2FyZSBhbmQgc2VydmljZXMgY29tcGFueSB0aGF0IGhlbHBzIG9yZ2FuaXNhdGlvbnMgdW5sb2NrIHRoZSBmdWxsIHZhbHVlIG9mIHRoZWlyIGRhdGEgdG8gbWFrZSBiZXR0ZXIsIGZhc3RlciBkZWNpc2lvbnMuIFdpdGggb3ZlciAzMCB5ZWFycyBvZiBleHBlcmllbmNlLCB3ZSBzcGVjaWFsaXNlIGluIGRlbGl2ZXJpbmcgaW5ub3ZhdGl2ZSBzb2Z0d2FyZSBwcm9kdWN0cywgc29sdXRpb25zLCBhbmQgY29uc3VsdGFuY3kgc2VydmljZXMgdGhhdCB0cmFuc2Zvcm0gY29tcGxleCBkYXRhIGNoYWxsZW5nZXMgaW50byBhY3Rpb25hYmxlIGluc2lnaHRzLjwvcD4KPHA+Jm5ic3A7PC9wPgo8cD5PdXIgbWlzc2lvbiBpcyB0byBlbXBvd2VyIGN1c3RvbWVycyBhY3Jvc3MgZGVmZW5jZSwgZ292ZXJubWVudCwgYW5kIG5hdGlvbmFsIHNlY3VyaXR5IHNlY3RvcnMgdG8gaGFybmVzcyB0aGUgcG93ZXIgb2YgZGF0YSAmbWRhc2g7IGZyb20gZ2Vvc3BhdGlhbCBpbnRlbGxpZ2VuY2UgdG8gYWR2YW5jZWQgYW5hbHl0aWNzIGFuZCBBSSBpbnRlZ3JhdGlvbi4gV2UgYXJlIHByb3VkIHRvIGJlIGEgdHJ1c3RlZCBwYXJ0bmVyIHRvIFVLIGRlZmVuY2UgYW5kIGdvdmVybm1lbnQgb3JnYW5pc2F0aW9ucywgZGVsaXZlcmluZyB0ZWNobm9sb2d5IHRoYXQgZHJpdmVzIHNtYXJ0ZXIsIGRhdGEtZHJpdmVuIG91dGNvbWVzLjwvcD4KPHA+Jm5ic3A7PC9wPgo8cD5XZSZyc3F1bztyZSBhbHNvIGRlbGlnaHRlZCB0byBoYXZlIGJlZW4gbmFtZWQgb25lIG9mJm5ic3A7PGVtPlRoZSBTdW5kYXkgVGltZXMgVG9wIDEwMCBNZWRpdW0tU2l6ZWQgQ29tcGFuaWVzIHRvIFdvcmsgRm9yIDIwMjU8L2VtPiZuYnNwOyZtZGFzaDsgYSByZWNvZ25pdGlvbiBvZiBvdXIgY29tbWl0bWVudCB0byBpbm5vdmF0aW9uLCBjb2xsYWJvcmF0aW9uLCBhbmQgY3JlYXRpbmcgYW4gb3V0c3RhbmRpbmcgd29ya3BsYWNlIHdoZXJlIHBlb3BsZSBjYW4gdGhyaXZlLjwvcD4KPHA+Jm5ic3A7PC9wPgo8cD5UaGUgUm9sZTwvcD4KPHA+Jm5ic3A7PC9wPgo8cD5FbnZpdGlhIGlzIGxvb2tpbmcgdG8gZXhwYW5kIG91ciBlbmdpbmVlcmluZyB0ZWFtIGFuZCBpcyByZWNydWl0aW5nIGEgLk5FVCBEZXZlbG9wZXIgdG8gam9pbiBvdXIgTWFwbGluayBQcm8gcHJvZHVjdCB0ZWFtLjwvcD4KPHA+Jm5ic3A7PC9wPgo8cD5Zb3UmcnNxdW87bGwgaGVscCBsZWFkIHRoZSBuZXh0IGV2b2x1dGlvbiBvZiBvdXIgaGlnaC1wZXJmb3JtYW5jZSAyRCBhbmQgM0QgbWFwcGluZyBhbmQgZ2Vvc3BhdGlhbCB2aXN1YWxpc2F0aW9uIFNESywgcGxheWluZyBhIGtleSByb2xlIGluIGFkdmFuY2luZyB0aGUgTWFwbGluayBQcm8gcGxhdGZvcm0gdG93YXJkcyB0cnVlIGNyb3NzLXBsYXRmb3JtIGNhcGFiaWxpdHkuIFlvdSZyc3F1bztsbCBkZWxpdmVyIG5ldyBmZWF0dXJlcyBhbmQgZnVuY3Rpb25hbGl0eSBhbGlnbmVkIHdpdGggb3VyIHByb2R1Y3Qgcm9hZG1hcC48L3A+CjxwPiZuYnNwOzwvcD4KPHA+V29ya2luZyBhdCB0aGUgY3V0dGluZyBlZGdlIG9mIGdlb3NwYXRpYWwgdGVjaG5vbG9neSwgeW91JnJzcXVvO2xsIGhlbHAgY3JlYXRlIHJvYnVzdCwgc2NhbGFibGUgc29sdXRpb25zIHVzZWQgYnkgcHVibGljIHNlY3RvciBhbmQgRGVmZW5jZSBvcmdhbmlzYXRpb25zIGFjcm9zcyB0aGUgVUsgYW5kIGludGVybmF0aW9uYWxseS48L3A+CjxwPiZuYnNwOzwvcD4KPHA+UmVzcG9uc2liaWxpdGllczwvcD4KPHA+Jm5ic3A7PC9wPgo8dWw+CjxsaT5EZXNpZ24gYW5kIGRldmVsb3AgdGhlIGFyY2hpdGVjdHVyZSBmb3IgdGhlIG1pZ3JhdGlvbiBvZiBhIGhpZ2gtcGVyZm9ybWFuY2UgbmF0aXZlIEMrKyAyRCBhbmQgM0QgbWFwcGluZyBTREsgdG93YXJkcyBhIHRydWx5IGNyb3NzLXBsYXRmb3JtIC5ORVQgc29sdXRpb24gc3VwcG9ydGluZyBib3RoIGRlc2t0b3AgYW5kIG1vYmlsZSBhcHBsaWNhdGlvbnMuPC9saT4KPGxpPkNvbnRyaWJ1dGUgdG8gYXJjaGl0ZWN0dXJhbCBkZWNpc2lvbnMsIHRlY2huaWNhbCBkZXNpZ24sIGFuZCB0ZWNobm9sb2d5IHNlbGVjdGlvbiB0byBlbmFibGUgY3Jvc3MtcGxhdGZvcm0gZGV2ZWxvcG1lbnQgd2hpbGUgbWFpbnRhaW5pbmcgcGVyZm9ybWFuY2UsIHJlbGlhYmlsaXR5LCBhbmQgc2VjdXJpdHkuPC9saT4KPGxpPkRldmVsb3AsIGVuaGFuY2UsIGFuZCBtYWludGFpbiBDIy8uTkVUIGNvbXBvbmVudHMgdGhhdCBpbnRlZ3JhdGUgd2l0aCBleGlzdGluZyBuYXRpdmUgY29kZSBhbmQgc3VwcG9ydCB0aGUgZXZvbHV0aW9uIG9mIHRoZSBTREsuPC9saT4KPGxpPkNvbGxhYm9yYXRlIGNsb3NlbHkgd2l0aCB0aGUgUHJvZHVjdCBNYW5hZ2VyLCBFbmdpbmVlcmluZyBNYW5hZ2VyLCBhbmQgd2lkZXIgcHJvZHVjdCBkZXZlbG9wbWVudCB0ZWFtIHdpdGhpbiBhIGNyb3NzLWZ1bmN0aW9uYWwgQWdpbGUgZW52aXJvbm1lbnQuPC9saT4KPGxpPkRlbGl2ZXIgaGlnaC1xdWFsaXR5LCB3ZWxsLXRlc3RlZCBjb2RlIGFsaWduZWQgdG8gYSBjbGVhciBkZWZpbml0aW9uIG9mIGRvbmUsIGNvbnRyaWJ1dGluZyB0byByZWd1bGFyIFNESyByZWxlYXNlcyBmb3IgaW50ZXJuYWwgYW5kIGV4dGVybmFsIHVzZXIgdGVhbXMuPC9saT4KPGxpPlBhcnRpY2lwYXRlIGluIHNwcmludCBwbGFubmluZywgcmV2aWV3cywgYW5kIHJldHJvc3BlY3RpdmVzLCBwcm92aWRpbmcgdGVjaG5pY2FsIGlucHV0IHRvIHNoYXBlIHRoZSBwcm9kdWN0IHJvYWRtYXAgYW5kIGRlbGl2ZXJ5IHByaW9yaXRpZXMuPC9saT4KPGxpPlN1cHBvcnQgY29udGludW91cyBpbXByb3ZlbWVudCBvZiBkZXZlbG9wbWVudCBwcmFjdGljZXMsIHRvb2xpbmcsIGFuZCBjb2RlIHF1YWxpdHkgYWNyb3NzIHRoZSB0ZWFtLjwvbGk+CjwvdWw+CjxwPiZuYnNwOzwvcD4KPHA+RXhwZXJpZW5jZSBSZXF1aXJlZDwvcD4KPHA+Jm5ic3A7PC9wPgo8cD5Fc3NlbnRpYWw8L3A+CjxwPiZuYnNwOzwvcD4KPHVsPgo8bGk+U3Ryb25nIGV4cGVyaWVuY2UgZGV2ZWxvcGluZyBjcm9zcy1wbGF0Zm9ybSBhcHBsaWNhdGlvbnMgdXNpbmcgQyMgYW5kIC5ORVQuPC9saT4KPGxpPlNvbGlkIGJhY2tncm91bmQgaW4gV2luZG93cyBkZXNrdG9wIGRldmVsb3BtZW50LCBpbmNsdWRpbmcgV1BGLjwvbGk+CjxsaT5Qcm9maWNpZW5jeSB3aXRoIFZpc3VhbCBTdHVkaW8gYW5kIE1TQnVpbGQgZm9yIGJ1aWxkaW5nLCBkZWJ1Z2dpbmcsIGFuZCBtYWludGFpbmluZyBjb21wbGV4IHNvbHV0aW9ucy48L2xpPgo8bGk+RXhwZXJpZW5jZSB1c2luZyBHaXQgZm9yIHNvdXJjZSBjb250cm9sIGluIGEgY29sbGFib3JhdGl2ZSBkZXZlbG9wbWVudCBlbnZpcm9ubWVudC48L2xpPgo8bGk+R29vZCB1bmRlcnN0YW5kaW5nIG9mIHN0YW5kYXJkIHNvZnR3YXJlIGRlc2lnbiBwYXR0ZXJucyBhbmQgYmVzdCBwcmFjdGljZXMuPC9saT4KPC91bD4KPHA+Jm5ic3A7PC9wPgo8cD5EZXNpcmFibGU8L3A+CjxwPiZuYnNwOzwvcD4KPHVsPgo8bGk+RXhwZXJpZW5jZSB3aXRoIGNyb3NzLXBsYXRmb3JtIFVJIGZyYW1ld29ya3Mgc3VjaCBhcyBBdmFsb25pYSBVSS48L2xpPgo8bGk+RXhwZXJpZW5jZSB3b3JraW5nIHdpdGggbmF0aXZlIGJ1aWxkIHN5c3RlbXMgc3VjaCBhcyBDTWFrZSBhbmQgaW50ZWdyYXRpbmcgbWFuYWdlZCBhbmQgdW5tYW5hZ2VkIGNvZGViYXNlcy48L2xpPgo8bGk+UHJhY3RpY2FsIGV4cGVyaWVuY2Ugb2YgdGVzdC1kcml2ZW4gZGV2ZWxvcG1lbnQgYW5kIGF1dG9tYXRlZCB0ZXN0aW5nIGFwcHJvYWNoZXMuPC9saT4KPGxpPkV4cGVyaWVuY2UgZGV2ZWxvcGluZyBmb3IgbW9iaWxlIHBsYXRmb3Jtcy48L2xpPgo8L3VsPgo8cD4mbmJzcDs8L3A+CjxwPlNlY3VyaXR5IENsZWFyYW5jZSBSZXF1aXJlbWVudHM8L3A+CjxwPiZuYnNwOzwvcD4KPHA+VGhlIHN1Y2Nlc3NmdWwgY2FuZGlkYXRlIG11c3QgYmUgZWxpZ2libGUgdG8gb2J0YWluIGFuZCBtYWludGFpbiBhIFNDIGxldmVsIHNlY3VyaXR5IGNsZWFyYW5jZS48L3A+CjxwPiZuYnNwOzwvcD4KPHA+TG9jYXRpb248L3A+CjxwPiZuYnNwOzwvcD4KPHA+VGhlIHJvbGUgd2lsbCByZXF1aXJlIHRyYXZlbCB0byBvdXIgSG9yc2hhbSBvZmZpY2VzIDIgZGF5cyBhIG1vbnRoLjwvcD4KPHA+Jm5ic3A7PC9wPgo8cD5XaGF0IGl0J3MgbGlrZSB0byB3b3JrIGF0IEVudml0aWE8L3A+CjxwPiZuYnNwOzwvcD4KPHA+QXQgRW52aXRpYSwgd2UgYmVsaWV2ZSB0aGF0IG91ciBncmVhdGVzdCBhc3NldCBpcyBvdXIgcGVvcGxlLiBXZSZyc3F1bztyZSBjb21taXR0ZWQgdG8gZm9zdGVyaW5nIGEgd29yayBlbnZpcm9ubWVudCB3aGVyZSBldmVyeSBlbXBsb3llZSBmZWVscyB2YWx1ZWQsIHN1cHBvcnRlZCwgYW5kIG1vdGl2YXRlZCB0byBleGNlbC4gT3VyIGNvbXByZWhlbnNpdmUgYmVuZWZpdHMgcGFja2FnZSBpcyBkZXNpZ25lZCB0byBlbmhhbmNlIGJvdGggeW91ciBwcm9mZXNzaW9uYWwgYW5kIHBlcnNvbmFsIHdlbGxiZWluZywgaW5jbHVkaW5nOjwvcD4KPHA+Jm5ic3A7PC9wPgo8dWw+CjxsaT5Bbm51YWwgTGVhdmU6Jm5ic3A7MjUgZGF5cyBwbHVzIHlvdXIgYmlydGhkYXkgb2ZmLCB3aXRoIHRoZSBhYmlsaXR5IHRvIGJ1eSBvciBzZWxsIHVwIHRvIGZpdmUgYWRkaXRpb25hbCBkYXlzPC9saT4KPGxpPlByaXZhdGUgSGVhbHRoY2FyZTombmJzcDtDb21wcmVoZW5zaXZlIGNvdmVyYWdlIHdpdGggYWRkaXRpb25hbCBvcHRpb25zIGZvciBmYW1pbHkgbWVtYmVyczwvbGk+CjxsaT5UcmFpbmluZyAmYW1wOyBTa2lsbHMgRGV2ZWxvcG1lbnQ6Jm5ic3A7T25nb2luZyBsZWFybmluZyBvcHBvcnR1bml0aWVzIHRvIGhlbHAgeW91IGFkdmFuY2UgeW91ciBjYXJlZXI8L2xpPgo8bGk+Rml0bmVzcyBSZWltYnVyc2VtZW50OiZuYnNwO1N1cHBvcnQgZm9yIGd5bSBtZW1iZXJzaGlwcyBvciBmaXRuZXNzLXJlbGF0ZWQgZXhwZW5zZXM8L2xpPgo8bGk+TGlmZSBBc3N1cmFuY2U6Jm5ic3A7RXh0ZW5zaXZlIGxpZmUgaW5zdXJhbmNlIGNvdmVyYWdlIGZvciBwZWFjZSBvZiBtaW5kPC9saT4KPGxpPlBlbnNpb24gQ29udHJpYnV0aW9uOiZuYnNwO0NvbXBldGl0aXZlIG9wdGlvbnMgdG8gaGVscCB5b3UgcGxhbiBmb3IgYSBzZWN1cmUgZmluYW5jaWFsIGZ1dHVyZTwvbGk+CjxsaT5QZXJrYm94IFN1YnNjcmlwdGlvbjombmJzcDtEaXNjb3VudHMgb24gYSB3aWRlIHJhbmdlIG9mIHByb2R1Y3RzIGFuZCBzZXJ2aWNlczwvbGk+CjxsaT5GbGV4aWJsZSBXb3JrIEFycmFuZ2VtZW50czombmJzcDtEZXNpZ25lZCB0byBzdXBwb3J0IHdvcmstbGlmZSBiYWxhbmNlIGFuZCBwZXJzb25hbCBjb21taXRtZW50czwvbGk+CjxsaT5JbnRlcm5hbCBSZXdhcmQgU2NoZW1lczombmJzcDtSZWNvZ25pdGlvbiBpbml0aWF0aXZlcyB0byBjZWxlYnJhdGUgeW91ciBjb250cmlidXRpb25zIGFuZCBhY2hpZXZlbWVudHM8L2xpPgo8bGk+Q29tbXVuaXR5IEVuZ2FnZW1lbnQgJmFtcDsgVm9sdW50ZWVyaW5nOiZuYnNwO09wcG9ydHVuaXRpZXMgdG8gc3VwcG9ydCBtZWFuaW5nZnVsIGNhdXNlcyB0aHJvdWdoIGNvbXBhbnktc3BvbnNvcmVkIHByb2dyYW1zPC9saT4KPC91bD4KPHA+Jm5ic3A7PC9wPgo8cD5JbmNsdXNpb24gYXQgRW52aXRpYTwvcD4KPHA+Jm5ic3A7PC9wPgo8cD5BdCBFbnZpdGlhLCB3ZSBjZWxlYnJhdGUgZGl2ZXJzaXR5IGFuZCBhcmUgY29tbWl0dGVkIHRvIGNyZWF0aW5nIGFuIGluY2x1c2l2ZSBlbnZpcm9ubWVudCBmb3IgYWxsIGVtcGxveWVlcy4gV2Ugd2VsY29tZSBhcHBsaWNhbnRzIGZyb20gYWxsIGJhY2tncm91bmRzIGFuZCB3YWxrcyBvZiBsaWZlLiBXZSBiZWxpZXZlIHRoYXQgb3VyIHN0cmVuZ3RoIGxpZXMgaW4gb3VyIGRpZmZlcmVuY2VzLCBhbmQgd2UgYXJlIGRlZGljYXRlZCB0byBmb3N0ZXJpbmcgYSB3b3JrcGxhY2Ugd2hlcmUgZXZlcnlvbmUgZmVlbHMgdmFsdWVkLCByZXNwZWN0ZWQsIGFuZCBlbXBvd2VyZWQuPC9wPgo8cD4mbmJzcDs8L3A+CjxwPldlIGVuY291cmFnZSBhcHBsaWNhdGlvbnMgZnJvbSBwZW9wbGUgb2YgYWxsIGFiaWxpdGllcywgYWdlcywgZ2VuZGVycywgc2V4dWFsIG9yaWVudGF0aW9ucywgcmFjZXMsIGV0aG5pY2l0aWVzLCBhbmQgcmVsaWdpb25zLiBXZSBzdHJpdmUgdG8gc3VwcG9ydCBhIGN1bHR1cmUgb2YgaW5jbHVzaW9uLCBhY2Nlc3NpYmlsaXR5LCBhbmQgd29yay1saWZlIGJhbGFuY2UuPC9wPgo8cD4mbmJzcDs8L3A+CjxwPklmIHlvdSByZXF1aXJlIGFueSBhY2NvbW1vZGF0aW9ucyBkdXJpbmcgdGhlIGFwcGxpY2F0aW9uIG9yIGludGVydmlldyBwcm9jZXNzLCBwbGVhc2UgbGV0IHVzIGtub3cuPC9wPg==