IyBMb2NhbGVJbmZvcm1hdGlvbl9ldS5wcm9wZXJ0aWVzIC0tCiMgQ29weXJpZ2h0IChDKSAxOTkxLTIwMDUgVW5pY29kZSwgSW5jLgojIEFsbCByaWdodHMgcmVzZXJ2ZWQuIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBUZXJtcyBvZiBVc2UKIyBpbiBodHRwOi8vd3d3LnVuaWNvZGUub3JnL2NvcHlyaWdodC5odG1sLgojCiMgVGhpcyBmaWxlIHdhcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBnbnUubG9jYWxlZ2VuIGZyb20gQ0xEUi4KCmRlY2ltYWxTZXBhcmF0b3I9LApncm91cGluZ1NlcGFyYXRvcj0uCmN1cnJlbmNpZXNTeW1ib2wuRVNQPVx1MjBhNwpzaG9ydE1vbnRocz11cnSub3Rzrm1hcq5hcGmubWFprmVrYa51enSuYWJ1rmlyYa51cnKuYXphrmFiZa6uCm1vbnRocz11cnRhcnJpbGGub3RzYWlsYa5tYXJ0eG9hrmFwaXJpbGGubWFpYXR6Ya5la2FpbmGudXp0YWlsYa5hYnV6dHVhrmlyYWlsYa51cnJpYa5hemFyb2GuYWJlbmR1Ya6uCnNob3J0V2Vla2RheXM9rmlnrmFsrmFzrmF6rm9nrm9yrmxyrgp3ZWVrZGF5cz2uaWdhbmRlYa5hc3RlbGVoZW5hrmFzdGVhcnRlYa5hc3RlYXprZW5hrm9zdGVndW5hrm9zdGlyYWxhrmxhcnVuYmF0Ya4KdGVycml0b3JpZXMuVEQ9VHhhZAp0ZXJyaXRvcmllcy5HVz1HaW5lYS1CaXNzYXUKdGVycml0b3JpZXMuQVE9QW50YXJ0aWthCnRlcnJpdG9yaWVzLk1aPU1vemFtYmlrZQp0ZXJyaXRvcmllcy5NWT1NYWxhc2lhCnRlcnJpdG9yaWVzLk1YPU1leGlrbwp0ZXJyaXRvcmllcy5HUj1HcmV6aWEKdGVycml0b3JpZXMuWkE9SGVnb2FmcmlrYQp0ZXJyaXRvcmllcy5NVj1NYWxkaXZhawp0ZXJyaXRvcmllcy5HUT1Fa3VhdG9yZSBHaW5lYQp0ZXJyaXRvcmllcy5TWj1Td2F6aWxhbmRpYQp0ZXJyaXRvcmllcy5NVT1NYXVyaXppbwp0ZXJyaXRvcmllcy5TWT1TaXJpYQp0ZXJyaXRvcmllcy5HTj1HaW5lYQp0ZXJyaXRvcmllcy5BRz1BbnRpZ3VhIGV0YSBCYXJidWRhCnRlcnJpdG9yaWVzLkFGPUFmZ2FuaXN0YW4KdGVycml0b3JpZXMuU1Q9U2FvIFRvbVx1MDBlOSBldGEgUHJpbmNpcGUKdGVycml0b3JpZXMuQUU9QXJhYmlhciBFbWlycmVycmkgQmF0dWFrCnRlcnJpdG9yaWVzLlNSPVN1cmluYW0KdGVycml0b3JpZXMuTUs9TWF6ZWRvbmlhCnRlcnJpdG9yaWVzLk1IPU1hcnNoYWxsIHVoYXJ0ZWFrCnRlcnJpdG9yaWVzLlNMPVNpZXJyYSBMZW9uYQp0ZXJyaXRvcmllcy5NRz1NYWRhZ2Fza2FyCnRlcnJpdG9yaWVzLlNLPUVzbG92YWtpYQp0ZXJyaXRvcmllcy5TST1Fc2xvdmVuaWEKdGVycml0b3JpZXMuTUQ9TW9sZGF2aWEKdGVycml0b3JpZXMuTUM9TW9uYWtvCnRlcnJpdG9yaWVzLlNHPVNpbmdhcHVyCnRlcnJpdG9yaWVzLk1BPU1hcm9rbwp0ZXJyaXRvcmllcy5TRT1TdWVkaWEKdGVycml0b3JpZXMuU0M9U2V5Y2hlbGxlYWsKdGVycml0b3JpZXMuU0I9U2Fsb21vbiB1aGFydGVhawp0ZXJyaXRvcmllcy5MWT1MaWJpYQp0ZXJyaXRvcmllcy5GUj1GcmFudHppYQp0ZXJyaXRvcmllcy5MVj1MZXRvbmlhCnRlcnJpdG9yaWVzLkxVPUx1eGVuYnVyZ28KdGVycml0b3JpZXMuTFQ9TGl0dWFuaWEKdGVycml0b3JpZXMuUlc9UnVhbmRhCnRlcnJpdG9yaWVzLkZNPU1pa3JvbmVzaWEKdGVycml0b3JpZXMuUlU9RXJydXNpYQp0ZXJyaXRvcmllcy5GST1GaW5sYW5kaWEKdGVycml0b3JpZXMuUk89RXJydW1hbmlhCnRlcnJpdG9yaWVzLkxDPVNhbnRhIEx1emlhCnRlcnJpdG9yaWVzLkxCPUxpYmFubwp0ZXJyaXRvcmllcy5FVD1FdGlvcGlhCnRlcnJpdG9yaWVzLkVTPUVzcGFpbmlhCnRlcnJpdG9yaWVzLktSPUhlZ28gS29yZWEKdGVycml0b3JpZXMuS1A9SXBhciBLb3JlYQp0ZXJyaXRvcmllcy5LTj1TYWludCBLaXR0cyBldGEgTmV2aXMKdGVycml0b3JpZXMuRUg9TWVuZGViYWxkZWtvIFNhaGFyYQp0ZXJyaXRvcmllcy5LTT1Lb21vcmVhawp0ZXJyaXRvcmllcy5FRz1FZ2lwdG8KdGVycml0b3JpZXMuRUM9RWt1YWRvcgp0ZXJyaXRvcmllcy5LSD1LYW5ib2RpYQp0ZXJyaXRvcmllcy5LRz1LaXJnaXppc3Rhbgp0ZXJyaXRvcmllcy5LRT1LZW5pYQp0ZXJyaXRvcmllcy5EWj1BbGplcmlhCnRlcnJpdG9yaWVzLlFBPUthdGFyCnRlcnJpdG9yaWVzLlBZPVBhcmFndWFpCnRlcnJpdG9yaWVzLkRPPURvbWluaWthciBFcnJlcHVibGlrYQp0ZXJyaXRvcmllcy5ETT1Eb21pbmlrYQp0ZXJyaXRvcmllcy5ESz1EYW5pbWFya2EKdGVycml0b3JpZXMuSlA9SmFwb25pYQp0ZXJyaXRvcmllcy5ESj1EamlidXRpCnRlcnJpdG9yaWVzLkpPPUpvcmRhbmlhCnRlcnJpdG9yaWVzLkpNPUphbWFpa2EKdGVycml0b3JpZXMuREU9QWxlbWFuaWEKdGVycml0b3JpZXMuUEw9UG9sb25pYQp0ZXJyaXRvcmllcy5QSD1GaWxpcGluYWsKdGVycml0b3JpZXMuUEc9UGFwdWEgR2luZWEgQmVycmlhCnRlcnJpdG9yaWVzLkNaPVR4ZWtpYXIgZXJyZXB1Ymxpa2EKdGVycml0b3JpZXMuQ1k9WmlwcmUKdGVycml0b3JpZXMuQ1Y9Q2FibyBWZXJkZQp0ZXJyaXRvcmllcy5DVT1LdWJhCnRlcnJpdG9yaWVzLlZDPVNhaW50IFZpbmNlbnQgZXRhIEdyZW5hZGluYWsKdGVycml0b3JpZXMuQ1M9U2VyYmlhIGV0YSBNb250ZW5lZ3JvCnRlcnJpdG9yaWVzLlZBPVZhdGlrYW5vCnRlcnJpdG9yaWVzLkNPPUtvbG9uYmlhCnRlcnJpdG9yaWVzLklUPUl0YWxpYQp0ZXJyaXRvcmllcy5DTj1UeGluYQp0ZXJyaXRvcmllcy5JUz1Jc2xhbmRpYQp0ZXJyaXRvcmllcy5DTT1LYW1lcnVuCnRlcnJpdG9yaWVzLkNMPVR4aWxlCnRlcnJpdG9yaWVzLklRPUlyYWsKdGVycml0b3JpZXMuVVk9VXJ1Z3VhaQp0ZXJyaXRvcmllcy5DST1Cb2xpIEtvc3RhCnRlcnJpdG9yaWVzLkNIPVN1aXR6YQp0ZXJyaXRvcmllcy5DRz1Lb25nbwp0ZXJyaXRvcmllcy5DRj1BZnJpa2EgRXJkaWtvIEVycmVwdWJsaWthCnRlcnJpdG9yaWVzLlVTPUFtZXJpa2V0YWtvIEVzdGF0dSBCYXR1YWsKdGVycml0b3JpZXMuQ0E9S2FuYWRhCnRlcnJpdG9yaWVzLklFPUlybGFuZGEKdGVycml0b3JpZXMuQlk9QmllbG9ycnVzaWEKdGVycml0b3JpZXMuQlM9QmFoYW1hawp0ZXJyaXRvcmllcy5CUj1CcmFzaWwKdGVycml0b3JpZXMuVUE9VWtyYWluYQp0ZXJyaXRvcmllcy5OWj1aZWVsYW5kYSBCZXJyaWEKdGVycml0b3JpZXMuSFU9SHVuZ2FyaWEKdGVycml0b3JpZXMuQk89Qm9saWJpYQp0ZXJyaXRvcmllcy5IUj1Lcm9hemlhCnRlcnJpdG9yaWVzLlRUPVRyaW5pZGFkIGV0YSBUb2JhZ28KdGVycml0b3JpZXMuTk89Tm9ydmVnaWEKdGVycml0b3JpZXMuQkU9QmVsZ2lrYQp0ZXJyaXRvcmllcy5UUj1UdXJraWEKdGVycml0b3JpZXMuTkw9SGVyYmVoZXJlYWsKdGVycml0b3JpZXMuQkE9Qm9zbmlhLUhlcnplZ292aW5hCnRlcnJpdG9yaWVzLk5JPU5pa2FyYWd1YQp0ZXJyaXRvcmllcy5USj1UYWRqaWtpc3Rhbgp0ZXJyaXRvcmllcy5USD1UYWlsYW5kaWEKbGFuZ3VhZ2VzLmV1PWV1c2thcmEK