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ACVpIGJ5dGVzIHVuZGVmaW5lZCBkYXRhACVpIGJ5dGVzIHVua25vd24gZGF0YQAlaSBieXRlcyB1bmtub3duIGRhdGE6IAAlaSBieXRlcyB1bnN1cHBvcnRlZCBkYXRhIHR5cGUAJXUgbW0AKEVkaXRvcikAKFBob3RvZ3JhcGhlcikALCAALQAxLyVpADEvMwAxMCBmcmFtZXMvc2VjADEwMAAxNSBmcmFtZXMvc2VjADIgTXBpeGVsIGJhc2ljADIgTXBpeGVsIGZpbmUAMiBNcGl4ZWwgbm9ybWFsADIgc2VjLgAyLzMAMjAgZnJhbWVzL3NlYwAyMDAAMjMwNHgxNzI4IG9yIDI1OTJ4MTk0NAAyNTYweDE5MjAgb3IgMjMwNHgxNzI4ADI4MTZ4MjIxMiBvciAyODE2eDIxMTIAMm5kLWN1cnRhaW4gc3luYyB1c2VkADJ4ADJ4MiBtYXRyaXggKGNsb2Nrd2lzZSkAMzAwOHgyMDA4IG9yIDMwNDB4MjAyNAA0MDAANHgANSBmcmFtZXMvc2VjADUwADgwMAA/AEEgY2hhcmFjdGVyIHN0cmluZyBjb250YWluaW5nIGEgY29tbWVudCBhYm91dCB0aGUgaW1hZ2UsIGVuY29kZWQgaW4gVVRGLTE2TEUuAEEgY2hhcmFjdGVyIHN0cmluZyBjb250YWluaW5nIGtleSB3b3JkcyBkZXNjcmliaW5nIHRoZSBpbWFnZSwgZW5jb2RlZCBpbiBVVEYtMTZMRS4AQSBjaGFyYWN0ZXIgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG5hbWUgb2YgdGhlIGltYWdlIGNyZWF0b3IsIGVuY29kZWQgaW4gVVRGLTE2TEUuAEEgY2hhcmFjdGVyIHN0cmluZyBnaXZpbmcgdGhlIGltYWdlIHN1YmplY3QsIGVuY29kZWQgaW4gVVRGLTE2TEUuAEEgY2hhcmFjdGVyIHN0cmluZyBnaXZpbmcgdGhlIHRpdGxlIG9mIHRoZSBpbWFnZSwgZW5jb2RlZCBpbiBVVEYtMTZMRS4AQSBjaGFyYWN0ZXIgc3RyaW5nIGdpdmluZyB0aGUgdGl0bGUgb2YgdGhlIGltYWdlLiBJdCBtYXkgYmUgYSBjb21tZW50IHN1Y2ggYXMgIjE5ODggY29tcGFueSBwaWNuaWMiIG9yIHRoZSBsaWtlLiBUd28tYnl0ZXMgY2hhcmFjdGVyIGNvZGVzIGNhbm5vdCBiZSB1c2VkLiBXaGVuIGEgMi1ieXRlcyBjb2RlIGlzIG5lY2Vzc2FyeSwgdGhlIEV4aWYgUHJpdmF0ZSB0YWcgPFVzZXJDb21tZW50PiBpcyB0byBiZSB1c2VkLgBBIGNoYXJhY3RlciBzdHJpbmcgcmVjb3JkaW5nIGRhdGUgYW5kIHRpbWUgaW5mb3JtYXRpb24gcmVsYXRpdmUgdG8gVVRDIChDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZSkuIFRoZSBmb3JtYXQgaXMgIllZWVk6TU06REQiLiBUaGUgbGVuZ3RoIG9mIHRoZSBzdHJpbmcgaXMgMTEgYnl0ZXMgaW5jbHVkaW5nIE5VTEwuAEEgY2hhcmFjdGVyIHN0cmluZyByZWNvcmRpbmcgdGhlIG5hbWUgb2YgdGhlIEdQUyBhcmVhLiBUaGUgZmlyc3QgYnl0ZSBpbmRpY2F0ZXMgdGhlIGNoYXJhY3RlciBjb2RlIHVzZWQsIGFuZCB0aGlzIGlzIGZvbGxvd2VkIGJ5IHRoZSBuYW1lIG9mIHRoZSBHUFMgYXJlYS4gU2luY2UgdGhlIFR5cGUgaXMgbm90IEFTQ0lJLCBOVUxMIHRlcm1pbmF0aW9uIGlzIG5vdCBuZWNlc3NhcnkuAEEgY2hhcmFjdGVyIHN0cmluZyByZWNvcmRpbmcgdGhlIG5hbWUgb2YgdGhlIG1ldGhvZCB1c2VkIGZvciBsb2NhdGlvbiBmaW5kaW5nLiBUaGUgZmlyc3QgYnl0ZSBpbmRpY2F0ZXMgdGhlIGNoYXJhY3RlciBjb2RlIHVzZWQsIGFuZCB0aGlzIGlzIGZvbGxvd2VkIGJ5IHRoZSBuYW1lIG9mIHRoZSBtZXRob2QuIFNpbmNlIHRoZSBUeXBlIGlzIG5vdCBBU0NJSSwgTlVMTCB0ZXJtaW5hdGlvbiBpcyBub3QgbmVjZXNzYXJ5LgBBIGdlbmVyYWwgaW5kaWNhdGlvbiBvZiB0aGUga2luZCBvZiBkYXRhIGNvbnRhaW5lZCBpbiB0aGlzIHN1YmZpbGUuAEEgcG9pbnRlciB0byB0aGUgRXhpZiBJRkQuIEludGVyb3BlcmFiaWxpdHksIEV4aWYgSUZEIGhhcyB0aGUgc2FtZSBzdHJ1Y3R1cmUgYXMgdGhhdCBvZiB0aGUgSUZEIHNwZWNpZmllZCBpbiBUSUZGLiBvcmRpbmFyaWx5LCBob3dldmVyLCBpdCBkb2VzIG5vdCBjb250YWluIGltYWdlIGRhdGEgYXMgaW4gdGhlIGNhc2Ugb2YgVElGRi4AQSBwb2ludGVyIHRvIHRoZSBHUFMgSW5mbyBJRkQuIFRoZSBJbnRlcm9wZXJhYmlsaXR5IHN0cnVjdHVyZSBvZiB0aGUgR1BTIEluZm8gSUZELCBsaWtlIHRoYXQgb2YgRXhpZiBJRkQsIGhhcyBubyBpbWFnZSBkYXRhLgBBIHRhZyBmb3IgRXhpZiB1c2VycyB0byB3cml0ZSBrZXl3b3JkcyBvciBjb21tZW50cyBvbiB0aGUgaW1hZ2UgYmVzaWRlcyB0aG9zZSBpbiA8SW1hZ2VEZXNjcmlwdGlvbj4sIGFuZCB3aXRob3V0IHRoZSBjaGFyYWN0ZXIgY29kZSBsaW1pdGF0aW9ucyBvZiB0aGUgPEltYWdlRGVzY3JpcHRpb24+IHRhZy4gVGhlIGNoYXJhY3RlciBjb2RlIHVzZWQgaW4gdGhlIDxVc2VyQ29tbWVudD4gdGFnIGlzIGlkZW50aWZpZWQgYmFzZWQgb24gYW4gSUQgY29kZSBpbiBhIGZpeGVkIDgtYnl0ZSBhcmVhIGF0IHRoZSBzdGFydCBvZiB0aGUgdGFnIGRhdGEgYXJlYS4gVGhlIHVudXNlZCBwb3J0aW9uIG9mIHRoZSBhcmVhIGlzIHBhZGRlZCB3aXRoIE5VTEwgKCIwMC5oIikuIElEIGNvZGVzIGFyZSBhc3NpZ25lZCBieSBtZWFucyBvZiByZWdpc3RyYXRpb24uIFRoZSBkZXNpZ25hdGlvbiBtZXRob2QgYW5kIHJlZmVyZW5jZXMgZm9yIGVhY2ggY2hhcmFjdGVyIGNvZGUgYXJlIGRlZmluZWQgaW4gdGhlIHNwZWNpZmljYXRpb24uIFRoZSB2YWx1ZSBvZiBDb3VudE4gaXMgZGV0ZXJtaW5lZCBiYXNlZCBvbiB0aGUgOCBieXRlcyBpbiB0aGUgY2hhcmFjdGVyIGNvZGUgYXJlYSBhbmQgdGhlIG51bWJlciBvZiBieXRlcyBpbiB0aGUgdXNlciBjb21tZW50IHBhcnQuIFNpbmNlIHRoZSBUWVBFIGlzIG5vdCBBU0NJSSwgTlVMTCB0ZXJtaW5hdGlvbiBpcyBub3QgbmVjZXNzYXJ5LiBUaGUgSUQgY29kZSBmb3IgdGhlIDxVc2VyQ29tbWVudD4gYXJlYSBtYXkgYmUgYSBEZWZpbmVkIGNvZGUgc3VjaCBhcyBKSVMgb3IgQVNDSUksIG9yIG1heSBiZSBVbmRlZmluZWQuIFRoZSBVbmRlZmluZWQgbmFtZSBpcyBVbmRlZmluZWRUZXh0LCBhbmQgdGhlIElEIGNvZGUgaXMgZmlsbGVkIHdpdGggOCBieXRlcyBvZiBhbGwgIk5VTEwiICgiMDAuSCIpLiBBbiBFeGlmIHJlYWRlciB0aGF0IHJlYWRzIHRoZSA8VXNlckNvbW1lbnQ+IHRhZyBtdXN0IGhhdmUgYSBmdW5jdGlvbiBmb3IgZGV0ZXJtaW5pbmcgdGhlIElEIGNvZGUuIFRoaXMgZnVuY3Rpb24gaXMgbm90IHJlcXVpcmVkIGluIEV4aWYgcmVhZGVycyB0aGF0IGRvIG5vdCB1c2UgdGhlIDxVc2VyQ29tbWVudD4gdGFnLiBXaGVuIGEgPFVzZXJDb21tZW50PiBhcmVhIGlzIHNldCBhc2lkZSwgaXQgaXMgcmVjb21tZW5kZWQgdGhhdCB0aGUgSUQgY29kZSBiZSBBU0NJSSBhbmQgdGhhdCB0aGUgZm9sbG93aW5nIHVzZXIgY29tbWVudCBwYXJ0IGJlIGZpbGxlZCB3aXRoIGJsYW5rIGNoYXJhY3RlcnMgWzIwLkhdLgBBIHRhZyBmb3IgbWFudWZhY3R1cmVycyBvZiBFeGlmIHdyaXRlcnMgdG8gcmVjb3JkIGFueSBkZXNpcmVkIGluZm9ybWF0aW9uLiBUaGUgY29udGVudHMgYXJlIHVwIHRvIHRoZSBtYW51ZmFjdHVyZXIuAEEgdGFnIHVzZWQgdG8gcmVjb3JkIGZyYWN0aW9ucyBvZiBzZWNvbmRzIGZvciB0aGUgPERhdGVUaW1lPiB0YWcuAEEgdGFnIHVzZWQgdG8gcmVjb3JkIGZyYWN0aW9ucyBvZiBzZWNvbmRzIGZvciB0aGUgPERhdGVUaW1lRGlnaXRpemVkPiB0YWcuAEEgdGFnIHVzZWQgdG8gcmVjb3JkIGZyYWN0aW9ucyBvZiBzZWNvbmRzIGZvciB0aGUgPERhdGVUaW1lT3JpZ2luYWw+IHRhZy4AQSB0cmFuc2ZlciBmdW5jdGlvbiBmb3IgdGhlIGltYWdlLCBkZXNjcmliZWQgaW4gdGFidWxhciBzdHlsZS4gTm9ybWFsbHkgdGhpcyB0YWcgaXMgbm90IG5lY2Vzc2FyeSwgc2luY2UgY29sb3Igc3BhY2UgaXMgc3BlY2lmaWVkIGluIHRoZSBjb2xvciBzcGFjZSBpbmZvcm1hdGlvbiB0YWcgKDxDb2xvclNwYWNlPikuAEEtREVQAEEtVFRMAEFFIEJyYWNrZXQgVmFsdWUAQUUgQnJhY2tldGluZwBBRSBJbmZvAEFFIFNldHRpbmcAQUUgZ29vZABBRSBsb2NrAEFFIGxvY2sgKyBleHBvc3VyZSBjb21wZW5zYXRpb24AQUYgRm9jdXMgUG9zaXRpb24AQUYgUG9pbnQAQUYgUG9pbnQgU2VsZWN0ZWQAQUYgUmVzdWx0AEFGIG5vbiBEIGxlbnMAQUYgcG9zaXRpb246IGJvdHRvbQBBRiBwb3NpdGlvbjogY2VudGVyAEFGIHBvc2l0aW9uOiBmYXIgbGVmdABBRiBwb3NpdGlvbjogZmFyIHJpZ2h0AEFGIHBvc2l0aW9uOiBsZWZ0AEFGIHBvc2l0aW9uOiBsb3dlci1sZWZ0AEFGIHBvc2l0aW9uOiBsb3dlci1yaWdodABBRiBwb3NpdGlvbjogcmlnaHQAQUYgcG9zaXRpb246IHRvcABBRiBwb3NpdGlvbjogdXBwZXItbGVmdABBRiBwb3NpdGlvbjogdXBwZXItcmlnaHQAQUYtQwBBRi1EIEcgVlIgbGVucwBBRi1EIEcgbGVucwBBRi1EIFZSIGxlbnMAQUYtRCBvciBBRi1TIGxlbnMAQUYtUwBBSSBmb2N1cyBBRgBBSSBzZXJ2byBBRgBBU0NJSQBBVkkrVEhNAEFjdGlvbgBBZGFwdGVyAEFkZCwgY29ycmVjdCBhbmQgcmVtb3ZlIGVudHJpZXMgdG8gZ2V0IEVYSUYgZGF0YSB0aGF0IGZvbGxvd3MgdGhlIHNwZWNpZmljYXRpb24uAEFkanVzdCBleHBvc3VyZQBBZG9iZSBSR0IAQWxsAEFsdGl0dWRlAEFsdGl0dWRlIFJlZmVyZW5jZQBBcGVydHVyZQBBcGVydHVyZSBWYWx1ZQBBcGVydHVyZSBwcmlvcml0eQBBcGVydHVyZSBwcmlvcml0eSBBRQBBcXVhcml1bQBBcnRpc3QAQXV0bwBBdXRvICgxMDAtNDAwJSkAQXV0byBBRiBQb2ludABBdXRvIEFGIHBvaW50IHNlbGVjdGlvbgBBdXRvIEJyYWNrZXRpbmcAQXV0byBFeHBvc3VyZSBDaGVjawBBdXRvIEZvY3VzIENoZWNrAEF1dG8gSVNPAEF1dG8gUm90YXRlAEF1dG8gYnJhY2tldABBdXRvIGV4cG9zdXJlAEF1dG8gaGlnaABBdXRvIHdoaXRlIGJhbGFuY2UAQXV0bywgZGlkIG5vdCBmaXJlAEF1dG8sIGRpZCBub3QgZmlyZSwgcmVkLWV5ZSByZWR1Y3Rpb24AQXV0bywgZmlyZWQAQXV0bywgZmlyZWQsIHJlZC1leWUgcmVkdWN0aW9uAEF1dG8sIHJlZC1leWUgcmVkdWN0aW9uAEF1dG8tc2VsZWN0ZWQAQXV0b2ZvY3VzIFBvaW50cyBVc2VkAEF1dG9tYXRpYwBBdXR1bW4AQXYtcHJpb3JpdHkAQXZlcmFnZQBBdmcAQgBCYXR0ZXJ5IEluZm8AQmF0dGVyeSBMZXZlbABCZWFjaABCZWFyaW5nIG9mIERlc3RpbmF0aW9uAEJlc3QAQmVzdHNob3QgTW9kZQBCZXR0ZXIAQml0cyBwZXIgU2FtcGxlAEJsYWNrICYgV2hpdGUgTW9kZQBCbGFjayAmIHdoaXRlAEJsYWNrIExldmVsAEJsYWNrIFBvaW50AEJsdWUgQmFsYW5jZQBCbHVyIENoZWNrAEJsdXIgd2FybmluZwBCb3R0b20AQm90dG9tIHRvIHRvcABCb3R0b20tY2VudGVyAEJvdHRvbS1sZWZ0AEJvdHRvbS1yaWdodABCcmFja2V0aW5nAEJyaWdodCsAQnJpZ2h0LQBCcmlnaHRuZXNzAEJyaWdodG5lc3MgVmFsdWUAQnVsYiBEdXJhdGlvbgBCeXRlAEJ5dGUgYXQgcG9zaXRpb24gJWk6IDB4JTAyeABDQ0QgU2NhbiBNb2RlAENDRCBTZW5zaXRpdml0eQBDQ1MgSVNPIFNlbnNpdGl2aXR5AENG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b24gRUYtUyAxNy04NW1tIGY0LTUuNiBJUyBVU00AQ2Fub24gRUYtUyAxOC01NW1tIGYvMy41LTQuNSBVU00AQ2Fub24gRUYtUyAxOC01NW1tIGYvMy41LTUuNgBDYW5vbiBFRi1TMTAtMjJtbSBGMy41LTQuNSBVU00AQ2Fub24gRUYtUzYwbW0gRjIuOCBNYWNybyBVU00AQ2Fub24gTVAtRSA2NW1tIGYvMi44IDEtNXggTWFjcm8gUGhvdG8AQ2Fub24gVFMtRSAyNG1tIGYvMy41TABDYW5vbiBUUy1FIDQ1bW0gZi8yLjgAQ2Fub24gVFMtRSA5MG1tIGYvMi44AENhcHR1cmUgRWRpdG9yIERhdGEAQ2FwdHVyZSBFZGl0b3IgVmVyc2lvbgBDYXB0dXJlIE1vZGUAQ2IAQ2VudGVyAENlbnRlci1yaWdodABDZW50ZXItd2VpZ2h0AENlbnRlci13ZWlnaHRlZCBhdmVyYWdlAENlbnRlcmVkAENlbnRpbWV0ZXIAQ2hyb21hdGljaXR5IFNhdHVyYXRpb24AQ2h1bmt5IGZvcm1hdABDaWVMQUIAQ2xvc2UAQ2xvc2UgdmlldwBDbG91ZHkAQ2xvdWR5IHdlYXRoZXIAQ28tc2l0ZWQAQ29sb3IAQ29sb3IgQWRqdXN0bWVudCBNb2RlAENvbG9yIENvbnRyb2wAQ29sb3IgSW5mb3JtYXRpb24AQ29sb3IgTWF0cml4AENvbG9yIE1hdHJpeCBOdW1iZXIAQ29sb3IgTW9kZQBDb2xvciBNb2RlICg/KQBDb2xvciBTcGFjZQBDb2xvciBUb25lAENvbG9yIGFjY2VudABDb2xvciBzZXF1ZW50aWFsIGFyZWEgc2Vuc29yAENvbG9yIHNlcXVlbnRpYWwgbGluZWFyIHNlbnNvcgBDb2xvciBzd2FwAENvbG9ycwBDb21wYWN0AENvbXBvbmVudHMgQ29uZmlndXJhdGlvbgBDb21wcmVzc2VkIEJpdHMgcGVyIFBpeGVsAENvbXByZXNzaW9uAENvbXByZXNzaW9uIFJhdGlvAENvbnRpbnVvdXMAQ29udGludW91cyBTZXF1ZW5jZSBOdW1iZXIAQ29udGludW91cyBUYWtpbmcAQ29udGludW91cywgaGlnaABDb250aW51b3VzLCBsb3cAQ29udGludW91cywgc3BlZWQgcHJpb3JpdHkAQ29udHJhc3QAQ29udHJhc3QgQ3VydmUAQ29udHJhc3QgU2V0dGluZwBDb250cmFzdCsAQ29udHJhc3QtAENvbnZlcnRlcgBDb29sIHdoaXRlIGZsdW9yZXNjZW50AENvcHlyaWdodABDb3B5cmlnaHQgaW5mb3JtYXRpb24uIEluIHRoaXMgc3RhbmRhcmQgdGhlIHRhZyBpcyB1c2VkIHRvIGluZGljYXRlIGJvdGggdGhlIHBob3RvZ3JhcGhlciBhbmQgZWRpdG9yIGNvcHlyaWdodHMuIEl0IGlzIHRoZSBjb3B5cmlnaHQgbm90aWNlIG9mIHRoZSBwZXJzb24gb3Igb3JnYW5pemF0aW9uIGNsYWltaW5nIHJpZ2h0cyB0byB0aGUgaW1hZ2UuIFRoZSBJbnRlcm9wZXJhYmlsaXR5IGNvcHlyaWdodCBzdGF0ZW1lbnQgaW5jbHVkaW5nIGRhdGUgYW5kIHJpZ2h0cyBzaG91bGQgYmUgd3JpdHRlbiBpbiB0aGlzIGZpZWxkOyBlLmcuLCAiQ29weXJpZ2h0LCBKb2huIFNtaXRoLCAxOXh4LiBBbGwgcmlnaHRzIHJlc2VydmVkLiIuIEluIHRoaXMgc3RhbmRhcmQgdGhlIGZpZWxkIHJlY29yZHMgYm90aCB0aGUgcGhvdG9ncmFwaGVyIGFuZCBlZGl0b3IgY29weXJpZ2h0cywgd2l0aCBlYWNoIHJlY29yZGVkIGluIGEgc2VwYXJhdGUgcGFydCBvZiB0aGUgc3RhdGVtZW50LiBXaGVuIHRoZXJlIGlzIGEgY2xlYXIgZGlzdGluY3Rpb24gYmV0d2VlbiB0aGUgcGhvdG9ncmFwaGVyIGFuZCBlZGl0b3IgY29weXJpZ2h0cywgdGhlc2UgYXJlIHRvIGJlIHdyaXR0ZW4gaW4gdGhlIG9yZGVyIG9mIHBob3RvZ3JhcGhlciBmb2xsb3dlZCBieSBlZGl0b3IgY29weXJpZ2h0LCBzZXBhcmF0ZWQgYnkgTlVMTCAoaW4gdGhpcyBjYXNlLCBzaW5jZSB0aGUgc3RhdGVtZW50IGFsc28gZW5kcyB3aXRoIGEgTlVMTCwgdGhlcmUgYXJlIHR3byBOVUxMIGNvZGVzKSAoc2VlIGV4YW1wbGUgMSkuIFdoZW4gb25seSB0aGUgcGhvdG9ncmFwaGVyIGlzIGdpdmVuLCBpdCBpcyB0ZXJtaW5hdGVkIGJ5IG9uZSBOVUxMIGNvZGUgKHNlZSBleGFtcGxlIDIpLiBXaGVuIG9ubHkgdGhlIGVkaXRvciBjb3B5cmlnaHQgaXMgZ2l2ZW4sIHRoZSBwaG90b2dyYXBoZXIgY29weXJpZ2h0IHBhcnQgY29uc2lzdHMgb2Ygb25lIHNwYWNlIGZvbGxvd2VkIGJ5IGEgdGVybWluYXRpbmcgTlVMTCBjb2RlLCB0aGVuIHRoZSBlZGl0b3IgY29weXJpZ2h0IGlzIGdpdmVuIChzZWUgZXhhbXBsZSAzKS4gV2hlbiB0aGUgZmllbGQgaXMgbGVmdCBibGFuaywgaXQgaXMgdHJlYXRlZCBhcyB1bmtub3duLgBDb3JydXB0IGRhdGEAQ29zaW5hIDEwMG1tIGYvMy41IE1hY3JvIEFGAENyAENyZWF0aXZlAENyZWF0aXZlIHByb2dyYW0gKGJpYXNlZCB0b3dhcmQgZGVwdGggb2YgZmllbGQpAENyZWF0aXZlIHByb2dyYW0gKGJpYXNlZCB0b3dhcmQgZmFzdCBzaHV0dGVyIHNwZWVkKQBDdXN0b20AQ3VzdG9tIDEAQ3VzdG9tIDIAQ3VzdG9tIEZ1bmN0aW9ucwBDdXN0b20gUmVuZGVyZWQAQ3VzdG9tIHByb2Nlc3MARDU1AEQ2NQBENzUARFNDAERhcmsgcGV0AERhdGEgRHVtcABEYXRlAERhdGUgYW5kIFRpbWUARGF0ZSBhbmQgVGltZSAoRGlnaXRpemVkKQBEYXRlIGFuZCBUaW1lIChPcmlnaW5hbCkARGF5IHdoaXRlIGZsdW9yZXNjZW50AERheWxpZ2h0AERheWxpZ2h0IFNhdmluZ3MARGF5bGlnaHQgZmx1b3Jlc2NlbnQARGVidWdnaW5nIGluZm9ybWF0aW9uAERlYnVnZ2luZyBpbmZvcm1hdGlvbiBpcyBhdmFpbGFibGUuAERlZmF1bHQARGVmaW5lZCBieSBBZG9iZSBDb3Jwb3JhdGlvbiB0byBlbmFibGUgVElGRiBUcmVlcyB3aXRoaW4gYSBUSUZGIGZpbGUuAERlZmxhdGUvWklQIGNvbXByZXNzaW9uAERlc3RpbmF0aW9uIENpdHkARGVzdGluYXRpb24gQ2l0eSBDb2RlAERlc3RpbmF0aW9uIERTVABEZXN0aW5hdGlvbiBEYXlsaWdodCBTYXZpbmdzIFRpbWUARGV2ZWxvcG1lbnQgRHluYW1pYyBSYW5nZSBXaWRlIE1vZGUARGV2aWNlIFNldHRpbmcgRGVzY3JpcHRpb24ARGlnaXRhbCBab29tAERpZ2l0YWwgWm9vbSBSYXRpbwBEaWdpdGFsIGZpbHRlcgBEaWdpdGFsIGZpbHRlcj8ARGlnaXRhbCBtYWNybwBEaXJlY3Rpb24gb2YgTW92ZW1lbnQARGlyZWN0bHkgcGhvdG9ncmFwaGVkAERpc3BsYXkgQXBlcnR1cmUARGlzdGFuY2Ugb2YgcGhvdG9ncmFwaGVkIG9iamVjdCBpbiBtaWxsaW1ldGVycy4ARGlzdGFuY2UgdG8gRGVzdGluYXRpb24ARGlzdGFudABEaXN0YW50IHZpZXcARG8gbm90IGNoYW5nZSBtYWtlciBub3RlAERvY3VtZW50IE5hbWUARG91YmxlAERyaXZlIE1vZGUARHluYW1pYyBSYW5nZQBEeW5hbWljIFJhbmdlIFdpZGUgTW9kZQBFLVRUTABFT1MgaGlnaC1lbmQARU9TIG1pZC1yYW5nZQBFWElGIGhlYWRlciBub3QgZm91bmQuAEVYSUYgbWFya2VyIG5vdCBmb3VuZC4ARWFzdCBvciBXZXN0IExvbmdpdHVkZQBFYXN5IFNob290aW5nIE1vZGUARWFzeSBzaG9vdGluZwBFY29ub215AEVuY29kZXMgdGltZSB6b25lIG9mIGNhbWVyYSBjbG9jayByZWxhdGl2ZSB0byBHTVQuAEVuaGFuY2VtZW50AEVwc29uIEltYWdlIEhlaWdodABFcHNvbiBJbWFnZSBXaWR0aABFcHNvbiBTb2Z0d2FyZSBWZXJzaW9uAEV2YWx1YXRpdmUARXhpZiBWZXJzaW9uAEV4aWYgVmVyc2lvbiAlZC4lZABFeHBvc3VyZSBCaWFzAEV4cG9zdXJlIEJyYWNrZXQgVmFsdWUARXhwb3N1cmUgQ29tcGVuc2F0aW9uAEV4cG9zdXJlIEluZGV4AEV4cG9zdXJlIE1vZGUARXhwb3N1cmUgUHJvZ3JhbQBFeHBvc3VyZSBUaW1lAEV4cG9zdXJlIGNvbXBlbnNhdGlvbgBFeHBvc3VyZSB0aW1lLCBnaXZlbiBpbiBzZWNvbmRzIChzZWMpLgBFeHBvc3VyZWRpZmYgPwBFeHRlcm5hbABFeHRlcm5hbCAxAEV4dGVybmFsIDIARXh0ZXJuYWwgMwBFeHRlcm5hbCBGbGFzaCBCb3VuY2UARXh0ZXJuYWwgRmxhc2ggRyBWYWx1ZQBFeHRlcm5hbCBGbGFzaCBNb2RlAEV4dGVybmFsIEZsYXNoIFpvb20ARXh0ZXJuYWwgZmxhc2gARi1CJlcARi1DaHJvbWUARi1OdW1iZXIARi1TdGFuZGFyZABGMC9TdGFuZGFyZABGMS9TdHVkaW8gcG9ydHJhaXQARjFhL1Byb2Zlc3Npb25hbCBwb3J0cmFpdABGMWIvUHJvZmVzc2lvbmFsIHBvcnRyYWl0AEYxYy9Qcm9mZXNzaW9uYWwgcG9ydHJhaXQARjIvRnVqaWNocm9tZQBGMy9TdHVkaW8gcG9ydHJhaXQgRXgARjQvVmVsdmlhAEZOdW1iZXIARlAgc3luYyBlbmFibGVkAEZQIHN5bmMgdXNlZABGYWl0aGZ1bABGYXIgcmFuZ2UARmFzdABGYXN0IHNodXR0ZXIARmlsZSBTb3VyY2UARmlsbABGaWxsIE9yZGVyAEZpbG0gU2ltdWxhdGlvbiBNb2RlAEZpbG0gc2ltdWxhdGlvbiBtb2RlAEZpbmUARmluZSB3ZWF0aGVyAEZpbmUsIEhRAEZpbmUsIFJBVwBGaW5lLCBTSFEARmluZSwgU1EARmluZSwgU1ExAEZpbmUsIFNRMgBGaW5lLCBzdXBlciBoaWdoAEZpbmVQaXggQ29sb3IARmluZXIARmlyZXdvcmtzAEZpcm13YXJlIFZlcnNpb24ARmlzaGV5ZSBvbgBGaXhlZABGaXhlZCBjZW50ZXIARmxhc2gARmxhc2ggQWN0aXZpdHkARmxhc2ggQ2hhcmdlIExldmVsAEZsYXNoIERldGFpbHMARmxhc2ggRGV2aWNlAEZsYXNoIERpc3RhbmNlAEZsYXNoIEVuZXJneQBGbGFzaCBFeHBvc3VyZSBCcmFja2V0IFZhbHVlAEZsYXNoIEV4cG9zdXJlIENvbXAARmxhc2ggRXhwb3N1cmUgQ29tcGVuc2F0aW9uAEZsYXNoIEZpcmluZyBTdHJlbmd0aCBDb21wZW5zYXRpb24ARmxhc2ggR3VpZGUgTnVtYmVyAEZsYXNoIEluZm8ARmxhc2ggTW9kZQBGbGFzaCBTZXR0aW5nAEZsYXNoIFVzZWQARmxhc2ggZGlkIG5vdCBmaXJlAEZsYXNoIGRpZCBub3QgZmlyZSwgYXV0byBtb2RlAEZsYXNoIGRpZCBub3QgZmlyZSwgYXV0byBtb2RlLCByZWQtZXllIHJlZHVjdGlvbiBtb2RlAEZsYXNoIGRpZCBub3QgZmlyZSwgY29tcHVsc29yeSBmbGFzaCBtb2RlAEZsYXNoIGZpcmVkAEZsYXNoIGZpcmVkLCBhdXRvIG1vZGUARmxhc2ggZmlyZWQsIGF1dG8gbW9kZSwgcmVkLWV5ZSByZWR1Y3Rpb24gbW9kZQBGbGFzaCBmaXJlZCwgYXV0byBtb2RlLCByZXR1cm4gbGlnaHQgZGV0ZWN0ZWQARmxhc2ggZmlyZWQsIGF1dG8gbW9kZSwgcmV0dXJuIGxpZ2h0IGRldGVjdGVkLCByZWQtZXllIHJlZHVjdGlvbiBtb2RlAEZsYXNoIGZpcmVkLCBhdXRvIG1vZGUsIHJldHVybiBsaWdodCBub3QgZGV0ZWN0ZWQARmxhc2ggZmlyZWQsIGF1dG8gbW9kZSwgcmV0dXJuIGxpZ2h0IG5vdCBkZXRlY3RlZCwgcmVkLWV5ZSByZWR1Y3Rpb24gbW9kZQBGbGFzaCBmaXJlZCwgY29tcHVsc29yeSBmbGFzaCBtb2RlAEZsYXNoIGZpcmVkLCBjb21wdWxzb3J5IGZsYXNoIG1vZGUsIHJlZC1leWUgcmVkdWN0aW9uIG1vZGUARmxhc2ggZmlyZWQsIGNvbXB1bHNvcnkgZmxhc2ggbW9kZSwgcmVkLWV5ZSByZWR1Y3Rpb24gbW9kZSwgcmV0dXJuIGxpZ2h0IGRldGVjdGVkAEZsYXNoIGZpcmVkLCBjb21wdWxzb3J5IGZsYXNoIG1vZGUsIHJlZC1leWUgcmVkdWN0aW9uIG1vZGUsIHJldHVybiBsaWdodCBub3QgZGV0ZWN0ZWQARmxhc2ggZmlyZWQsIGNvbXB1bHNvcnkgZmxhc2ggbW9kZSwgcmV0dXJuIGxpZ2h0IGRldGVjdGVkAEZsYXNoIGZpcmVkLCBjb21wdWxzb3J5IGZsYXNoIG1vZGUsIHJldHVybiBsaWdodCBub3QgZGV0ZWN0ZWQARmxhc2ggZmlyZWQsIHJlZC1leWUgcmVkdWN0aW9uIG1vZGUARmxhc2ggZmlyZWQsIHJlZC1leWUgcmVkdWN0aW9uIG1vZGUsIHJldHVybiBsaWdodCBkZXRlY3RlZABGbGFzaCBmaXJlZCwgcmVkLWV5ZSByZWR1Y3Rpb24gbW9kZSwgcmV0dXJuIGxpZ2h0IG5vdCBkZXRlY3RlZABGbGFzaCBpcyBleHRlcm5hbABGbGFzaCBpcyBvbiBjYW1lcmEARmxhc2ggb2ZmAEZsYXNoIG9uAEZsYXNoIHVuaXQgdW5rbm93bgBGbGFzaFBpeCBWZXJzaW9uIDEuMABGbGFzaFBpeCBWZXJzaW9uIDEuMDEARmxpY2tlciBSZWR1Y2UARmxvYXQARmxvd2VyAEZsdW9yZXNjZW5jZQBGbHVvcmVzY2VudABGb2NhbCBMZW5ndGgARm9jYWwgTGVuZ3RoIGluIDM1bW0gRmlsbQBGb2NhbCBQbGFuZSBEaWFnb25hbABGb2NhbCBQbGFuZSBSZXNvbHV0aW9uIFVuaXQARm9jYWwgUGxhbmUgWCBTaXplAEZvY2FsIFBsYW5lIFgtUmVzb2x1dGlvbgBGb2NhbCBQbGFuZSBZIFNpemUARm9jYWwgUGxhbmUgWS1SZXNvbHV0aW9uAEZvY2FsIFR5cGUARm9jYWwgVW5pdHMgcGVyIG1tAEZvY3VzAEZvY3VzIERpc3RhbmNlIExvd2VyAEZvY3VzIERpc3RhbmNlIFVwcGVyAEZvY3VzIE1vZGUARm9jdXMgUG9pbnQARm9jdXMgUG9zaXRpb24ARm9jdXMgUmFuZ2UARm9jdXMgU3RlcCBDb3VudABGb2N1cyBnb29kAEZvY3VzaW5nIE1vZGUARm9saWFnZQBGb2xsb3cgc3BlY2lmaWNhdGlvbgBGb29kAEZvciBlYWNoIHN0cmlwLCB0aGUgYnl0ZSBvZmZzZXQgb2YgdGhhdCBzdHJpcC4gSXQgaXMgcmVjb21tZW5kZWQgdGhhdCB0aGlzIGJlIHNlbGVjdGVkIHNvIHRoZSBudW1iZXIgb2Ygc3RyaXAgYnl0ZXMgZG9lcyBub3QgZXhjZWVkIDY0IEtieXRlcy4gV2l0aCBKUEVHIGNvbXByZXNzZWQgZGF0YSB0aGlzIGRlc2lnbmF0aW9uIGlzIG5vdCBuZWVkZWQgYW5kIGlzIG9taXR0ZWQuIFNlZSBhbHNvIDxSb3dzUGVyU3RyaXA+IGFuZCA8U3RyaXBCeXRlQ291bnRzPi4ARnJhbWUgTnVtYmVyAEZyYW1lIGNvbXBvc2l0ZQBGdWxsAEZ1bGwgYXV0bwBHAEdQUyBEYXRlAEdQUyBEaWZmZXJlbnRpYWwgQ29ycmVjdGlvbgBHUFMgSW1hZ2UgRGlyZWN0aW9uAEdQUyBJbWFnZSBEaXJlY3Rpb24gUmVmZXJlbmNlAEdQUyBJbmZvIElGRCBQb2ludGVyAEdQUyBNZWFzdXJlbWVudCBNb2RlAEdQUyBSZWNlaXZlciBTdGF0dXMAR1BTIFNhdGVsbGl0ZXMAR1BTIFRhZyBWZXJzaW9uAEdQUyBUaW1lIChBdG9taWMgQ2xvY2spAEdhaW4gQ29udHJvbABHYW1tYQBHZW9kZXRpYyBTdXJ2ZXkgRGF0YSBVc2VkAEdvb2QAR3JheXNjYWxlAEdyZWVuIG1vZGUASGFyZABIYXJkZXN0AEhpZ2gASGlnaCBnYWluIGRvd24ASGlnaCBnYWluIHVwAEhpZ2ggc2F0dXJhdGlvbgBIaWdoZXN0AEhvbWUgRGF5bGlnaHQgU2F2aW5ncyBUaW1lAEhvbWV0b3duIENpdHkASG9tZXRvd24gQ2l0eSBDb2RlAEhvbWV0b3duIERTVABIdWUgQWRqdXN0bWVudABJU08ASVNPIDEwMABJU08gMTYwAElTTyAyMDAASVNPIDMyMABJU08gMzIwMABJU08gNDAwAElTTyA1MABJU08gODAASVNPIE51bWJlcgBJU08gU2VsZWN0aW9uAElTTyBTZXR0aW5nAElTTyBTcGVlZABJU08gU3BlZWQgUmF0aW5ncwBJU08gVmFsdWUASVNPIHN0dWRpbyB0dW5nc3RlbgBJZ25vcmUgdW5rbm93biB0YWdzAElnbm9yZSB1bmtub3duIHRhZ3Mgd2hlbiBsb2FkaW5nIEVYSUYgZGF0YS4ASWxsdXN0cmF0aW9ucwBJbWFnZSBBZGp1c3RtZW50AEltYWdlIEFyZWEgT2Zmc2V0AEltYWdlIEJvdW5kYXJ5AEltYWdlIERhdGEgU2l6ZQBJbWFnZSBEZXNjcmlwdGlvbgBJbWFnZSBMZW5ndGgASW1hZ2UgTnVtYmVyAEltYWdlIFByb2Nlc3NpbmcASW1hZ2UgUmVzb3VyY2VzIEJsb2NrAEltYWdlIFNoYXJwZW5pbmcASW1hZ2UgU2l6ZQBJbWFnZSBTdGFiaWxpemF0aW9uAEltYWdlIFRvbmUASW1hZ2UgVHlwZQBJbWFnZSBVbmlxdWUgSUQASW1hZ2UgV2lkdGgASW5jYW5kZXNjZW5jZQBJbmNhbmRlc2NlbnQASW5jaABJbmRpY2F0ZXMgdGhlIEdQUyBET1AgKGRhdGEgZGVncmVlIG9mIHByZWNpc2lvbikuIEFuIEhET1AgdmFsdWUgaXMgd3JpdHRlbiBkdXJpbmcgdHdvLWRpbWVuc2lvbmFsIG1lYXN1cmVtZW50LCBhbmQgUERPUCBkdXJpbmcgdGhyZWUtZGltZW5zaW9uYWwgbWVhc3VyZW1lbnQuAEluZGljYXRlcyB0aGUgR1BTIG1lYXN1cmVtZW50IG1vZGUuICcyJyBtZWFucyB0d28tZGltZW5zaW9uYWwgbWVhc3VyZW1lbnQgYW5kICczJyBtZWFucyB0aHJlZS1kaW1lbnNpb25hbCBtZWFzdXJlbWVudCBpcyBpbiBwcm9ncmVzcy4ASW5kaWNhdGVzIHRoZSBHUFMgc2F0ZWxsaXRlcyB1c2VkIGZvciBtZWFzdXJlbWVudHMuIFRoaXMgdGFnIGNhbiBiZSB1c2VkIHRvIGRlc2NyaWJlIHRoZSBudW1iZXIgb2Ygc2F0ZWxsaXRlcywgdGhlaXIgSUQgbnVtYmVyLCBhbmdsZSBvZiBlbGV2YXRpb24sIGF6aW11dGgsIFNOUiBhbmQgb3RoZXIgaW5mb3JtYXRpb24gaW4gQVNDSUkgbm90YXRpb24uIFRoZSBmb3JtYXQgaXMgbm90IHNwZWNpZmllZC4gSWYgdGhlIEdQUyByZWNlaXZlciBpcyBpbmNhcGFibGUgb2YgdGFraW5nIG1lYXN1cmVtZW50cywgdmFsdWUgb2YgdGhlIHRhZyBzaGFsbCBiZSBzZXQgdG8gTlVMTC4ASW5kaWNhdGVzIHRoZSBJU08gU3BlZWQgYW5kIElTTyBMYXRpdHVkZSBvZiB0aGUgY2FtZXJhIG9yIGlucHV0IGRldmljZSBhcyBzcGVjaWZpZWQgaW4gSVNPIDEyMjMyLgBJbmRpY2F0ZXMgdGhlIE9wdG8tRWxlY3Ryb25pYyBDb252ZXJzaW9uIEZ1bmN0aW9uIChPRUNGKSBzcGVjaWZpZWQgaW4gSVNPIDE0NTI0LiA8T0VDRj4gaXMgdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHRoZSBjYW1lcmEgb3B0aWNhbCBpbnB1dCBhbmQgdGhlIGltYWdlIHZhbHVlcy4ASW5kaWNhdGVzIHRoZSBhbHRpdHVkZSBiYXNlZCBvbiB0aGUgcmVmZXJlbmNlIGluIEdQU0FsdGl0dWRlUmVmLiBBbHRpdHVkZSBpcyBleHByZXNzZWQgYXMgb25lIFJBVElPTkFMIHZhbHVlLiBUaGUgcmVmZXJlbmNlIHVuaXQgaXMgbWV0ZXJzLgBJbmRpY2F0ZXMgdGhlIGFsdGl0dWRlIHVzZWQgYXMgdGhlIHJlZmVyZW5jZSBhbHRpdHVkZS4gSWYgdGhlIHJlZmVyZW5jZSBpcyBzZWEgbGV2ZWwgYW5kIHRoZSBhbHRpdHVkZSBpcyBhYm92ZSBzZWEgbGV2ZWwsIDAgaXMgZ2l2ZW4uIElmIHRoZSBhbHRpdHVkZSBpcyBiZWxvdyBzZWEgbGV2ZWwsIGEgdmFsdWUgb2YgMSBpcyBnaXZlbiBhbmQgdGhlIGFsdGl0dWRlIGlzIGluZGljYXRlZCBhcyBhbiBhYnNvbHV0ZSB2YWx1ZSBpbiB0aGUgR1NQQWx0aXR1ZGUgdGFnLiBUaGUgcmVmZXJlbmNlIHVuaXQgaXMgbWV0ZXJzLiBOb3RlIHRoYXQgdGhpcyB0YWcgaXMgQllURSB0eXBlLCB1bmxpa2Ugb3RoZXIgcmVmZXJlbmNlIHRhZ3MuAEluZGljYXRlcyB0aGUgYmVhcmluZyB0byB0aGUgZGVzdGluYXRpb24gcG9pbnQuIFRoZSByYW5nZSBvZiB2YWx1ZXMgaXMgZnJvbSAwLjAwIHRvIDM1OS45OS4ASW5kaWNhdGVzIHRoZSBjb2xvciBmaWx0ZXIgYXJyYXkgKENGQSkgZ2VvbWV0cmljIHBhdHRlcm4gb2YgdGhlIGltYWdlIHNlbnNvciB3aGVuIGEgb25lLWNoaXAgY29sb3IgYXJlYSBzZW5zb3IgaXMgdXNlZC4gSXQgZG9lcyBub3QgYXBwbHkgdG8gYWxsIHNlbnNpbmcgbWV0aG9kcy4ASW5kaWNhdGVzIHRoZSBkaXJlY3Rpb24gb2YgR1BTIHJlY2VpdmVyIG1vdmVtZW50LiBUaGUgcmFuZ2Ugb2YgdmFsdWVzIGlzIGZyb20gMC4wMCB0byAzNTkuOTkuAEluZGljYXRlcyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBpbWFnZSB3aGVuIGl0IHdhcyBjYXB0dXJlZC4gVGhlIHJhbmdlIG9mIHZhbHVlcyBpcyBmcm9tIDAuMDAgdG8gMzU5Ljk5LgBJbmRpY2F0ZXMgdGhlIGRpc3RhbmNlIHRvIHRoZSBkZXN0aW5hdGlvbiBwb2ludC4ASW5kaWNhdGVzIHRoZSBleHBvc3VyZSBpbmRleCBzZWxlY3RlZCBvbiB0aGUgY2FtZXJhIG9yIGlucHV0IGRldmljZSBhdCB0aGUgdGltZSB0aGUgaW1hZ2UgaXMgY2FwdHVyZWQuAEluZGljYXRlcyB0aGUgZ2VvZGV0aWMgc3VydmV5IGRhdGEgdXNlZCBieSB0aGUgR1BTIHJlY2VpdmVyLiBJZiB0aGUgc3VydmV5IGRhdGEgaXMgcmVzdHJpY3RlZCB0byBKYXBhbiwgdGhlIHZhbHVlIG9mIHRoaXMgdGFnIGlzICdUT0tZTycgb3IgJ1dHUy04NCcuIElmIGEgR1BTIEluZm8gdGFnIGlzIHJlY29yZGVkLCBpdCBpcyBzdHJvbmdseSByZWNvbW1lbmRlZCB0aGF0IHRoaXMgdGFnIGJlIHJlY29yZGVkLgBJbmRpY2F0ZXMgdGhlIGlkZW50aWZpY2F0aW9uIG9mIHRoZSBJbnRlcm9wZXJhYmlsaXR5IHJ1bGUuIFVzZSAiUjk4IiBmb3Igc3RhdGluZyBFeGlmUjk4IFJ1bGVzLiBGb3VyIGJ5dGVzIHVzZWQgaW5jbHVkaW5nIHRoZSB0ZXJtaW5hdGlvbiBjb2RlIChOVUxMKS4gc2VlIHRoZSBzZXBhcmF0ZSB2b2x1bWUgb2YgUmVjb21tZW5kZWQgRXhpZiBJbnRlcm9wZXJhYmlsaXR5IFJ1bGVzIChFeGlmUjk4KSBmb3Igb3RoZXIgdGFncyB1c2VkIGZvciBFeGlmUjk4LgBJbmRpY2F0ZXMgdGhlIGltYWdlIHNlbnNvciB0eXBlIG9uIHRoZSBjYW1lcmEgb3IgaW5wdXQgZGV2aWNlLgBJbmRpY2F0ZXMgdGhlIGltYWdlIHNvdXJjZS4gSWYgYSBEU0MgcmVjb3JkZWQgdGhlIGltYWdlLCB0aGUgdGFnIHZhbHVlIG9mIHRoaXMgdGFnIGFsd2F5cyBiZSBzZXQgdG8gMywgaW5kaWNhdGluZyB0aGF0IHRoZSBpbWFnZSB3YXMgcmVjb3JkZWQgb24gYSBEU0MuAEluZGljYXRlcyB0aGUgbGF0aXR1ZGUgb2YgdGhlIGRlc3RpbmF0aW9uIHBvaW50LiBUaGUgbGF0aXR1ZGUgaXMgZXhwcmVzc2VkIGFzIHRocmVlIFJBVElPTkFMIHZhbHVlcyBnaXZpbmcgdGhlIGRlZ3JlZXMsIG1pbnV0ZXMsIGFuZCBzZWNvbmRzLCByZXNwZWN0aXZlbHkuIElmIGxhdGl0dWRlIGlzIGV4cHJlc3NlZCBhcyBkZWdyZWVzLCBtaW51dGVzIGFuZCBzZWNvbmRzLCBhIHR5cGljYWwgZm9ybWF0IHdvdWxkIGJlIGRkLzEsbW0vMSxzcy8xLiBXaGVuIGRlZ3JlZXMgYW5kIG1pbnV0ZXMgYXJlIHVzZWQgYW5kLCBmb3IgZXhhbXBsZSwgZnJhY3Rpb25zIG9mIG1pbnV0ZXMgYXJlIGdpdmVuIHVwIHRvIHR3byBkZWNpbWFsIHBsYWNlcywgdGhlIGZvcm1hdCB3b3VsZCBiZSBkZC8xLG1tbW0vMTAwLDAvMS4ASW5kaWNhdGVzIHRoZSBsYXRpdHVkZS4gVGhlIGxhdGl0dWRlIGlzIGV4cHJlc3NlZCBhcyB0aHJlZSBSQVRJT05BTCB2YWx1ZXMgZ2l2aW5nIHRoZSBkZWdyZWVzLCBtaW51dGVzLCBhbmQgc2Vjb25kcywgcmVzcGVjdGl2ZWx5LiBXaGVuIGRlZ3JlZXMsIG1pbnV0ZXMgYW5kIHNlY29uZHMgYXJlIGV4cHJlc3NlZCwgdGhlIGZvcm1hdCBpcyBkZC8xLG1tLzEsc3MvMS4gV2hlbiBkZWdyZWVzIGFuZCBtaW51dGVzIGFyZSB1c2VkIGFuZCwgZm9yIGV4YW1wbGUsIGZyYWN0aW9ucyBvZiBtaW51dGVzIGFyZSBnaXZlbiB1cCB0byB0d28gZGVjaW1hbCBwbGFjZXMsIHRoZSBmb3JtYXQgaXMgZGQvMSxtbW1tLzEwMCwwLzEuAEluZGljYXRlcyB0aGUgbG9jYXRpb24gb2YgdGhlIG1haW4gc3ViamVjdCBpbiB0aGUgc2NlbmUuIFRoZSB2YWx1ZSBvZiB0aGlzIHRhZyByZXByZXNlbnRzIHRoZSBwaXhlbCBhdCB0aGUgY2VudGVyIG9mIHRoZSBtYWluIHN1YmplY3QgcmVsYXRpdmUgdG8gdGhlIGxlZnQgZWRnZSwgcHJpb3IgdG8gcm90YXRpb24gcHJvY2Vzc2luZyBhcyBwZXIgdGhlIDxSb3RhdGlvbj4gdGFnLiBUaGUgZmlyc3QgdmFsdWUgaW5kaWNhdGVzIHRoZSBYIGNvbHVtbiBudW1iZXIgYW5kIHRoZSBzZWNvbmQgaW5kaWNhdGVzIHRoZSBZIHJvdyBudW1iZXIuAEluZGljYXRlcyB0aGUgbG9uZ2l0dWRlIG9mIHRoZSBkZXN0aW5hdGlvbiBwb2ludC4gVGhlIGxvbmdpdHVkZSBpcyBleHByZXNzZWQgYXMgdGhyZWUgUkFUSU9OQUwgdmFsdWVzIGdpdmluZyB0aGUgZGVncmVlcywgbWludXRlcywgYW5kIHNlY29uZHMsIHJlc3BlY3RpdmVseS4gSWYgbG9uZ2l0dWRlIGlzIGV4cHJlc3NlZCBhcyBkZWdyZWVzLCBtaW51dGVzIGFuZCBzZWNvbmRzLCBhIHR5cGljYWwgZm9ybWF0IHdvdWxkIGJlIGRkZC8xLG1tLzEsc3MvMS4gV2hlbiBkZWdyZWVzIGFuZCBtaW51dGVzIGFyZSB1c2VkIGFuZCwgZm9yIGV4YW1wbGUsIGZyYWN0aW9ucyBvZiBtaW51dGVzIGFyZSBnaXZlbiB1cCB0byB0d28gZGVjaW1hbCBwbGFjZXMsIHRoZSBmb3JtYXQgd291bGQgYmUgZGRkLzEsbW1tbS8xMDAsMC8xLgBJbmRpY2F0ZXMgdGhlIGxvbmdpdHVkZS4gVGhlIGxvbmdpdHVkZSBpcyBleHByZXNzZWQgYXMgdGhyZWUgUkFUSU9OQUwgdmFsdWVzIGdpdmluZyB0aGUgZGVncmVlcywgbWludXRlcywgYW5kIHNlY29uZHMsIHJlc3BlY3RpdmVseS4gV2hlbiBkZWdyZWVzLCBtaW51dGVzIGFuZCBzZWNvbmRzIGFyZSBleHByZXNzZWQsIHRoZSBmb3JtYXQgaXMgZGRkLzEsbW0vMSxzcy8xLiBXaGVuIGRlZ3JlZXMgYW5kIG1pbnV0ZXMgYXJlIHVzZWQgYW5kLCBmb3IgZXhhbXBsZSwgZnJhY3Rpb25zIG9mIG1pbnV0ZXMgYXJlIGdpdmVuIHVwIHRvIHR3byBkZWNpbWFsIHBsYWNlcywgdGhlIGZvcm1hdCBpcyBkZGQvMSxtbW1tLzEwMCwwLzEuAEluZGljYXRlcyB0aGUgbnVtYmVyIG9mIHBpeGVscyBpbiB0aGUgaW1hZ2UgaGVpZ2h0IChWKSBkaXJlY3Rpb24gcGVyIDxGb2NhbFBsYW5lUmVzb2x1dGlvblVuaXQ+IG9uIHRoZSBjYW1lcmEgZm9jYWwgcGxhbmUuAEluZGljYXRlcyB0aGUgbnVtYmVyIG9mIHBpeGVscyBpbiB0aGUgaW1hZ2Ugd2lkdGggKFgpIGRpcmVjdGlvbiBwZXIgPEZvY2FsUGxhbmVSZXNvbHV0aW9uVW5pdD4gb24gdGhlIGNhbWVyYSBmb2NhbCBwbGFuZS4ASW5kaWNhdGVzIHRoZSByZWZlcmVuY2UgZm9yIGdpdmluZyB0aGUgZGlyZWN0aW9uIG9mIEdQUyByZWNlaXZlciBtb3ZlbWVudC4gJ1QnIGRlbm90ZXMgdHJ1ZSBkaXJlY3Rpb24gYW5kICdNJyBpcyBtYWduZXRpYyBkaXJlY3Rpb24uAEluZGljYXRlcyB0aGUgcmVmZXJlbmNlIGZvciBnaXZpbmcgdGhlIGRpcmVjdGlvbiBvZiB0aGUgaW1hZ2Ugd2hlbiBpdCBpcyBjYXB0dXJlZC4gJ1QnIGRlbm90ZXMgdHJ1ZSBkaXJlY3Rpb24gYW5kICdNJyBpcyBtYWduZXRpYyBkaXJlY3Rpb24uAEluZGljYXRlcyB0aGUgcmVmZXJlbmNlIHVzZWQgZm9yIGdpdmluZyB0aGUgYmVhcmluZyB0byB0aGUgZGVzdGluYXRpb24gcG9pbnQuICdUJyBkZW5vdGVzIHRydWUgZGlyZWN0aW9uIGFuZCAnTScgaXMgbWFnbmV0aWMgZGlyZWN0aW9uLgBJbmRpY2F0ZXMgdGhlIHNwZWN0cmFsIHNlbnNpdGl2aXR5IG9mIGVhY2ggY2hhbm5lbCBvZiB0aGUgY2FtZXJhIHVzZWQuIFRoZSB0YWcgdmFsdWUgaXMgYW4gQVNDSUkgc3RyaW5nIGNvbXBhdGlibGUgd2l0aCB0aGUgc3RhbmRhcmQgZGV2ZWxvcGVkIGJ5IHRoZSBBU1RNIFRlY2huaWNhbCBDb21taXR0ZWUuAEluZGljYXRlcyB0aGUgc3BlZWQgb2YgR1BTIHJlY2VpdmVyIG1vdmVtZW50LgBJbmRpY2F0ZXMgdGhlIHN0YXR1cyBvZiB0aGUgR1BTIHJlY2VpdmVyIHdoZW4gdGhlIGltYWdlIGlzIHJlY29yZGVkLiAnQScgbWVhbnMgbWVhc3VyZW1lbnQgaXMgaW4gcHJvZ3Jlc3MsIGFuZCAnVicgbWVhbnMgdGhlIG1lYXN1cmVtZW50IGlzIEludGVyb3BlcmFiaWxpdHkuAEluZGljYXRlcyB0aGUgc3Ryb2JlIGVuZXJneSBhdCB0aGUgdGltZSB0aGUgaW1hZ2UgaXMgY2FwdHVyZWQsIGFzIG1lYXN1cmVkIGluIEJlYW0gQ2FuZGxlIFBvd2VyIFNlY29uZHMgKEJDUFMpLgBJbmRpY2F0ZXMgdGhlIHRpbWUgYXMgVVRDIChDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZSkuIFRpbWVTdGFtcCBpcyBleHByZXNzZWQgYXMgdGhyZWUgUkFUSU9OQUwgdmFsdWVzIGdpdmluZyB0aGUgaG91ciwgbWludXRlLCBhbmQgc2Vjb25kLgBJbmRpY2F0ZXMgdGhlIHR5cGUgb2Ygc2NlbmUuIElmIGEgRFNDIHJlY29yZGVkIHRoZSBpbWFnZSwgdGhpcyB0YWcgdmFsdWUgbXVzdCBhbHdheXMgYmUgc2V0IHRvIDEsIGluZGljYXRpbmcgdGhhdCB0aGUgaW1hZ2Ugd2FzIGRpcmVjdGx5IHBob3RvZ3JhcGhlZC4ASW5kaWNhdGVzIHRoZSB1bml0IGZvciBtZWFzdXJpbmcgPEZvY2FsUGxhbmVYUmVzb2x1dGlvbj4gYW5kIDxGb2NhbFBsYW5lWVJlc29sdXRpb24+LiBUaGlzIHZhbHVlIGlzIHRoZSBzYW1lIGFzIHRoZSA8UmVzb2x1dGlvblVuaXQ+LgBJbmRpY2F0ZXMgdGhlIHVuaXQgdXNlZCB0byBleHByZXNzIHRoZSBHUFMgcmVjZWl2ZXIgc3BlZWQgb2YgbW92ZW1lbnQuICdLJywgJ00nIGFuZCAnTicgcmVwcmVzZW50IGtpbG9tZXRlcnMgcGVyIGhvdXIsIG1pbGVzIHBlciBob3VyLCBhbmQga25vdHMuAEluZGljYXRlcyB0aGUgdmFsdWUgb2YgY29lZmZpY2llbnQgZ2FtbWEuAEluZGljYXRlcyB0aGUgdmVyc2lvbiBvZiA8R1BTSW5mb0lGRD4uIFRoZSB2ZXJzaW9uIGlzIGdpdmVuIGFzIDIuMC4wLjAuIFRoaXMgdGFnIGlzIG1hbmRhdG9yeSB3aGVuIDxHUFNJbmZvPiB0YWcgaXMgcHJlc2VudC4gKE5vdGU6IFRoZSA8R1BTVmVyc2lvbklEPiB0YWcgaXMgZ2l2ZW4gaW4gYnl0ZXMsIHVubGlrZSB0aGUgPEV4aWZWZXJzaW9uPiB0YWcuIFdoZW4gdGhlIHZlcnNpb24gaXMgMi4wLjAuMCwgdGhlIHRhZyB2YWx1ZSBpcyAwMjAwMDAwMC5IKS4ASW5kaWNhdGVzIHdoZXRoZXIgZGlmZmVyZW50aWFsIGNvcnJlY3Rpb24gaXMgYXBwbGllZCB0byB0aGUgR1BTIHJlY2VpdmVyLgBJbmRpY2F0ZXMgd2hldGhlciBwaXhlbCBjb21wb25lbnRzIGFyZSByZWNvcmRlZCBpbiBhIGNodW5reSBvciBwbGFuYXIgZm9ybWF0LiBJbiBKUEVHIGNvbXByZXNzZWQgZmlsZXMgYSBKUEVHIG1hcmtlciBpcyB1c2VkIGluc3RlYWQgb2YgdGhpcyB0YWcuIElmIHRoaXMgZmllbGQgZG9lcyBub3QgZXhpc3QsIHRoZSBUSUZGIGRlZmF1bHQgb2YgMSAoY2h1bmt5KSBpcyBhc3N1bWVkLgBJbmRpY2F0ZXMgd2hldGhlciB0aGUgbGF0aXR1ZGUgaXMgbm9ydGggb3Igc291dGggbGF0aXR1ZGUuIFRoZSBBU0NJSSB2YWx1ZSAnTicgaW5kaWNhdGVzIG5vcnRoIGxhdGl0dWRlLCBhbmQgJ1MnIGlzIHNvdXRoIGxhdGl0dWRlLgBJbmRpY2F0ZXMgd2hldGhlciB0aGUgbGF0aXR1ZGUgb2YgdGhlIGRlc3RpbmF0aW9uIHBvaW50IGlzIG5vcnRoIG9yIHNvdXRoIGxhdGl0dWRlLiBUaGUgQVNDSUkgdmFsdWUgJ04nIGluZGljYXRlcyBub3J0aCBsYXRpdHVkZSwgYW5kICdTJyBpcyBzb3V0aCBsYXRpdHVkZS4ASW5kaWNhdGVzIHdoZXRoZXIgdGhlIGxvbmdpdHVkZSBpcyBlYXN0IG9yIHdlc3QgbG9uZ2l0dWRlLiBBU0NJSSAnRScgaW5kaWNhdGVzIGVhc3QgbG9uZ2l0dWRlLCBhbmQgJ1cnIGlzIHdlc3QgbG9uZ2l0dWRlLgBJbmRpY2F0ZXMgd2hldGhlciB0aGUgbG9uZ2l0dWRlIG9mIHRoZSBkZXN0aW5hdGlvbiBwb2ludCBpcyBlYXN0IG9yIHdlc3QgbG9uZ2l0dWRlLiBBU0NJSSAnRScgaW5kaWNhdGVzIGVhc3QgbG9uZ2l0dWRlLCBhbmQgJ1cnIGlzIHdlc3QgbG9uZ2l0dWRlLgBJbmRvb3IASW5maW5pdGUASW5maW5pdHkASW5maW5pdHkgTGVucyBTdGVwAEluZm8ASW5mb3JtYXRpb24gc3BlY2lmaWMgdG8gY29tcHJlc3NlZCBkYXRhLiBUaGUgY2hhbm5lbHMgb2YgZWFjaCBjb21wb25lbnQgYXJlIGFycmFuZ2VkIGluIG9yZGVyIGZyb20gdGhlIDFzdCBjb21wb25lbnQgdG8gdGhlIDR0aC4gRm9yIHVuY29tcHJlc3NlZCBkYXRhIHRoZSBkYXRhIGFycmFuZ2VtZW50IGlzIGdpdmVuIGluIHRoZSA8UGhvdG9tZXRyaWNJbnRlcnByZXRhdGlvbj4gdGFnLiBIb3dldmVyLCBzaW5jZSA8UGhvdG9tZXRyaWNJbnRlcnByZXRhdGlvbj4gY2FuIG9ubHkgZXhwcmVzcyB0aGUgb3JkZXIgb2YgWSwgQ2IgYW5kIENyLCB0aGlzIHRhZyBpcyBwcm92aWRlZCBmb3IgY2FzZXMgd2hlbiBjb21wcmVzc2VkIGRhdGEgdXNlcyBjb21wb25lbnRzIG90aGVyIHRoYW4gWSwgQ2IsIGFuZCBDciBhbmQgdG8gZW5hYmxlIHN1cHBvcnQgb2Ygb3RoZXIgc2VxdWVuY2VzLgBJbmZvcm1hdGlvbiBzcGVjaWZpYyB0byBjb21wcmVzc2VkIGRhdGEuIFRoZSBjb21wcmVzc2lvbiBtb2RlIHVzZWQgZm9yIGEgY29tcHJlc3NlZCBpbWFnZSBpcyBpbmRpY2F0ZWQgaW4gdW5pdCBiaXRzIHBlciBwaXhlbC4ASW5mb3JtYXRpb24gc3BlY2lmaWMgdG8gY29tcHJlc3NlZCBkYXRhLiBXaGVuIGEgY29tcHJlc3NlZCBmaWxlIGlzIHJlY29yZGVkLCB0aGUgdmFsaWQgaGVpZ2h0IG9mIHRoZSBtZWFuaW5nZnVsIGltYWdlIG11c3QgYmUgcmVjb3JkZWQgaW4gdGhpcyB0YWcsIHdoZXRoZXIgb3Igbm90IHRoZXJlIGlzIHBhZGRpbmcgZGF0YSBvciBhIHJlc3RhcnQgbWFya2VyLiBUaGlzIHRhZyBzaG91bGQgbm90IGV4aXN0IGluIGFuIHVuY29tcHJlc3NlZCBmaWxlLiBTaW5jZSBkYXRhIHBhZGRpbmcgaXMgdW5uZWNlc3NhcnkgaW4gdGhlIHZlcnRpY2FsIGRpcmVjdGlvbiwgdGhlIG51bWJlciBvZiBsaW5lcyByZWNvcmRlZCBpbiB0aGlzIHZhbGlkIGltYWdlIGhlaWdodCB0YWcgd2lsbCBpbiBmYWN0IGJlIHRoZSBzYW1lIGFzIHRoYXQgcmVjb3JkZWQgaW4gdGhlIFNPRi4ASW5mb3JtYXRpb24gc3BlY2lmaWMgdG8gY29tcHJlc3NlZCBkYXRhLiBXaGVuIGEgY29tcHJlc3NlZCBmaWxlIGlzIHJlY29yZGVkLCB0aGUgdmFsaWQgd2lkdGggb2YgdGhlIG1lYW5pbmdmdWwgaW1hZ2UgbXVzdCBiZSByZWNvcmRlZCBpbiB0aGlzIHRhZywgd2hldGhlciBvciBub3QgdGhlcmUgaXMgcGFkZGluZyBkYXRhIG9yIGEgcmVzdGFydCBtYXJrZXIuIFRoaXMgdGFnIHNob3VsZCBub3QgZXhpc3QgaW4gYW4gdW5jb21wcmVzc2VkIGZpbGUuAEludGVsAEludGVybGFjZWQASW50ZXJuYWwASW50ZXJuYWwgKyBleHRlcm5hbABJbnRlcm5hbCBGbGFzaCBUYWJsZQBJbnRlcm5hbCBlcnJvciAodW5rbm93biB2YWx1ZSAlaGkpAEludGVybmFsIGVycm9yICh1bmtub3duIHZhbHVlICVpICVpKQBJbnRlcm5hbCBlcnJvciAodW5rbm93biB2YWx1ZSAlaSkASW50ZXJvcGVyYWJpbGl0eSBJRkQgUG9pbnRlcgBJbnRlcm9wZXJhYmlsaXR5IElGRCBpcyBjb21wb3NlZCBvZiB0YWdzIHdoaWNoIHN0b3JlcyB0aGUgaW5mb3JtYXRpb24gdG8gZW5zdXJlIHRoZSBJbnRlcm9wZXJhYmlsaXR5IGFuZCBwb2ludGVkIGJ5IHRoZSBmb2xsb3dpbmcgdGFnIGxvY2F0ZWQgaW4gRXhpZiBJRkQuIFRoZSBJbnRlcm9wZXJhYmlsaXR5IHN0cnVjdHVyZSBvZiBJbnRlcm9wZXJhYmlsaXR5IElGRCBpcyB0aGUgc2FtZSBhcyBUSUZGIGRlZmluZWQgSUZEIHN0cnVjdHVyZSBidXQgZG9lcyBub3QgY29udGFpbiB0aGUgaW1hZ2UgZGF0YSBjaGFyYWN0ZXJpc3RpY2FsbHkgY29tcGFyZWQgd2l0aCBub3JtYWwgVElGRiBJRkQuAEludGVyb3BlcmFiaWxpdHkgSW5kZXgASW50ZXJvcGVyYWJpbGl0eSBWZXJzaW9uAEludmFsaWQgZm9ybWF0ICclcycsIGV4cGVjdGVkICclcycgb3IgJyVzJy4ASW52YWxpZCBmb3JtYXQgJyVzJywgZXhwZWN0ZWQgJyVzJy4ASW52YWxpZCBudW1iZXIgb2YgY29tcG9uZW50cyAoJWksIGV4cGVjdGVkICVpIG9yICVpKS4ASW52YWxpZCBudW1iZXIgb2YgY29tcG9uZW50cyAoJWksIGV4cGVjdGVkICVpKS4ASW52YWxpZCBzaXplIG9mIGVudHJ5ICglaSwgZXhwZWN0ZWQgJWxpIHggJWkpLgBKUEVHAEpQRUcgSW50ZXJjaGFuZ2UgRm9ybWF0AEpQRUcgSW50ZXJjaGFuZ2UgRm9ybWF0IExlbmd0aABKUEVHIGNvbXByZXNzaW9uAEtpZHMgJiBwZXRzAExaVyBjb21wcmVzc2lvbgBMYW1wAExhbmRzY2FwZQBMYW5kc2NhcGUgbW9kZSAoZm9yIGxhbmRzY2FwZSBwaG90b3Mgd2l0aCB0aGUgYmFja2dyb3VuZCBpbiBmb2N1cykATGFyZ2UATGF0aXR1ZGUATGF0aXR1ZGUgb2YgRGVzdGluYXRpb24ATGVmdABMZWZ0IHRvIHJpZ2h0AExlZnQtYm90dG9tAExlZnQtY2VudGVyAExlZnQtcmlnaHQATGVmdC10b3AATGVucwBMZW5zIERpc3RvcnRpb24gUGFyYW1ldGVycwBMZW5zIEYgU3RvcHMATGVucyBJbmZvAExlbnMgVGVtcGVyYXR1cmUATGVucyBUeXBlAExpZ2h0IENvbmRpdGlvbgBMaWdodCBTb3VyY2UATGlnaHQgU291cmNlIFNwZWNpYWwATGlnaHQgVHlwZQBMaWdodCBWYWx1ZSBDZW50ZXIATGlnaHQgVmFsdWUgUGVyaXBoZXJ5AExpZ2h0IHBldABMb25nAExvbmcgRm9jYWwgTGVuZ3RoIG9mIExlbnMATG9uZyBzaHV0dGVyAExvbmdpdHVkZQBMb25naXR1ZGUgb2YgRGVzdGluYXRpb24ATG93AExvdyBnYWluIGRvd24ATG93IGdhaW4gdXAATG93IHNhdHVyYXRpb24ATG93ZXItbGVmdABMb3dlci1yaWdodABMb3dlc3QATS1ERVAATWFjcm8ATWFjcm8gTW9kZQBNYWtlciBOb3RlAE1ha2VyIE5vdGUgVmVyc2lvbgBNYW51YWwATWFudWFsIEFGIHBvaW50IHNlbGVjdGlvbgBNYW51YWwgRmxhc2ggT3V0cHV0AE1hbnVhbCBGb2N1cyBEaXN0YW5jZQBNYW51YWwgZXhwb3N1cmUATWFudWFsIGZvY3VzAE1hbnVhbCB0ZW1wZXJhdHVyZSAoS2VsdmluKQBNYW51YWwgd2hpdGUgYmFsYW5jZQBNYW51YWw6ICVsaUsATWFudWFsOiB1bmtub3duAE1hbnVmYWN0dXJlcgBNYXhpbWFsIEFwZXJ0dXJlAE1heGltdW0gQXBlcnR1cmUgVmFsdWUATWF4aW11bSBBcGVydHVyZSBhdCBNYXhpbXVtIEZvY2FsAE1heGltdW0gQXBlcnR1cmUgYXQgTWluaW11bSBGb2NhbABNYXhpbXVtIEZvY2FsIExlbmd0aABNZWFzdXJlZCBFVgBNZWFzdXJlbWVudCBQcmVjaXNpb24ATWVkaXVtAE1lZGl1bSAxAE1lZGl1bSAyAE1lZGl1bSAzAE1lZGl1bSBoYXJkAE1lZGl1bSBoaWdoAE1lZGl1bSBsb3cATWVkaXVtIHBldABNZWRpdW0gc29mdABNZXRlcmluZyBNb2RlAE1pZC1sZWZ0AE1pZC1yaWdodABNaWRkbGUgcmFuZ2UATWluaW1hbCBBcGVydHVyZQBNaW5pbXVtIEZvY2FsIExlbmd0aABNb2RlbABNb2RlbCBJZGVudGlmaWNhdGlvbgBNb25vY2hyb21lAE1vdG9yb2xhAE1vdmllAE11bHRpIHNwb3QATXVsdGktZXhwb3N1cmUATXVsdGlwbGUATXVzZXVtAE15IGNvbG9yIGRhdGEATXkgY29sb3JzAE4vQQBORCBGaWx0ZXIATlAgJiBmbGFzaABOYW1lIG9mIEdQUyBBcmVhAE5hbWUgb2YgR1BTIFByb2Nlc3NpbmcgTWV0aG9kAE5hdHVyYWwgcGhvdG8ATmF0dXJhbCBza2luIHRvbmUATmVhciBMZW5zIFN0ZXAATmV1dHJhbABOZXcgU3ViZmlsZSBUeXBlAE5pZ2h0AE5pZ2h0IHNjZW5lAE5pZ2h0IHNuYXBzaG90AE5vAE5vIEFFAE5vIGJsdXIATm8gZmlzaGV5ZQBObyBmbGFzaABObyBmbGFzaCBmdW5jdGlvbgBObyBtYW51YWwgZm9jdXMgc2VsZWN0aW9uAE5vaXNlIFJlZHVjdGlvbgBOb25lAE5vbmUgKE1GKQBOb3JtYWwATm9ybWFsIEFFAE5vcm1hbCBmb2N1cwBOb3JtYWwgbW9ubwBOb3JtYWwgcHJvY2VzcwBOb3JtYWwgcHJvZ3JhbQBOb3JtYWwsIEhRAE5vcm1hbCwgUkFXAE5vcm1hbCwgU0hRAE5vcm1hbCwgU1EATm9ybWFsLCBTUTEATm9ybWFsLCBTUTIATm9ybWFsLCBzdGFuZGFyZABOb3JtYWwsIHN1cGVyIGhpZ2gATm9ydGggb3IgU291dGggTGF0aXR1ZGUATm90IGRlZmluZWQATm90IGVub3VnaCBtZW1vcnkATm90IGtub3duAE9iamVjdCBEaXN0YW5jZQBPZmYAT2Zmc2V0IG9mIHRoZSBwcmV2aWV3IGltYWdlIGRpcmVjdG9yeSAoSUZEKSBpbnNpZGUgdGhlIGZpbGUuAE9seW1wdXMgSW1hZ2UgSGVpZ2h0AE9seW1wdXMgSW1hZ2UgV2lkdGgAT24AT24gKFByZXNldCkAT24gKHNob3QgMSkAT24gKHNob3QgMikAT24gKHNob3QgMykAT24sIHJlZC1leWUgcmVkdWN0aW9uAE9uLCBzaG90IG9ubHkAT24sIHNsb3ctc3luYwBPbiwgc2xvdy1zeW5jLCByZWQtZXllIHJlZHVjdGlvbgBPbiwgc29mdABPbiwgdHJhaWxpbmctY3VydGFpbiBzeW5jAE9uLCB3aXJlbGVzcwBPbmUgVG91Y2ggV2hpdGUgQmFsYW5jZQBPbmUtY2hpcCBjb2xvciBhcmVhIHNlbnNvcgBPbmUtc2hvdCBBRgBPbmUtdG91Y2gAT3B0aWNhbCBab29tAE9wdGltaXplIEltYWdlAE9wdG8tRWxlY3Ryb25pYyBDb252ZXJzaW9uIEZ1bmN0aW9uAE9yZGVyIE51bWJlcgBPcmllbnRhdGlvbgBPcmlnaW5hbABPdGhlcgBPdXQgb2YgZm9jdXMAT3ZlciBleHBvc2VkAE93bmVyIE5hbWUAUEMgc2V0IDEAUEMgc2V0IDIAUEMgc2V0IDMAUFJJTlQgSW1hZ2UgTWF0Y2hpbmcAUGFja0JpdHMgY29tcHJlc3Npb24AUGFkZGluZwBQYWxldHRlAFBhbiBmb2N1cwBQYW5vcmFtYQBQYW5vcmFtYSBEaXJlY3Rpb24AUGFub3JhbWEgRnJhbWUAUGFydGlhbABQYXJ0eQBQYXR0ZXJuAFBob3RvIEVmZmVjdABQaG90b21ldHJpYyBJbnRlcnByZXRhdGlvbgBQaWN0dXJlIE1vZGUAUGljdHVyZSBNb2RlICgyKQBQaWN0dXJlIFN0eWxlAFBpeGVsIFggRGltZW5zaW9uAFBpeGVsIFkgRGltZW5zaW9uAFBsYW5hciBDb25maWd1cmF0aW9uAFBsYW5hciBmb3JtYXQAUG9ydHJhaXQAUG9ydHJhaXQgbW9kZSAoZm9yIGNsb3NldXAgcGhvdG9zIHdpdGggdGhlIGJhY2tncm91bmQgb3V0IG9mIGZvY3VzKQBQb3N0Y2FyZABQcmVjYXB0dXJlIEZyYW1lcwBQcmVzZXQAUHJlc3Mgc3RhcnQsIHByZXNzIHN0b3AAUHJldmlldyBJbWFnZSBJRkQAUHJldmlldyBJbWFnZSBWYWxpZABQcmV2aWV3IExlbmd0aABQcmV2aWV3IFNpemUAUHJldmlldyBTdGFydABQcmltYXJ5IENocm9tYXRpY2l0aWVzAFByaW50SU0gU2V0dGluZ3MAUHJvZ3JhbQBQcm9ncmFtIEFFAFByb2dyZXNzaXZlAFF1YWxpdHkAUXVhbGl0eSBMZXZlbABRdWljayBTaG90AFIAUkFXAFJHQgBSYXRpb25hbABSYXcgSW1hZ2UgU2l6ZQBSZWNvcmQgTW9kZQBSZWNvcmQgU2h1dHRlciBSZWxlYXNlAFJlY29yZCB3aGlsZSBkb3duAFJlZCBCYWxhbmNlAFJlZCBDb3JyZWN0aW9uICVmLCBibHVlIENvcnJlY3Rpb24gJWYAUmVkLWV5ZSByZWR1Y3Rpb24AUmVmZXJlbmNlIEJsYWNrL1doaXRlAFJlZmVyZW5jZSBGb3IgTGF0aXR1ZGUgb2YgRGVzdGluYXRpb24AUmVmZXJlbmNlIGZvciBCZWFyaW5nIG9mIERlc3RpbmF0aW9uAFJlZmVyZW5jZSBmb3IgRGlzdGFuY2UgdG8gRGVzdGluYXRpb24AUmVmZXJlbmNlIGZvciBMb25naXR1ZGUgb2YgRGVzdGluYXRpb24AUmVmZXJlbmNlIGZvciBkaXJlY3Rpb24gb2YgbW92ZW1lbnQAUmVsYXRlZCBTb3VuZCBGaWxlAFJlbGF0ZWQgdG8gRXBzb24ncyBQUklOVCBJbWFnZSBNYXRjaGluZyB0ZWNobm9sb2d5AFJlc2F2ZWQAUmVzZXJ2ZWQAUmVzb2x1dGlvbiBVbml0AFJldmVyc2VkIG1vbm8AUmlnaHQAUmlnaHQgdG8gbGVmdABSaWdodC1ib3R0b20AUmlnaHQtdG9wAFJvdGF0ZSAxODAAUm90YXRlIDI3MCBDVwBSb3RhdGUgOTAgQ1cAUm90YXRlZCBieSBzb2Z0d2FyZQBSb3dzIHBlciBTdHJpcABTQnl0ZQBTTG9uZwBTUmF0aW9uYWwAU1Nob3J0AFNYR0EgYmFzaWMAU1hHQSBmaW5lAFNYR0Egbm9ybWFsAFNhbXBsZXMgcGVyIFBpeGVsAFNhdHVyYXRpb24AU2NlbmUgQ2FwdHVyZSBUeXBlAFNjZW5lIERldGVjdABTY2VuZSBTZWxlY3QAU2NlbmUgVHlwZQBTZWEgbGV2ZWwAU2VhIGxldmVsIHJlZmVyZW5jZQBTZWxmIHBvcnRyYWl0AFNlbGYtdGltZXIAU2Vuc2luZyBNZXRob2QAU2Vuc29yIFBpeGVsIFNpemUAU2Vuc29yIFRlbXBlcmF0dXJlAFNlcGlhAFNlcXVlbmNlIE51bWJlcgBTZXF1ZW5jZSBTaG90IEludGVydmFsAFNlcXVlbnRpYWwgU2hvdABTZXJpYWwgTnVtYmVyAFNldCAxAFNldCAyAFNldCAzAFNldHRpbmdzIChGaXJzdCBQYXJ0KQBTZXR0aW5ncyAoU2Vjb25kIFBhcnQpAFNoYWRlAFNoYWtlIFJlZHVjdGlvbiBJbmZvAFNoYXJwbmVzcwBTaGFycG5lc3MgRmFjdG9yAFNoYXJwbmVzcyBGcmVxdWVuY3kAU2hhcnBuZXNzIFNldHRpbmcAU2hvcnQAU2hvcnQgRm9jYWwgTGVuZ3RoIG9mIExlbnMAU2hvdCBJU08AU2h1dHRlcgBTaHV0dGVyIFNwZWVkAFNodXR0ZXIgcHJpb3JpdHkAU2h1dHRlciBwcmlvcml0eSBBRQBTaHV0dGVyIHNwZWVkLiBUaGUgdW5pdCBpcyB0aGUgQVBFWCAoQWRkaXRpdmUgU3lzdGVtIG9mIFBob3RvZ3JhcGhpYyBFeHBvc3VyZSkgc2V0dGluZy4AU2lnbWEgMTAtMjBtbSBGNC01LjYgb3IgMTItMjRtbSBmLzQuNS01LjYgb3IgMTRtbSBmLzIuOABTaWdtYSAxNS0zMG1tIGYvMy41LTQuNSBFWCBERyBBc3BoZXJpY2FsAFNpZ21hIDE3LTM1bW0gZjIuOC00IEVYIEFzcGhlcmljYWwgSFNNAFNpZ21hIDIwbW0gRVggZi8xLjgAU2lnbWEgNTBtbSBmLzIuOCBFWCBvciAyOG1tIGYvMS44AFNpZ21hIFVDIFpvb20gMzUtMTM1bW0gZi80LTUuNgBTaW5nbGUAU2l6ZSBvZiBjb21wcmVzc2VkIGltYWdlIGRhdGEgaW4gYnl0ZXMuAFNpemUgb2YgZGF0YSB0b28gc21hbGwgdG8gYWxsb3cgZm9yIEVYSUYgZGF0YS4AU2xvdyBTaHV0dGVyAFNsb3cgU3luY2hybyBNb2RlAFNsb3cgc2h1dHRlcgBTbG93IHN5bmNocm8AU21hbGwAU21vb3RoAFNub3cAU29mdABTb2Z0ZXN0AFNvZnR3YXJlAFNwYXRpYWwgRnJlcXVlbmN5IFJlc3BvbnNlAFNwZWN0cmFsIFNlbnNpdGl2aXR5AFNwZWVkIFVuaXQAU3BlZWQgb2YgR1BTIFJlY2VpdmVyAFNwZWVkL1NlcXVlbmNlL1Bhbm9yYW1hIERpcmVjdGlvbgBTcGVlZExpZ2h0AFNwb3J0AFNwb3J0cwBTcG90AFNwb3QgZm9jdXMAU3RhbmRhcmQAU3RhbmRhcmQgKDEwMCUpAFN0YW5kYXJkIGxpZ2h0IEEAU3RhbmRhcmQgbGlnaHQgQgBTdGFuZGFyZCBsaWdodCBDAFN0aWxsIGltYWdlAFN0cmlwIEJ5dGUgQ291bnQAU3RyaXAgT2Zmc2V0cwBTdHJvYmUgcmV0dXJuIGxpZ2h0IGRldGVjdGVkAFN0cm9iZSByZXR1cm4gbGlnaHQgbm90IGRldGVjdGVkAFN1Yi1zZWNvbmQgVGltZQBTdWItc2Vjb25kIFRpbWUgKERpZ2l0aXplZCkAU3ViLXNlY29uZCBUaW1lIChPcmlnaW5hbCkAU3ViamVjdCBBcmVhAFN1YmplY3QgRGlzdGFuY2UAU3ViamVjdCBEaXN0YW5jZSBSYW5nZQBTdWJqZWN0IExvY2F0aW9uAFN1bm55AFN1bnNldABTdW5zZXQgb3IgY2FuZGxlbGlnaHQAU3VwZXIgZmluZSwgSFEAU3VwZXIgZmluZSwgUkFXAFN1cGVyIGZpbmUsIFNIUQBTdXBlciBmaW5lLCBTUQBTdXBlciBmaW5lLCBTUTEAU3VwZXIgZmluZSwgU1EyAFN1cGVyIGZpbmUsIGhpZ2gAU3VwZXIgZmluZSwgc3VwZXIgaGlnaABTdXBlciBtYWNybwBTdXBlcmZpbmUAU3VyZiAmIHNub3cAU3luY2hybyBzb3VuZCByZWNvcmQAVElGAFRJRitKUEVHAFRJRkYAVElGRi9FUCBTdGFuZGFyZCBJRABUVEwAVFYAVGFnICclcycgaXMgb2YgZm9ybWF0ICclcycgKHdoaWNoIGlzIGFnYWluc3Qgc3BlY2lmaWNhdGlvbikgYnV0IGNhbm5vdCBiZSBjaGFuZ2VkIHRvIGZvcm1hdCAnJXMnLgBUYWcgJyVzJyB3YXMgb2YgZm9ybWF0ICclcycgKHdoaWNoIGlzIGFnYWluc3Qgc3BlY2lmaWNhdGlvbikgYW5kIGhhcyBiZWVuIGNoYW5nZWQgdG8gZm9ybWF0ICclcycuAFRhZyAnVXNlckNvbW1lbnQnIGRpZCBub3Qgc3RhcnQgd2l0aCBhIGZvcm1hdCBpZGVudGlmaWVyLiBUaGlzIGhhcyBiZWVuIGZpeGVkLgBUYWcgJ1VzZXJDb21tZW50JyBoYWQgaW52YWxpZCBmb3JtYXQgJyVzJy4gRm9ybWF0IGhhcyBiZWVuIHNldCB0byAndW5kZWZpbmVkJy4AVGFnICdVc2VyQ29tbWVudCcgaGFzIGJlZW4gZXhwYW5kZWQgdG8gYXQgbGVhc3QgOCBieXRlcyBpbiBvcmRlciB0byBmb2xsb3cgdGhlIHNwZWNpZmljYXRpb24uAFRhZyAnVXNlckNvbW1lbnQnIGlzIG5vdCBlbXB0eSBidXQgZG9lcyBub3Qgc3RhcnQgd2l0aCBhIGZvcm1hdCBpZGVudGlmaWVyLiBUaGlzIGhhcyBiZWVuIGZpeGVkLgBUYW1yb24gQUYgQXNwaGVyaWNhbCAyOC0yMDBtbSBmLzMuOC01LjYAVGFtcm9uIFNQIEFGIDMwMG1tIGYvMi44IExEIElGAFRhcmdldCBBcGVydHVyZQBUYXJnZXQgRXhwb3N1cmUgVGltZQBUZXh0AFRoZSBGIG51bWJlci4AVGhlIEZsYXNoUGl4IGZvcm1hdCB2ZXJzaW9uIHN1cHBvcnRlZCBieSBhIEZQWFIgZmlsZS4AVGhlIGFjdHVhbCBmb2NhbCBsZW5ndGggb2YgdGhlIGxlbnMsIGluIG1tLiBDb252ZXJzaW9uIGlzIG5vdCBtYWRlIHRvIHRoZSBmb2NhbCBsZW5ndGggb2YgYSAzNSBtbSBmaWxtIGNhbWVyYS4AVGhlIGNocm9tYXRpY2l0eSBvZiB0aGUgdGhyZWUgcHJpbWFyeSBjb2xvcnMgb2YgdGhlIGltYWdlLiBOb3JtYWxseSB0aGlzIHRhZyBpcyBub3QgbmVjZXNzYXJ5LCBzaW5jZSBjb2xvciBzcGFjZSBpcyBzcGVjaWZpZWQgaW4gdGhlIGNvbG9yIHNwYWNlIGluZm9ybWF0aW9uIHRhZyAoPENvbG9yU3BhY2U+KS4AVGhlIGNocm9tYXRpY2l0eSBvZiB0aGUgd2hpdGUgcG9pbnQgb2YgdGhlIGltYWdlLiBOb3JtYWxseSB0aGlzIHRhZyBpcyBub3QgbmVjZXNzYXJ5LCBzaW5jZSBjb2xvciBzcGFjZSBpcyBzcGVjaWZpZWQgaW4gdGhlIGNvbG9yIHNwYWNlIGluZm9ybWF0aW9uIHRhZyAoPENvbG9yU3BhY2U+KS4AVGhlIGNsYXNzIG9mIHRoZSBwcm9ncmFtIHVzZWQgYnkgdGhlIGNhbWVyYSB0byBzZXQgZXhwb3N1cmUgd2hlbiB0aGUgcGljdHVyZSBpcyB0YWtlbi4AVGhlIGNvbG9yIHNwYWNlIGluZm9ybWF0aW9uIHRhZyBpcyBhbHdheXMgcmVjb3JkZWQgYXMgdGhlIGNvbG9yIHNwYWNlIHNwZWNpZmllci4gTm9ybWFsbHkgc1JHQiAoPTEpIGlzIHVzZWQgdG8gZGVmaW5lIHRoZSBjb2xvciBzcGFjZSBiYXNlZCBvbiB0aGUgUEMgbW9uaXRvciBjb25kaXRpb25zIGFuZCBlbnZpcm9ubWVudC4gSWYgYSBjb2xvciBzcGFjZSBvdGhlciB0aGFuIHNSR0IgaXMgdXNlZCwgVW5jYWxpYnJhdGVkICg9RkZGRi5IKSBpcyBzZXQuIEltYWdlIGRhdGEgcmVjb3JkZWQgYXMgVW5jYWxpYnJhdGVkIGNhbiBiZSB0cmVhdGVkIGFzIHNSR0Igd2hlbiBpdCBpcyBjb252ZXJ0ZWQgdG8gRmxhc2hQaXguAFRoZSBjb21wcmVzc2lvbiBzY2hlbWUgdXNlZCBmb3IgdGhlIGltYWdlIGRhdGEuIFdoZW4gYSBwcmltYXJ5IGltYWdlIGlzIEpQRUcgY29tcHJlc3NlZCwgdGhpcyBkZXNpZ25hdGlvbiBpcyBub3QgbmVjZXNzYXJ5IGFuZCBpcyBvbWl0dGVkLiBXaGVuIHRodW1ibmFpbHMgdXNlIEpQRUcgY29tcHJlc3Npb24sIHRoaXMgdGFnIHZhbHVlIGlzIHNldCB0byA2LgBUaGUgZGF0YSBwcm92aWRlZCBkb2VzIG5vdCBmb2xsb3cgdGhlIHNwZWNpZmljYXRpb24uAFRoZSBkYXRhIHN1cHBsaWVkIGRvZXMgbm90IHNlZW0gdG8gY29udGFpbiBFWElGIGRhdGEuAFRoZSBkYXRlIGFuZCB0aW1lIG9mIGltYWdlIGNyZWF0aW9uLiBJbiB0aGlzIHN0YW5kYXJkIChFWElGLTIuMSkgaXQgaXMgdGhlIGRhdGUgYW5kIHRpbWUgdGhlIGZpbGUgd2FzIGNoYW5nZWQuAFRoZSBkYXRlIGFuZCB0aW1lIHdoZW4gdGhlIGltYWdlIHdhcyBzdG9yZWQgYXMgZGlnaXRhbCBkYXRhLgBUaGUgZGF0ZSBhbmQgdGltZSB3aGVuIHRoZSBvcmlnaW5hbCBpbWFnZSBkYXRhIHdhcyBnZW5lcmF0ZWQuIEZvciBhIGRpZ2l0YWwgc3RpbGwgY2FtZXJhIHRoZSBkYXRlIGFuZCB0aW1lIHRoZSBwaWN0dXJlIHdhcyB0YWtlbiBhcmUgcmVjb3JkZWQuAFRoZSBkaXN0YW5jZSB0byB0aGUgc3ViamVjdCwgZ2l2ZW4gaW4gbWV0ZXJzLgBUaGUgZXhwb3N1cmUgYmlhcy4gVGhlIHVuaXRzIGlzIHRoZSBBUEVYIHZhbHVlLiBPcmRpbmFyaWx5IGl0IGlzIGdpdmVuIGluIHRoZSByYW5nZSBvZiAtOTkuOTkgdG8gOTkuOTkuAFRoZSBmaWxlICclcycgY291bGQgbm90IGJlIG9wZW5lZC4AVGhlIGltYWdlIG9yaWVudGF0aW9uIHZpZXdlZCBpbiB0ZXJtcyBvZiByb3dzIGFuZCBjb2x1bW5zLgBUaGUga2luZCBvZiBsaWdodCBzb3VyY2UuAFRoZSBsZW5zIGFwZXJ0dXJlLiBUaGUgdW5pdCBpcyB0aGUgQVBFWCB2YWx1ZS4AVGhlIG1hbnVmYWN0dXJlciBvZiB0aGUgcmVjb3JkaW5nIGVxdWlwbWVudC4gVGhpcyBpcyB0aGUgbWFudWZhY3R1cmVyIG9mIHRoZSBEU0MsIHNjYW5uZXIsIHZpZGVvIGRpZ2l0aXplciBvciBvdGhlciBlcXVpcG1lbnQgdGhhdCBnZW5lcmF0ZWQgdGhlIGltYWdlLiBXaGVuIHRoZSBmaWVsZCBpcyBsZWZ0IGJsYW5rLCBpdCBpcyB0cmVhdGVkIGFzIHVua25vd24uAFRoZSBtYXRyaXggY29lZmZpY2llbnRzIGZvciB0cmFuc2Zvcm1hdGlvbiBmcm9tIFJHQiB0byBZQ2JDciBpbWFnZSBkYXRhLiBObyBkZWZhdWx0IGlzIGdpdmVuIGluIFRJRkY7IGJ1dCBoZXJlIHRoZSB2YWx1ZSBnaXZlbiBpbiAiQ29sb3IgU3BhY2UgR3VpZGVsaW5lcyIsIGlzIHVzZWQgYXMgdGhlIGRlZmF1bHQuIFRoZSBjb2xvciBzcGFjZSBpcyBkZWNsYXJlZCBpbiBhIGNvbG9yIHNwYWNlIGluZm9ybWF0aW9uIHRhZywgd2l0aCB0aGUgZGVmYXVsdCBiZWluZyB0aGUgdmFsdWUgdGhhdCBnaXZlcyB0aGUgb3B0aW1hbCBpbWFnZSBjaGFyYWN0ZXJpc3RpY3MgSW50ZXJvcGVyYWJpbGl0eSB0aGlzIGNvbmRpdGlvbi4AVGhlIG1ldGVyaW5nIG1vZGUuAFRoZSBtb2RlbCBuYW1lIG9yIG1vZGVsIG51bWJlciBvZiB0aGUgZXF1aXBtZW50LiBUaGlzIGlzIHRoZSBtb2RlbCBuYW1lIG9yIG51bWJlciBvZiB0aGUgRFNDLCBzY2FubmVyLCB2aWRlbyBkaWdpdGl6ZXIgb3Igb3RoZXIgZXF1aXBtZW50IHRoYXQgZ2VuZXJhdGVkIHRoZSBpbWFnZS4gV2hlbiB0aGUgZmllbGQgaXMgbGVmdCBibGFuaywgaXQgaXMgdHJlYXRlZCBhcyB1bmtub3duLgBUaGUgbnVtYmVyIG9mIGJpdHMgcGVyIGltYWdlIGNvbXBvbmVudC4gSW4gdGhpcyBzdGFuZGFyZCBlYWNoIGNvbXBvbmVudCBvZiB0aGUgaW1hZ2UgaXMgOCBiaXRzLCBzbyB0aGUgdmFsdWUgZm9yIHRoaXMgdGFnIGlzIDguIFNlZSBhbHNvIDxTYW1wbGVzUGVyUGl4ZWw+LiBJbiBKUEVHIGNvbXByZXNzZWQgZGF0YSBhIEpQRUcgbWFya2VyIGlzIHVzZWQgaW5zdGVhZCBvZiB0aGlzIHRhZy4AVGhlIG51bWJlciBvZiBieXRlcyBvZiBKUEVHIGNvbXByZXNzZWQgdGh1bWJuYWlsIGRhdGEuIFRoaXMgaXMgbm90IHVzZWQgZm9yIHByaW1hcnkgaW1hZ2UgSlBFRyBkYXRhLiBKUEVHIHRodW1ibmFpbHMgYXJlIG5vdCBkaXZpZGVkIGJ1dCBhcmUgcmVjb3JkZWQgYXMgYSBjb250aW51b3VzIEpQRUcgYml0c3RyZWFtIGZyb20gU09JIHRvIEVPSS4gQXBwbiBhbmQgQ09NIG1hcmtlcnMgc2hvdWxkIG5vdCBiZSByZWNvcmRlZC4gQ29tcHJlc3NlZCB0aHVtYm5haWxzIG11c3QgYmUgcmVjb3JkZWQgaW4gbm8gbW9yZSB0aGFuIDY0IEtieXRlcywgaW5jbHVkaW5nIGFsbCBvdGhlciBkYXRhIHRvIGJlIHJlY29yZGVkIGluIEFQUDEuAFRoZSBudW1iZXIgb2YgY29sdW1ucyBvZiBpbWFnZSBkYXRhLCBlcXVhbCB0byB0aGUgbnVtYmVyIG9mIHBpeGVscyBwZXIgcm93LiBJbiBKUEVHIGNvbXByZXNzZWQgZGF0YSBhIEpQRUcgbWFya2VyIGlzIHVzZWQgaW5zdGVhZCBvZiB0aGlzIHRhZy4AVGhlIG51bWJlciBvZiBjb21wb25lbnRzIHBlciBwaXhlbC4gU2luY2UgdGhpcyBzdGFuZGFyZCBhcHBsaWVzIHRvIFJHQiBhbmQgWUNiQ3IgaW1hZ2VzLCB0aGUgdmFsdWUgc2V0IGZvciB0aGlzIHRhZyBpcyAzLiBJbiBKUEVHIGNvbXByZXNzZWQgZGF0YSBhIEpQRUcgbWFya2VyIGlzIHVzZWQgaW5zdGVhZCBvZiB0aGlzIHRhZy4AVGhlIG51bWJlciBvZiBwaXhlbHMgcGVyIDxSZXNvbHV0aW9uVW5pdD4gaW4gdGhlIDxJbWFnZUxlbmd0aD4gZGlyZWN0aW9uLiBUaGUgc2FtZSB2YWx1ZSBhcyA8WFJlc29sdXRpb24+IGlzIGRlc2lnbmF0ZWQuAFRoZSBudW1iZXIgb2YgcGl4ZWxzIHBlciA8UmVzb2x1dGlvblVuaXQ+IGluIHRoZSA8SW1hZ2VXaWR0aD4gZGlyZWN0aW9uLiBXaGVuIHRoZSBpbWFnZSByZXNvbHV0aW9uIGlzIHVua25vd24sIDcyIFtkcGldIGlzIGRlc2lnbmF0ZWQuAFRoZSBudW1iZXIgb2Ygcm93cyBvZiBpbWFnZSBkYXRhLiBJbiBKUEVHIGNvbXByZXNzZWQgZGF0YSBhIEpQRUcgbWFya2VyIGlzIHVzZWQgaW5zdGVhZCBvZiB0aGlzIHRhZy4AVGhlIG51bWJlciBvZiByb3dzIHBlciBzdHJpcC4gVGhpcyBpcyB0aGUgbnVtYmVyIG9mIHJvd3MgaW4gdGhlIGltYWdlIG9mIG9uZSBzdHJpcCB3aGVuIGFuIGltYWdlIGlzIGRpdmlkZWQgaW50byBzdHJpcHMuIFdpdGggSlBFRyBjb21wcmVzc2VkIGRhdGEgdGhpcyBkZXNpZ25hdGlvbiBpcyBub3QgbmVlZGVkIGFuZCBpcyBvbWl0dGVkLiBTZWUgYWxzbyA8U3RyaXBPZmZzZXRzPiBhbmQgPFN0cmlwQnl0ZUNvdW50cz4uAFRoZSBvZmZzZXQgdG8gdGhlIHN0YXJ0IGJ5dGUgKFNPSSkgb2YgSlBFRyBjb21wcmVzc2VkIHRodW1ibmFpbCBkYXRhLiBUaGlzIGlzIG5vdCB1c2VkIGZvciBwcmltYXJ5IGltYWdlIEpQRUcgZGF0YS4AVGhlIHBpeGVsIGNvbXBvc2l0aW9uLiBJbiBKUEVHIGNvbXByZXNzZWQgZGF0YSBhIEpQRUcgbWFya2VyIGlzIHVzZWQgaW5zdGVhZCBvZiB0aGlzIHRhZy4AVGhlIHBvc2l0aW9uIG9mIGNocm9taW5hbmNlIGNvbXBvbmVudHMgaW4gcmVsYXRpb24gdG8gdGhlIGx1bWluYW5jZSBjb21wb25lbnQuIFRoaXMgZmllbGQgaXMgZGVzaWduYXRlZCBvbmx5IGZvciBKUEVHIGNvbXByZXNzZWQgZGF0YSBvciB1bmNvbXByZXNzZWQgWUNiQ3IgZGF0YS4gVGhlIFRJRkYgZGVmYXVsdCBpcyAxIChjZW50ZXJlZCk7IGJ1dCB3aGVuIFk6Q2I6Q3IgPSA0OjI6MiBpdCBpcyByZWNvbW1lbmRlZCBpbiB0aGlzIHN0YW5kYXJkIHRoYXQgMiAoY28tc2l0ZWQpIGJlIHVzZWQgdG8gcmVjb3JkIGRhdGEsIGluIG9yZGVyIHRvIGltcHJvdmUgdGhlIGltYWdlIHF1YWxpdHkgd2hlbiB2aWV3ZWQgb24gVFYgc3lzdGVtcy4gV2hlbiB0aGlzIGZpZWxkIGRvZXMgbm90IGV4aXN0LCB0aGUgcmVhZGVyIHNoYWxsIGFzc3VtZSB0aGUgVElGRiBkZWZhdWx0LiBJbiB0aGUgY2FzZSBvZiBZOkNiOkNyID0gNDoyOjAsIHRoZSBUSUZGIGRlZmF1bHQgKGNlbnRlcmVkKSBpcyByZWNvbW1lbmRlZC4gSWYgdGhlIHJlYWRlciBkb2VzIG5vdCBoYXZlIHRoZSBjYXBhYmlsaXR5IG9mIHN1cHBvcnRpbmcgYm90aCBraW5kcyBvZiA8WUNiQ3JQb3NpdGlvbmluZz4sIGl0IHNoYWxsIGZvbGxvdyB0aGUgVElGRiBkZWZhdWx0IHJlZ2FyZGxlc3Mgb2YgdGhlIHZhbHVlIGluIHRoaXMgZmllbGQuIEl0IGlzIHByZWZlcmFibGUgdGhhdCByZWFkZXJzIGJlIGFibGUgdG8gc3VwcG9ydCBib3RoIGNlbnRlcmVkIGFuZCBjby1zaXRlZCBwb3NpdGlvbmluZy4AVGhlIHJlZmVyZW5jZSBibGFjayBwb2ludCB2YWx1ZSBhbmQgcmVmZXJlbmNlIHdoaXRlIHBvaW50IHZhbHVlLiBObyBkZWZhdWx0cyBhcmUgZ2l2ZW4gaW4gVElGRiwgYnV0IHRoZSB2YWx1ZXMgYmVsb3cgYXJlIGdpdmVuIGFzIGRlZmF1bHRzIGhlcmUuIFRoZSBjb2xvciBzcGFjZSBpcyBkZWNsYXJlZCBpbiBhIGNvbG9yIHNwYWNlIGluZm9ybWF0aW9uIHRhZywgd2l0aCB0aGUgZGVmYXVsdCBiZWluZyB0aGUgdmFsdWUgdGhhdCBnaXZlcyB0aGUgb3B0aW1hbCBpbWFnZSBjaGFyYWN0ZXJpc3RpY3MgSW50ZXJvcGVyYWJpbGl0eSB0aGVzZSBjb25kaXRpb25zLgBUaGUgc2FtcGxpbmcgcmF0aW8gb2YgY2hyb21pbmFuY2UgY29tcG9uZW50cyBpbiByZWxhdGlvbiB0byB0aGUgbHVtaW5hbmNlIGNvbXBvbmVudC4gSW4gSlBFRyBjb21wcmVzc2VkIGRhdGEgYSBKUEVHIG1hcmtlciBpcyB1c2VkIGluc3RlYWQgb2YgdGhpcyB0YWcuAFRoZSBzbWFsbGVzdCBGIG51bWJlciBvZiB0aGUgbGVucy4gVGhlIHVuaXQgaXMgdGhlIEFQRVggdmFsdWUuIE9yZGluYXJpbHkgaXQgaXMgZ2l2ZW4gaW4gdGhlIHJhbmdlIG9mIDAwLjAwIHRvIDk5Ljk5LCBidXQgaXQgaXMgbm90IGxpbWl0ZWQgdG8gdGhpcyByYW5nZS4AVGhlIHN5c3RlbSBjYW5ub3QgcHJvdmlkZSBlbm91Z2ggbWVtb3J5LgBUaGUgdGFnICclcycgY29udGFpbnMgYW4gaW52YWxpZCBudW1iZXIgb2YgY29tcG9uZW50cyAoJWksIGV4cGVjdGVkICVpKS4AVGhlIHRhZyAnJXMnIGNvbnRhaW5zIGRhdGEgb2YgYW4gaW52YWxpZCBmb3JtYXQgKCclcycsIGV4cGVjdGVkICclcycpLgBUaGUgdG90YWwgbnVtYmVyIG9mIGJ5dGVzIGluIGVhY2ggc3RyaXAuIFdpdGggSlBFRyBjb21wcmVzc2VkIGRhdGEgdGhpcyBkZXNpZ25hdGlvbiBpcyBub3QgbmVlZGVkIGFuZCBpcyBvbWl0dGVkLgBUaGUgdW5pdCBmb3IgbWVhc3VyaW5nIDxYUmVzb2x1dGlvbj4gYW5kIDxZUmVzb2x1dGlvbj4uIFRoZSBzYW1lIHVuaXQgaXMgdXNlZCBmb3IgYm90aCA8WFJlc29sdXRpb24+IGFuZCA8WVJlc29sdXRpb24+LiBJZiB0aGUgaW1hZ2UgcmVzb2x1dGlvbiBpcyB1bmtub3duLCAyIChpbmNoZXMpIGlzIGRlc2lnbmF0ZWQuAFRoZSB2YWx1ZSBvZiBicmlnaHRuZXNzLiBUaGUgdW5pdCBpcyB0aGUgQVBFWCB2YWx1ZS4gT3JkaW5hcmlseSBpdCBpcyBnaXZlbiBpbiB0aGUgcmFuZ2Ugb2YgLTk5Ljk5IHRvIDk5Ljk5LgBUaGUgdmVyc2lvbiBvZiB0aGlzIHN0YW5kYXJkIHN1cHBvcnRlZC4gTm9uZXhpc3RlbmNlIG9mIHRoaXMgZmllbGQgaXMgdGFrZW4gdG8gbWVhbiBub25jb25mb3JtYW5jZSB0byB0aGUgc3RhbmRhcmQuAFRoaXMgbnVtYmVyIGlzIHVuaXF1ZSBhbmQgYmFzZWQgb24gdGhlIGRhdGUgb2YgbWFudWZhY3R1cmUuAFRoaXMgdGFnIGluZGljYXRlcyBhbiBpZGVudGlmaWVyIGFzc2lnbmVkIHVuaXF1ZWx5IHRvIGVhY2ggaW1hZ2UuIEl0IGlzIHJlY29yZGVkIGFzIGFuIEFTQ0lJIHN0cmluZyBlcXVpdmFsZW50IHRvIGhleGFkZWNpbWFsIG5vdGF0aW9uIGFuZCAxMjgtYml0IGZpeGVkIGxlbmd0aC4AVGhpcyB0YWcgaW5kaWNhdGVzIGluZm9ybWF0aW9uIG9uIHRoZSBwaWN0dXJlLXRha2luZyBjb25kaXRpb25zIG9mIGEgcGFydGljdWxhciBjYW1lcmEgbW9kZWwuIFRoZSB0YWcgaXMgdXNlZCBvbmx5IHRvIGluZGljYXRlIHRoZSBwaWN0dXJlLXRha2luZyBjb25kaXRpb25zIGluIHRoZSByZWFkZXIuAFRoaXMgdGFnIGluZGljYXRlcyB0aGUgZGVncmVlIG9mIG92ZXJhbGwgaW1hZ2UgZ2FpbiBhZGp1c3RtZW50LgBUaGlzIHRhZyBpbmRpY2F0ZXMgdGhlIGRpZ2l0YWwgem9vbSByYXRpbyB3aGVuIHRoZSBpbWFnZSB3YXMgc2hvdC4gSWYgdGhlIG51bWVyYXRvciBvZiB0aGUgcmVjb3JkZWQgdmFsdWUgaXMgMCwgdGhpcyBpbmRpY2F0ZXMgdGhhdCBkaWdpdGFsIHpvb20gd2FzIG5vdCB1c2VkLgBUaGlzIHRhZyBpbmRpY2F0ZXMgdGhlIGRpcmVjdGlvbiBvZiBjb250cmFzdCBwcm9jZXNzaW5nIGFwcGxpZWQgYnkgdGhlIGNhbWVyYSB3aGVuIHRoZSBpbWFnZSB3YXMgc2hvdC4AVGhpcyB0YWcgaW5kaWNhdGVzIHRoZSBkaXJlY3Rpb24gb2Ygc2F0dXJhdGlvbiBwcm9jZXNzaW5nIGFwcGxpZWQgYnkgdGhlIGNhbWVyYSB3aGVuIHRoZSBpbWFnZSB3YXMgc2hvdC4AVGhpcyB0YWcgaW5kaWNhdGVzIHRoZSBkaXJlY3Rpb24gb2Ygc2hhcnBuZXNzIHByb2Nlc3NpbmcgYXBwbGllZCBieSB0aGUgY2FtZXJhIHdoZW4gdGhlIGltYWdlIHdhcyBzaG90LgBUaGlzIHRhZyBpbmRpY2F0ZXMgdGhlIGRpc3RhbmNlIHRvIHRoZSBzdWJqZWN0LgBUaGlzIHRhZyBpbmRpY2F0ZXMgdGhlIGVxdWl2YWxlbnQgZm9jYWwgbGVuZ3RoIGFzc3VtaW5nIGEgMzVtbSBmaWxtIGNhbWVyYSwgaW4gbW0uIEEgdmFsdWUgb2YgMCBtZWFucyB0aGUgZm9jYWwgbGVuZ3RoIGlzIHVua25vd24uIE5vdGUgdGhhdCB0aGlzIHRhZyBkaWZmZXJzIGZyb20gdGhlIEZvY2FsTGVuZ3RoIHRhZy4AVGhpcyB0YWcgaW5kaWNhdGVzIHRoZSBleHBvc3VyZSBtb2RlIHNldCB3aGVuIHRoZSBpbWFnZSB3YXMgc2hvdC4gSW4gYXV0by1icmFja2V0aW5nIG1vZGUsIHRoZSBjYW1lcmEgc2hvb3RzIGEgc2VyaWVzIG9mIGZyYW1lcyBvZiB0aGUgc2FtZSBzY2VuZSBhdCBkaWZmZXJlbnQgZXhwb3N1cmUgc2V0dGluZ3MuAFRoaXMgdGFnIGluZGljYXRlcyB0aGUgbG9jYXRpb24gYW5kIGFyZWEgb2YgdGhlIG1haW4gc3ViamVjdCBpbiB0aGUgb3ZlcmFsbCBzY2VuZS4AVGhpcyB0YWcgaW5kaWNhdGVzIHRoZSB0eXBlIG9mIHNjZW5lIHRoYXQgd2FzIHNob3QuIEl0IGNhbiBhbHNvIGJlIHVzZWQgdG8gcmVjb3JkIHRoZSBtb2RlIGluIHdoaWNoIHRoZSBpbWFnZSB3YXMgc2hvdC4gTm90ZSB0aGF0IHRoaXMgZGlmZmVycyBmcm9tIHRoZSBzY2VuZSB0eXBlIDxTY2VuZVR5cGU+IHRhZy4AVGhpcyB0YWcgaW5kaWNhdGVzIHRoZSB1c2Ugb2Ygc3BlY2lhbCBwcm9jZXNzaW5nIG9uIGltYWdlIGRhdGEsIHN1Y2ggYXMgcmVuZGVyaW5nIGdlYXJlZCB0byBvdXRwdXQuIFdoZW4gc3BlY2lhbCBwcm9jZXNzaW5nIGlzIHBlcmZvcm1lZCwgdGhlIHJlYWRlciBpcyBleHBlY3RlZCB0byBkaXNhYmxlIG9yIG1pbmltaXplIGFueSBmdXJ0aGVyIHByb2Nlc3NpbmcuAFRoaXMgdGFnIGluZGljYXRlcyB0aGUgd2hpdGUgYmFsYW5jZSBtb2RlIHNldCB3aGVuIHRoZSBpbWFnZSB3YXMgc2hvdC4AVGhpcyB0YWcgaXMgcmVjb3JkZWQgd2hlbiBhbiBpbWFnZSBpcyB0YWtlbiB1c2luZyBhIHN0cm9iZSBsaWdodCAoZmxhc2gpLgBUaGlzIHRhZyBpcyB1c2VkIHRvIHJlY29yZCB0aGUgbmFtZSBvZiBhbiBhdWRpbyBmaWxlIHJlbGF0ZWQgdG8gdGhlIGltYWdlIGRhdGEuIFRoZSBvbmx5IHJlbGF0aW9uYWwgaW5mb3JtYXRpb24gcmVjb3JkZWQgaGVyZSBpcyB0aGUgRXhpZiBhdWRpbyBmaWxlIG5hbWUgYW5kIGV4dGVuc2lvbiAoYW4gQVNDSUkgc3RyaW5nIGNvbnNpc3Rpbmcgb2YgOCBjaGFyYWN0ZXJzICsgJy4nICsgMyBjaGFyYWN0ZXJzKS4gVGhlIHBhdGggaXMgbm90IHJlY29yZGVkLiBTdGlwdWxhdGlvbnMgb24gYXVkaW8gYW5kIGZpbGUgbmFtaW5nIGNvbnZlbnRpb25zIGFyZSBkZWZpbmVkIGluIHRoZSBzcGVjaWZpY2F0aW9uLiBXaGVuIHVzaW5nIHRoaXMgdGFnLCBhdWRpbyBmaWxlcyBtdXN0IGJlIHJlY29yZGVkIGluIGNvbmZvcm1hbmNlIHRvIHRoZSBFeGlmIGF1ZGlvIGZvcm1hdC4gV3JpdGVycyBhcmUgYWxzbyBhbGxvd2VkIHRvIHN0b3JlIHRoZSBkYXRhIHN1Y2ggYXMgQXVkaW8gd2l0aGluIEFQUDIgYXMgRmxhc2hQaXggZXh0ZW5zaW9uIHN0cmVhbSBkYXRhLiBUaGUgbWFwcGluZyBvZiBFeGlmIGltYWdlIGZpbGVzIGFuZCBhdWRpbyBmaWxlcyBpcyBkb25lIGluIGFueSBvZiB0aHJlZSB3YXlzLCBbMV0sIFsyXSBhbmQgWzNdLiBJZiBtdWx0aXBsZSBmaWxlcyBhcmUgbWFwcGVkIHRvIG9uZSBmaWxlIGFzIGluIFsyXSBvciBbM10sIHRoZSBhYm92ZSBmb3JtYXQgaXMgdXNlZCB0byByZWNvcmQganVzdCBvbmUgYXVkaW8gZmlsZSBuYW1lLiBJZiB0aGVyZSBhcmUgbXVsdGlwbGUgYXVkaW8gZmlsZXMsIHRoZSBmaXJzdCByZWNvcmRlZCBmaWxlIGlzIGdpdmVuLiBJbiB0aGUgY2FzZSBvZiBbM10sIGZvciBleGFtcGxlLCBmb3IgdGhlIEV4aWYgaW1hZ2UgZmlsZSAiRFNDMDAwMDEuSlBHIiBvbmx5ICAiU05EMDAwMDEuV0FWIiBpcyBnaXZlbiBhcyB0aGUgcmVsYXRlZCBFeGlmIGF1ZGlvIGZpbGUuIFdoZW4gdGhlcmUgYXJlIHRocmVlIEV4aWYgYXVkaW8gZmlsZXMgIlNORDAwMDAxLldBViIsICJTTkQwMDAwMi5XQVYiIGFuZCAiU05EMDAwMDMuV0FWIiwgdGhlIEV4aWYgaW1hZ2UgZmlsZSBuYW1lIGZvciBlYWNoIG9mIHRoZW0sICJEU0MwMDAwMS5KUEciLCBpcyBpbmRpY2F0ZWQuIEJ5IGNvbWJpbmluZyBtdWx0aXBsZSByZWxhdGlvbmFsIGluZm9ybWF0aW9uLCBhIHZhcmlldHkgb2YgcGxheWJhY2sgcG9zc2liaWxpdGllcyBjYW4gYmUgc3VwcG9ydGVkLiBUaGUgbWV0aG9kIG9mIHVzaW5nIHJlbGF0aW9uYWwgaW5mb3JtYXRpb24gaXMgbGVmdCB0byB0aGUgaW1wbGVtZW50YXRpb24gb24gdGhlIHBsYXliYWNrIHNpZGUuIFNpbmNlIHRoaXMgaW5mb3JtYXRpb24gaXMgYW4gQVNDSUkgY2hhcmFjdGVyIHN0cmluZywgaXQgaXMgdGVybWluYXRlZCBieSBOVUxMLiBXaGVuIHRoaXMgdGFnIGlzIHVzZWQgdG8gbWFwIGF1ZGlvIGZpbGVzLCB0aGUgcmVsYXRpb24gb2YgdGhlIGF1ZGlvIGZpbGUgdG8gaW1hZ2UgZGF0YSBtdXN0IGFsc28gYmUgaW5kaWNhdGVkIG9uIHRoZSBhdWRpbyBmaWxlIGVuZC4AVGhpcyB0YWcgcmVjb3JkcyB0aGUgY2FtZXJhIG9yIGlucHV0IGRldmljZSBzcGF0aWFsIGZyZXF1ZW5jeSB0YWJsZSBhbmQgU0ZSIHZhbHVlcyBpbiB0aGUgZGlyZWN0aW9uIG9mIGltYWdlIHdpZHRoLCBpbWFnZSBoZWlnaHQsIGFuZCBkaWFnb25hbCBkaXJlY3Rpb24sIGFzIHNwZWNpZmllZCBpbiBJU08gMTIyMzMuAFRoaXMgdGFnIHJlY29yZHMgdGhlIG5hbWUgYW5kIHZlcnNpb24gb2YgdGhlIHNvZnR3YXJlIG9yIGZpcm13YXJlIG9mIHRoZSBjYW1lcmEgb3IgaW1hZ2UgaW5wdXQgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIGltYWdlLiBUaGUgZGV0YWlsZWQgZm9ybWF0IGlzIG5vdCBzcGVjaWZpZWQsIGJ1dCBpdCBpcyByZWNvbW1lbmRlZCB0aGF0IHRoZSBleGFtcGxlIHNob3duIGJlbG93IGJlIGZvbGxvd2VkLiBXaGVuIHRoZSBmaWVsZCBpcyBsZWZ0IGJsYW5rLCBpdCBpcyB0cmVhdGVkIGFzIHVua25vd24uAFRoaXMgdGFnIHJlY29yZHMgdGhlIG5hbWUgb2YgdGhlIGNhbWVyYSBvd25lciwgcGhvdG9ncmFwaGVyIG9yIGltYWdlIGNyZWF0b3IuIFRoZSBkZXRhaWxlZCBmb3JtYXQgaXMgbm90IHNwZWNpZmllZCwgYnV0IGl0IGlzIHJlY29tbWVuZGVkIHRoYXQgdGhlIGluZm9ybWF0aW9uIGJlIHdyaXR0ZW4gYXMgaW4gdGhlIGV4YW1wbGUgYmVsb3cgZm9yIGVhc2Ugb2YgSW50ZXJvcGVyYWJpbGl0eS4gV2hlbiB0aGUgZmllbGQgaXMgbGVmdCBibGFuaywgaXQgaXMgdHJlYXRlZCBhcyB1bmtub3duLgBUaGlzIHRhZyByZXNlcnZlcyBzcGFjZSB0aGF0IGNhbiBiZSByZWNsYWltZWQgbGF0ZXIgd2hlbiBhZGRpdGlvbmFsIG1ldGFkYXRhIGFyZSBhZGRlZC4gTmV3IG1ldGFkYXRhIGNhbiBiZSB3cml0dGVuIGluIHBsYWNlIGJ5IHJlcGxhY2luZyB0aGlzIHRhZyB3aXRoIGEgc21hbGxlciBkYXRhIGVsZW1lbnQgYW5kIHVzaW5nIHRoZSByZWNsYWltZWQgc3BhY2UgdG8gc3RvcmUgdGhlIG5ldyBvciBleHBhbmRlZCBtZXRhZGF0YSB0YWdzLgBUaHJlZS1jaGlwIGNvbG9yIGFyZWEgc2Vuc29yAFRodW1ibmFpbCBJbWFnZQBUaW1lAFRpbWUgWm9uZQBUaW1lIFpvbmUgT2Zmc2V0AFRva2luYSBBRjE5My0yIDE5LTM1bW0gZi8zLjUtNC41AFRva2luYSBBVC1YMjgwQUYgUFJPIDI4LTgwbW0gRjIuOCBBc3BoZXJpY2FsAFRvbmUgQ29tcGVuc2F0aW9uAFRvbmUgQ3VydmUAVG9wAFRvcCB0byBib3R0b20AVG9wLWNlbnRlcgBUb3AtbGVmdABUb3AtcmlnaHQAVG90YWwgTnVtYmVyIG9mIFBpY3R1cmVzIFRha2VuAFRyYW5zZmVyIEZ1bmN0aW9uAFRyYW5zZmVyIFJhbmdlAFRyaWxpbmVhciBzZW5zb3IAVHVuZ3N0ZW4AVHVuZ3N0ZW4gaW5jYW5kZXNjZW50IGxpZ2h0AFR2LXByaW9yaXR5AFR3by1jaGlwIGNvbG9yIGFyZWEgc2Vuc29yAFVuY2FsaWJyYXRlZABVbmNvbXByZXNzZWQAVW5kZWZpbmVkAFVuZGVyd2F0ZXIAVW5leHBlY3RlZCBudW1iZXIgb2YgY29tcG9uZW50cyAoJWxpLCBleHBlY3RlZCAyLCAzLCBvciA0KS4AVW5rbm93bgBVbmtub3duICVodQBVbmtub3duIEFGIHBvc2l0aW9uAFVua25vd24gRXhpZiBWZXJzaW9uAFVua25vd24gRmxhc2hQaXggVmVyc2lvbgBVbmtub3duIGVuY29kaW5nLgBVbmtub3duIHZhbHVlICVoaQBVbmtub3duIHZhbHVlICVpAFVuc3VwcG9ydGVkIEpJUyBzdHJpbmcAVW5zdXBwb3J0ZWQgVU5JQ09ERSBzdHJpbmcAVXBwZXItbGVmdABVcHBlci1yaWdodABVc2VyIDEAVXNlciAyAFVzZXIgQ29tbWVudABVc2VyIGRlZi4gMQBVc2VyIGRlZi4gMgBVc2VyIGRlZi4gMwBVc2VyIHNlbGVjdGVkAFZHQSBiYXNpYwBWR0EgZmluZQBWR0Egbm9ybWFsAFZhcmkgUHJvZ3JhbQBWZXJ5IGNsb3NlAFZpYnJhdGlvbiByZWR1Y3Rpb24AVml2aWQAVm9pY2UgTWVtbwBXaGVuIGxvYWRpbmcgYW5kIHJlc2F2aW5nIEV4aWYgZGF0YSwgc2F2ZSB0aGUgbWFrZXIgbm90ZSB1bm1vZGlmaWVkLiBCZSBhd2FyZSB0aGF0IHRoZSBtYWtlciBub3RlIGNhbiBnZXQgY29ycnVwdGVkLgBXaGl0ZSBCYWxhbmNlAFdoaXRlIEJhbGFuY2UgQmlhcwBXaGl0ZSBCYWxhbmNlIEJyYWNrZXQAV2hpdGUgQmFsYW5jZSBGaW5lIEFkanVzdG1lbnQAV2hpdGUgQmFsYW5jZSBNb2RlAFdoaXRlIEJhbGFuY2UgUkIAV2hpdGUgQmFsYW5jZSBTZXR0aW5nAFdoaXRlIEJvYXJkAFdoaXRlIFBvaW50AFdoaXRlIGZsdW9yZXNjZW50AFdpZGUAV2lkZSBSYW5nZQBXaWRlMSAoMjMwJSkAV2lkZTIgKDQwMCUpAFdpZGVzY3JlZW4AV2l0aCBzdHJvYmUAV2l0aGluIGRpc3RhbmNlICVpIG9mICh4LHkpID0gKCVpLCVpKQBXaXRoaW4gcmVjdGFuZ2xlICh3aWR0aCAlaSwgaGVpZ2h0ICVpKSBhcm91bmQgKHgseSkgPSAoJWksJWkpAFdpdGhvdXQgc3Ryb2JlAFdvcmxkIFRpbWUgTG9jYXRpb24AWC1SZXNvbHV0aW9uAFhNTCBQYWNrZXQAWE1QIE1ldGFkYXRhAFhQIEF1dGhvcgBYUCBDb21tZW50AFhQIEtleXdvcmRzAFhQIFN1YmplY3QAWFAgVGl0bGUAWQBZLVJlc29sdXRpb24AWUNiQ3IAWUNiQ3IgQ29lZmZpY2llbnRzAFlDYkNyIFBvc2l0aW9uaW5nAFlDYkNyIFN1Yi1TYW1wbGluZwBZQ2JDcjQ6MjowAFlDYkNyNDoyOjIAWWVzAFpvb20AWm9vbSBTb3VyY2UgV2lkdGgAWm9vbSBTdGVwIENvdW50AFpvb20gVGFyZ2V0IFdpZHRoAFtET19OT1RfVFJBTlNMQVRFX1RISVNfTUFSS0VSXQBbTm9uZV0AY20AaW4Ac1JHQgBQcm9qZWN0LUlkLVZlcnNpb246IGxpYmV4aWYKUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IGxpYmV4aWYtZGV2ZWxAbGlzdHMuc291cmNlZm9yZ2UubmV0ClBPVC1DcmVhdGlvbi1EYXRlOiAyMDEyLTA3LTEyIDIwOjQxKzAyMDAKUE8tUmV2aXNpb24tRGF0ZTogMjAxMS0xMC0yOCAxNzoxMSswMDAwCkxhc3QtVHJhbnNsYXRvcjogSm9lbCBQaWNrZXR0IDxqbGtwY2t0dEBnbWFpbC5jb20+Ckxhbmd1YWdlLVRlYW06IEVuZ2xpc2ggKEF1c3RyYWxpYSkgPGVuX0FVQGxpLm9yZz4KTGFuZ3VhZ2U6IApNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdApYLUxhdW5jaHBhZC1FeHBvcnQtRGF0ZTogMjAxMi0wNi0yNSAwNjo1MiswMDAwClgtR2VuZXJhdG9yOiBMYXVuY2hwYWQgKGJ1aWxkIDE1NDgyKQoAICglLjAyZiBjZC9tXjIpACAoJWQgc2VjLikAICgxLyVkIHNlYy4pACAoMzUgZXF1aXZhbGVudDogJWQgbW0pACAoZi8lLjAxZikAIHNlYy4AJS4wMmYgRVYAJS4yZiBFVgAlLjJmIG1tACUyLjJmIG1ldHJlcwAlMi4yZiBtbQAlaSAobXMpACVpIGJ5dGVzIHVuZGVmaW5lZCBkYXRhACVpIGJ5dGVzIHVua25vd24gZGF0YQAlaSBieXRlcyB1bmtub3duIGRhdGE6IAAlaSBieXRlcyB1bnN1cHBvcnRlZCBkYXRhIHR5cGUAJXUgbW0AKEVkaXRvcikAKFBob3RvZ3JhcGhlcikALCAALQAxLyVpADEvMwAxMCBmcmFtZXMvc2VjADEwMAAxNSBmcmFtZXMvc2VjADIgTXBpeGVsIGJhc2ljADIgTXBpeGVsIGZpbmUAMiBNcGl4ZWwgbm9ybWFsADIgc2VjLgAyLzMAMjAgZnJhbWVzL3NlYwAyMDAAMjMwNHgxNzI4IG9yIDI1OTJ4MTk0NAAyNTYweDE5MjAgb3IgMjMwNHgxNzI4ADI4MTZ4MjIxMiBvciAyODE2eDIxMTIAMm5kLWN1cnRhaW4gc3luYyB1c2VkADJ4ADJ4MiBtYXRyaXggKGNsb2Nrd2lzZSkAMzAwOHgyMDA4IG9yIDMwNDB4MjAyNAA0MDAANHgANSBmcmFtZXMvc2VjADUwADgwMAA/AEEgY2hhcmFjdGVyIHN0cmluZyBjb250YWluaW5nIGEgY29tbWVudCBhYm91dCB0aGUgaW1hZ2UsIGVuY29kZWQgaW4gVVRGLTE2TEUuAEEgY2hhcmFjdGVyIHN0cmluZyBjb250YWluaW5nIGtleSB3b3JkcyBkZXNjcmliaW5nIHRoZSBpbWFnZSwgZW5jb2RlZCBpbiBVVEYtMTZMRS4AQSBjaGFyYWN0ZXIgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG5hbWUgb2YgdGhlIGltYWdlIGNyZWF0b3IsIGVuY29kZWQgaW4gVVRGLTE2TEUuAEEgY2hhcmFjdGVyIHN0cmluZyBnaXZpbmcgdGhlIGltYWdlIHN1YmplY3QsIGVuY29kZWQgaW4gVVRGLTE2TEUuAEEgY2hhcmFjdGVyIHN0cmluZyBnaXZpbmcgdGhlIHRpdGxlIG9mIHRoZSBpbWFnZSwgZW5jb2RlZCBpbiBVVEYtMTZMRS4AQSBjaGFyYWN0ZXIgc3RyaW5nIGdpdmluZyB0aGUgdGl0bGUgb2YgdGhlIGltYWdlLiBJdCBtYXkgYmUgYSBjb21tZW50IHN1Y2ggYXMgIjE5ODggY29tcGFueSBwaWNuaWMiIG9yIHRoZSBsaWtlLiBUd28tYnl0ZXMgY2hhcmFjdGVyIGNvZGVzIGNhbm5vdCBiZSB1c2VkLiBXaGVuIGEgMi1ieXRlcyBjb2RlIGlzIG5lY2Vzc2FyeSwgdGhlIEV4aWYgUHJpdmF0ZSB0YWcgPFVzZXJDb21tZW50PiBpcyB0byBiZSB1c2VkLgBBIGNoYXJhY3RlciBzdHJpbmcgcmVjb3JkaW5nIGRhdGUgYW5kIHRpbWUgaW5mb3JtYXRpb24gcmVsYXRpdmUgdG8gVVRDIChDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZSkuIFRoZSBmb3JtYXQgaXMgIllZWVk6TU06REQiLiBUaGUgbGVuZ3RoIG9mIHRoZSBzdHJpbmcgaXMgMTEgYnl0ZXMgaW5jbHVkaW5nIE5VTEwuAEEgY2hhcmFjdGVyIHN0cmluZyByZWNvcmRpbmcgdGhlIG5hbWUgb2YgdGhlIEdQUyBhcmVhLiBUaGUgZmlyc3QgYnl0ZSBpbmRpY2F0ZXMgdGhlIGNoYXJhY3RlciBjb2RlIHVzZWQsIGFuZCB0aGlzIGlzIGZvbGxvd2VkIGJ5IHRoZSBuYW1lIG9mIHRoZSBHUFMgYXJlYS4gU2luY2UgdGhlIFR5cGUgaXMgbm90IEFTQ0lJLCBOVUxMIHRlcm1pbmF0aW9uIGlzIG5vdCBuZWNlc3NhcnkuAEEgY2hhcmFjdGVyIHN0cmluZyByZWNvcmRpbmcgdGhlIG5hbWUgb2YgdGhlIG1ldGhvZCB1c2VkIGZvciBsb2NhdGlvbiBmaW5kaW5nLiBUaGUgZmlyc3QgYnl0ZSBpbmRpY2F0ZXMgdGhlIGNoYXJhY3RlciBjb2RlIHVzZWQsIGFuZCB0aGlzIGlzIGZvbGxvd2VkIGJ5IHRoZSBuYW1lIG9mIHRoZSBtZXRob2QuIFNpbmNlIHRoZSBUeXBlIGlzIG5vdCBBU0NJSSwgTlVMTCB0ZXJtaW5hdGlvbiBpcyBub3QgbmVjZXNzYXJ5LgBBIGdlbmVyYWwgaW5kaWNhdGlvbiBvZiB0aGUga2luZCBvZiBkYXRhIGNvbnRhaW5lZCBpbiB0aGlzIHN1YmZpbGUuAEEgcG9pbnRlciB0byB0aGUgRXhpZiBJRkQuIEludGVyb3BlcmFiaWxpdHksIEV4aWYgSUZEIGhhcyB0aGUgc2FtZSBzdHJ1Y3R1cmUgYXMgdGhhdCBvZiB0aGUgSUZEIHNwZWNpZmllZCBpbiBUSUZGLiBvcmRpbmFyaWx5LCBob3dldmVyLCBpdCBkb2VzIG5vdCBjb250YWluIGltYWdlIGRhdGEgYXMgaW4gdGhlIGNhc2Ugb2YgVElGRi4AQSBwb2ludGVyIHRvIHRoZSBHUFMgSW5mbyBJRkQuIFRoZSBJbnRlcm9wZXJhYmlsaXR5IHN0cnVjdHVyZSBvZiB0aGUgR1BTIEluZm8gSUZELCBsaWtlIHRoYXQgb2YgRXhpZiBJRkQsIGhhcyBubyBpbWFnZSBkYXRhLgBBIHRhZyBmb3IgRXhpZiB1c2VycyB0byB3cml0ZSBrZXl3b3JkcyBvciBjb21tZW50cyBvbiB0aGUgaW1hZ2UgYmVzaWRlcyB0aG9zZSBpbiA8SW1hZ2VEZXNjcmlwdGlvbj4sIGFuZCB3aXRob3V0IHRoZSBjaGFyYWN0ZXIgY29kZSBsaW1pdGF0aW9ucyBvZiB0aGUgPEltYWdlRGVzY3JpcHRpb24+IHRhZy4gVGhlIGNoYXJhY3RlciBjb2RlIHVzZWQgaW4gdGhlIDxVc2VyQ29tbWVudD4gdGFnIGlzIGlkZW50aWZpZWQgYmFzZWQgb24gYW4gSUQgY29kZSBpbiBhIGZpeGVkIDgtYnl0ZSBhcmVhIGF0IHRoZSBzdGFydCBvZiB0aGUgdGFnIGRhdGEgYXJlYS4gVGhlIHVudXNlZCBwb3J0aW9uIG9mIHRoZSBhcmVhIGlzIHBhZGRlZCB3aXRoIE5VTEwgKCIwMC5oIikuIElEIGNvZGVzIGFyZSBhc3NpZ25lZCBieSBtZWFucyBvZiByZWdpc3RyYXRpb24uIFRoZSBkZXNpZ25hdGlvbiBtZXRob2QgYW5kIHJlZmVyZW5jZXMgZm9yIGVhY2ggY2hhcmFjdGVyIGNvZGUgYXJlIGRlZmluZWQgaW4gdGhlIHNwZWNpZmljYXRpb24uIFRoZSB2YWx1ZSBvZiBDb3VudE4gaXMgZGV0ZXJtaW5lZCBiYXNlZCBvbiB0aGUgOCBieXRlcyBpbiB0aGUgY2hhcmFjdGVyIGNvZGUgYXJlYSBhbmQgdGhlIG51bWJlciBvZiBieXRlcyBpbiB0aGUgdXNlciBjb21tZW50IHBhcnQuIFNpbmNlIHRoZSBUWVBFIGlzIG5vdCBBU0NJSSwgTlVMTCB0ZXJtaW5hdGlvbiBpcyBub3QgbmVjZXNzYXJ5LiBUaGUgSUQgY29kZSBmb3IgdGhlIDxVc2VyQ29tbWVudD4gYXJlYSBtYXkgYmUgYSBEZWZpbmVkIGNvZGUgc3VjaCBhcyBKSVMgb3IgQVNDSUksIG9yIG1heSBiZSBVbmRlZmluZWQuIFRoZSBVbmRlZmluZWQgbmFtZSBpcyBVbmRlZmluZWRUZXh0LCBhbmQgdGhlIElEIGNvZGUgaXMgZmlsbGVkIHdpdGggOCBieXRlcyBvZiBhbGwgIk5VTEwiICgiMDAuSCIpLiBBbiBFeGlmIHJlYWRlciB0aGF0IHJlYWRzIHRoZSA8VXNlckNvbW1lbnQ+IHRhZyBtdXN0IGhhdmUgYSBmdW5jdGlvbiBmb3IgZGV0ZXJtaW5pbmcgdGhlIElEIGNvZGUuIFRoaXMgZnVuY3Rpb24gaXMgbm90IHJlcXVpcmVkIGluIEV4aWYgcmVhZGVycyB0aGF0IGRvIG5vdCB1c2UgdGhlIDxVc2VyQ29tbWVudD4gdGFnLiBXaGVuIGEgPFVzZXJDb21tZW50PiBhcmVhIGlzIHNldCBhc2lkZSwgaXQgaXMgcmVjb21tZW5kZWQgdGhhdCB0aGUgSUQgY29kZSBiZSBBU0NJSSBhbmQgdGhhdCB0aGUgZm9sbG93aW5nIHVzZXIgY29tbWVudCBwYXJ0IGJlIGZpbGxlZCB3aXRoIGJsYW5rIGNoYXJhY3RlcnMgWzIwLkhdLgBBIHRhZyBmb3IgbWFudWZhY3R1cmVycyBvZiBFeGlmIHdyaXRlcnMgdG8gcmVjb3JkIGFueSBkZXNpcmVkIGluZm9ybWF0aW9uLiBUaGUgY29udGVudHMgYXJlIHVwIHRvIHRoZSBtYW51ZmFjdHVyZXIuAEEgdGFnIHVzZWQgdG8gcmVjb3JkIGZyYWN0aW9ucyBvZiBzZWNvbmRzIGZvciB0aGUgPERhdGVUaW1lPiB0YWcuAEEgdGFnIHVzZWQgdG8gcmVjb3JkIGZyYWN0aW9ucyBvZiBzZWNvbmRzIGZvciB0aGUgPERhdGVUaW1lRGlnaXRpemVkPiB0YWcuAEEgdGFnIHVzZWQgdG8gcmVjb3JkIGZyYWN0aW9ucyBvZiBzZWNvbmRzIGZvciB0aGUgPERhdGVUaW1lT3JpZ2luYWw+IHRhZy4AQSB0cmFuc2ZlciBmdW5jdGlvbiBmb3IgdGhlIGltYWdlLCBkZXNjcmliZWQgaW4gdGFidWxhciBzdHlsZS4gTm9ybWFsbHkgdGhpcyB0YWcgaXMgbm90IG5lY2Vzc2FyeSwgc2luY2UgY29sb3VyIHNwYWNlIGlzIHNwZWNpZmllZCBpbiB0aGUgY29sb3VyIHNwYWNlIGluZm9ybWF0aW9uIHRhZyAoPENvbG9yU3BhY2U+KS4AQS1ERVAAQS1UVEwAQUUgQnJhY2tldCBWYWx1ZQBBRSBCcmFja2V0aW5nAEFFIEluZm8AQUUgU2V0dGluZwBBRSBnb29kAEFFIGxvY2sAQUUgbG9jayArIGV4cG9zdXJlIGNvbXBlbnNhdGlvbgBBRiBGb2N1cyBQb3NpdGlvbgBBRiBQb2ludABBRiBQb2ludCBTZWxlY3RlZABBRiBSZXN1bHQAQUYgbm9uIEQgbGVucwBBRiBwb3NpdGlvbjogYm90dG9tAEFGIHBvc2l0aW9uOiBjZW50cmUAQUYgcG9zaXRpb246IGZhciBsZWZ0AEFGIHBvc2l0aW9uOiBmYXIgcmlnaHQAQUYgcG9zaXRpb246IGxlZnQAQUYgcG9zaXRpb246IGxvd2VyLWxlZnQAQUYgcG9zaXRpb246IGxvd2VyLXJpZ2h0AEFGIHBvc2l0aW9uOiByaWdodABBRiBwb3NpdGlvbjogdG9wAEFGIHBvc2l0aW9uOiB1cHBlci1sZWZ0AEFGIHBvc2l0aW9uOiB1cHBlci1yaWdodABBRi1DAEFGLUQgRyBWUiBsZW5zAEFGLUQgRyBsZW5zAEFGLUQgVlIgbGVucwBBRi1EIG9yIEFGLVMgbGVucwBBRi1TAEFJIGZvY3VzIEFGAEFJIHNlcnZvIEFGAEFTQ0lJAEFWSStUSE0AQWN0aW9uAEFkYXB0b3IAQWRkLCBjb3JyZWN0IGFuZCByZW1vdmUgZW50cmllcyB0byBnZXQgRVhJRiBkYXRhIHRoYXQgZm9sbG93cyB0aGUgc3BlY2lmaWNhdGlvbi4AQWRqdXN0IGV4cG9zdXJlAEFkb2JlIFJHQgBBbGwAQWx0aXR1ZGUAQWx0aXR1ZGUgUmVmZXJlbmNlAEFwZXJ0dXJlAEFwZXJ0dXJlIFZhbHVlAEFwZXJ0dXJlIHByaW9yaXR5AEFwZXJ0dXJlIHByaW9yaXR5IEFFAEFxdWFyaXVtAEFydGlzdABBdXRvAEF1dG8gKDEwMC00MDAlKQBBdXRvIEFGIFBvaW50AEF1dG8gQUYgcG9pbnQgc2VsZWN0aW9uAEF1dG8gQnJhY2tldGluZwBBdXRvIEV4cG9zdXJlIENoZWNrAEF1dG8gRm9jdXMgQ2hlY2sAQXV0byBJU08AQXV0byBSb3RhdGUAQXV0byBicmFja2V0AEF1dG8gZXhwb3N1cmUAQXV0byBoaWdoAEF1dG8gd2hpdGUgYmFsYW5jZQBBdXRvLCBkaWQgbm90IGZpcmUAQXV0bywgZGlkIG5vdCBmaXJlLCByZWQtZXllIHJlZHVjdGlvbgBBdXRvLCBmaXJlZABBdXRvLCBmaXJlZCwgcmVkLWV5ZSByZWR1Y3Rpb24AQXV0bywgcmVkLWV5ZSByZWR1Y3Rpb24AQXV0by1zZWxlY3RlZABBdXRvZm9jdXMgUG9pbnRzIFVzZWQAQXV0b21hdGljAEF1dHVtbgBBdi1wcmlvcml0eQBBdmVyYWdlAEF2ZwBCAEJhdHRlcnkgSW5mbwBCYXR0ZXJ5IExldmVsAEJlYWNoAEJlYXJpbmcgb2YgRGVzdGluYXRpb24AQmVzdABCZXN0c2hvdCBNb2RlAEJldHRlcgBCaXRzIHBlciBTYW1wbGUAQmxhY2sgJiBXaGl0ZSBNb2RlAEJsYWNrICYgd2hpdGUAQmxhY2sgTGV2ZWwAQmxhY2sgUG9pbnQAQmx1ZSBCYWxhbmNlAEJsdXIgQ2hlY2sAQmx1ciB3YXJuaW5nAEJvdHRvbQBCb3R0b20gdG8gdG9wAEJvdHRvbS1jZW50cmUAQm90dG9tLWxlZnQAQm90dG9tLXJpZ2h0AEJyYWNrZXRpbmcAQnJpZ2h0KwBCcmlnaHQtAEJyaWdodG5lc3MAQnJpZ2h0bmVzcyBWYWx1ZQBCdWxiIER1cmF0aW9uAEJ5dGUAQnl0ZSBhdCBwb3NpdGlvbiAlaTogMHglMDJ4AENDRCBTY2FuIE1vZGUAQ0NEIFNlbnNpdGl2aXR5AENDUyBJU08gU2Vuc2l0aXZpdHkAQ0ZBIFBhdHRlcm4AQ01ZSwBDUjIAQ1IyK0pQRUcAQ1JXK1RITQBDYW1lcmEgSUQAQ2FtZXJhIEluZm8AQ2FtZXJhIFRlbXBlcmF0dXJlAENhbWVyYSBUeXBlAENhbmRsZWxpZ2h0AENhbm9uIEVGIDEwMC0zMDBtbSBGNS42TABDYW5vbiBFRiAxMDAtNDAwbW0gZi80LjUtNS42TCBJUwBDYW5vbiBFRiAxMDAtNDAwbW0gZi80LjUtNS42TCBJUyArIHgxLjQAQ2Fub24gRUYgMTAwLTQwMG1tIGYvNC41LTUuNkwgSVMgKyB4MgBDYW5vbiBFRiAxMDBtbSBmLzIAQ2Fub24gRUYgMTAwbW0gZi8yLjggTWFjcm8AQ2Fub24gRUYgMTM1bW0gZi8yTABDYW5vbiBFRiAxNW1tIGYvMi44AENhbm9uIEVGIDE2LTM1bW0gZi8yLjhMAENhbm9uIEVGIDE3LTQwbW0gZi80TABDYW5vbiBFRiAxODBtbSBNYWNybyBmLzMuNUwgb3IgU2lnbWEgMTgwbW0gRVggSFNNIE1hY3JvIGYvMy41AENhbm9uIEVGIDIwLTM1bW0gZi8zLjUtNC41IFVTTQBDYW5vbiBFRiAyMDBtbSBmLzEuOEwAQ2Fub24gRUYgMjAwbW0gZi8yLjhMAENhbm9uIEVGIDIwMG1tIGYvMi44TCBJSQBDYW5vbiBFRiAyNC0xMDVtbSBmLzRMIElTAENhbm9uIEVGIDI0LTcwbW0gZi8yLjhMAENhbm9uIEVGIDI0LTg1bW0gZi8zLjUtNC41IFVTTQBDYW5vbiBFRiAyNG1tIGYvMi44IG9yIFNpZ21hIDE1bW0gZi8yLjggRVggRmlzaGV5ZQBDYW5vbiBFRiAyOC0xMDVtbSBmLzMuNS00LjUgVVNNAENhbm9uIEVGIDI4LTEwNW1tIGYvNC01LjYAQ2Fub24gRUYgMjgtMTM1bW0gZi8zLjUtNS42IElTAENhbm9uIEVGIDI4LTIwMG1tIGYvMy41LTUuNgBDYW5vbiBFRiAyOC03MG1tIGYvMi44TCBvciBTaWdtYSAyNC03MG1tIEVYIGYvMi44AENhbm9uIEVGIDI4LTgwIGYvMy41LTUuNiBVU00gSVYAQ2Fub24gRUYgMjgtODBtbSBmLzMuNS01LjYAQ2Fub24gRUYgMjhtbSBmLzEuOCBVU00AQ2Fub24gRUYgMjhtbSBmLzIuOABDYW5vbiBFRiAzMDBtbSBmLzIuOEwAQ2Fub24gRUYgMzAwbW0gZi8yLjhMIElTAENhbm9uIEVGIDMwMG1tIGYvNEwgSVMAQ2Fub24gRUYgMzUtMzUwbW0gZi8zLjUtNS42TABDYW5vbiBFRiAzNW1tIGYvMS40TABDYW5vbiBFRiAzNW1tIGYvMgBDYW5vbiBFRiA0MDBtbSBmLzIuOEwAQ2Fub24gRUYgNDAwbW0gZi8yLjhMICsgeDIAQ2Fub24gRUYgNDAwbW0gZi80IERPIElTAENhbm9uIEVGIDUwMG1tIGYvNC41TABDYW5vbiBFRiA1MDBtbSBmLzRMIElTAENhbm9uIEVGIDUwbW0gRjEuMkwgVVNNAENhbm9uIEVGIDUwbW0gZi8xLjBMAENhbm9uIEVGIDUwbW0gZi8xLjQAQ2Fub24gRUYgNTBtbSBmLzEuOABDYW5vbiBFRiA1MG1tIGYvMS44IE1rSUkAQ2Fub24gRUYgNjAwbW0gZi80TCBJUwBDYW5vbiBFRiA3MC0yMDBtbSBmLzIuOCBMAENhbm9uIEVGIDcwLTIwMG1tIGYvMi44IEwgKyB4MS40AENhbm9uIEVGIDcwLTIwMG1tIGYvMi44IEwgKyB4MgBDYW5vbiBFRiA3MC0yMDBtbSBmLzIuOEwgSVMgVVNNAENhbm9uIEVGIDcwLTIwMG1tIGYvMi44TCBJUyBVU00gKyB4MS40AENhbm9uIEVGIDcwLTIwMG1tIGYvMi44TCBJUyBVU00gKyB4MgBDYW5vbiBFRiA3MC0yMDBtbSBmLzRMAENhbm9uIEVGIDcwLTIwMG1tIGYvNEwgSVMgVVNNAENhbm9uIEVGIDcwLTMwMG1tIEY0LTUuNiBJUyBVU00AQ2Fub24gRUYgNzAtMzAwbW0gZi80LjUtNS42IERPIElTIFVTTQBDYW5vbiBFRiA3NS0zMDBtbSBmLzQtNS42AENhbm9uIEVGIDc1LTMwMG1tIGYvNC01LjYgSVMAQ2Fub24gRUYgODAtMjAwbW0gZi8yLjhMAENhbm9uIEVGIDg1bW0gZi8xLjJMAENhbm9uIEVGIDg1bW0gZi8xLjggVVNNAENhbm9uIEVGIDkwLTMwMG1tIGYvNC41LTUuNgBDYW5vbiBFRi1TIDE3LTg1bW0gZjQtNS42IElTIFVTTQBDYW5vbiBFRi1TIDE4LTU1bW0gZi8zLjUtNC41IFVTTQBDYW5vbiBFRi1TIDE4LTU1bW0gZi8zLjUtNS42AENhbm9uIEVGLVMxMC0yMm1tIEYzLjUtNC41IFVTTQBDYW5vbiBFRi1TNjBtbSBGMi44IE1hY3JvIFVTTQBDYW5vbiBNUC1FIDY1bW0gZi8yLjggMS01eCBNYWNybyBQaG90bwBDYW5vbiBUUy1FIDI0bW0gZi8zLjVMAENhbm9uIFRTLUUgNDVtbSBmLzIuOABDYW5vbiBUUy1FIDkwbW0gZi8yLjgAQ2FwdHVyZSBFZGl0b3IgRGF0YQBDYXB0dXJlIEVkaXRvciBWZXJzaW9uAENhcHR1cmUgTW9kZQBDYgBDZW50cmUAQ2VudHJlLXJpZ2h0AENlbnRyZS13ZWlnaHQAQ2VudHJlLXdlaWdodGVkIGF2ZXJhZ2UAQ2VudHJlZABDZW50aW1ldHJlAENocm9tYXRpY2l0eSBTYXR1cmF0aW9uAENodW5reSBmb3JtYXQAQ2llTEFCAENsb3NlAENsb3NlIHZpZXcAQ2xvdWR5AENsb3VkeSB3ZWF0aGVyAENvLXNpdGVkAENvbG91cgBDb2xvdXIgQWRqdXN0bWVudCBNb2RlAENvbG91ciBDb250cm9sAENvbG91ciBJbmZvcm1hdGlvbgBDb2xvdXIgTWF0cml4AENvbG91ciBNYXRyaXggTnVtYmVyAENvbG91ciBNb2RlAENvbG91ciBNb2RlICg/KQBDb2xvdXIgU3BhY2UAQ29sb3VyIFRvbmUAQ29sb3VyIGFjY2VudABDb2xvdXIgc2VxdWVudGlhbCBhcmVhIHNlbnNvcgBDb2xvdXIgc2VxdWVudGlhbCBsaW5lYXIgc2Vuc29yAENvbG91ciBzd2FwAENvbG91cnMAQ29tcGFjdABDb21wb25lbnRzIENvbmZpZ3VyYXRpb24AQ29tcHJlc3NlZCBCaXRzIHBlciBQaXhlbABDb21wcmVzc2lvbgBDb21wcmVzc2lvbiBSYXRpbwBDb250aW51b3VzAENvbnRpbnVvdXMgU2VxdWVuY2UgTnVtYmVyAENvbnRpbnVvdXMgVGFraW5nAENvbnRpbnVvdXMsIGhpZ2gAQ29udGludW91cywgbG93AENvbnRpbnVvdXMsIHNwZWVkIHByaW9yaXR5AENvbnRyYXN0AENvbnRyYXN0IEN1cnZlAENvbnRyYXN0IFNldHRpbmcAQ29udHJhc3QrAENvbnRyYXN0LQBDb252ZXJ0ZXIAQ29vbCB3aGl0ZSBmbHVvcmVzY2VudABDb3B5cmlnaHQAQ29weXJpZ2h0IGluZm9ybWF0aW9uLiBJbiB0aGlzIHN0YW5kYXJkIHRoZSB0YWcgaXMgdXNlZCB0byBpbmRpY2F0ZSBib3RoIHRoZSBwaG90b2dyYXBoZXIgYW5kIGVkaXRvciBjb3B5cmlnaHRzLiBJdCBpcyB0aGUgY29weXJpZ2h0IG5vdGljZSBvZiB0aGUgcGVyc29uIG9yIG9yZ2FuaXNhdGlvbiBjbGFpbWluZyByaWdodHMgdG8gdGhlIGltYWdlLiBUaGUgSW50ZXJvcGVyYWJpbGl0eSBjb3B5cmlnaHQgc3RhdGVtZW50IGluY2x1ZGluZyBkYXRlIGFuZCByaWdodHMgc2hvdWxkIGJlIHdyaXR0ZW4gaW4gdGhpcyBmaWVsZDsgZS5nLiwgIkNvcHlyaWdodCwgSm9obiBTbWl0aCwgMTl4eC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4iLiBJbiB0aGlzIHN0YW5kYXJkIHRoZSBmaWVsZCByZWNvcmRzIGJvdGggdGhlIHBob3RvZ3JhcGhlciBhbmQgZWRpdG9yIGNvcHlyaWdodHMsIHdpdGggZWFjaCByZWNvcmRlZCBpbiBhIHNlcGFyYXRlIHBhcnQgb2YgdGhlIHN0YXRlbWVudC4gV2hlbiB0aGVyZSBpcyBhIGNsZWFyIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIHBob3RvZ3JhcGhlciBhbmQgZWRpdG9yIGNvcHlyaWdodHMsIHRoZXNlIGFyZSB0byBiZSB3cml0dGVuIGluIHRoZSBvcmRlciBvZiBwaG90b2dyYXBoZXIgZm9sbG93ZWQgYnkgZWRpdG9yIGNvcHlyaWdodCwgc2VwYXJhdGVkIGJ5IE5VTEwgKGluIHRoaXMgY2FzZSwgc2luY2UgdGhlIHN0YXRlbWVudCBhbHNvIGVuZHMgd2l0aCBhIE5VTEwsIHRoZXJlIGFyZSB0d28gTlVMTCBjb2RlcykgKHNlZSBleGFtcGxlIDEpLiBXaGVuIG9ubHkgdGhlIHBob3RvZ3JhcGhlciBpcyBnaXZlbiwgaXQgaXMgdGVybWluYXRlZCBieSBvbmUgTlVMTCBjb2RlIChzZWUgZXhhbXBsZSAyKS4gV2hlbiBvbmx5IHRoZSBlZGl0b3IgY29weXJpZ2h0IGlzIGdpdmVuLCB0aGUgcGhvdG9ncmFwaGVyIGNvcHlyaWdodCBwYXJ0IGNvbnNpc3RzIG9mIG9uZSBzcGFjZSBmb2xsb3dlZCBieSBhIHRlcm1pbmF0aW5nIE5VTEwgY29kZSwgdGhlbiB0aGUgZWRpdG9yIGNvcHlyaWdodCBpcyBnaXZlbiAoc2VlIGV4YW1wbGUgMykuIFdoZW4gdGhlIGZpZWxkIGlzIGxlZnQgYmxhbmssIGl0IGlzIHRyZWF0ZWQgYXMgdW5rbm93bi4AQ29ycnVwdCBkYXRhAENvc2luYSAxMDBtbSBmLzMuNSBNYWNybyBBRgBDcgBDcmVhdGl2ZQBDcmVhdGl2ZSBwcm9ncmFtbWUgKGJpYXNlZCB0b3dhcmRzIGRlcHRoIG9mIGZpZWxkKQBDcmVhdGl2ZSBwcm9ncmFtbWUgKGJpYXNlZCB0b3dhcmRzIGZhc3Qgc2h1dHRlciBzcGVlZCkAQ3VzdG9tAEN1c3RvbSAxAEN1c3RvbSAyAEN1c3RvbSBGdW5jdGlvbnMAQ3VzdG9tIFJlbmRlcmVkAEN1c3RvbSBwcm9jZXNzAEQ1NQBENjUARDc1AERTQwBEYXJrIHBldABEYXRhIER1bXAARGF0ZQBEYXRlIGFuZCBUaW1lAERhdGUgYW5kIFRpbWUgKERpZ2l0aXNlZCkARGF0ZSBhbmQgVGltZSAoT3JpZ2luYWwpAERheSB3aGl0ZSBmbHVvcmVzY2VudABEYXlsaWdodABEYXlsaWdodCBTYXZpbmdzAERheWxpZ2h0IGZsdW9yZXNjZW50AERlYnVnZ2luZyBpbmZvcm1hdGlvbgBEZWJ1Z2dpbmcgaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlLgBEZWZhdWx0AERlZmluZWQgYnkgQWRvYmUgQ29ycG9yYXRpb24gdG8gZW5hYmxlIFRJRkYgVHJlZXMgd2l0aGluIGEgVElGRiBmaWxlLgBEZWZsYXRlL1pJUCBjb21wcmVzc2lvbgBEZXN0aW5hdGlvbiBDaXR5AERlc3RpbmF0aW9uIENpdHkgQ29kZQBEZXN0aW5hdGlvbiBEU1QARGVzdGluYXRpb24gRGF5bGlnaHQgU2F2aW5ncyBUaW1lAERldmVsb3BtZW50IER5bmFtaWMgUmFuZ2UgV2lkZSBNb2RlAERldmljZSBTZXR0aW5nIERlc2NyaXB0aW9uAERpZ2l0YWwgWm9vbQBEaWdpdGFsIFpvb20gUmF0aW8ARGlnaXRhbCBmaWx0ZXIARGlnaXRhbCBmaWx0ZXI/AERpZ2l0YWwgbWFjcm8ARGlyZWN0aW9uIG9mIE1vdmVtZW50AERpcmVjdGx5IHBob3RvZ3JhcGhlZABEaXNwbGF5IEFwZXJ0dXJlAERpc3RhbmNlIG9mIHBob3RvZ3JhcGhlZCBvYmplY3QgaW4gbWlsbGltZXRlcnMuAERpc3RhbmNlIHRvIERlc3RpbmF0aW9uAERpc3RhbnQARGlzdGFudCB2aWV3AERvIG5vdCBjaGFuZ2UgbWFrZXIgbm90ZQBEb2N1bWVudCBOYW1lAERvdWJsZQBEcml2ZSBNb2RlAER5bmFtaWMgUmFuZ2UARHluYW1pYyBSYW5nZSBXaWRlIE1vZGUARS1UVEwARU9TIGhpZ2gtZW5kAEVPUyBtaWQtcmFuZ2UARVhJRiBoZWFkZXIgbm90IGZvdW5kLgBFWElGIG1hcmtlciBub3QgZm91bmQuAEVhc3Qgb3IgV2VzdCBMb25naXR1ZGUARWFzeSBTaG9vdGluZyBNb2RlAEVhc3kgc2hvb3RpbmcARWNvbm9teQBFbmNvZGVzIHRpbWUgem9uZSBvZiBjYW1lcmEgY2xvY2sgcmVsYXRpdmUgdG8gR01ULgBFbmhhbmNlbWVudABFcHNvbiBJbWFnZSBIZWlnaHQARXBzb24gSW1hZ2UgV2lkdGgARXBzb24gU29mdHdhcmUgVmVyc2lvbgBFdmFsdWF0aXZlAEV4aWYgVmVyc2lvbgBFeGlmIFZlcnNpb24gJWQuJWQARXhwb3N1cmUgQmlhcwBFeHBvc3VyZSBCcmFja2V0IFZhbHVlAEV4cG9zdXJlIENvbXBlbnNhdGlvbgBFeHBvc3VyZSBJbmRleABFeHBvc3VyZSBNb2RlAEV4cG9zdXJlIFByb2dyYW0ARXhwb3N1cmUgVGltZQBFeHBvc3VyZSBjb21wZW5zYXRpb24ARXhwb3N1cmUgdGltZSwgZ2l2ZW4gaW4gc2Vjb25kcyAoc2VjKS4ARXhwb3N1cmVkaWZmID8ARXh0ZXJuYWwARXh0ZXJuYWwgMQBFeHRlcm5hbCAyAEV4dGVybmFsIDMARXh0ZXJuYWwgRmxhc2ggQm91bmNlAEV4dGVybmFsIEZsYXNoIEcgVmFsdWUARXh0ZXJuYWwgRmxhc2ggTW9kZQBFeHRlcm5hbCBGbGFzaCBab29tAEV4dGVybmFsIGZsYXNoAEYtQiZXAEYtQ2hyb21lAEYtTnVtYmVyAEYtU3RhbmRhcmQARjAvU3RhbmRhcmQARjEvU3R1ZGlvIHBvcnRyYWl0AEYxYS9Qcm9mZXNzaW9uYWwgcG9ydHJhaXQARjFiL1Byb2Zlc3Npb25hbCBwb3J0cmFpdABGMWMvUHJvZmVzc2lvbmFsIHBvcnRyYWl0AEYyL0Z1amljaHJvbWUARjMvU3R1ZGlvIHBvcnRyYWl0IEV4AEY0L1ZlbHZpYQBGTnVtYmVyAEZQIHN5bmMgZW5hYmxlZABGUCBzeW5jIHVzZWQARmFpdGhmdWwARmFyIHJhbmdlAEZhc3QARmFzdCBzaHV0dGVyAEZpbGUgU291cmNlAEZpbGwARmlsbCBPcmRlcgBGaWxtIFNpbXVsYXRpb24gTW9kZQBGaWxtIHNpbXVsYXRpb24gbW9kZQBGaW5lAEZpbmUgd2VhdGhlcgBGaW5lLCBIUQBGaW5lLCBSQVcARmluZSwgU0hRAEZpbmUsIFNRAEZpbmUsIFNRMQBGaW5lLCBTUTIARmluZSwgc3VwZXIgaGlnaABGaW5lUGl4IENvbG91cgBGaW5lcgBGaXJld29ya3MARmlybXdhcmUgVmVyc2lvbgBGaXNoZXllIG9uAEZpeGVkAEZpeGVkIGNlbnRyZQBGbGFzaABGbGFzaCBBY3Rpdml0eQBGbGFzaCBDaGFyZ2UgTGV2ZWwARmxhc2ggRGV0YWlscwBGbGFzaCBEZXZpY2UARmxhc2ggRGlzdGFuY2UARmxhc2ggRW5lcmd5AEZsYXNoIEV4cG9zdXJlIEJyYWNrZXQgVmFsdWUARmxhc2ggRXhwb3N1cmUgQ29tcABGbGFzaCBFeHBvc3VyZSBDb21wZW5zYXRpb24ARmxhc2ggRmlyaW5nIFN0cmVuZ3RoIENvbXBlbnNhdGlvbgBGbGFzaCBHdWlkZSBOdW1iZXIARmxhc2ggSW5mbwBGbGFzaCBNb2RlAEZsYXNoIFNldHRpbmcARmxhc2ggVXNlZABGbGFzaCBkaWQgbm90IGZpcmUARmxhc2ggZGlkIG5vdCBmaXJlLCBhdXRvIG1vZGUARmxhc2ggZGlkIG5vdCBmaXJlLCBhdXRvIG1vZGUsIHJlZC1leWUgcmVkdWN0aW9uIG1vZGUARmxhc2ggZGlkIG5vdCBmaXJlLCBjb21wdWxzb3J5IGZsYXNoIG1vZGUARmxhc2ggZmlyZWQARmxhc2ggZmlyZWQsIGF1dG8gbW9kZQBGbGFzaCBmaXJlZCwgYXV0byBtb2RlLCByZWQtZXllIHJlZHVjdGlvbiBtb2RlAEZsYXNoIGZpcmVkLCBhdXRvIG1vZGUsIHJldHVybiBsaWdodCBkZXRlY3RlZABGbGFzaCBmaXJlZCwgYXV0byBtb2RlLCByZXR1cm4gbGlnaHQgZGV0ZWN0ZWQsIHJlZC1leWUgcmVkdWN0aW9uIG1vZGUARmxhc2ggZmlyZWQsIGF1dG8gbW9kZSwgcmV0dXJuIGxpZ2h0IG5vdCBkZXRlY3RlZABGbGFzaCBmaXJlZCwgYXV0byBtb2RlLCByZXR1cm4gbGlnaHQgbm90IGRldGVjdGVkLCByZWQtZXllIHJlZHVjdGlvbiBtb2RlAEZsYXNoIGZpcmVkLCBjb21wdWxzb3J5IGZsYXNoIG1vZGUARmxhc2ggZmlyZWQsIGNvbXB1bHNvcnkgZmxhc2ggbW9kZSwgcmVkLWV5ZSByZWR1Y3Rpb24gbW9kZQBGbGFzaCBmaXJlZCwgY29tcHVsc29yeSBmbGFzaCBtb2RlLCByZWQtZXllIHJlZHVjdGlvbiBtb2RlLCByZXR1cm4gbGlnaHQgZGV0ZWN0ZWQARmxhc2ggZmlyZWQsIGNvbXB1bHNvcnkgZmxhc2ggbW9kZSwgcmVkLWV5ZSByZWR1Y3Rpb24gbW9kZSwgcmV0dXJuIGxpZ2h0IG5vdCBkZXRlY3RlZABGbGFzaCBmaXJlZCwgY29tcHVsc29yeSBmbGFzaCBtb2RlLCByZXR1cm4gbGlnaHQgZGV0ZWN0ZWQARmxhc2ggZmlyZWQsIGNvbXB1bHNvcnkgZmxhc2ggbW9kZSwgcmV0dXJuIGxpZ2h0IG5vdCBkZXRlY3RlZABGbGFzaCBmaXJlZCwgcmVkLWV5ZSByZWR1Y3Rpb24gbW9kZQBGbGFzaCBmaXJlZCwgcmVkLWV5ZSByZWR1Y3Rpb24gbW9kZSwgcmV0dXJuIGxpZ2h0IGRldGVjdGVkAEZsYXNoIGZpcmVkLCByZWQtZXllIHJlZHVjdGlvbiBtb2RlLCByZXR1cm4gbGlnaHQgbm90IGRldGVjdGVkAEZsYXNoIGlzIGV4dGVybmFsAEZsYXNoIGlzIG9uIGNhbWVyYQBGbGFzaCBvZmYARmxhc2ggb24ARmxhc2ggdW5pdCB1bmtub3duAEZsYXNoUGl4IFZlcnNpb24gMS4wAEZsYXNoUGl4IFZlcnNpb24gMS4wMQBGbGlja2VyIFJlZHVjZQBGbG9hdABGbG93ZXIARmx1b3Jlc2NlbmNlAEZsdW9yZXNjZW50AEZvY2FsIExlbmd0aABGb2NhbCBMZW5ndGggaW4gMzVtbSBGaWxtAEZvY2FsIFBsYW5lIERpYWdvbmFsAEZvY2FsIFBsYW5lIFJlc29sdXRpb24gVW5pdABGb2NhbCBQbGFuZSBYIFNpemUARm9jYWwgUGxhbmUgWC1SZXNvbHV0aW9uAEZvY2FsIFBsYW5lIFkgU2l6ZQBGb2NhbCBQbGFuZSBZLVJlc29sdXRpb24ARm9jYWwgVHlwZQBGb2NhbCBVbml0cyBwZXIgbW0ARm9jdXMARm9jdXMgRGlzdGFuY2UgTG93ZXIARm9jdXMgRGlzdGFuY2UgVXBwZXIARm9jdXMgTW9kZQBGb2N1cyBQb2ludABGb2N1cyBQb3NpdGlvbgBGb2N1cyBSYW5nZQBGb2N1cyBTdGVwIENvdW50AEZvY3VzIGdvb2QARm9jdXNpbmcgTW9kZQBGb2xpYWdlAEZvbGxvdyBzcGVjaWZpY2F0aW9uAEZvb2QARm9yIGVhY2ggc3RyaXAsIHRoZSBieXRlIG9mZnNldCBvZiB0aGF0IHN0cmlwLiBJdCBpcyByZWNvbW1lbmRlZCB0aGF0IHRoaXMgYmUgc2VsZWN0ZWQgc28gdGhlIG51bWJlciBvZiBzdHJpcCBieXRlcyBkb2VzIG5vdCBleGNlZWQgNjQgS2J5dGVzLiBXaXRoIEpQRUcgY29tcHJlc3NlZCBkYXRhIHRoaXMgZGVzaWduYXRpb24gaXMgbm90IG5lZWRlZCBhbmQgaXMgb21pdHRlZC4gU2VlIGFsc28gPFJvd3NQZXJTdHJpcD4gYW5kIDxTdHJpcEJ5dGVDb3VudHM+LgBGcmFtZSBOdW1iZXIARnJhbWUgY29tcG9zaXRlAEZ1bGwARnVsbCBhdXRvAEcAR1BTIERhdGUAR1BTIERpZmZlcmVudGlhbCBDb3JyZWN0aW9uAEdQUyBJbWFnZSBEaXJlY3Rpb24AR1BTIEltYWdlIERpcmVjdGlvbiBSZWZlcmVuY2UAR1BTIEluZm8gSUZEIFBvaW50ZXIAR1BTIE1lYXN1cmVtZW50IE1vZGUAR1BTIFJlY2VpdmVyIFN0YXR1cwBHUFMgU2F0ZWxsaXRlcwBHUFMgVGFnIFZlcnNpb24AR1BTIFRpbWUgKEF0b21pYyBDbG9jaykAR2FpbiBDb250cm9sAEdhbW1hAEdlb2RldGljIFN1cnZleSBEYXRhIFVzZWQAR29vZABHcmV5c2NhbGUAR3JlZW4gbW9kZQBIYXJkAEhhcmRlc3QASGlnaABIaWdoIGdhaW4gZG93bgBIaWdoIGdhaW4gdXAASGlnaCBzYXR1cmF0aW9uAEhpZ2hlc3QASG9tZSBEYXlsaWdodCBTYXZpbmdzIFRpbWUASG9tZXRvd24gQ2l0eQBIb21ldG93biBDaXR5IENvZGUASG9tZXRvd24gRFNUAEh1ZSBBZGp1c3RtZW50AElTTwBJU08gMTAwAElTTyAxNjAASVNPIDIwMABJU08gMzIwAElTTyAzMjAwAElTTyA0MDAASVNPIDUwAElTTyA4MABJU08gTnVtYmVyAElTTyBTZWxlY3Rpb24ASVNPIFNldHRpbmcASVNPIFNwZWVkAElTTyBTcGVlZCBSYXRpbmdzAElTTyBWYWx1ZQBJU08gc3R1ZGlvIHR1bmdzdGVuAElnbm9yZSB1bmtub3duIHRhZ3MASWdub3JlIHVua25vd24gdGFncyB3aGVuIGxvYWRpbmcgRVhJRiBkYXRhLgBJbGx1c3RyYXRpb25zAEltYWdlIEFkanVzdG1lbnQASW1hZ2UgQXJlYSBPZmZzZXQASW1hZ2UgQm91bmRhcnkASW1hZ2UgRGF0YSBTaXplAEltYWdlIERlc2NyaXB0aW9uAEltYWdlIExlbmd0aABJbWFnZSBOdW1iZXIASW1hZ2UgUHJvY2Vzc2luZwBJbWFnZSBSZXNvdXJjZXMgQmxvY2sASW1hZ2UgU2hhcnBlbmluZwBJbWFnZSBTaXplAEltYWdlIFN0YWJpbGlzYXRpb24ASW1hZ2UgVG9uZQBJbWFnZSBUeXBlAEltYWdlIFVuaXF1ZSBJRABJbWFnZSBXaWR0aABJbmNhbmRlc2NlbmNlAEluY2FuZGVzY2VudABJbmNoAEluZGljYXRlcyB0aGUgR1BTIERPUCAoZGF0YSBkZWdyZWUgb2YgcHJlY2lzaW9uKS4gQW4gSERPUCB2YWx1ZSBpcyB3cml0dGVuIGR1cmluZyB0d28tZGltZW5zaW9uYWwgbWVhc3VyZW1lbnQsIGFuZCBQRE9QIGR1cmluZyB0aHJlZS1kaW1lbnNpb25hbCBtZWFzdXJlbWVudC4ASW5kaWNhdGVzIHRoZSBHUFMgbWVhc3VyZW1lbnQgbW9kZS4gJzInIG1lYW5zIHR3by1kaW1lbnNpb25hbCBtZWFzdXJlbWVudCBhbmQgJzMnIG1lYW5zIHRocmVlLWRpbWVuc2lvbmFsIG1lYXN1cmVtZW50IGlzIGluIHByb2dyZXNzLgBJbmRpY2F0ZXMgdGhlIEdQUyBzYXRlbGxpdGVzIHVzZWQgZm9yIG1lYXN1cmVtZW50cy4gVGhpcyB0YWcgY2FuIGJlIHVzZWQgdG8gZGVzY3JpYmUgdGhlIG51bWJlciBvZiBzYXRlbGxpdGVzLCB0aGVpciBJRCBudW1iZXIsIGFuZ2xlIG9mIGVsZXZhdGlvbiwgYXppbXV0aCwgU05SIGFuZCBvdGhlciBpbmZvcm1hdGlvbiBpbiBBU0NJSSBub3RhdGlvbi4gVGhlIGZvcm1hdCBpcyBub3Qgc3BlY2lmaWVkLiBJZiB0aGUgR1BTIHJlY2VpdmVyIGlzIGluY2FwYWJsZSBvZiB0YWtpbmcgbWVhc3VyZW1lbnRzLCB2YWx1ZSBvZiB0aGUgdGFnIHNoYWxsIGJlIHNldCB0byBOVUxMLgBJbmRpY2F0ZXMgdGhlIElTTyBTcGVlZCBhbmQgSVNPIExhdGl0dWRlIG9mIHRoZSBjYW1lcmEgb3IgaW5wdXQgZGV2aWNlIGFzIHNwZWNpZmllZCBpbiBJU08gMTIyMzIuAEluZGljYXRlcyB0aGUgT3B0by1FbGVjdHJvbmljIENvbnZlcnNpb24gRnVuY3Rpb24gKE9FQ0YpIHNwZWNpZmllZCBpbiBJU08gMTQ1MjQuIDxPRUNGPiBpcyB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gdGhlIGNhbWVyYSBvcHRpY2FsIGlucHV0IGFuZCB0aGUgaW1hZ2UgdmFsdWVzLgBJbmRpY2F0ZXMgdGhlIGFsdGl0dWRlIGJhc2VkIG9uIHRoZSByZWZlcmVuY2UgaW4gR1BTQWx0aXR1ZGVSZWYuIEFsdGl0dWRlIGlzIGV4cHJlc3NlZCBhcyBvbmUgUkFUSU9OQUwgdmFsdWUuIFRoZSByZWZlcmVuY2UgdW5pdCBpcyBtZXRyZXMuAEluZGljYXRlcyB0aGUgYWx0aXR1ZGUgdXNlZCBhcyB0aGUgcmVmZXJlbmNlIGFsdGl0dWRlLiBJZiB0aGUgcmVmZXJlbmNlIGlzIHNlYSBsZXZlbCBhbmQgdGhlIGFsdGl0dWRlIGlzIGFib3ZlIHNlYSBsZXZlbCwgMCBpcyBnaXZlbi4gSWYgdGhlIGFsdGl0dWRlIGlzIGJlbG93IHNlYSBsZXZlbCwgYSB2YWx1ZSBvZiAxIGlzIGdpdmVuIGFuZCB0aGUgYWx0aXR1ZGUgaXMgaW5kaWNhdGVkIGFzIGFuIGFic29sdXRlIHZhbHVlIGluIHRoZSBHU1BBbHRpdHVkZSB0YWcuIFRoZSByZWZlcmVuY2UgdW5pdCBpcyBtZXRyZXMuIE5vdGUgdGhhdCB0aGlzIHRhZyBpcyBCWVRFIHR5cGUsIHVubGlrZSBvdGhlciByZWZlcmVuY2UgdGFncy4ASW5kaWNhdGVzIHRoZSBiZWFyaW5nIHRvIHRoZSBkZXN0aW5hdGlvbiBwb2ludC4gVGhlIHJhbmdlIG9mIHZhbHVlcyBpcyBmcm9tIDAuMDAgdG8gMzU5Ljk5LgBJbmRpY2F0ZXMgdGhlIGNvbG91ciBmaWx0ZXIgYXJyYXkgKENGQSkgZ2VvbWV0cmljIHBhdHRlcm4gb2YgdGhlIGltYWdlIHNlbnNvciB3aGVuIGEgb25lLWNoaXAgY29sb3VyIGFyZWEgc2Vuc29yIGlzIHVzZWQuIEl0IGRvZXMgbm90IGFwcGx5IHRvIGFsbCBzZW5zaW5nIG1ldGhvZHMuAEluZGljYXRlcyB0aGUgZGlyZWN0aW9uIG9mIEdQUyByZWNlaXZlciBtb3ZlbWVudC4gVGhlIHJhbmdlIG9mIHZhbHVlcyBpcyBmcm9tIDAuMDAgdG8gMzU5Ljk5LgBJbmRpY2F0ZXMgdGhlIGRpcmVjdGlvbiBvZiB0aGUgaW1hZ2Ugd2hlbiBpdCB3YXMgY2FwdHVyZWQuIFRoZSByYW5nZSBvZiB2YWx1ZXMgaXMgZnJvbSAwLjAwIHRvIDM1OS45OS4ASW5kaWNhdGVzIHRoZSBkaXN0YW5jZSB0byB0aGUgZGVzdGluYXRpb24gcG9pbnQuAEluZGljYXRlcyB0aGUgZXhwb3N1cmUgaW5kZXggc2VsZWN0ZWQgb24gdGhlIGNhbWVyYSBvciBpbnB1dCBkZXZpY2UgYXQgdGhlIHRpbWUgdGhlIGltYWdlIGlzIGNhcHR1cmVkLgBJbmRpY2F0ZXMgdGhlIGdlb2RldGljIHN1cnZleSBkYXRhIHVzZWQgYnkgdGhlIEdQUyByZWNlaXZlci4gSWYgdGhlIHN1cnZleSBkYXRhIGlzIHJlc3RyaWN0ZWQgdG8gSmFwYW4sIHRoZSB2YWx1ZSBvZiB0aGlzIHRhZyBpcyAnVE9LWU8nIG9yICdXR1MtODQnLiBJZiBhIEdQUyBJbmZvIHRhZyBpcyByZWNvcmRlZCwgaXQgaXMgc3Ryb25nbHkgcmVjb21tZW5kZWQgdGhhdCB0aGlzIHRhZyBiZSByZWNvcmRlZC4ASW5kaWNhdGVzIHRoZSBpZGVudGlmaWNhdGlvbiBvZiB0aGUgSW50ZXJvcGVyYWJpbGl0eSBydWxlLiBVc2UgIlI5OCIgZm9yIHN0YXRpbmcgRXhpZlI5OCBSdWxlcy4gRm91ciBieXRlcyB1c2VkIGluY2x1ZGluZyB0aGUgdGVybWluYXRpb24gY29kZSAoTlVMTCkuIHNlZSB0aGUgc2VwYXJhdGUgdm9sdW1lIG9mIFJlY29tbWVuZGVkIEV4aWYgSW50ZXJvcGVyYWJpbGl0eSBSdWxlcyAoRXhpZlI5OCkgZm9yIG90aGVyIHRhZ3MgdXNlZCBmb3IgRXhpZlI5OC4ASW5kaWNhdGVzIHRoZSBpbWFnZSBzZW5zb3IgdHlwZSBvbiB0aGUgY2FtZXJhIG9yIGlucHV0IGRldmljZS4ASW5kaWNhdGVzIHRoZSBpbWFnZSBzb3VyY2UuIElmIGEgRFNDIHJlY29yZGVkIHRoZSBpbWFnZSwgdGhlIHRhZyB2YWx1ZSBvZiB0aGlzIHRhZyBhbHdheXMgYmUgc2V0IHRvIDMsIGluZGljYXRpbmcgdGhhdCB0aGUgaW1hZ2Ugd2FzIHJlY29yZGVkIG9uIGEgRFNDLgBJbmRpY2F0ZXMgdGhlIGxhdGl0dWRlIG9mIHRoZSBkZXN0aW5hdGlvbiBwb2ludC4gVGhlIGxhdGl0dWRlIGlzIGV4cHJlc3NlZCBhcyB0aHJlZSBSQVRJT05BTCB2YWx1ZXMgZ2l2aW5nIHRoZSBkZWdyZWVzLCBtaW51dGVzLCBhbmQgc2Vjb25kcywgcmVzcGVjdGl2ZWx5LiBJZiBsYXRpdHVkZSBpcyBleHByZXNzZWQgYXMgZGVncmVlcywgbWludXRlcyBhbmQgc2Vjb25kcywgYSB0eXBpY2FsIGZvcm1hdCB3b3VsZCBiZSBkZC8xLG1tLzEsc3MvMS4gV2hlbiBkZWdyZWVzIGFuZCBtaW51dGVzIGFyZSB1c2VkIGFuZCwgZm9yIGV4YW1wbGUsIGZyYWN0aW9ucyBvZiBtaW51dGVzIGFyZSBnaXZlbiB1cCB0byB0d28gZGVjaW1hbCBwbGFjZXMsIHRoZSBmb3JtYXQgd291bGQgYmUgZGQvMSxtbW1tLzEwMCwwLzEuAEluZGljYXRlcyB0aGUgbGF0aXR1ZGUuIFRoZSBsYXRpdHVkZSBpcyBleHByZXNzZWQgYXMgdGhyZWUgUkFUSU9OQUwgdmFsdWVzIGdpdmluZyB0aGUgZGVncmVlcywgbWludXRlcywgYW5kIHNlY29uZHMsIHJlc3BlY3RpdmVseS4gV2hlbiBkZWdyZWVzLCBtaW51dGVzIGFuZCBzZWNvbmRzIGFyZSBleHByZXNzZWQsIHRoZSBmb3JtYXQgaXMgZGQvMSxtbS8xLHNzLzEuIFdoZW4gZGVncmVlcyBhbmQgbWludXRlcyBhcmUgdXNlZCBhbmQsIGZvciBleGFtcGxlLCBmcmFjdGlvbnMgb2YgbWludXRlcyBhcmUgZ2l2ZW4gdXAgdG8gdHdvIGRlY2ltYWwgcGxhY2VzLCB0aGUgZm9ybWF0IGlzIGRkLzEsbW1tbS8xMDAsMC8xLgBJbmRpY2F0ZXMgdGhlIGxvY2F0aW9uIG9mIHRoZSBtYWluIHN1YmplY3QgaW4gdGhlIHNjZW5lLiBUaGUgdmFsdWUgb2YgdGhpcyB0YWcgcmVwcmVzZW50cyB0aGUgcGl4ZWwgYXQgdGhlIGNlbnRyZSBvZiB0aGUgbWFpbiBzdWJqZWN0IHJlbGF0aXZlIHRvIHRoZSBsZWZ0IGVkZ2UsIHByaW9yIHRvIHJvdGF0aW9uIHByb2Nlc3NpbmcgYXMgcGVyIHRoZSA8Um90YXRpb24+IHRhZy4gVGhlIGZpcnN0IHZhbHVlIGluZGljYXRlcyB0aGUgWCBjb2x1bW4gbnVtYmVyIGFuZCB0aGUgc2Vjb25kIGluZGljYXRlcyB0aGUgWSByb3cgbnVtYmVyLgBJbmRpY2F0ZXMgdGhlIGxvbmdpdHVkZSBvZiB0aGUgZGVzdGluYXRpb24gcG9pbnQuIFRoZSBsb25naXR1ZGUgaXMgZXhwcmVzc2VkIGFzIHRocmVlIFJBVElPTkFMIHZhbHVlcyBnaXZpbmcgdGhlIGRlZ3JlZXMsIG1pbnV0ZXMsIGFuZCBzZWNvbmRzLCByZXNwZWN0aXZlbHkuIElmIGxvbmdpdHVkZSBpcyBleHByZXNzZWQgYXMgZGVncmVlcywgbWludXRlcyBhbmQgc2Vjb25kcywgYSB0eXBpY2FsIGZvcm1hdCB3b3VsZCBiZSBkZGQvMSxtbS8xLHNzLzEuIFdoZW4gZGVncmVlcyBhbmQgbWludXRlcyBhcmUgdXNlZCBhbmQsIGZvciBleGFtcGxlLCBmcmFjdGlvbnMgb2YgbWludXRlcyBhcmUgZ2l2ZW4gdXAgdG8gdHdvIGRlY2ltYWwgcGxhY2VzLCB0aGUgZm9ybWF0IHdvdWxkIGJlIGRkZC8xLG1tbW0vMTAwLDAvMS4ASW5kaWNhdGVzIHRoZSBsb25naXR1ZGUuIFRoZSBsb25naXR1ZGUgaXMgZXhwcmVzc2VkIGFzIHRocmVlIFJBVElPTkFMIHZhbHVlcyBnaXZpbmcgdGhlIGRlZ3JlZXMsIG1pbnV0ZXMsIGFuZCBzZWNvbmRzLCByZXNwZWN0aXZlbHkuIFdoZW4gZGVncmVlcywgbWludXRlcyBhbmQgc2Vjb25kcyBhcmUgZXhwcmVzc2VkLCB0aGUgZm9ybWF0IGlzIGRkZC8xLG1tLzEsc3MvMS4gV2hlbiBkZWdyZWVzIGFuZCBtaW51dGVzIGFyZSB1c2VkIGFuZCwgZm9yIGV4YW1wbGUsIGZyYWN0aW9ucyBvZiBtaW51dGVzIGFyZSBnaXZlbiB1cCB0byB0d28gZGVjaW1hbCBwbGFjZXMsIHRoZSBmb3JtYXQgaXMgZGRkLzEsbW1tbS8xMDAsMC8xLgBJbmRpY2F0ZXMgdGhlIG51bWJlciBvZiBwaXhlbHMgaW4gdGhlIGltYWdlIGhlaWdodCAoVikgZGlyZWN0aW9uIHBlciA8Rm9jYWxQbGFuZVJlc29sdXRpb25Vbml0PiBvbiB0aGUgY2FtZXJhIGZvY2FsIHBsYW5lLgBJbmRpY2F0ZXMgdGhlIG51bWJlciBvZiBwaXhlbHMgaW4gdGhlIGltYWdlIHdpZHRoIChYKSBkaXJlY3Rpb24gcGVyIDxGb2NhbFBsYW5lUmVzb2x1dGlvblVuaXQ+IG9uIHRoZSBjYW1lcmEgZm9jYWwgcGxhbmUuAEluZGljYXRlcyB0aGUgcmVmZXJlbmNlIGZvciBnaXZpbmcgdGhlIGRpcmVjdGlvbiBvZiBHUFMgcmVjZWl2ZXIgbW92ZW1lbnQuICdUJyBkZW5vdGVzIHRydWUgZGlyZWN0aW9uIGFuZCAnTScgaXMgbWFnbmV0aWMgZGlyZWN0aW9uLgBJbmRpY2F0ZXMgdGhlIHJlZmVyZW5jZSBmb3IgZ2l2aW5nIHRoZSBkaXJlY3Rpb24gb2YgdGhlIGltYWdlIHdoZW4gaXQgaXMgY2FwdHVyZWQuICdUJyBkZW5vdGVzIHRydWUgZGlyZWN0aW9uIGFuZCAnTScgaXMgbWFnbmV0aWMgZGlyZWN0aW9uLgBJbmRpY2F0ZXMgdGhlIHJlZmVyZW5jZSB1c2VkIGZvciBnaXZpbmcgdGhlIGJlYXJpbmcgdG8gdGhlIGRlc3RpbmF0aW9uIHBvaW50LiAnVCcgZGVub3RlcyB0cnVlIGRpcmVjdGlvbiBhbmQgJ00nIGlzIG1hZ25ldGljIGRpcmVjdGlvbi4ASW5kaWNhdGVzIHRoZSBzcGVjdHJhbCBzZW5zaXRpdml0eSBvZiBlYWNoIGNoYW5uZWwgb2YgdGhlIGNhbWVyYSB1c2VkLiBUaGUgdGFnIHZhbHVlIGlzIGFuIEFTQ0lJIHN0cmluZyBjb21wYXRpYmxlIHdpdGggdGhlIHN0YW5kYXJkIGRldmVsb3BlZCBieSB0aGUgQVNUTSBUZWNobmljYWwgQ29tbWl0dGVlLgBJbmRpY2F0ZXMgdGhlIHNwZWVkIG9mIEdQUyByZWNlaXZlciBtb3ZlbWVudC4ASW5kaWNhdGVzIHRoZSBzdGF0dXMgb2YgdGhlIEdQUyByZWNlaXZlciB3aGVuIHRoZSBpbWFnZSBpcyByZWNvcmRlZC4gJ0EnIG1lYW5zIG1lYXN1cmVtZW50IGlzIGluIHByb2dyZXNzLCBhbmQgJ1YnIG1lYW5zIHRoZSBtZWFzdXJlbWVudCBpcyBJbnRlcm9wZXJhYmlsaXR5LgBJbmRpY2F0ZXMgdGhlIHN0cm9iZSBlbmVyZ3kgYXQgdGhlIHRpbWUgdGhlIGltYWdlIGlzIGNhcHR1cmVkLCBhcyBtZWFzdXJlZCBpbiBCZWFtIENhbmRsZSBQb3dlciBTZWNvbmRzIChCQ1BTKS4ASW5kaWNhdGVzIHRoZSB0aW1lIGFzIFVUQyAoQ29vcmRpbmF0ZWQgVW5pdmVyc2FsIFRpbWUpLiBUaW1lU3RhbXAgaXMgZXhwcmVzc2VkIGFzIHRocmVlIFJBVElPTkFMIHZhbHVlcyBnaXZpbmcgdGhlIGhvdXIsIG1pbnV0ZSwgYW5kIHNlY29uZC4ASW5kaWNhdGVzIHRoZSB0eXBlIG9mIHNjZW5lLiBJZiBhIERTQyByZWNvcmRlZCB0aGUgaW1hZ2UsIHRoaXMgdGFnIHZhbHVlIG11c3QgYWx3YXlzIGJlIHNldCB0byAxLCBpbmRpY2F0aW5nIHRoYXQgdGhlIGltYWdlIHdhcyBkaXJlY3RseSBwaG90b2dyYXBoZWQuAEluZGljYXRlcyB0aGUgdW5pdCBmb3IgbWVhc3VyaW5nIDxGb2NhbFBsYW5lWFJlc29sdXRpb24+IGFuZCA8Rm9jYWxQbGFuZVlSZXNvbHV0aW9uPi4gVGhpcyB2YWx1ZSBpcyB0aGUgc2FtZSBhcyB0aGUgPFJlc29sdXRpb25Vbml0Pi4ASW5kaWNhdGVzIHRoZSB1bml0IHVzZWQgdG8gZXhwcmVzcyB0aGUgR1BTIHJlY2VpdmVyIHNwZWVkIG9mIG1vdmVtZW50LiAnSycsICdNJyBhbmQgJ04nIHJlcHJlc2VudCBraWxvbWV0ZXJzIHBlciBob3VyLCBtaWxlcyBwZXIgaG91ciwgYW5kIGtub3RzLgBJbmRpY2F0ZXMgdGhlIHZhbHVlIG9mIGNvZWZmaWNpZW50IGdhbW1hLgBJbmRpY2F0ZXMgdGhlIHZlcnNpb24gb2YgPEdQU0luZm9JRkQ+LiBUaGUgdmVyc2lvbiBpcyBnaXZlbiBhcyAyLjAuMC4wLiBUaGlzIHRhZyBpcyBtYW5kYXRvcnkgd2hlbiA8R1BTSW5mbz4gdGFnIGlzIHByZXNlbnQuIChOb3RlOiBUaGUgPEdQU1ZlcnNpb25JRD4gdGFnIGlzIGdpdmVuIGluIGJ5dGVzLCB1bmxpa2UgdGhlIDxFeGlmVmVyc2lvbj4gdGFnLiBXaGVuIHRoZSB2ZXJzaW9uIGlzIDIuMC4wLjAsIHRoZSB0YWcgdmFsdWUgaXMgMDIwMDAwMDAuSCkuAEluZGljYXRlcyB3aGV0aGVyIGRpZmZlcmVudGlhbCBjb3JyZWN0aW9uIGlzIGFwcGxpZWQgdG8gdGhlIEdQUyByZWNlaXZlci4ASW5kaWNhdGVzIHdoZXRoZXIgcGl4ZWwgY29tcG9uZW50cyBhcmUgcmVjb3JkZWQgaW4gYSBjaHVua3kgb3IgcGxhbmFyIGZvcm1hdC4gSW4gSlBFRyBjb21wcmVzc2VkIGZpbGVzIGEgSlBFRyBtYXJrZXIgaXMgdXNlZCBpbnN0ZWFkIG9mIHRoaXMgdGFnLiBJZiB0aGlzIGZpZWxkIGRvZXMgbm90IGV4aXN0LCB0aGUgVElGRiBkZWZhdWx0IG9mIDEgKGNodW5reSkgaXMgYXNzdW1lZC4ASW5kaWNhdGVzIHdoZXRoZXIgdGhlIGxhdGl0dWRlIGlzIG5vcnRoIG9yIHNvdXRoIGxhdGl0dWRlLiBUaGUgQVNDSUkgdmFsdWUgJ04nIGluZGljYXRlcyBub3J0aCBsYXRpdHVkZSwgYW5kICdTJyBpcyBzb3V0aCBsYXRpdHVkZS4ASW5kaWNhdGVzIHdoZXRoZXIgdGhlIGxhdGl0dWRlIG9mIHRoZSBkZXN0aW5hdGlvbiBwb2ludCBpcyBub3J0aCBvciBzb3V0aCBsYXRpdHVkZS4gVGhlIEFTQ0lJIHZhbHVlICdOJyBpbmRpY2F0ZXMgbm9ydGggbGF0aXR1ZGUsIGFuZCAnUycgaXMgc291dGggbGF0aXR1ZGUuAEluZGljYXRlcyB3aGV0aGVyIHRoZSBsb25naXR1ZGUgaXMgZWFzdCBvciB3ZXN0IGxvbmdpdHVkZS4gQVNDSUkgJ0UnIGluZGljYXRlcyBlYXN0IGxvbmdpdHVkZSwgYW5kICdXJyBpcyB3ZXN0IGxvbmdpdHVkZS4ASW5kaWNhdGVzIHdoZXRoZXIgdGhlIGxvbmdpdHVkZSBvZiB0aGUgZGVzdGluYXRpb24gcG9pbnQgaXMgZWFzdCBvciB3ZXN0IGxvbmdpdHVkZS4gQVNDSUkgJ0UnIGluZGljYXRlcyBlYXN0IGxvbmdpdHVkZSwgYW5kICdXJyBpcyB3ZXN0IGxvbmdpdHVkZS4ASW5kb29yAEluZmluaXRlAEluZmluaXR5AEluZmluaXR5IExlbnMgU3RlcABJbmZvAEluZm9ybWF0aW9uIHNwZWNpZmljIHRvIGNvbXByZXNzZWQgZGF0YS4gVGhlIGNoYW5uZWxzIG9mIGVhY2ggY29tcG9uZW50IGFyZSBhcnJhbmdlZCBpbiBvcmRlciBmcm9tIHRoZSAxc3QgY29tcG9uZW50IHRvIHRoZSA0dGguIEZvciB1bmNvbXByZXNzZWQgZGF0YSB0aGUgZGF0YSBhcnJhbmdlbWVudCBpcyBnaXZlbiBpbiB0aGUgPFBob3RvbWV0cmljSW50ZXJwcmV0YXRpb24+IHRhZy4gSG93ZXZlciwgc2luY2UgPFBob3RvbWV0cmljSW50ZXJwcmV0YXRpb24+IGNhbiBvbmx5IGV4cHJlc3MgdGhlIG9yZGVyIG9mIFksIENiIGFuZCBDciwgdGhpcyB0YWcgaXMgcHJvdmlkZWQgZm9yIGNhc2VzIHdoZW4gY29tcHJlc3NlZCBkYXRhIHVzZXMgY29tcG9uZW50cyBvdGhlciB0aGFuIFksIENiLCBhbmQgQ3IgYW5kIHRvIGVuYWJsZSBzdXBwb3J0IG9mIG90aGVyIHNlcXVlbmNlcy4ASW5mb3JtYXRpb24gc3BlY2lmaWMgdG8gY29tcHJlc3NlZCBkYXRhLiBUaGUgY29tcHJlc3Npb24gbW9kZSB1c2VkIGZvciBhIGNvbXByZXNzZWQgaW1hZ2UgaXMgaW5kaWNhdGVkIGluIHVuaXQgYml0cyBwZXIgcGl4ZWwuAEluZm9ybWF0aW9uIHNwZWNpZmljIHRvIGNvbXByZXNzZWQgZGF0YS4gV2hlbiBhIGNvbXByZXNzZWQgZmlsZSBpcyByZWNvcmRlZCwgdGhlIHZhbGlkIGhlaWdodCBvZiB0aGUgbWVhbmluZ2Z1bCBpbWFnZSBtdXN0IGJlIHJlY29yZGVkIGluIHRoaXMgdGFnLCB3aGV0aGVyIG9yIG5vdCB0aGVyZSBpcyBwYWRkaW5nIGRhdGEgb3IgYSByZXN0YXJ0IG1hcmtlci4gVGhpcyB0YWcgc2hvdWxkIG5vdCBleGlzdCBpbiBhbiB1bmNvbXByZXNzZWQgZmlsZS4gU2luY2UgZGF0YSBwYWRkaW5nIGlzIHVubmVjZXNzYXJ5IGluIHRoZSB2ZXJ0aWNhbCBkaXJlY3Rpb24sIHRoZSBudW1iZXIgb2YgbGluZXMgcmVjb3JkZWQgaW4gdGhpcyB2YWxpZCBpbWFnZSBoZWlnaHQgdGFnIHdpbGwgaW4gZmFjdCBiZSB0aGUgc2FtZSBhcyB0aGF0IHJlY29yZGVkIGluIHRoZSBTT0YuAEluZm9ybWF0aW9uIHNwZWNpZmljIHRvIGNvbXByZXNzZWQgZGF0YS4gV2hlbiBhIGNvbXByZXNzZWQgZmlsZSBpcyByZWNvcmRlZCwgdGhlIHZhbGlkIHdpZHRoIG9mIHRoZSBtZWFuaW5nZnVsIGltYWdlIG11c3QgYmUgcmVjb3JkZWQgaW4gdGhpcyB0YWcsIHdoZXRoZXIgb3Igbm90IHRoZXJlIGlzIHBhZGRpbmcgZGF0YSBvciBhIHJlc3RhcnQgbWFya2VyLiBUaGlzIHRhZyBzaG91bGQgbm90IGV4aXN0IGluIGFuIHVuY29tcHJlc3NlZCBmaWxlLgBJbnRlbABJbnRlcmxhY2VkAEludGVybmFsAEludGVybmFsICsgZXh0ZXJuYWwASW50ZXJuYWwgRmxhc2ggVGFibGUASW50ZXJuYWwgZXJyb3IgKHVua25vd24gdmFsdWUgJWhpKQBJbnRlcm5hbCBlcnJvciAodW5rbm93biB2YWx1ZSAlaSAlaSkASW50ZXJuYWwgZXJyb3IgKHVua25vd24gdmFsdWUgJWkpAEludGVyb3BlcmFiaWxpdHkgSUZEIFBvaW50ZXIASW50ZXJvcGVyYWJpbGl0eSBJRkQgaXMgY29tcG9zZWQgb2YgdGFncyB3aGljaCBzdG9yZXMgdGhlIGluZm9ybWF0aW9uIHRvIGVuc3VyZSB0aGUgSW50ZXJvcGVyYWJpbGl0eSBhbmQgcG9pbnRlZCBieSB0aGUgZm9sbG93aW5nIHRhZyBsb2NhdGVkIGluIEV4aWYgSUZELiBUaGUgSW50ZXJvcGVyYWJpbGl0eSBzdHJ1Y3R1cmUgb2YgSW50ZXJvcGVyYWJpbGl0eSBJRkQgaXMgdGhlIHNhbWUgYXMgVElGRiBkZWZpbmVkIElGRCBzdHJ1Y3R1cmUgYnV0IGRvZXMgbm90IGNvbnRhaW4gdGhlIGltYWdlIGRhdGEgY2hhcmFjdGVyaXN0aWNhbGx5IGNvbXBhcmVkIHdpdGggbm9ybWFsIFRJRkYgSUZELgBJbnRlcm9wZXJhYmlsaXR5IEluZGV4AEludGVyb3BlcmFiaWxpdHkgVmVyc2lvbgBJbnZhbGlkIGZvcm1hdCAnJXMnLCBleHBlY3RlZCAnJXMnIG9yICclcycuAEludmFsaWQgZm9ybWF0ICclcycsIGV4cGVjdGVkICclcycuAEludmFsaWQgbnVtYmVyIG9mIGNvbXBvbmVudHMgKCVpLCBleHBlY3RlZCAlaSBvciAlaSkuAEludmFsaWQgbnVtYmVyIG9mIGNvbXBvbmVudHMgKCVpLCBleHBlY3RlZCAlaSkuAEludmFsaWQgc2l6ZSBvZiBlbnRyeSAoJWksIGV4cGVjdGVkICVsaSB4ICVpKS4ASlBFRwBKUEVHIEludGVyY2hhbmdlIEZvcm1hdABKUEVHIEludGVyY2hhbmdlIEZvcm1hdCBMZW5ndGgASlBFRyBjb21wcmVzc2lvbgBLaWRzICYgcGV0cwBMWlcgY29tcHJlc3Npb24ATGFtcABMYW5kc2NhcGUATGFuZHNjYXBlIG1vZGUgKGZvciBsYW5kc2NhcGUgcGhvdG9zIHdpdGggdGhlIGJhY2tncm91bmQgaW4gZm9jdXMpAExhcmdlAExhdGl0dWRlAExhdGl0dWRlIG9mIERlc3RpbmF0aW9uAExlZnQATGVmdCB0byByaWdodABMZWZ0LWJvdHRvbQBMZWZ0LWNlbnRyZQBMZWZ0LXJpZ2h0AExlZnQtdG9wAExlbnMATGVucyBEaXN0b3J0aW9uIFBhcmFtZXRlcnMATGVucyBGIFN0b3BzAExlbnMgSW5mbwBMZW5zIFRlbXBlcmF0dXJlAExlbnMgVHlwZQBMaWdodCBDb25kaXRpb24ATGlnaHQgU291cmNlAExpZ2h0IFNvdXJjZSBTcGVjaWFsAExpZ2h0IFR5cGUATGlnaHQgVmFsdWUgQ2VudHJlAExpZ2h0IFZhbHVlIFBlcmlwaGVyeQBMaWdodCBwZXQATG9uZwBMb25nIEZvY2FsIExlbmd0aCBvZiBMZW5zAExvbmcgc2h1dHRlcgBMb25naXR1ZGUATG9uZ2l0dWRlIG9mIERlc3RpbmF0aW9uAExvdwBMb3cgZ2FpbiBkb3duAExvdyBnYWluIHVwAExvdyBzYXR1cmF0aW9uAExvd2VyLWxlZnQATG93ZXItcmlnaHQATG93ZXN0AE0tREVQAE1hY3JvAE1hY3JvIE1vZGUATWFrZXIgTm90ZQBNYWtlciBOb3RlIFZlcnNpb24ATWFudWFsAE1hbnVhbCBBRiBwb2ludCBzZWxlY3Rpb24ATWFudWFsIEZsYXNoIE91dHB1dABNYW51YWwgRm9jdXMgRGlzdGFuY2UATWFudWFsIGV4cG9zdXJlAE1hbnVhbCBmb2N1cwBNYW51YWwgdGVtcGVyYXR1cmUgKEtlbHZpbikATWFudWFsIHdoaXRlIGJhbGFuY2UATWFudWFsOiAlbGlLAE1hbnVhbDogdW5rbm93bgBNYW51ZmFjdHVyZXIATWF4aW1hbCBBcGVydHVyZQBNYXhpbXVtIEFwZXJ0dXJlIFZhbHVlAE1heGltdW0gQXBlcnR1cmUgYXQgTWF4aW11bSBGb2NhbABNYXhpbXVtIEFwZXJ0dXJlIGF0IE1pbmltdW0gRm9jYWwATWF4aW11bSBGb2NhbCBMZW5ndGgATWVhc3VyZWQgRVYATWVhc3VyZW1lbnQgUHJlY2lzaW9uAE1lZGl1bQBNZWRpdW0gMQBNZWRpdW0gMgBNZWRpdW0gMwBNZWRpdW0gaGFyZABNZWRpdW0gaGlnaABNZWRpdW0gbG93AE1lZGl1bSBwZXQATWVkaXVtIHNvZnQATWV0ZXJpbmcgTW9kZQBNaWQtbGVmdABNaWQtcmlnaHQATWlkZGxlIHJhbmdlAE1pbmltYWwgQXBlcnR1cmUATWluaW11bSBGb2NhbCBMZW5ndGgATW9kZWwATW9kZWwgSWRlbnRpZmljYXRpb24ATW9ub2Nocm9tZQBNb3Rvcm9sYQBGaWxtAE11bHRpIHNwb3QATXVsdGktZXhwb3N1cmUATXVsdGlwbGUATXVzZXVtAE15IGNvbG91ciBkYXRhAE15IGNvbG91cnMATi9BAE5EIEZpbHRlcgBOUCAmIGZsYXNoAE5hbWUgb2YgR1BTIEFyZWEATmFtZSBvZiBHUFMgUHJvY2Vzc2luZyBNZXRob2QATmF0dXJhbCBwaG90bwBOYXR1cmFsIHNraW4gdG9uZQBOZWFyIExlbnMgU3RlcABOZXV0cmFsAE5ldyBTdWJmaWxlIFR5cGUATmlnaHQATmlnaHQgc2NlbmUATmlnaHQgc25hcHNob3QATm8ATm8gQUUATm8gYmx1cgBObyBmaXNoZXllAE5vIGZsYXNoAE5vIGZsYXNoIGZ1bmN0aW9uAE5vIG1hbnVhbCBmb2N1cyBzZWxlY3Rpb24ATm9pc2UgUmVkdWN0aW9uAE5vbmUATm9uZSAoTUYpAE5vcm1hbABOb3JtYWwgQUUATm9ybWFsIGZvY3VzAE5vcm1hbCBtb25vAE5vcm1hbCBwcm9jZXNzAE5vcm1hbCBwcm9ncmFtbWUATm9ybWFsLCBIUQBOb3JtYWwsIFJBVwBOb3JtYWwsIFNIUQBOb3JtYWwsIFNRAE5vcm1hbCwgU1ExAE5vcm1hbCwgU1EyAE5vcm1hbCwgc3RhbmRhcmQATm9ybWFsLCBzdXBlciBoaWdoAE5vcnRoIG9yIFNvdXRoIExhdGl0dWRlAE5vdCBkZWZpbmVkAE5vdCBlbm91Z2ggbWVtb3J5AE5vdCBrbm93bgBPYmplY3QgRGlzdGFuY2UAT2ZmAE9mZnNldCBvZiB0aGUgcHJldmlldyBpbWFnZSBkaXJlY3RvcnkgKElGRCkgaW5zaWRlIHRoZSBmaWxlLgBPbHltcHVzIEltYWdlIEhlaWdodABPbHltcHVzIEltYWdlIFdpZHRoAE9uAE9uIChQcmVzZXQpAE9uIChzaG90IDEpAE9uIChzaG90IDIpAE9uIChzaG90IDMpAE9uLCByZWQtZXllIHJlZHVjdGlvbgBPbiwgc2hvdCBvbmx5AE9uLCBzbG93LXN5bmMAT24sIHNsb3ctc3luYywgcmVkLWV5ZSByZWR1Y3Rpb24AT24sIHNvZnQAT24sIHRyYWlsaW5nLWN1cnRhaW4gc3luYwBPbiwgd2lyZWxlc3MAT25lIFRvdWNoIFdoaXRlIEJhbGFuY2UAT25lLWNoaXAgY29sb3VyIGFyZWEgc2Vuc29yAE9uZS1zaG90IEFGAE9uZS10b3VjaABPcHRpY2FsIFpvb20AT3B0aW1pc2UgSW1hZ2UAT3B0by1FbGVjdHJvbmljIENvbnZlcnNpb24gRnVuY3Rpb24AT3JkZXIgTnVtYmVyAE9yaWVudGF0aW9uAE9yaWdpbmFsAE90aGVyAE91dCBvZiBmb2N1cwBPdmVyIGV4cG9zZWQAT3duZXIgTmFtZQBQQyBzZXQgMQBQQyBzZXQgMgBQQyBzZXQgMwBQUklOVCBJbWFnZSBNYXRjaGluZwBQYWNrQml0cyBjb21wcmVzc2lvbgBQYWRkaW5nAFBhbGV0dGUAUGFuIGZvY3VzAFBhbm9yYW1hAFBhbm9yYW1hIERpcmVjdGlvbgBQYW5vcmFtYSBGcmFtZQBQYXJ0aWFsAFBhcnR5AFBhdHRlcm4AUGhvdG8gRWZmZWN0AFBob3RvbWV0cmljIEludGVycHJldGF0aW9uAFBpY3R1cmUgTW9kZQBQaWN0dXJlIE1vZGUgKDIpAFBpY3R1cmUgU3R5bGUAUGl4ZWwgWCBEaW1lbnNpb24AUGl4ZWwgWSBEaW1lbnNpb24AUGxhbmFyIENvbmZpZ3VyYXRpb24AUGxhbmFyIGZvcm1hdABQb3J0cmFpdABQb3J0cmFpdCBtb2RlIChmb3IgY2xvc2V1cCBwaG90b3Mgd2l0aCB0aGUgYmFja2dyb3VuZCBvdXQgb2YgZm9jdXMpAFBvc3RjYXJkAFByZWNhcHR1cmUgRnJhbWVzAFByZXNldABQcmVzcyBzdGFydCwgcHJlc3Mgc3RvcABQcmV2aWV3IEltYWdlIElGRABQcmV2aWV3IEltYWdlIFZhbGlkAFByZXZpZXcgTGVuZ3RoAFByZXZpZXcgU2l6ZQBQcmV2aWV3IFN0YXJ0AFByaW1hcnkgQ2hyb21hdGljaXRpZXMAUHJpbnRJTSBTZXR0aW5ncwBQcm9ncmFtbWUAUHJvZ3JhbW1lIEFFAFByb2dyZXNzaXZlAFF1YWxpdHkAUXVhbGl0eSBMZXZlbABRdWljayBTaG90AFIAUkFXAFJHQgBSYXRpb25hbABSYXcgSW1hZ2UgU2l6ZQBSZWNvcmQgTW9kZQBSZWNvcmQgU2h1dHRlciBSZWxlYXNlAFJlY29yZCB3aGlsZSBkb3duAFJlZCBCYWxhbmNlAFJlZCBDb3JyZWN0aW9uICVmLCBibHVlIENvcnJlY3Rpb24gJWYAUmVkLWV5ZSByZWR1Y3Rpb24AUmVmZXJlbmNlIEJsYWNrL1doaXRlAFJlZmVyZW5jZSBGb3IgTGF0aXR1ZGUgb2YgRGVzdGluYXRpb24AUmVmZXJlbmNlIGZvciBCZWFyaW5nIG9mIERlc3RpbmF0aW9uAFJlZmVyZW5jZSBmb3IgRGlzdGFuY2UgdG8gRGVzdGluYXRpb24AUmVmZXJlbmNlIGZvciBMb25naXR1ZGUgb2YgRGVzdGluYXRpb24AUmVmZXJlbmNlIGZvciBkaXJlY3Rpb24gb2YgbW92ZW1lbnQAUmVsYXRlZCBTb3VuZCBGaWxlAFJlbGF0ZWQgdG8gRXBzb24ncyBQUklOVCBJbWFnZSBNYXRjaGluZyB0ZWNobm9sb2d5AFJlc2F2ZWQAUmVzZXJ2ZWQAUmVzb2x1dGlvbiBVbml0AFJldmVyc2VkIG1vbm8AUmlnaHQAUmlnaHQgdG8gbGVmdABSaWdodC1ib3R0b20AUmlnaHQtdG9wAFJvdGF0ZSAxODAAUm90YXRlIDI3MCBDVwBSb3RhdGUgOTAgQ1cAUm90YXRlZCBieSBzb2Z0d2FyZQBSb3dzIHBlciBTdHJpcABTQnl0ZQBTTG9uZwBTUmF0aW9uYWwAU1Nob3J0AFNYR0EgYmFzaWMAU1hHQSBmaW5lAFNYR0Egbm9ybWFsAFNhbXBsZXMgcGVyIFBpeGVsAFNhdHVyYXRpb24AU2NlbmUgQ2FwdHVyZSBUeXBlAFNjZW5lIERldGVjdABTY2VuZSBTZWxlY3QAU2NlbmUgVHlwZQBTZWEgbGV2ZWwAU2VhIGxldmVsIHJlZmVyZW5jZQBTZWxmIHBvcnRyYWl0AFNlbGYtdGltZXIAU2Vuc2luZyBNZXRob2QAU2Vuc29yIFBpeGVsIFNpemUAU2Vuc29yIFRlbXBlcmF0dXJlAFNlcGlhAFNlcXVlbmNlIE51bWJlcgBTZXF1ZW5jZSBTaG90IEludGVydmFsAFNlcXVlbnRpYWwgU2hvdABTZXJpYWwgTnVtYmVyAFNldCAxAFNldCAyAFNldCAzAFNldHRpbmdzIChGaXJzdCBQYXJ0KQBTZXR0aW5ncyAoU2Vjb25kIFBhcnQpAFNoYWRlAFNoYWtlIFJlZHVjdGlvbiBJbmZvAFNoYXJwbmVzcwBTaGFycG5lc3MgRmFjdG9yAFNoYXJwbmVzcyBGcmVxdWVuY3kAU2hhcnBuZXNzIFNldHRpbmcAU2hvcnQAU2hvcnQgRm9jYWwgTGVuZ3RoIG9mIExlbnMAU2hvdCBJU08AU2h1dHRlcgBTaHV0dGVyIFNwZWVkAFNodXR0ZXIgcHJpb3JpdHkAU2h1dHRlciBwcmlvcml0eSBBRQBTaHV0dGVyIHNwZWVkLiBUaGUgdW5pdCBpcyB0aGUgQVBFWCAoQWRkaXRpdmUgU3lzdGVtIG9mIFBob3RvZ3JhcGhpYyBFeHBvc3VyZSkgc2V0dGluZy4AU2lnbWEgMTAtMjBtbSBGNC01LjYgb3IgMTItMjRtbSBmLzQuNS01LjYgb3IgMTRtbSBmLzIuOABTaWdtYSAxNS0zMG1tIGYvMy41LTQuNSBFWCBERyBBc3BoZXJpY2FsAFNpZ21hIDE3LTM1bW0gZjIuOC00IEVYIEFzcGhlcmljYWwgSFNNAFNpZ21hIDIwbW0gRVggZi8xLjgAU2lnbWEgNTBtbSBmLzIuOCBFWCBvciAyOG1tIGYvMS44AFNpZ21hIFVDIFpvb20gMzUtMTM1bW0gZi80LTUuNgBTaW5nbGUAU2l6ZSBvZiBjb21wcmVzc2VkIGltYWdlIGRhdGEgaW4gYnl0ZXMuAFNpemUgb2YgZGF0YSB0b28gc21hbGwgdG8gYWxsb3cgZm9yIEVYSUYgZGF0YS4AU2xvdyBTaHV0dGVyAFNsb3cgU3luY2hybyBNb2RlAFNsb3cgc2h1dHRlcgBTbG93IHN5bmNocm8AU21hbGwAU21vb3RoAFNub3cAU29mdABTb2Z0ZXN0AFNvZnR3YXJlAFNwYXRpYWwgRnJlcXVlbmN5IFJlc3BvbnNlAFNwZWN0cmFsIFNlbnNpdGl2aXR5AFNwZWVkIFVuaXQAU3BlZWQgb2YgR1BTIFJlY2VpdmVyAFNwZWVkL1NlcXVlbmNlL1Bhbm9yYW1hIERpcmVjdGlvbgBTcGVlZExpZ2h0AFNwb3J0AFNwb3J0cwBTcG90AFNwb3QgZm9jdXMAU3RhbmRhcmQAU3RhbmRhcmQgKDEwMCUpAFN0YW5kYXJkIGxpZ2h0IEEAU3RhbmRhcmQgbGlnaHQgQgBTdGFuZGFyZCBsaWdodCBDAFN0aWxsIGltYWdlAFN0cmlwIEJ5dGUgQ291bnQAU3RyaXAgT2Zmc2V0cwBTdHJvYmUgcmV0dXJuIGxpZ2h0IGRldGVjdGVkAFN0cm9iZSByZXR1cm4gbGlnaHQgbm90IGRldGVjdGVkAFN1Yi1zZWNvbmQgVGltZQBTdWItc2Vjb25kIFRpbWUgKERpZ2l0aXNlZCkAU3ViLXNlY29uZCBUaW1lIChPcmlnaW5hbCkAU3ViamVjdCBBcmVhAFN1YmplY3QgRGlzdGFuY2UAU3ViamVjdCBEaXN0YW5jZSBSYW5nZQBTdWJqZWN0IExvY2F0aW9uAFN1bm55AFN1bnNldABTdW5zZXQgb3IgY2FuZGxlbGlnaHQAU3VwZXIgZmluZSwgSFEAU3VwZXIgZmluZSwgUkFXAFN1cGVyIGZpbmUsIFNIUQBTdXBlciBmaW5lLCBTUQBTdXBlciBmaW5lLCBTUTEAU3VwZXIgZmluZSwgU1EyAFN1cGVyIGZpbmUsIGhpZ2gAU3VwZXIgZmluZSwgc3VwZXIgaGlnaABTdXBlciBtYWNybwBTdXBlcmZpbmUAU3VyZiAmIHNub3cAU3luY2hybyBzb3VuZCByZWNvcmQAVElGAFRJRitKUEVHAFRJRkYAVElGRi9FUCBTdGFuZGFyZCBJRABUVEwAVFYAVGFnICclcycgaXMgb2YgZm9ybWF0ICclcycgKHdoaWNoIGlzIGFnYWluc3Qgc3BlY2lmaWNhdGlvbikgYnV0IGNhbm5vdCBiZSBjaGFuZ2VkIHRvIGZvcm1hdCAnJXMnLgBUYWcgJyVzJyB3YXMgb2YgZm9ybWF0ICclcycgKHdoaWNoIGlzIGFnYWluc3Qgc3BlY2lmaWNhdGlvbikgYW5kIGhhcyBiZWVuIGNoYW5nZWQgdG8gZm9ybWF0ICclcycuAFRhZyAnVXNlckNvbW1lbnQnIGRpZCBub3Qgc3RhcnQgd2l0aCBhIGZvcm1hdCBpZGVudGlmaWVyLiBUaGlzIGhhcyBiZWVuIGZpeGVkLgBUYWcgJ1VzZXJDb21tZW50JyBoYWQgaW52YWxpZCBmb3JtYXQgJyVzJy4gRm9ybWF0IGhhcyBiZWVuIHNldCB0byAndW5kZWZpbmVkJy4AVGFnICdVc2VyQ29tbWVudCcgaGFzIGJlZW4gZXhwYW5kZWQgdG8gYXQgbGVhc3QgOCBieXRlcyBpbiBvcmRlciB0byBmb2xsb3cgdGhlIHNwZWNpZmljYXRpb24uAFRhZyAnVXNlckNvbW1lbnQnIGlzIG5vdCBlbXB0eSBidXQgZG9lcyBub3Qgc3RhcnQgd2l0aCBhIGZvcm1hdCBpZGVudGlmaWVyLiBUaGlzIGhhcyBiZWVuIGZpeGVkLgBUYW1yb24gQUYgQXNwaGVyaWNhbCAyOC0yMDBtbSBmLzMuOC01LjYAVGFtcm9uIFNQIEFGIDMwMG1tIGYvMi44IExEIElGAFRhcmdldCBBcGVydHVyZQBUYXJnZXQgRXhwb3N1cmUgVGltZQBUZXh0AFRoZSBGIG51bWJlci4AVGhlIEZsYXNoUGl4IGZvcm1hdCB2ZXJzaW9uIHN1cHBvcnRlZCBieSBhIEZQWFIgZmlsZS4AVGhlIGFjdHVhbCBmb2NhbCBsZW5ndGggb2YgdGhlIGxlbnMsIGluIG1tLiBDb252ZXJzaW9uIGlzIG5vdCBtYWRlIHRvIHRoZSBmb2NhbCBsZW5ndGggb2YgYSAzNSBtbSBmaWxtIGNhbWVyYS4AVGhlIGNocm9tYXRpY2l0eSBvZiB0aGUgdGhyZWUgcHJpbWFyeSBjb2xvdXJzIG9mIHRoZSBpbWFnZS4gTm9ybWFsbHkgdGhpcyB0YWcgaXMgbm90IG5lY2Vzc2FyeSwgc2luY2UgY29sb3VyIHNwYWNlIGlzIHNwZWNpZmllZCBpbiB0aGUgY29sb3VyIHNwYWNlIGluZm9ybWF0aW9uIHRhZyAoPENvbG9yU3BhY2U+KS4AVGhlIGNocm9tYXRpY2l0eSBvZiB0aGUgd2hpdGUgcG9pbnQgb2YgdGhlIGltYWdlLiBOb3JtYWxseSB0aGlzIHRhZyBpcyBub3QgbmVjZXNzYXJ5LCBzaW5jZSBjb2xvdXIgc3BhY2UgaXMgc3BlY2lmaWVkIGluIHRoZSBjb2xvdXIgc3BhY2UgaW5mb3JtYXRpb24gdGFnICg8Q29sb3JTcGFjZT4pLgBUaGUgY2xhc3Mgb2YgdGhlIHByb2dyYW1tZSB1c2VkIGJ5IHRoZSBjYW1lcmEgdG8gc2V0IGV4cG9zdXJlIHdoZW4gdGhlIHBpY3R1cmUgaXMgdGFrZW4uAFRoZSBjb2xvdXIgc3BhY2UgaW5mb3JtYXRpb24gdGFnIGlzIGFsd2F5cyByZWNvcmRlZCBhcyB0aGUgY29sb3VyIHNwYWNlIHNwZWNpZmllci4gTm9ybWFsbHkgc1JHQiAoPTEpIGlzIHVzZWQgdG8gZGVmaW5lIHRoZSBjb2xvdXIgc3BhY2UgYmFzZWQgb24gdGhlIFBDIG1vbml0b3IgY29uZGl0aW9ucyBhbmQgZW52aXJvbm1lbnQuIElmIGEgY29sb3VyIHNwYWNlIG90aGVyIHRoYW4gc1JHQiBpcyB1c2VkLCBVbmNhbGlicmF0ZWQgKD1GRkZGLkgpIGlzIHNldC4gSW1hZ2UgZGF0YSByZWNvcmRlZCBhcyBVbmNhbGlicmF0ZWQgY2FuIGJlIHRyZWF0ZWQgYXMgc1JHQiB3aGVuIGl0IGlzIGNvbnZlcnRlZCB0byBGbGFzaFBpeC4AVGhlIGNvbXByZXNzaW9uIHNjaGVtZSB1c2VkIGZvciB0aGUgaW1hZ2UgZGF0YS4gV2hlbiBhIHByaW1hcnkgaW1hZ2UgaXMgSlBFRyBjb21wcmVzc2VkLCB0aGlzIGRlc2lnbmF0aW9uIGlzIG5vdCBuZWNlc3NhcnkgYW5kIGlzIG9taXR0ZWQuIFdoZW4gdGh1bWJuYWlscyB1c2UgSlBFRyBjb21wcmVzc2lvbiwgdGhpcyB0YWcgdmFsdWUgaXMgc2V0IHRvIDYuAFRoZSBkYXRhIHByb3ZpZGVkIGRvZXMgbm90IGZvbGxvdyB0aGUgc3BlY2lmaWNhdGlvbi4AVGhlIGRhdGEgc3VwcGxpZWQgZG9lcyBub3Qgc2VlbSB0byBjb250YWluIEVYSUYgZGF0YS4AVGhlIGRhdGUgYW5kIHRpbWUgb2YgaW1hZ2UgY3JlYXRpb24uIEluIHRoaXMgc3RhbmRhcmQgKEVYSUYtMi4xKSBpdCBpcyB0aGUgZGF0ZSBhbmQgdGltZSB0aGUgZmlsZSB3YXMgY2hhbmdlZC4AVGhlIGRhdGUgYW5kIHRpbWUgd2hlbiB0aGUgaW1hZ2Ugd2FzIHN0b3JlZCBhcyBkaWdpdGFsIGRhdGEuAFRoZSBkYXRlIGFuZCB0aW1lIHdoZW4gdGhlIG9yaWdpbmFsIGltYWdlIGRhdGEgd2FzIGdlbmVyYXRlZC4gRm9yIGEgZGlnaXRhbCBzdGlsbCBjYW1lcmEgdGhlIGRhdGUgYW5kIHRpbWUgdGhlIHBpY3R1cmUgd2FzIHRha2VuIGFyZSByZWNvcmRlZC4AVGhlIGRpc3RhbmNlIHRvIHRoZSBzdWJqZWN0LCBnaXZlbiBpbiBtZXRyZXMuAFRoZSBleHBvc3VyZSBiaWFzLiBUaGUgdW5pdHMgaXMgdGhlIEFQRVggdmFsdWUuIE9yZGluYXJpbHkgaXQgaXMgZ2l2ZW4gaW4gdGhlIHJhbmdlIG9mIC05OS45OSB0byA5OS45OS4AVGhlIGZpbGUgJyVzJyBjb3VsZCBub3QgYmUgb3BlbmVkLgBUaGUgaW1hZ2Ugb3JpZW50YXRpb24gdmlld2VkIGluIHRlcm1zIG9mIHJvd3MgYW5kIGNvbHVtbnMuAFRoZSBraW5kIG9mIGxpZ2h0IHNvdXJjZS4AVGhlIGxlbnMgYXBlcnR1cmUuIFRoZSB1bml0IGlzIHRoZSBBUEVYIHZhbHVlLgBUaGUgbWFudWZhY3R1cmVyIG9mIHRoZSByZWNvcmRpbmcgZXF1aXBtZW50LiBUaGlzIGlzIHRoZSBtYW51ZmFjdHVyZXIgb2YgdGhlIERTQywgc2Nhbm5lciwgdmlkZW8gZGlnaXRpc2VyIG9yIG90aGVyIGVxdWlwbWVudCB0aGF0IGdlbmVyYXRlZCB0aGUgaW1hZ2UuIFdoZW4gdGhlIGZpZWxkIGlzIGxlZnQgYmxhbmssIGl0IGlzIHRyZWF0ZWQgYXMgdW5rbm93bi4AVGhlIG1hdHJpeCBjb2VmZmljaWVudHMgZm9yIHRyYW5zZm9ybWF0aW9uIGZyb20gUkdCIHRvIFlDYkNyIGltYWdlIGRhdGEuIE5vIGRlZmF1bHQgaXMgZ2l2ZW4gaW4gVElGRjsgYnV0IGhlcmUgdGhlIHZhbHVlIGdpdmVuIGluICJDb2xvdXIgU3BhY2UgR3VpZGVsaW5lcyIsIGlzIHVzZWQgYXMgdGhlIGRlZmF1bHQuIFRoZSBjb2xvdXIgc3BhY2UgaXMgZGVjbGFyZWQgaW4gYSBjb2xvdXIgc3BhY2UgaW5mb3JtYXRpb24gdGFnLCB3aXRoIHRoZSBkZWZhdWx0IGJlaW5nIHRoZSB2YWx1ZSB0aGF0IGdpdmVzIHRoZSBvcHRpbWFsIGltYWdlIGNoYXJhY3RlcmlzdGljcyBJbnRlcm9wZXJhYmlsaXR5IHRoaXMgY29uZGl0aW9uLgBUaGUgbWV0ZXJpbmcgbW9kZS4AVGhlIG1vZGVsIG5hbWUgb3IgbW9kZWwgbnVtYmVyIG9mIHRoZSBlcXVpcG1lbnQuIFRoaXMgaXMgdGhlIG1vZGVsIG5hbWUgb3IgbnVtYmVyIG9mIHRoZSBEU0MsIHNjYW5uZXIsIHZpZGVvIGRpZ2l0aXNlciBvciBvdGhlciBlcXVpcG1lbnQgdGhhdCBnZW5lcmF0ZWQgdGhlIGltYWdlLiBXaGVuIHRoZSBmaWVsZCBpcyBsZWZ0IGJsYW5rLCBpdCBpcyB0cmVhdGVkIGFzIHVua25vd24uAFRoZSBudW1iZXIgb2YgYml0cyBwZXIgaW1hZ2UgY29tcG9uZW50LiBJbiB0aGlzIHN0YW5kYXJkIGVhY2ggY29tcG9uZW50IG9mIHRoZSBpbWFnZSBpcyA4IGJpdHMsIHNvIHRoZSB2YWx1ZSBmb3IgdGhpcyB0YWcgaXMgOC4gU2VlIGFsc28gPFNhbXBsZXNQZXJQaXhlbD4uIEluIEpQRUcgY29tcHJlc3NlZCBkYXRhIGEgSlBFRyBtYXJrZXIgaXMgdXNlZCBpbnN0ZWFkIG9mIHRoaXMgdGFnLgBUaGUgbnVtYmVyIG9mIGJ5dGVzIG9mIEpQRUcgY29tcHJlc3NlZCB0aHVtYm5haWwgZGF0YS4gVGhpcyBpcyBub3QgdXNlZCBmb3IgcHJpbWFyeSBpbWFnZSBKUEVHIGRhdGEuIEpQRUcgdGh1bWJuYWlscyBhcmUgbm90IGRpdmlkZWQgYnV0IGFyZSByZWNvcmRlZCBhcyBhIGNvbnRpbnVvdXMgSlBFRyBiaXRzdHJlYW0gZnJvbSBTT0kgdG8gRU9JLiBBcHBuIGFuZCBDT00gbWFya2VycyBzaG91bGQgbm90IGJlIHJlY29yZGVkLiBDb21wcmVzc2VkIHRodW1ibmFpbHMgbXVzdCBiZSByZWNvcmRlZCBpbiBubyBtb3JlIHRoYW4gNjQgS2J5dGVzLCBpbmNsdWRpbmcgYWxsIG90aGVyIGRhdGEgdG8gYmUgcmVjb3JkZWQgaW4gQVBQMS4AVGhlIG51bWJlciBvZiBjb2x1bW5zIG9mIGltYWdlIGRhdGEsIGVxdWFsIHRvIHRoZSBudW1iZXIgb2YgcGl4ZWxzIHBlciByb3cuIEluIEpQRUcgY29tcHJlc3NlZCBkYXRhIGEgSlBFRyBtYXJrZXIgaXMgdXNlZCBpbnN0ZWFkIG9mIHRoaXMgdGFnLgBUaGUgbnVtYmVyIG9mIGNvbXBvbmVudHMgcGVyIHBpeGVsLiBTaW5jZSB0aGlzIHN0YW5kYXJkIGFwcGxpZXMgdG8gUkdCIGFuZCBZQ2JDciBpbWFnZXMsIHRoZSB2YWx1ZSBzZXQgZm9yIHRoaXMgdGFnIGlzIDMuIEluIEpQRUcgY29tcHJlc3NlZCBkYXRhIGEgSlBFRyBtYXJrZXIgaXMgdXNlZCBpbnN0ZWFkIG9mIHRoaXMgdGFnLgBUaGUgbnVtYmVyIG9mIHBpeGVscyBwZXIgPFJlc29sdXRpb25Vbml0PiBpbiB0aGUgPEltYWdlTGVuZ3RoPiBkaXJlY3Rpb24uIFRoZSBzYW1lIHZhbHVlIGFzIDxYUmVzb2x1dGlvbj4gaXMgZGVzaWduYXRlZC4AVGhlIG51bWJlciBvZiBwaXhlbHMgcGVyIDxSZXNvbHV0aW9uVW5pdD4gaW4gdGhlIDxJbWFnZVdpZHRoPiBkaXJlY3Rpb24uIFdoZW4gdGhlIGltYWdlIHJlc29sdXRpb24gaXMgdW5rbm93biwgNzIgW2RwaV0gaXMgZGVzaWduYXRlZC4AVGhlIG51bWJlciBvZiByb3dzIG9mIGltYWdlIGRhdGEuIEluIEpQRUcgY29tcHJlc3NlZCBkYXRhIGEgSlBFRyBtYXJrZXIgaXMgdXNlZCBpbnN0ZWFkIG9mIHRoaXMgdGFnLgBUaGUgbnVtYmVyIG9mIHJvd3MgcGVyIHN0cmlwLiBUaGlzIGlzIHRoZSBudW1iZXIgb2Ygcm93cyBpbiB0aGUgaW1hZ2Ugb2Ygb25lIHN0cmlwIHdoZW4gYW4gaW1hZ2UgaXMgZGl2aWRlZCBpbnRvIHN0cmlwcy4gV2l0aCBKUEVHIGNvbXByZXNzZWQgZGF0YSB0aGlzIGRlc2lnbmF0aW9uIGlzIG5vdCBuZWVkZWQgYW5kIGlzIG9taXR0ZWQuIFNlZSBhbHNvIDxTdHJpcE9mZnNldHM+IGFuZCA8U3RyaXBCeXRlQ291bnRzPi4AVGhlIG9mZnNldCB0byB0aGUgc3RhcnQgYnl0ZSAoU09JKSBvZiBKUEVHIGNvbXByZXNzZWQgdGh1bWJuYWlsIGRhdGEuIFRoaXMgaXMgbm90IHVzZWQgZm9yIHByaW1hcnkgaW1hZ2UgSlBFRyBkYXRhLgBUaGUgcGl4ZWwgY29tcG9zaXRpb24uIEluIEpQRUcgY29tcHJlc3NlZCBkYXRhIGEgSlBFRyBtYXJrZXIgaXMgdXNlZCBpbnN0ZWFkIG9mIHRoaXMgdGFnLgBUaGUgcG9zaXRpb24gb2YgY2hyb21pbmFuY2UgY29tcG9uZW50cyBpbiByZWxhdGlvbiB0byB0aGUgbHVtaW5hbmNlIGNvbXBvbmVudC4gVGhpcyBmaWVsZCBpcyBkZXNpZ25hdGVkIG9ubHkgZm9yIEpQRUcgY29tcHJlc3NlZCBkYXRhIG9yIHVuY29tcHJlc3NlZCBZQ2JDciBkYXRhLiBUaGUgVElGRiBkZWZhdWx0IGlzIDEgKGNlbnRyZWQpOyBidXQgd2hlbiBZOkNiOkNyID0gNDoyOjIgaXQgaXMgcmVjb21tZW5kZWQgaW4gdGhpcyBzdGFuZGFyZCB0aGF0IDIgKGNvLXNpdGVkKSBiZSB1c2VkIHRvIHJlY29yZCBkYXRhLCBpbiBvcmRlciB0byBpbXByb3ZlIHRoZSBpbWFnZSBxdWFsaXR5IHdoZW4gdmlld2VkIG9uIFRWIHN5c3RlbXMuIFdoZW4gdGhpcyBmaWVsZCBkb2VzIG5vdCBleGlzdCwgdGhlIHJlYWRlciBzaGFsbCBhc3N1bWUgdGhlIFRJRkYgZGVmYXVsdC4gSW4gdGhlIGNhc2Ugb2YgWTpDYjpDciA9IDQ6MjowLCB0aGUgVElGRiBkZWZhdWx0IChjZW50cmVkKSBpcyByZWNvbW1lbmRlZC4gSWYgdGhlIHJlYWRlciBkb2VzIG5vdCBoYXZlIHRoZSBjYXBhYmlsaXR5IG9mIHN1cHBvcnRpbmcgYm90aCBraW5kcyBvZiA8WUNiQ3JQb3NpdGlvbmluZz4sIGl0IHNoYWxsIGZvbGxvdyB0aGUgVElGRiBkZWZhdWx0IHJlZ2FyZGxlc3Mgb2YgdGhlIHZhbHVlIGluIHRoaXMgZmllbGQuIEl0IGlzIHByZWZlcmFibGUgdGhhdCByZWFkZXJzIGJlIGFibGUgdG8gc3VwcG9ydCBib3RoIGNlbnRyZWQgYW5kIGNvLXNpdGVkIHBvc2l0aW9uaW5nLgBUaGUgcmVmZXJlbmNlIGJsYWNrIHBvaW50IHZhbHVlIGFuZCByZWZlcmVuY2Ugd2hpdGUgcG9pbnQgdmFsdWUuIE5vIGRlZmF1bHRzIGFyZSBnaXZlbiBpbiBUSUZGLCBidXQgdGhlIHZhbHVlcyBiZWxvdyBhcmUgZ2l2ZW4gYXMgZGVmYXVsdHMgaGVyZS4gVGhlIGNvbG91ciBzcGFjZSBpcyBkZWNsYXJlZCBpbiBhIGNvbG91ciBzcGFjZSBpbmZvcm1hdGlvbiB0YWcsIHdpdGggdGhlIGRlZmF1bHQgYmVpbmcgdGhlIHZhbHVlIHRoYXQgZ2l2ZXMgdGhlIG9wdGltYWwgaW1hZ2UgY2hhcmFjdGVyaXN0aWNzIEludGVyb3BlcmFiaWxpdHkgdGhlc2UgY29uZGl0aW9ucy4AVGhlIHNhbXBsaW5nIHJhdGlvIG9mIGNocm9taW5hbmNlIGNvbXBvbmVudHMgaW4gcmVsYXRpb24gdG8gdGhlIGx1bWluYW5jZSBjb21wb25lbnQuIEluIEpQRUcgY29tcHJlc3NlZCBkYXRhIGEgSlBFRyBtYXJrZXIgaXMgdXNlZCBpbnN0ZWFkIG9mIHRoaXMgdGFnLgBUaGUgc21hbGxlc3QgRiBudW1iZXIgb2YgdGhlIGxlbnMuIFRoZSB1bml0IGlzIHRoZSBBUEVYIHZhbHVlLiBPcmRpbmFyaWx5IGl0IGlzIGdpdmVuIGluIHRoZSByYW5nZSBvZiAwMC4wMCB0byA5OS45OSwgYnV0IGl0IGlzIG5vdCBsaW1pdGVkIHRvIHRoaXMgcmFuZ2UuAFRoZSBzeXN0ZW0gY2Fubm90IHByb3ZpZGUgZW5vdWdoIG1lbW9yeS4AVGhlIHRhZyAnJXMnIGNvbnRhaW5zIGFuIGludmFsaWQgbnVtYmVyIG9mIGNvbXBvbmVudHMgKCVpLCBleHBlY3RlZCAlaSkuAFRoZSB0YWcgJyVzJyBjb250YWlucyBkYXRhIG9mIGFuIGludmFsaWQgZm9ybWF0ICgnJXMnLCBleHBlY3RlZCAnJXMnKS4AVGhlIHRvdGFsIG51bWJlciBvZiBieXRlcyBpbiBlYWNoIHN0cmlwLiBXaXRoIEpQRUcgY29tcHJlc3NlZCBkYXRhIHRoaXMgZGVzaWduYXRpb24gaXMgbm90IG5lZWRlZCBhbmQgaXMgb21pdHRlZC4AVGhlIHVuaXQgZm9yIG1lYXN1cmluZyA8WFJlc29sdXRpb24+IGFuZCA8WVJlc29sdXRpb24+LiBUaGUgc2FtZSB1bml0IGlzIHVzZWQgZm9yIGJvdGggPFhSZXNvbHV0aW9uPiBhbmQgPFlSZXNvbHV0aW9uPi4gSWYgdGhlIGltYWdlIHJlc29sdXRpb24gaXMgdW5rbm93biwgMiAoaW5jaGVzKSBpcyBkZXNpZ25hdGVkLgBUaGUgdmFsdWUgb2YgYnJpZ2h0bmVzcy4gVGhlIHVuaXQgaXMgdGhlIEFQRVggdmFsdWUuIE9yZGluYXJpbHkgaXQgaXMgZ2l2ZW4gaW4gdGhlIHJhbmdlIG9mIC05OS45OSB0byA5OS45OS4AVGhlIHZlcnNpb24gb2YgdGhpcyBzdGFuZGFyZCBzdXBwb3J0ZWQuIE5vbmV4aXN0ZW5jZSBvZiB0aGlzIGZpZWxkIGlzIHRha2VuIHRvIG1lYW4gbm9uY29uZm9ybWFuY2UgdG8gdGhlIHN0YW5kYXJkLgBUaGlzIG51bWJlciBpcyB1bmlxdWUgYW5kIGJhc2VkIG9uIHRoZSBkYXRlIG9mIG1hbnVmYWN0dXJlLgBUaGlzIHRhZyBpbmRpY2F0ZXMgYW4gaWRlbnRpZmllciBhc3NpZ25lZCB1bmlxdWVseSB0byBlYWNoIGltYWdlLiBJdCBpcyByZWNvcmRlZCBhcyBhbiBBU0NJSSBzdHJpbmcgZXF1aXZhbGVudCB0byBoZXhhZGVjaW1hbCBub3RhdGlvbiBhbmQgMTI4LWJpdCBmaXhlZCBsZW5ndGguAFRoaXMgdGFnIGluZGljYXRlcyBpbmZvcm1hdGlvbiBvbiB0aGUgcGljdHVyZS10YWtpbmcgY29uZGl0aW9ucyBvZiBhIHBhcnRpY3VsYXIgY2FtZXJhIG1vZGVsLiBUaGUgdGFnIGlzIHVzZWQgb25seSB0byBpbmRpY2F0ZSB0aGUgcGljdHVyZS10YWtpbmcgY29uZGl0aW9ucyBpbiB0aGUgcmVhZGVyLgBUaGlzIHRhZyBpbmRpY2F0ZXMgdGhlIGRlZ3JlZSBvZiBvdmVyYWxsIGltYWdlIGdhaW4gYWRqdXN0bWVudC4AVGhpcyB0YWcgaW5kaWNhdGVzIHRoZSBkaWdpdGFsIHpvb20gcmF0aW8gd2hlbiB0aGUgaW1hZ2Ugd2FzIHNob3QuIElmIHRoZSBudW1lcmF0b3Igb2YgdGhlIHJlY29yZGVkIHZhbHVlIGlzIDAsIHRoaXMgaW5kaWNhdGVzIHRoYXQgZGlnaXRhbCB6b29tIHdhcyBub3QgdXNlZC4AVGhpcyB0YWcgaW5kaWNhdGVzIHRoZSBkaXJlY3Rpb24gb2YgY29udHJhc3QgcHJvY2Vzc2luZyBhcHBsaWVkIGJ5IHRoZSBjYW1lcmEgd2hlbiB0aGUgaW1hZ2Ugd2FzIHNob3QuAFRoaXMgdGFnIGluZGljYXRlcyB0aGUgZGlyZWN0aW9uIG9mIHNhdHVyYXRpb24gcHJvY2Vzc2luZyBhcHBsaWVkIGJ5IHRoZSBjYW1lcmEgd2hlbiB0aGUgaW1hZ2Ugd2FzIHNob3QuAFRoaXMgdGFnIGluZGljYXRlcyB0aGUgZGlyZWN0aW9uIG9mIHNoYXJwbmVzcyBwcm9jZXNzaW5nIGFwcGxpZWQgYnkgdGhlIGNhbWVyYSB3aGVuIHRoZSBpbWFnZSB3YXMgc2hvdC4AVGhpcyB0YWcgaW5kaWNhdGVzIHRoZSBkaXN0YW5jZSB0byB0aGUgc3ViamVjdC4AVGhpcyB0YWcgaW5kaWNhdGVzIHRoZSBlcXVpdmFsZW50IGZvY2FsIGxlbmd0aCBhc3N1bWluZyBhIDM1bW0gZmlsbSBjYW1lcmEsIGluIG1tLiBBIHZhbHVlIG9mIDAgbWVhbnMgdGhlIGZvY2FsIGxlbmd0aCBpcyB1bmtub3duLiBOb3RlIHRoYXQgdGhpcyB0YWcgZGlmZmVycyBmcm9tIHRoZSBGb2NhbExlbmd0aCB0YWcuAFRoaXMgdGFnIGluZGljYXRlcyB0aGUgZXhwb3N1cmUgbW9kZSBzZXQgd2hlbiB0aGUgaW1hZ2Ugd2FzIHNob3QuIEluIGF1dG8tYnJhY2tldGluZyBtb2RlLCB0aGUgY2FtZXJhIHNob290cyBhIHNlcmllcyBvZiBmcmFtZXMgb2YgdGhlIHNhbWUgc2NlbmUgYXQgZGlmZmVyZW50IGV4cG9zdXJlIHNldHRpbmdzLgBUaGlzIHRhZyBpbmRpY2F0ZXMgdGhlIGxvY2F0aW9uIGFuZCBhcmVhIG9mIHRoZSBtYWluIHN1YmplY3QgaW4gdGhlIG92ZXJhbGwgc2NlbmUuAFRoaXMgdGFnIGluZGljYXRlcyB0aGUgdHlwZSBvZiBzY2VuZSB0aGF0IHdhcyBzaG90LiBJdCBjYW4gYWxzbyBiZSB1c2VkIHRvIHJlY29yZCB0aGUgbW9kZSBpbiB3aGljaCB0aGUgaW1hZ2Ugd2FzIHNob3QuIE5vdGUgdGhhdCB0aGlzIGRpZmZlcnMgZnJvbSB0aGUgc2NlbmUgdHlwZSA8U2NlbmVUeXBlPiB0YWcuAFRoaXMgdGFnIGluZGljYXRlcyB0aGUgdXNlIG9mIHNwZWNpYWwgcHJvY2Vzc2luZyBvbiBpbWFnZSBkYXRhLCBzdWNoIGFzIHJlbmRlcmluZyBnZWFyZWQgdG8gb3V0cHV0LiBXaGVuIHNwZWNpYWwgcHJvY2Vzc2luZyBpcyBwZXJmb3JtZWQsIHRoZSByZWFkZXIgaXMgZXhwZWN0ZWQgdG8gZGlzYWJsZSBvciBtaW5pbWlzZSBhbnkgZnVydGhlciBwcm9jZXNzaW5nLgBUaGlzIHRhZyBpbmRpY2F0ZXMgdGhlIHdoaXRlIGJhbGFuY2UgbW9kZSBzZXQgd2hlbiB0aGUgaW1hZ2Ugd2FzIHNob3QuAFRoaXMgdGFnIGlzIHJlY29yZGVkIHdoZW4gYW4gaW1hZ2UgaXMgdGFrZW4gdXNpbmcgYSBzdHJvYmUgbGlnaHQgKGZsYXNoKS4AVGhpcyB0YWcgaXMgdXNlZCB0byByZWNvcmQgdGhlIG5hbWUgb2YgYW4gYXVkaW8gZmlsZSByZWxhdGVkIHRvIHRoZSBpbWFnZSBkYXRhLiBUaGUgb25seSByZWxhdGlvbmFsIGluZm9ybWF0aW9uIHJlY29yZGVkIGhlcmUgaXMgdGhlIEV4aWYgYXVkaW8gZmlsZSBuYW1lIGFuZCBleHRlbnNpb24gKGFuIEFTQ0lJIHN0cmluZyBjb25zaXN0aW5nIG9mIDggY2hhcmFjdGVycyArICcuJyArIDMgY2hhcmFjdGVycykuIFRoZSBwYXRoIGlzIG5vdCByZWNvcmRlZC4gU3RpcHVsYXRpb25zIG9uIGF1ZGlvIGFuZCBmaWxlIG5hbWluZyBjb252ZW50aW9ucyBhcmUgZGVmaW5lZCBpbiB0aGUgc3BlY2lmaWNhdGlvbi4gV2hlbiB1c2luZyB0aGlzIHRhZywgYXVkaW8gZmlsZXMgbXVzdCBiZSByZWNvcmRlZCBpbiBjb25mb3JtYW5jZSB0byB0aGUgRXhpZiBhdWRpbyBmb3JtYXQuIFdyaXRlcnMgYXJlIGFsc28gYWxsb3dlZCB0byBzdG9yZSB0aGUgZGF0YSBzdWNoIGFzIEF1ZGlvIHdpdGhpbiBBUFAyIGFzIEZsYXNoUGl4IGV4dGVuc2lvbiBzdHJlYW0gZGF0YS4gVGhlIG1hcHBpbmcgb2YgRXhpZiBpbWFnZSBmaWxlcyBhbmQgYXVkaW8gZmlsZXMgaXMgZG9uZSBpbiBhbnkgb2YgdGhyZWUgd2F5cywgWzFdLCBbMl0gYW5kIFszXS4gSWYgbXVsdGlwbGUgZmlsZXMgYXJlIG1hcHBlZCB0byBvbmUgZmlsZSBhcyBpbiBbMl0gb3IgWzNdLCB0aGUgYWJvdmUgZm9ybWF0IGlzIHVzZWQgdG8gcmVjb3JkIGp1c3Qgb25lIGF1ZGlvIGZpbGUgbmFtZS4gSWYgdGhlcmUgYXJlIG11bHRpcGxlIGF1ZGlvIGZpbGVzLCB0aGUgZmlyc3QgcmVjb3JkZWQgZmlsZSBpcyBnaXZlbi4gSW4gdGhlIGNhc2Ugb2YgWzNdLCBmb3IgZXhhbXBsZSwgZm9yIHRoZSBFeGlmIGltYWdlIGZpbGUgIkRTQzAwMDAxLkpQRyIgb25seSAgIlNORDAwMDAxLldBViIgaXMgZ2l2ZW4gYXMgdGhlIHJlbGF0ZWQgRXhpZiBhdWRpbyBmaWxlLiBXaGVuIHRoZXJlIGFyZSB0aHJlZSBFeGlmIGF1ZGlvIGZpbGVzICJTTkQwMDAwMS5XQVYiLCAiU05EMDAwMDIuV0FWIiBhbmQgIlNORDAwMDAzLldBViIsIHRoZSBFeGlmIGltYWdlIGZpbGUgbmFtZSBmb3IgZWFjaCBvZiB0aGVtLCAiRFNDMDAwMDEuSlBHIiwgaXMgaW5kaWNhdGVkLiBCeSBjb21iaW5pbmcgbXVsdGlwbGUgcmVsYXRpb25hbCBpbmZvcm1hdGlvbiwgYSB2YXJpZXR5IG9mIHBsYXliYWNrIHBvc3NpYmlsaXRpZXMgY2FuIGJlIHN1cHBvcnRlZC4gVGhlIG1ldGhvZCBvZiB1c2luZyByZWxhdGlvbmFsIGluZm9ybWF0aW9uIGlzIGxlZnQgdG8gdGhlIGltcGxlbWVudGF0aW9uIG9uIHRoZSBwbGF5YmFjayBzaWRlLiBTaW5jZSB0aGlzIGluZm9ybWF0aW9uIGlzIGFuIEFTQ0lJIGNoYXJhY3RlciBzdHJpbmcsIGl0IGlzIHRlcm1pbmF0ZWQgYnkgTlVMTC4gV2hlbiB0aGlzIHRhZyBpcyB1c2VkIHRvIG1hcCBhdWRpbyBmaWxlcywgdGhlIHJlbGF0aW9uIG9mIHRoZSBhdWRpbyBmaWxlIHRvIGltYWdlIGRhdGEgbXVzdCBhbHNvIGJlIGluZGljYXRlZCBvbiB0aGUgYXVkaW8gZmlsZSBlbmQuAFRoaXMgdGFnIHJlY29yZHMgdGhlIGNhbWVyYSBvciBpbnB1dCBkZXZpY2Ugc3BhdGlhbCBmcmVxdWVuY3kgdGFibGUgYW5kIFNGUiB2YWx1ZXMgaW4gdGhlIGRpcmVjdGlvbiBvZiBpbWFnZSB3aWR0aCwgaW1hZ2UgaGVpZ2h0LCBhbmQgZGlhZ29uYWwgZGlyZWN0aW9uLCBhcyBzcGVjaWZpZWQgaW4gSVNPIDEyMjMzLgBUaGlzIHRhZyByZWNvcmRzIHRoZSBuYW1lIGFuZCB2ZXJzaW9uIG9mIHRoZSBzb2Z0d2FyZSBvciBmaXJtd2FyZSBvZiB0aGUgY2FtZXJhIG9yIGltYWdlIGlucHV0IGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBpbWFnZS4gVGhlIGRldGFpbGVkIGZvcm1hdCBpcyBub3Qgc3BlY2lmaWVkLCBidXQgaXQgaXMgcmVjb21tZW5kZWQgdGhhdCB0aGUgZXhhbXBsZSBzaG93biBiZWxvdyBiZSBmb2xsb3dlZC4gV2hlbiB0aGUgZmllbGQgaXMgbGVmdCBibGFuaywgaXQgaXMgdHJlYXRlZCBhcyB1bmtub3duLgBUaGlzIHRhZyByZWNvcmRzIHRoZSBuYW1lIG9mIHRoZSBjYW1lcmEgb3duZXIsIHBob3RvZ3JhcGhlciBvciBpbWFnZSBjcmVhdG9yLiBUaGUgZGV0YWlsZWQgZm9ybWF0IGlzIG5vdCBzcGVjaWZpZWQsIGJ1dCBpdCBpcyByZWNvbW1lbmRlZCB0aGF0IHRoZSBpbmZvcm1hdGlvbiBiZSB3cml0dGVuIGFzIGluIHRoZSBleGFtcGxlIGJlbG93IGZvciBlYXNlIG9mIEludGVyb3BlcmFiaWxpdHkuIFdoZW4gdGhlIGZpZWxkIGlzIGxlZnQgYmxhbmssIGl0IGlzIHRyZWF0ZWQgYXMgdW5rbm93bi4AVGhpcyB0YWcgcmVzZXJ2ZXMgc3BhY2UgdGhhdCBjYW4gYmUgcmVjbGFpbWVkIGxhdGVyIHdoZW4gYWRkaXRpb25hbCBtZXRhZGF0YSBhcmUgYWRkZWQuIE5ldyBtZXRhZGF0YSBjYW4gYmUgd3JpdHRlbiBpbiBwbGFjZSBieSByZXBsYWNpbmcgdGhpcyB0YWcgd2l0aCBhIHNtYWxsZXIgZGF0YSBlbGVtZW50IGFuZCB1c2luZyB0aGUgcmVjbGFpbWVkIHNwYWNlIHRvIHN0b3JlIHRoZSBuZXcgb3IgZXhwYW5kZWQgbWV0YWRhdGEgdGFncy4AVGhyZWUtY2hpcCBjb2xvdXIgYXJlYSBzZW5zb3IAVGh1bWJuYWlsIEltYWdlAFRpbWUAVGltZSBab25lAFRpbWUgWm9uZSBPZmZzZXQAVG9raW5hIEFGMTkzLTIgMTktMzVtbSBmLzMuNS00LjUAVG9raW5hIEFULVgyODBBRiBQUk8gMjgtODBtbSBGMi44IEFzcGhlcmljYWwAVG9uZSBDb21wZW5zYXRpb24AVG9uZSBDdXJ2ZQBUb3AAVG9wIHRvIGJvdHRvbQBUb3AtY2VudHJlAFRvcC1sZWZ0AFRvcC1yaWdodABUb3RhbCBOdW1iZXIgb2YgUGljdHVyZXMgVGFrZW4AVHJhbnNmZXIgRnVuY3Rpb24AVHJhbnNmZXIgUmFuZ2UAVHJpbGluZWFyIHNlbnNvcgBUdW5nc3RlbgBUdW5nc3RlbiBpbmNhbmRlc2NlbnQgbGlnaHQAVHYtcHJpb3JpdHkAVHdvLWNoaXAgY29sb3VyIGFyZWEgc2Vuc29yAFVuY2FsaWJyYXRlZABVbmNvbXByZXNzZWQAVW5kZWZpbmVkAFVuZGVyd2F0ZXIAVW5leHBlY3RlZCBudW1iZXIgb2YgY29tcG9uZW50cyAoJWxpLCBleHBlY3RlZCAyLCAzLCBvciA0KS4AVW5rbm93bgBVbmtub3duICVodQBVbmtub3duIEFGIHBvc2l0aW9uAFVua25vd24gRXhpZiBWZXJzaW9uAFVua25vd24gRmxhc2hQaXggVmVyc2lvbgBVbmtub3duIGVuY29kaW5nLgBVbmtub3duIHZhbHVlICVoaQBVbmtub3duIHZhbHVlICVpAFVuc3VwcG9ydGVkIEpJUyBzdHJpbmcAVW5zdXBwb3J0ZWQgVU5JQ09ERSBzdHJpbmcAVXBwZXItbGVmdABVcHBlci1yaWdodABVc2VyIDEAVXNlciAyAFVzZXIgQ29tbWVudABVc2VyIGRlZi4gMQBVc2VyIGRlZi4gMgBVc2VyIGRlZi4gMwBVc2VyIHNlbGVjdGVkAFZHQSBiYXNpYwBWR0EgZmluZQBWR0Egbm9ybWFsAFZhcmkgUHJvZ3JhbQBWZXJ5IGNsb3NlAFZpYnJhdGlvbiByZWR1Y3Rpb24AVml2aWQAVm9pY2UgTWVtbwBXaGVuIGxvYWRpbmcgYW5kIHJlc2F2aW5nIEV4aWYgZGF0YSwgc2F2ZSB0aGUgbWFrZXIgbm90ZSB1bm1vZGlmaWVkLiBCZSBhd2FyZSB0aGF0IHRoZSBtYWtlciBub3RlIGNhbiBiZSBjb3JydXB0ZWQuAFdoaXRlIEJhbGFuY2UAV2hpdGUgQmFsYW5jZSBCaWFzAFdoaXRlIEJhbGFuY2UgQnJhY2tldABXaGl0ZSBCYWxhbmNlIEZpbmUgQWRqdXN0bWVudABXaGl0ZSBCYWxhbmNlIE1vZGUAV2hpdGUgQmFsYW5jZSBSQgBXaGl0ZSBCYWxhbmNlIFNldHRpbmcAV2hpdGUgQm9hcmQAV2hpdGUgUG9pbnQAV2hpdGUgZmx1b3Jlc2NlbnQAV2lkZQBXaWRlIFJhbmdlAFdpZGUxICgyMzAlKQBXaWRlMiAoNDAwJSkAV2lkZXNjcmVlbgBXaXRoIHN0cm9iZQBXaXRoaW4gZGlzdGFuY2UgJWkgb2YgKHgseSkgPSAoJWksJWkpAFdpdGhpbiByZWN0YW5nbGUgKHdpZHRoICVpLCBoZWlnaHQgJWkpIGFyb3VuZCAoeCx5KSA9ICglaSwlaSkAV2l0aG91dCBzdHJvYmUAV29ybGQgVGltZSBMb2NhdGlvbgBYLVJlc29sdXRpb24AWE1MIFBhY2tldABYTVAgTWV0YWRhdGEAWFAgQXV0aG9yAFhQIENvbW1lbnQAWFAgS2V5d29yZHMAWFAgU3ViamVjdABYUCBUaXRsZQBZAFktUmVzb2x1dGlvbgBZQ2JDcgBZQ2JDciBDb2VmZmljaWVudHMAWUNiQ3IgUG9zaXRpb25pbmcAWUNiQ3IgU3ViLVNhbXBsaW5nAFlDYkNyNDoyOjAAWUNiQ3I0OjI6MgBZZXMAWm9vbQBab29tIFNvdXJjZSBXaWR0aABab29tIFN0ZXAgQ291bnQAWm9vbSBUYXJnZXQgV2lkdGgAW0RPX05PVF9UUkFOU0xBVEVfVEhJU19NQVJLRVJdAFtOb25lXQBjbQBpbgBzUkdCAA==