IyBMb2NhbGVJbmZvcm1hdGlvbl9tcy5wcm9wZXJ0aWVzIC0tCiMgQ29weXJpZ2h0IChDKSAxOTkxLTIwMDUgVW5pY29kZSwgSW5jLgojIEFsbCByaWdodHMgcmVzZXJ2ZWQuIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBUZXJtcyBvZiBVc2UKIyBpbiBodHRwOi8vd3d3LnVuaWNvZGUub3JnL2NvcHlyaWdodC5odG1sLgojCiMgVGhpcyBmaWxlIHdhcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBnbnUubG9jYWxlZ2VuIGZyb20gQ0xEUi4KCmN1cnJlbmNpZXNEaXNwbGF5TmFtZS5NWVI9UmluZ2dpdCBNYWxheXNpYQpjdXJyZW5jaWVzU3ltYm9sLk1ZUj1STQpzaG9ydE1vbnRocz1KYW6uRmVirk1hY65BcHKuTWVprkp1bq5KdWyuT2dvc65TZXCuT2t0rk5vdq5EaXOurgptb250aHM9SmFudWFyaa5GZWJydWFyaa5NYWOuQXByaWyuTWVprkp1bq5KdWxhaa5PZ29zrlNlcHRlbWJlcq5Pa3RvYmVyrk5vdmVtYmVyrkRpc2VtYmVyrq4Kc2hvcnRXZWVrZGF5cz2uQWhkrklzbq5TZWyuUmFirktoYa5KdW2uU2Firgp3ZWVrZGF5cz2uQWhhZK5Jc25pbq5TZWxhc2GuUmFida5LaGFtaXOuSnVtYWF0rlNhYnR1rgpmaXJzdERheU9mV2Vlaz1tb24KZXJhcz1TLk0urlQuTS6uCnRlcnJpdG9yaWVzLlRMPVRpbW9yLUxlc3RlCnRlcnJpdG9yaWVzLlRLPVRva2VsYXUKdGVycml0b3JpZXMuVEo9VGFkamlraXN0YW4KdGVycml0b3JpZXMuVEg9VGhhaWxhbmQKdGVycml0b3JpZXMuVEc9VG9nbwp0ZXJyaXRvcmllcy5URj1GcmVuY2ggU291dGhlcm4gVGVycml0b3JpZXMKdGVycml0b3JpZXMuR1k9R3V5YW5hCnRlcnJpdG9yaWVzLlREPUNhZAp0ZXJyaXRvcmllcy5UQz1UdXJrcyBhbmQgQ2FpY29zIElzbGFuZHMKdGVycml0b3JpZXMuR1c9R3VpbmVhIEJpc3NhdQp0ZXJyaXRvcmllcy5HVT1HdWFtCnRlcnJpdG9yaWVzLkdUPUd1YXRlbWFsYQp0ZXJyaXRvcmllcy5HUz1Tb3V0aCBHZW9yZ2lhIGFuZCB0aGUgU291dGggU2FuZHdpY2ggSXNsYW5kcwp0ZXJyaXRvcmllcy5HUj1ZdW5hbmkKdGVycml0b3JpZXMuR1E9RXF1YXRvcmlhbCBHdWluZWEKdGVycml0b3JpZXMuR1A9R3VhZGVsb3VwZQp0ZXJyaXRvcmllcy5TWj1Td2F6aWxhbmQKdGVycml0b3JpZXMuU1k9U3lyaWEKdGVycml0b3JpZXMuR049R3VpbmVhCnRlcnJpdG9yaWVzLkdNPUdhbWJpYQp0ZXJyaXRvcmllcy5HTD1HcmVlbmxhbmQKdGVycml0b3JpZXMuU1Y9RWwgU2FsdmFkb3IKdGVycml0b3JpZXMuU1Q9U2FvIFRvbWUgZGFuIFByaW5jaXBlCnRlcnJpdG9yaWVzLkdJPUdpYnJhbHRhcgp0ZXJyaXRvcmllcy5HSD1HaGFuYQp0ZXJyaXRvcmllcy5TUj1TdXJpbmFtCnRlcnJpdG9yaWVzLkdGPUZyZW5jaCBHdWlhbmEKdGVycml0b3JpZXMuR0U9R2VvcmdpYQp0ZXJyaXRvcmllcy5TTz1Tb21hbGlhCnRlcnJpdG9yaWVzLkdEPUdyZW5hZGEKdGVycml0b3JpZXMuU049U2VuZWdhbAp0ZXJyaXRvcmllcy5TTT1TYW4gTWFyaW5vCnRlcnJpdG9yaWVzLkdCPVVuaXRlZCBLaW5nZG9tCnRlcnJpdG9yaWVzLlNMPVNpZXJhIExlb24KdGVycml0b3JpZXMuR0E9R2Fib24KdGVycml0b3JpZXMuU0s9U2xvdmFraWEKdGVycml0b3JpZXMuU0o9U3ZhbGJhcmQgYW5kIEphbiBNYXllbgp0ZXJyaXRvcmllcy5TST1TbG92ZW5pYQp0ZXJyaXRvcmllcy5TSD1TYWludCBIZWxlbmEKdGVycml0b3JpZXMuU0c9U2luZ2FwdXJhCnRlcnJpdG9yaWVzLlNFPVN3ZWRlbgp0ZXJyaXRvcmllcy5TRD1TdWRhbgp0ZXJyaXRvcmllcy5TQz1TZXljaGVsbGVzCnRlcnJpdG9yaWVzLlNCPUtlcHVsYXVhbiBTb2xvbW9uCnRlcnJpdG9yaWVzLlNBPUFyYWIgU2F1ZGkKdGVycml0b3JpZXMuRlI9UGVyYW5jaXMKdGVycml0b3JpZXMuRk89RmFyb2UgSXNsYW5kcwp0ZXJyaXRvcmllcy5GTT1NaWNyb25lc2lhCnRlcnJpdG9yaWVzLlJXPVJ3YW5kYQp0ZXJyaXRvcmllcy5GSz1GYWxrbGFuZCBJc2xhbmRzCnRlcnJpdG9yaWVzLlJVPVJ1c3NpYQp0ZXJyaXRvcmllcy5GSj1GaWppCnRlcnJpdG9yaWVzLkZJPUZpbmxhbmQKdGVycml0b3JpZXMuUk89Um9tYW5pYQp0ZXJyaXRvcmllcy5SRT1SXHUwMGU5dW5pb24KdGVycml0b3JpZXMuRVQ9RXRoaW9waWEKdGVycml0b3JpZXMuRVM9U2VwYW55b2wKdGVycml0b3JpZXMuRVI9RXJpdHJlYQp0ZXJyaXRvcmllcy5FSD1TYWhhcmEgQmFyYXQKdGVycml0b3JpZXMuRUc9TWVzaXIKdGVycml0b3JpZXMuRUU9RXN0b25pYQp0ZXJyaXRvcmllcy5FQz1FY3VhZG9yCnRlcnJpdG9yaWVzLkRaPUFsamF6YWlyCnRlcnJpdG9yaWVzLlFBPVFhdGFyCnRlcnJpdG9yaWVzLkRPPVJlcHVibGlrIERvbWluaWNhbgp0ZXJyaXRvcmllcy5QWT1QYXJhZ3VheQp0ZXJyaXRvcmllcy5ETT1Eb21pbmljYQp0ZXJyaXRvcmllcy5QVz1QYWxhdQp0ZXJyaXRvcmllcy5ESz1EZW5tYXJrCnRlcnJpdG9yaWVzLkRKPUppYm91dGkKdGVycml0b3JpZXMuUFQ9RmVyaW5nZ2kKdGVycml0b3JpZXMuUFM9UGFsZXN0aW5pYW4gVGVycml0b3J5CnRlcnJpdG9yaWVzLlBSPVB1ZXJ0byBSaWNvCnRlcnJpdG9yaWVzLkRFPUplcm1hbgp0ZXJyaXRvcmllcy5QTj1QaXRjYWlybgp0ZXJyaXRvcmllcy5QTT1TYWludCBQaWVycmUgYW5kIE1pcXVlbG9uCnRlcnJpdG9yaWVzLlBMPVBvbGFuZAp0ZXJyaXRvcmllcy5QSz1QYWtpc3Rhbgp0ZXJyaXRvcmllcy5QSD1GaWxpcGluYQp0ZXJyaXRvcmllcy5QRz1QYXB1YSBOZXcgR3VpbmVhCnRlcnJpdG9yaWVzLlBGPUZyZW5jaCBQb2x5bmVzaWEKdGVycml0b3JpZXMuQ1o9UmVwdWJsaWsgQ3plY2gKdGVycml0b3JpZXMuUEU9UGVydQp0ZXJyaXRvcmllcy5DWT1LaWJyaXMKdGVycml0b3JpZXMuQ1g9Q2hyaXN0bWFzIElzbGFuZAp0ZXJyaXRvcmllcy5DVj1DYXBlIFZlcmRlCnRlcnJpdG9yaWVzLlBBPVBhbmFtYQp0ZXJyaXRvcmllcy5DVT1DdWJhCnRlcnJpdG9yaWVzLkNTPVNlcmJpYQp0ZXJyaXRvcmllcy5DUj1Lb3N0YSBSaWthCnRlcnJpdG9yaWVzLkNPPUNvbG9tYmlhCnRlcnJpdG9yaWVzLkNOPUNpbmEKdGVycml0b3JpZXMuQ009S2FtZXJ1bgp0ZXJyaXRvcmllcy5DTD1DaWxlCnRlcnJpdG9yaWVzLkNLPUNvb2sgSXNsYW5kcwp0ZXJyaXRvcmllcy5DST1QYW50YWkgR2FkaW5nCnRlcnJpdG9yaWVzLkNIPVN3aXR6ZXJsYW5kCnRlcnJpdG9yaWVzLkNHPUNvbmdvCnRlcnJpdG9yaWVzLkNGPVJlcHVibGlrIEFmcmlrYSBUZW5nYWgKdGVycml0b3JpZXMuQ0Q9RGVtb2NyYXRpYyBSZXB1YmxpYyBvZiB0aGUgQ29uZ28KdGVycml0b3JpZXMuQ0M9Q29jb3MgKEtlZWxpbmcpIElzbGFuZHMKdGVycml0b3JpZXMuT009T21hbgp0ZXJyaXRvcmllcy5DQT1LYW5hZGEKdGVycml0b3JpZXMuQlo9QmVsaXplCnRlcnJpdG9yaWVzLkJZPUJlbGFydXMKdGVycml0b3JpZXMuQlc9Qm90c3dhbmEKdGVycml0b3JpZXMuQlY9Qm91dmV0IElzbGFuZAp0ZXJyaXRvcmllcy5CVD1CaHV0YW4KdGVycml0b3JpZXMuQlM9QmFoYW1hcwp0ZXJyaXRvcmllcy5CUj1CcmF6aWwKdGVycml0b3JpZXMuTlo9TmV3IFplYWxhbmQKdGVycml0b3JpZXMuQk89Qm9saXZpYQp0ZXJyaXRvcmllcy5CTj1CcnVuZWkKdGVycml0b3JpZXMuQk09QmVybXVkYQp0ZXJyaXRvcmllcy5OVT1OaXVlCnRlcnJpdG9yaWVzLkJKPUJlbmluCnRlcnJpdG9yaWVzLkJJPUJ1cnVuZGkKdGVycml0b3JpZXMuQkg9QmFocmFpbgp0ZXJyaXRvcmllcy5OUj1OYXVydQp0ZXJyaXRvcmllcy5CRz1CdWxnYXJpYQp0ZXJyaXRvcmllcy5CRj1CdXJraW5hIEZhc28KdGVycml0b3JpZXMuTlA9TmVwYWwKdGVycml0b3JpZXMuQkU9QmVsZ2l1bQp0ZXJyaXRvcmllcy5OTz1Ob3J3YXkKdGVycml0b3JpZXMuQkQ9QmFuZ2xhZGVzaAp0ZXJyaXRvcmllcy5CQj1CYXJiYWRvcwp0ZXJyaXRvcmllcy5aVz1aaW1iYWJ3ZQp0ZXJyaXRvcmllcy5OTD1CZWxhbmRhCnRlcnJpdG9yaWVzLkJBPUJvc25pYSBkYW4gSGVyemVnb3ZpbmEKdGVycml0b3JpZXMuTkk9TmljYXJhZ3VhCnRlcnJpdG9yaWVzLk5HPU5pZ2VyaWEKdGVycml0b3JpZXMuTkY9Tm9yZm9sayBJc2xhbmQKdGVycml0b3JpZXMuQVo9QXplcmJhaWphbgp0ZXJyaXRvcmllcy5ORT1OaWdlcgp0ZXJyaXRvcmllcy5OQz1OZXcgQ2FsZWRvbmlhCnRlcnJpdG9yaWVzLkFXPUFydWJhCnRlcnJpdG9yaWVzLlpNPVphbWJpYQp0ZXJyaXRvcmllcy5OQT1OYW1pYmlhCnRlcnJpdG9yaWVzLkFVPUF1c3RyYWxpYQp0ZXJyaXRvcmllcy5BVD1BdXN0cmlhCnRlcnJpdG9yaWVzLkFTPUFtZXJpY2FuIFNhbW9hCnRlcnJpdG9yaWVzLkFSPUFyZ2VudGluYQp0ZXJyaXRvcmllcy5BUT1BbnRhcmN0aWNhCnRlcnJpdG9yaWVzLk1aPU1vemFtYmlrCnRlcnJpdG9yaWVzLkFPPUFuZ29sYQp0ZXJyaXRvcmllcy5NWT1NYWxheXNpYQp0ZXJyaXRvcmllcy5BTj1OZXRoZXJsYW5kcyBBbnRpbGxlcwp0ZXJyaXRvcmllcy5NWD1NZWtzaWtvCnRlcnJpdG9yaWVzLkFNPUFybWVuaWEKdGVycml0b3JpZXMuTVc9TWFsYXdpCnRlcnJpdG9yaWVzLkFMPUFsYmFuaWEKdGVycml0b3JpZXMuTVY9TWFsZGl2CnRlcnJpdG9yaWVzLlpBPUFmcmlrYSBTZWxhdGFuCnRlcnJpdG9yaWVzLk1VPU1hdXJpdGl1cwp0ZXJyaXRvcmllcy5NVD1NYWx0YQp0ZXJyaXRvcmllcy5BST1Bbmd1aWxsYQp0ZXJyaXRvcmllcy5NUz1Nb250c2VycmF0CnRlcnJpdG9yaWVzLk1SPU1hdXJpdGFuaWEKdGVycml0b3JpZXMuQUc9QW50aWd1YSBkYW4gQmFyYnVkYQp0ZXJyaXRvcmllcy5BRj1BZmdoYW5pc3Rhbgp0ZXJyaXRvcmllcy5NUT1NYXJ0aW5pcXVlCnRlcnJpdG9yaWVzLkFFPUVtaXJpYWggQXJhYiBCZXJzYXR1CnRlcnJpdG9yaWVzLk1QPU5vcnRoZXJuIE1hcmlhbmEgSXNsYW5kcwp0ZXJyaXRvcmllcy5BRD1BbmRvcnJhCnRlcnJpdG9yaWVzLk1PPU1hY2FvIFMuQS5SLiwgQ2hpbmEKdGVycml0b3JpZXMuTU49TW9uZ29saWEKdGVycml0b3JpZXMuTU09TXlhbm1hcgp0ZXJyaXRvcmllcy5NTD1NYWxpCnRlcnJpdG9yaWVzLk1LPU1hY2Vkb25pYQp0ZXJyaXRvcmllcy5ZVD1NYXlvdHRlCnRlcnJpdG9yaWVzLk1IPUtlcHVsYXVhbiBNYXJzaGFsbAp0ZXJyaXRvcmllcy5NRz1NYWRhZ2Fza2FyCnRlcnJpdG9yaWVzLk1EPU1vbGRvdmEKdGVycml0b3JpZXMuTUM9TW9uYWNvCnRlcnJpdG9yaWVzLk1BPU1hZ2hyaWJpCnRlcnJpdG9yaWVzLllFPVlhbWFuCnRlcnJpdG9yaWVzLkxZPUxpYnlhCnRlcnJpdG9yaWVzLkxWPUxhdHZpYQp0ZXJyaXRvcmllcy5MVT1MdWtzZW1ib3VyZwp0ZXJyaXRvcmllcy5MVD1MaXRodWFuaWEKdGVycml0b3JpZXMuTFM9TGVzb3Robwp0ZXJyaXRvcmllcy5MUj1MaWJlcmlhCnRlcnJpdG9yaWVzLkxLPVNyaSBMYW5rYQp0ZXJyaXRvcmllcy5MST1MaWVjaHRlbnN0ZWluCnRlcnJpdG9yaWVzLkxDPVNhaW50IEx1Y2lhCnRlcnJpdG9yaWVzLkxCPUx1Ym5hbgp0ZXJyaXRvcmllcy5MQT1MYW9zCnRlcnJpdG9yaWVzLktaPUthemFraHN0YW4KdGVycml0b3JpZXMuS1k9Q2F5bWFuIElzbGFuZHMKdGVycml0b3JpZXMuS1c9S3V3YWl0CnRlcnJpdG9yaWVzLktSPVNlbGF0YW4gS29yZWEKdGVycml0b3JpZXMuS1A9VXRhcmEgS29yZWEKdGVycml0b3JpZXMuS049U2FpbnQgS2l0dHMgZGFuIE5ldmlzCnRlcnJpdG9yaWVzLktNPUNvbW9yb3MKdGVycml0b3JpZXMuS0k9S2lyaWJhdGkKdGVycml0b3JpZXMuV1M9U2Ftb2EKdGVycml0b3JpZXMuS0g9S2VtYm9qYQp0ZXJyaXRvcmllcy5LRz1LeXJneXpzdGFuCnRlcnJpdG9yaWVzLktFPUtlbnlhCnRlcnJpdG9yaWVzLldGPVdhbGxpcyBhbmQgRnV0dW5hCnRlcnJpdG9yaWVzLkpQPUplcHVuCnRlcnJpdG9yaWVzLkpPPUpvcmRhbgp0ZXJyaXRvcmllcy5KTT1KYW1haWthCnRlcnJpdG9yaWVzLlZVPVZhbnVhdHUKdGVycml0b3JpZXMuVk49VmlldG5hbQp0ZXJyaXRvcmllcy5WST1VLlMuIFZpcmdpbiBJc2xhbmRzCnRlcnJpdG9yaWVzLlZHPUJyaXRpc2ggVmlyZ2luIElzbGFuZHMKdGVycml0b3JpZXMuVkU9VmVuZXp1ZWxhCnRlcnJpdG9yaWVzLlZDPVNhaW50IFZpbmNlbnQgZGFuIEdyZW5hZGluZXMKdGVycml0b3JpZXMuVkE9VmF0aWNhbgp0ZXJyaXRvcmllcy5JVD1JdGFsaQp0ZXJyaXRvcmllcy5JUz1JY2VsYW5kCnRlcnJpdG9yaWVzLklSPUlyYW4KdGVycml0b3JpZXMuSVE9SXJhcQp0ZXJyaXRvcmllcy5VWj1VemJla2lzdGFuCnRlcnJpdG9yaWVzLklPPUJyaXRpc2ggSW5kaWFuIE9jZWFuIFRlcnJpdG9yeQp0ZXJyaXRvcmllcy5VWT1VcnVndWF5CnRlcnJpdG9yaWVzLklOPUhpbmRpYQp0ZXJyaXRvcmllcy5JTD1Jc3JhZWwKdGVycml0b3JpZXMuVVM9QW1lcmlrYSBTeWFyaWthdAp0ZXJyaXRvcmllcy5JRT1JcmVsYW5kCnRlcnJpdG9yaWVzLklEPUluZG9uZXNpYQp0ZXJyaXRvcmllcy5VTT1Vbml0ZWQgU3RhdGVzIE1pbm9yIE91dGx5aW5nIElzbGFuZHMKdGVycml0b3JpZXMuVUc9VWdhbmRhCnRlcnJpdG9yaWVzLlVBPVVrcmFpbmUKdGVycml0b3JpZXMuSFU9SHVuZ2FyaQp0ZXJyaXRvcmllcy5IVD1IYWl0aQp0ZXJyaXRvcmllcy5IUj1Dcm9hdGlhCnRlcnJpdG9yaWVzLlRaPVRhbnphbmlhCnRlcnJpdG9yaWVzLkhOPUhvbmR1cmFzCnRlcnJpdG9yaWVzLkhNPUhlYXJkIElzbGFuZCBhbmQgTWNEb25hbGQgSXNsYW5kcwp0ZXJyaXRvcmllcy5UVz1UYWl3YW4KdGVycml0b3JpZXMuVFY9VHV2YWx1CnRlcnJpdG9yaWVzLkhLPUhvbmcgS29uZyBTLkEuUi4sIENoaW5hCnRlcnJpdG9yaWVzLlRUPVRyaW5pZGFkIGRhbiBUb2JhZ28KdGVycml0b3JpZXMuVFI9VHVya2kKdGVycml0b3JpZXMuVE89VG9uZ2EKdGVycml0b3JpZXMuVE49VHVuaXNpYQp0ZXJyaXRvcmllcy5UTT1UdXJrbWVuaXN0YW4KbGFuZ3VhZ2VzLm1zPUJhaGFzYSBNZWxheXUK