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wF9AXl3DVYvsU1aL8FfoSP////91CIvYVugV5P//g8QMhcB1DWjs6UUAV+hO7wAAWVmD+wF0Gv80nUjnRQBo0OlFAFfoler//4PEDIPI/+tk/3UIVlfoN+T//1ZX6IDk////dQhW6I82AACDxByFwHQQg/gBdAtqAVdW6BLk///rx1botOT//4vYjUMBUFfon+P//4PEDIXAdQ1otOlFAFfo2O4AAFlZU1dW6OLj//+DxAyLw15bXcNVi+xWV4t9CGoBV+je6P//i/BZWYX2dRBooOlFAGoBV+iQ9wAAg8QMV+hV5P//SFCLxugW////i/BZWYX2eRhqAFfojur//2r+V+i/5P//g8QQagJY6xpqAVfodur//4PI/yvGUFfoo+T//4PEEI1GAV9eXcNVi+xWV4t9CGjt2P//V+hm6P//V4vw6PPj//9Qi8botf7//4vwg8QQhfZ5MGr/V+gb5v//WVmFwHQbagFX6JrtAABq/lfoT+T//2oCV+i38P//g8QYV+hq8P//WV+Lxl5dw1WL7FNWi3UIV1boauP//zP/R1dWi9joReX//4PEDIP4BnUNV1bocOX//1lZhcB0D2gM6kUAV1boovYAAIPEDFdW6O/k//9XU1botOL//4PEFIvHX15bXcNVi+z/dQjonf///2oBaGY+QAD/dQjoCOn//zPAg8QQQF3DVYvs/3UI6Cfj//9Q/3UI6IowAACDxAxdw1WL7P91COib6f//WYXAdAn/dQjouef//1kzwEBdw1WL7GoA/3UU/3UI6Lno//9qAf91EP91COis6P///3UMav7/dQjoe+v//4PEJF3DU1a+7tj//1ZX6Efk//+7YOpFAFNWV+hb6///aIDmRQBTV+i6/AAAagdoWOpFAFfomef//2hM6kUAVlfoNuv//2gjN0AAaGY3QABoROpFAFfofP///4PESGi2NkAAaPA2QABoPOpFAFfoZP///2oBagBX6O/p//9q/1fo1uP//2r+V+gN7P//agJoOOpFAFfoOef//2gw6kUAav5X6NXq//+DxERqAWjXO0AAV+jp5///aCTqRQBWV+i56v//g8QYXlvDVYvsV4t9COgx////aFjnRQBoZOpFAFfoAvwAAIPEDGoCWF9dw4M4BXUQg3gQ/3UKg3gU/3UEM8BAwzPAw4sXi1IMK8FTjVj/Vo00iovDmTPC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ffwAdAUzwEDrKmjs2P//VugJlP//WVmFwHQXagBW6MqQ//9XVug7kv//g8QQ6Jb5//8zwF9eW8nDVYvsUVNWV4v4V+iUkP//WYvwTmoBW3Rv/3UMTlfoNZL//1lZg/gDdSmF23RR/3UMV+hHk///3RwkaNDxRQD/dQjoIVADAIPEEIXAfjEz20PrLo1F/FD/dQxX6CalAACDxAyF23QY/3UIM9v/dfxDU1DoSF0DAIPEEDtF/HQCM9v/RQyF9nWRagBT6Mb2//9ZWV9eW8nDVYvsV2oB/3UIagJf6IT6//9ZUItFCOhP////WVlfXcNVi+xqAv91COix9///WVCLRQjoM////1lZXcNVi+xTVleLfQhX6JT3///HBCQM8EUAaODvRQBqAleL2OgxqQAAagBqA1eL8OixpQAA/zS1APBFAFBT6LWDAwCDxCiFwHQNagBqAOg19v//WVnrE1PorIIDAFBX6FiU//8zwIPEDEBfXltdw1WL7FFWV4t9CFfoKff//8cEJCjwRQBqAGoCV4lF/OjIqAAAaAACAABqA1eL8OhFpQAAUP80tRzwRQBqAP91/OjBgwMAM8mFwA+UwWoAUejG9f//g8Q0X17Jw1WL7FdqAP91CGoCX+iE+f//UOheTgMAi30I99hZG8BZQFDomPX//1lZX13DVYvsV4t9CGoAV+ij9v//UOg0TgMA99hZG8BZQFDocfX//1lZX13DVYvsVuiz9v//g30MAFmLTQiJCH4Zav9W6CaQ////dQxo79j//1bo9Jf//4PEFGr+VugNkP//av5W6M+Y////dRBq/VboG5f//4PEHF3DVYvsagFqAP91COj3lf//agD/dQz/dQjoHpT//2hI8UUAav7/dQjo65b//4PEJF3DVYvsVot1CGgE8UUAVuicmAAAav9W6KuP//9o2PFFAGr+Vui/lv//aJjwRQBqAFboHagAAGgri0AAVuiR////aO/Y//9W6MqO//9oOPBFAGgg70UAVuj3pwAAg8REaK2KQABW6Gj///9ZWWjw8UUAagHolk4DAFDoBv///4PEDGjo8UUAagLogU4DAIPAIFDo7v7//4PEDGjg8UUAagDoaU4DAIPAQFDo1v7//2r+VuiZjf//aKjvRQBq/1boU5T//2jPikAAVugE////av5W6LuX//9q/lbocY3//4PEODPAQF5d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PXj2RQAPhUQBAABTaFz4RQBW6GN7AACDxAzpMAEAAGhU+EUAaO/Y//9W6OF3//9XVui2cv//g8QUg/gFdA1oMPhFAFboMXsAAFlZagBos+JFAFbo4XX//4PEDMdF/AEAAAD/dfxq/lboLnj//1dW6Hhy//+DxBSFwHUZUGr+VugedP//UFNoFPhFAFbo6XoAAIPEHFNW6Nt1//9qAWoBVuhVe///V1boQHL//4PEHIP4BnQmV1bovnL//1lZhcB0CmoCVuhqff//6whq/lbodnD///9F/FlZ64i/ePZFAFdW6MR2//9TagJW6PN4//9TVuiAdf//agFqAVbo+nr//2r/Vujkcf//g8QwhcB0DFNqAlboynj//4PEDFNqAlbo7Hb//2r/VuhOdP//g8QUO8d1HGoBVuhPdv//av9W6H5x//9TagJW6JZ4//+DxBxfM8BeQFvJw1WL7IPsaKHwsk0AM8WJRfyNRZhQagFW6MKr//+DxAyFwHQkjUWYUGhY6EUAVuiJtv//g8QMhcB0Dmr/VuiOcf//WVmFwHQNaJD4RQBW6NF5AABZWWr+VugOcf//av5W6NB5//9q/lbohm///4tN/DPNg8QY6Lg0AwDJw2r/VujncP//aMz4RQBq/lbo+3f//1dW6Ih0//9oxPhFAGr+Vujnd///ai5X6NF1AwCDxDCFwHUEi8frAUArx1BXVuggdP//aLj4RQBq/lbovHf//4PEGMNVi+xTVot1CFdqAGoBVujdgwAAVov46PNu//9oiPhFAGjw2P//Vo1YAei4df//V1NW6LB1//9q/1bohHD//4PEMIP4BXREav5W6NFu//9qAVdo7tj//1boRnoAAIPEGIXAdBRXaND4RQBW6OF4AACDxAzpgQAAAGr/VugYcP//V1NW6DF3//+DxBRoxPhFAGr/VuhPdf//av9W6CNw//+DxBRq/laFwHQJ6HFu//9ZWesM6Ghu//9ZWejq/v//av9W6NFv//9ZWehg/v//agJfSzvffCFXVui7b///av5W6LNv//9qAGoBVujieP//g8QcRzv7ft8zwF9eW13DVYvsVot1CGoFagFW6JuCAABqAVboz3X//4PEFIXAdRxqAVBW6IJ1//9q/1boaW///2oBVuigd///g8QcaO7Y//9W6FNv//9o2PFFAGr+Vuhndv//g8QUM8BeXcNV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i/hZO/50RVeNTeSLxovT6Mrw//9ZO/5+CItDMCv3AXAki1swi0Mkg030/4NN+P9IiUXsjUXkUP91wMdF5AwAAABT6A53//+DxAzrHo1F5FD/czDoyW///41F5FD/dcD/czDo7nb//4PEFItN/F9eM81b6OkSAwDJw1WL7IPsHKHwsk0AM8WJRfxqAI1F5FBW6CH9//+DxAyDfeQBdQfHReQDAAAAjUXkUP92MOgSeP//i0X4WVmLTfwzzeigEgMAycNVi+xRU1ZXi3gwi3cUM9uJXfw783QWOF4KdQ0Ptk4JizYJTfw783XuO/N1DWhYAEYAUOgWwv//WVk5Xfx0Eg+2RghTU1BqI1fo6XD//4PEFFfoHXL//1CDxgRWV+ijbP//g8QQX15bycNVi+yD7BBTVovwi14wV1boCs7//1PoQmv//1lZi/joK////4NN9P+JRfzGRfoBikMyiEX4xkX5AItDFIlF8I1F8IlDFLgDAQAAi87oguv//4vG6D79//9XU+iscf//WVBT6El8//+LfQhoFQEAAGgGAQAAi8bocOv//4v76L7v////dfxT6PZx//+DxBxfXlvJw1WL7IPsIFNWi/CLXjBXU+i2av//g03k/4lF+MZF6gGKQzKIRejGRekAi0MUiUXgjUXgiUMUg03w/8ZF9gCKQzKIRfTGRfUAi0MUiUXsjUXsVolDFOgzzf//VuifCAAAi30IaBABAABoFAEAAIvG6OXq//+DxBToQf7//4B99QCJRfx1D4v76CLv////dfj/dfzrJovG6Gv+////dfz/djDoSXH//1lZi/vo/+7///91+FPowXD//1lQ/3Yw6Fx7//+DxAyL++ji7v//X15bycNVi+yD7Byh8LJNADPFiUX8V2oAjUXkUFboDPv//4t95I1F5FD/djDoTXP//4tN/IPEFIvHM81f6JcQAwDJw1WL7IPsEFNWV4vwi34wagNZ6Krr//+4AwEAAIvO6BDq//+DfRQAu/7/AQB0EVP/dQhqIFfoIW///4PEEOsHV+gmcP//WYNN9P+LTRCJRfzGRfoAikcyiEX4xkX5AItHFIlF8I1F8IlHFIvG6FDr////dRBX6Plq//+Lxuh1+///6Bru//+LdfxWV+hRcP//g8QQg30UAHQRU/91CGofV+i2bv//g8QQ6xP/dRBqAP91CGohV+h0bv//g8QU/3UMi9hX6Llt//+DfRQAWVl0BIvD6wdX6JFv//9ZRlZQV+gsev//g8QMX15bycNVi+xRUVNWi9iLQzBXaguJRfyLQCRohABGAFOJRfjoTb///1Az/+hp6v//agtoeABGAFPoOL///1BH6FXq//9qCmhsAEYAU+gkv///UGoCX+g/6v///3UIagNf6DTq//9qPViLy+jd6P//i/PoZv7//2osWIvL6Mzo///oV/7//2osi8Poo+j//4PEOIXAdAfoQv7//+sn2eiLdfxRUd0cJFboIWv//1D/diRqAVbovG3//2oBVujMaf//g8QkagFqAf91DIvD/3X46Eb+//+DxBBfXlvJw1WL7IPsKKHwsk0AM8WJRfxTVleL2YtDMGoPiUXYi0AkaKwARgBTi/KJRdzoab7//1Az/+iF6f//agtooABGAFPoVL7//1BH6HHp//9qDWiQAEYAU+hAvv//UGoCX+hb6f//VmoDX+hS6f//agRfaiyLw+je5///g8Q46xmLw+hb6P//UOg06f//aiyLw0fowuf//1lZhcB147gLAQAAi8voy+f//4tDBIlF4I1F5FCL8+hI9P//UGoDjU3kWIvT6I3r//9qA/912OiqaP//agCDx/1X/3Xgi8P/ddzoXf3//4tN/IPEIF9eM81b6OINAwDJw1WL7IPsDINN+P9Wi3MwxkX+AVeL+IpGMohF/MZF/QCLRhSJRfSNRfRTiUYU6JjJ//9Zi8Posuf//4tLEIP5LHQng/k9dBWB+QsBAAB0Gmi8AEYAU+g2vf//6wlXUIvD6NL9//9ZWesJi9CLy+ic/v//aAgBAABoBgEAAIvD6BPn//9ZWYv+6F/r//9fXsnDVovwV1boMMn//1noWvr//4v4uBIBAACLzujQ5v//i8bojPj//4vHX17DVYvsUVGDTfj/U1eLfjCLxujB////uwUBAADrJFfo2mz//1CNRfhQV+hgZ////3X8V+g8bf//g8QYi8bolv///4lF/DleEHTUgX4QBAEAAHUsV+ilbP//UI1F+FBX6Ctn////dfxX6Adt//9W6J/I//+DxByLxugM+P//6xD/dfyNRfhQV+gDZ///g8QM/3X4V+jcbP//i30IaAoBAABoBgEAAIvG6DLm//+DxBBfW8nDVYvsg+w4ofCyTQAzxYlF/FOL2VaLczBXi8OJdcjo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RRA7RQx2BDPAXcP/TRCLRRApRQxWV3QyD74D/3UMUP91COhVYAMAg8QMhcB0HItNEECNewGL8DPS86Z0E4tNCCvIAU0MiUUIdc4zwF9eXcNI6/lVi+w7fgx8KYX/dRQrRQhQ/3UI/3YI6IM2//+DxAxdw2gAAkYA/3YI6LI7AABZWV3DU4tc/hSD+/91D2jAAkYA/3YI6Jc7AABZWYP7/nUUi0T+ECsGQFD/dgjoJDb//1lZ6xBT/3T+EP92COguNv//g8QMW13DVYvsU1aL8ItGDFcz/zvHdQo5fQh0BTPbQ+sCi9hoiAJGAFP/dgjoxjsAAIPEDDvffhH/dQiLRQzoTf///0dZO/t8719ei8NbXcNVi+yB7CgBAACh8LJNADPFiUX8U1ZXjYXk/v//UIvxagFWibXg/v//6JJFAACL+I2F2P7//1BqAlbogUUAAIud5P7//2oBagNWiYXo/v//6JlGAACDxCSFwHkKjUQYAYXAeQIzwI1Y/4XbeQQz2+sOO53k/v//dgaLneT+//+DfQgAdHJqBFbokzP//1lZhcB1FmjUAkYA/7Xo/v//6HdfAwBZWYXAdU7/tdj+//+LheT+//8rw1AD31OLnej+///oGf7//4PEDIXAD4SpAAAAi9gr341DAVBW6OU0//8Dndj+//9TVujYNP//g8QQagJY6Y0AAACLhej+//+AOF51Ev+F6P7//8eF3P7//wEAAADrB4Ol3P7//wCLheD+//+JhfT+//+LheT+//8Dx400O4m97P7//4mF8P7///+16P7//4Ol+P7//wCNhez+//9WUOgt+///i9iDxAyF23Uyi8ZGO4Xw/v//cwg5ndz+//90you14P7//1boFjT//zPAQFmLTfxfXjPNW+id9AIAycODfQgAdDQr90ZW/7Xg/v//6Bw0//8r31P/teD+///oDjT//2oAagCNhez+///o8v3//4PEGIPAAuu3U1aNhez+///o3f3//1nrplWL7ItNCGoB6Bf+//9ZXcNVi+yLTQhqAOgH/v//WV3DVYvsgewgAQAAofCyTQAzxYlF/FNWV4t9CI2F4P7//1Bo7dj//1foIDL//2oAaOzY//9Xi9joETL//4mF6P7//4uF4P7//wPDaOvY//9Xib30/v//iZ3s/v//iYXw/v//6IUx//+DxCCNNAPrKP+16P7//4Ol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QgADAFCNRehQjYXo/f//UOhSLwMAg8QUjYXo/f//jVABighAhMl1+SvCUI2F6P3//1CNhdz7//9Q6DU0AACDxAw7vdT7//8Pgnr+//+Nhdz7//9Q6Hc0AAAzwFlAi038X14zzVvoSuwCAMnDjYXM+///UP+12Pv//1PoxzsAAIvwjUXoai5Q6AQEAwCDxBSFwHUjg73M+///ZHIa/7XY+///U+hFKP//jYXc+///UOg/NAAA64hWjUXoUI2F6P3//1DooC4DAIPEDOlJ/////7XY+///jbXc+///U+gZ/P//WVnpWf///w++R/9QaLgDRgBT6K4wAACDxAzpXf///1WL7FaLdQhXaDgBRgBoxOJFAFboYUAAAGoBagBW6Nwt//9qAGiz4kUAVug2K///av5fV1botCf//1dW6Owv//9XVuguJv//V1bonyf//4PERGjY8UUAV1bosS7//1dW6BEm//+DxBQzwF9AXl3DVYvs3UUI2e7a6d/g9sREegWLRhBdw4pOB4tFDANFCFcz/0fT5zPST4PPAff3X4vCweAFA0YQXcNWi/CLQghIV3RBSHQ5SHQmSIpOB3QTiwIz/0fT5zPST4PPAff3i8LrLTPAQNPgiwpII0EI6yDdAlFR3Rwk6Ib///9ZWesWik4H68uKTgczwEDT4EgjAsHgBQNGEF9ew1WL7IPsDIN4CAN1H90A3V303UX0213820X83UX02unf4PbERHoFi0X8ycODyP/Jw1WL7IN/CAB1BYPI/13Di8fou////4XAfguLTQw7QRx/A0hdw4tFDFaL1+hC////i/BTjV4QV1PoQbn//1lZhcB1LIN+GAt1DIN/CAR8BosDOwd0Got2HIX2dddoAARGAP91COhMav//WVkzwOsOi00Mi8YrQRDB+AUDQRxbXl3DVYvsU1aLdQxXi30QVv91COhr////WVmLThxAO8F9GIteDIvQA9KNVNMIgzoAdTZAg8IQO8F88zPbK8GKTgdD0+M7w30Zi1YQi8jB4QWNTBEIgzkAdT1Ag8EgO8N88zPAX15bXcONSAGJTQzbRQzB4ATHRwgDAAAA3R8DRgyLCIlPEItIBIlPFItACIlHGDPAQOvNi8jB4QWNRAoQixCJF4tQBIlXBItACIlHCItGEAPB68pVi+zolf7//41I/4H5////A3cWSFDoC7j//1mL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RhB2EoNGFOCLfhSDfxgAdAs7fhB37oNGFOAz/4X/dR7/dRCL3v91COhG/v///3UQVv91COiD+///g8QU606NUxCLxujS9v//O8N1SItDHIlHHIl7HIvfi30QiweJQxCLRwSJQxSLRwiJQxiDfwgEfBmLB/ZABQN0EfZGBQR0C1b/dQjoJYL//1lZi8NfXltdw4tAHDlYHHX4agiJeBxZi/PzpYNjHACDYwgAi3UM66dVi+yD7BBWi3UQVv91DOhH+v//WVk9kPlFAHUcjUXwUP91DIl18P91CMdF+AQAAADo8v7//4PEDF7Jw1WL7FFTVot1CFcz/2oFR1dW6HIwAABXVuieH///agZqAlaJRfzoXjAAAIPEIIvfOX38fD9qAlboOh3//1NW6JAg//9TV1boBSP//1dqAlboWyb//2r/VuhFHf//g8QwhcB1F2r+VuiTG///Q1lZO138fsEzwF9eW8nDi8fr91WL7FaLdQhqBWoBVuj5LwAAagZqAlbo7y8AAFboBiD//2oBVugNKP//g8Qk60RqAlbowhz//2r9Vui6HP//av1W6LIc//9qAWoCVujhJf//av9W6Msc//+DxCyFwHUaav1W6Bkb//9qAVboxyf//4PEEIXAdbheXcMzwEDr+FWL7FFR2e5Wi3UI3V34agVqAVbodC8AAFboix///2oBVuiSJ///g8QY6z9q/lbozxr//2r/VuhqHP//g8QQg/gDdR1q/1bogB3//91F+NjZWVnf4PbEBXoF3V346wLd2GoBVuhQJ///WVmFwHW93UX4UVHdHCRW6EAf//+DxAwzwEBeycNVi+xqBWoB/3UI6PguAABqAf91COghHv//UP91COgwH///M8CDxBxAXcNVi+xqBWoB/3UI6M4uAABo6ARGAP91COhoJAAAagH/dQjopRv//zPAg8QcQF3DVYvsUVOLXQhWagVqAVPonC4AAGoBU+jHHf//U41wAejwGf//g8QYSEh0TEh0D2j8BEYAU+gdJAAAWVnrTWoCU+iiLwAAWVmJRfw78H0Ei/A78H4mV41+/1dqAVPoFiH//1ZqAVPoDyP//4v3g8QYO3X8f+Ff6wOJdfz/dfxqAVPo9CL//4PEDDPAXlvJw1WL7FFRU1ZXi30IM9tqBUNTV+gKLgAAU1foNh3//1BqAleJRfzobC8AAIvwg8QgO/N8Sjt1/H9FVlNX6Kkg//+DxAzrHI1GAVBTV4lF+OiWIP//VlNX6JAi//+LdfiDxBg7dfx831fo0h3///91/FNX6HUi//+DxBCLw+sCM8BfXlvJw1WL7P91DGoBVuhXIP//av9W6C0b//+DxBSFwHUk/3UMav9W6I4a//9QVuimGv//g8QQUGgkBUYAVugGIwAAg8QQ/3UI6EgmAABZXcNVi+yB7BgCAACh8LJNADPFiUX8U1aLdQhXjYXo/f//UGiz4kUAagJW6JstAABqBWoBVomF7P3//+gULQAAagFqA1bofy4AAGoEVov46Bka//+DxDCFwH8KagFW6CQc///rCGoEVugfLgAAWYvYWY2F8P3//1BW6DAmAABZWespjYXw/f//V1DoKP////+16P3//42F8P3///+17P3//1DoISUAAIPEFEc7+3zTdQ+NhfD9//9XUOj5/v//WVmNhfD9//9Q6FklAABZi038XzPAXjPNQFvoLN0CAMnDVYvs/3UMagH/dQjoLyH///91EGoB/3UI6CIh//+DxBhdw1NXagJWi/iL2eheGf//WVmFwHQ9agJW6CUZ//9LU1boHRn//4PH/ldW6BMZ//9qAWoCVuhCIv//av9W6Loa//9q/laL+Oh/F///g8Q0i8frC1dTVuj8Gf//g8QMX1vDVYvsUVeLfRA5fQwPjRsCAABTM9tWi3UIQ+sDi30Q/3UMU1bolB7//1dTVuiMHv//g8QYav5Yg8n/6GP///+FwHQPV/91DFboM////4PEDOsKav1W6BEX//9ZWYtFDIl9/ClF/Dld/A+EvQEAAAPHmSvCi/jR/1dTVug+Hv///3UMU1boNB7//4PEGGr+g8j/WegL////hcB0Bf91DOsnav5W6MMW////dRBTVugLHv//g8QUav5Yg8n/6OL+//+FwHQP/3UQV1bosv7//4PEDOsKav1W6JAW//9ZWYN9/AIPhEQBAABXU1bozh3//2r/VujsF///i0UQSFBTVui6Hf//i0UQSFBXVuhx/v//i0UQi30Mg8QsSIlF/EdXU1bomB3//4PEDOsmO30Qfg1oXAVGAFboYiAAAFlZav5W6CcW//9HV1NW6HAd//+DxBRq/liDyf/oR/7//4XAdcv/Tfz/dfxTVuhRHf//g8QM6y2LRQw5Rfx9DWhcBUYAVugYIAAAWVlq/lbo3RX///9N/P91/FNW6CId//+DxBRq/YPI/1no+f3//4XAdcQ5ffx8Ev91/FdW6MT9//+DxAzpWP///2r8VuifFf//i0UQSFBTVujlHP//V1NW6N0c//+LRRBXSFBW6JT9//+LTRCLRQyL1yvPK9CDxCw70X0JT41PAolNDOsMjUcBi30QjUj+iU0QV1BW6OX9//+LRRCDxAw5RQwPjPH9//9eW1/Jw1WL7FaLdQhXagVqAVbosykAAGoBVujeGP//aLPiRQBqKFaL+OjLHwAAagJW6K0W//+DxCiFwH4NagZqAlbogykAAIPEDGoCVujuFP//V2oBVuh7/f//g8QUXzPAXl3DVYvsaJgERgBoJO9FAP91COjLLgAAM8CDxAxAXcNVi+xRU1a+vAAAAMdF/GAGRgApdfxXi30Ii0X8iwwwi8GNUAGKGECE23X5K8JQUVfoKtf//4tPEIkEDotHEIsEMIBIBSCDxgSDxAyB/gABAAB8xl9eW8nDVYvsVv91EIt1CFboePL//4N4CABZWXUMi00MsAHS4AhGBjPAXl3DVYvsi00Mi0EIi9CD6gVWi3UIdBBKSnQMi04Qi4SBmAAAAOsFiwGLQAiFwHQXi04Qi1UQ/7SRvAAAAFDoIfL//1lZ6wW4kPlFAF5dw1WL7P91CP92DGikBkYA/zbo86r//2oD/zbogmL//4PEGF3DVYvsVv91DIvw/3UI/3YE6OkcAACDxAyFwHQLaMAGRgDouP///1leXcNVi+xRjUX/agFQi0UI6MX///8PvkX/WVnJw1WL7FFWi/CNRfxqBFCLxuip////g338AFlZfQto0AZGAOh0////WYtF/F7Jw1WL7FGNRfxqBFCLxuh/////g338AFlZdQQzwMnDV/91/P92CP826KwcAAD/dfyL+FeLxuhY////i0X8SFBX/zbovNX//4PEIF/Jw1WL7IPsEFaLdQhXi8bodv///4v4jUcBPf///w93FovHweAEUGoAagD/Nujrmv//g8QQ6wj/NujJmv//WYlDCIl7KIX/D46eAAAAM8CLz4tTCINkEAgAg8AQSXXyhf8PjoQAAAAhTfyJffiLewgDffxW6Pj+//+D6ABZdF9IdERISHQjSHQNaNwGRgDokv7//1nrDugd////iQfHRwgEAAAAi3UI6zmNRfBqCFCLxuiS/v//3UXwWd0f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wHQjUP91/GoB/3X46JKjAgD/dfToMqYCAGoBVuhN2/7/g8Qc68Rq/1boQNv+/1dooAxGAFbo8Nv+/4PEFGoCWF9eycNVi+y4DEAAAOhjBwMAofCyTQAzxYlF/ItFCFOLXQxWV2j/PwAAiYX4v///jYX9v///agBQxoX8v///AOjgpAIAU+jFBAAAg8QQhcB1RItFEIXAdBSNlfy///8r0IoIiAwCQITJdfbrE42F/L///2gAQAAAUOhU8v//WVmNvfy///9PikcBR4TAdfi+YAtGAGali8OL04oIQITJdfmNvfy///8rwk+KTwFHhMl1+IvIwekCi/LzpYvIjYX8v///g+EDai9Q86ToUwkAAIC9/L///y+Lvfi///9ZWcYHAHUQT4pHAUeEwHX4vmALRgBmpWhgC0YAjYX8v///M9tQ6b0AAAC6NPJFAIvwagOL+lkzwPOmdUqF23QXigM8JHRAPCV0PGoDi/qL81kzwPOmdC+Ltfi///+Lxo1QAYoIQITJdfkrwoPA/ngSgDwGL3QDSHn3hcB4BcZEBgEAM9vrWoud9L///2oCvzD0RQCL81kzwPOmdESLy4vTigFBhMB1+Yu9+L///yvKi/KL0U+KRwFHhMB1+IvKwekC86WLyoPhA/Oki734v///T4pHAUeEwHX4vmALRgBmpWhgC0YAagDolgwDAFmJhfS///9ZhcAPhS7///+Ljfi///+LwY1wAYoQQITSdfkrxl+NRAH/gDgvXlt1AogQi038M83olJkCAMnDVYvsuAxAAADoYQUDAKHwsk0AM8WJRfxTVot1CFcz21aJnfi////oF9T+/zP/R1k7x34gagJW6LvV/v9ZWYXAdBJTagJW6Nro//+DxAyJhfi///9XVuic1f7/WVlTg/gFdXRTVomd9L///+ht2/7/VuiF2P7/V1bojeD+/4PEGOtPU2r/Vuia6P///7X4v///UI2F/L///1DoYf3//2r+Vuiu0/7/jYX8v///UFboztj+//+F9L////+19L///2r9Vujh3P7/V1boPOD+/4PEPIXAda3rKldW6Efo////tfi///9QjYX8v///UOgO/f//jYX8v///UFbog9j+/4PEIItN/IvHX14zzVvog5gCAMnDzFWL7LgIgAAA6E8EAwCh8LJNADPFiUX8U4tdCFZXagBqAVOJnfh////o5ef//2oAagJTi/Do2ef//4v4Vo2F/L///1BT6FYGAABXjYX8f///UFPoSAYAAIPEMI2N/H///42F/L///4oQOhF1GoTSdBKKUAE6UQF1DoPAAoPBAoTSdeQzwOsFG8CD2P+FwHULaDD0RQBT6UQBAACAvfx///8kdQmNhfx///9Q6+iNvfy///9PikcBR4TAdfi4YAtGAIvwZqWNvfx///9Pik8BR4TJdfiL8DPAg8v/ZqU4hfy///8PhNAAAACKjAX8f///hMl0HYqUBfy///860XUSgPovdQKL2ECAvAX8v///AHXYhdsPjqAAAACD+wJ1DYC9/b///zoPhI4AAAAzyY2EHf2///84CHQMgDgvdQFBQIA4AHX0xoX8v///AIXJfhiNvfy///9PikcBR4TAdfhJvsAMRgCldeiNhB39f///i9CKCECEyXX5jb38v///K8JPik8BR4TJdfiLyMHpAovy86WLyIPhA42F/L////OkjUgBihBAhNJ1+SvBiJQF+7///42F/L///+sfjYX8f///jVABighAhMl1+SvCiIwF+3///42F/H///1D/tfh////oi9b+/1lZi038XzPAXjPNQFvoi5YCAMnDVYvsi1UIigqA+S90LYD5XHQogPkkdCOA+SV0HoD5InULikIBPCR0EjwldA6EyXQGgHoBOnQEM8BdwzPAQF3DVYvsagBq//91COjN5f//UOis////UP91COgu1/7/M8CDxBhAXcNVi+y4HEAAAOjzAQMAofCyTQAzxYlF/ItFCFeNvfy///9QiYXov///ib3wv///6KHQ/v9ZM8lBiYXkv///iY3sv///O8EPjPUBAABTVv+17L////+16L///+gq0v7/WVmFwA+EvgEAAGoA/7Xsv////7Xov///6Dvl//+DxAyL2I1wAYoIQITJdfkrxomF+L///77IDEYA6wqDwwKDrfi///8CagJWU+j7CAMAg8QMhcB05ouF+L///+sOgHwD/y91DEiJhfi///+D+AF37YXAD4RQAQAAg/gBdQmAOy4PhEIBAABT6LH+//9ZhcB0Do2F/L///4mF8L///4v4jYX8v///O/gPhPwAAADrBou98L///4O9+L///wIPgtMAAACAOy4PhcoAAACAewEuD4XAAAAAjYX8v///ai9Q6C/WAgBZWYmF9L///4XAdQ6Nhfy///+JhfS////rBv+F9L///4u19L///2oDvzTyRQBZM8DzpnR4i7X0v///agK/MPRFAFkzwPOmdGRoxAxGAP+19L///+jHkQIAWVmFwHVOi7X0v///aiRW6FOsAgBZWYXAdTqNhfy///878HQBToPDAoOt+L///wLGBgCJtfC///90DIA7L3UHQ/+N+L///42F/L///zvwD4Ug////i73wv///jYX8v///O/h0CoB//y90BMYHL0f/tfi///9TV+jc2AIAg8QMA734v///ib3wv///xgcA/4Xsv///i4Xsv///O4Xkv///D44P/v//XluNhfy///9Q/7Xov///6MDT/v9ZWYtN/DPAM81AX+jCkwIAycNVi+yD7BBWV4vwi/kywIlV8Il19DvXD4SeAAAAjUoBiU38jUr9iU34U4oKgPlcdQOAwdOA+S51SjrBdWmNTv0ywDtN9HI2gDkvdQyAeQEudAaAeQIudQhJO030c+nrGI1Z/4vxO130cg6Aef86dQg5ffx1A41xATtN9HMuxgYuRusogPkvdR48LnUWOEr+dRWLTfA5TfhyBoB6/Tp0DE7rCTwvdAOIDkaKwUL/Rfz/Rfg71w+FcP///1tP6wiAf/86dAdOT4A/L3TzigKIBl+Lxl7Jw1WL7LgIQAAA6Lv+AgCh8LJNADPFiUX8i0UIU1ZXagBqAVCJhfi////oUeL//2j/PwAAi/iNhf2///9qAFDGhfy///8A6C+cAgCDxBiNnfy////rDw++wFDoqqECAFmFwHQHR4oHhMB164A/AIv3dGPrA4PHAmoCaMgMRgBX6O0FAwCDxAyFwHTp6w8PvsBQ6HOhAgBZhcB1B0aKBoTAdeuLw4vOi9fogf7//4vY6xQPvsBQ6E+hAgBZhcB0DIoGiANDRooGhMB15oA+AIv+daXrAUtOD74GUOgqoQIAWYXAdfCNhfy///9Q/7X4v///xgMA6OPR/v9ZWYtN/F8zwF4zzUBb6OORAgDJw1WL7FaLdQhXVuiDzP7/xwQkhPdFAGju2P//Vov46EfT/v9ozAxGAGr/Vug60/7//3UQVuiX0f7/agFqAVboEdf+/2oAav9W6Cfh//+LTQyDxDgryIoQiBQBQITSdfZXVug9zP7/WVlfXl3DVYvsi0UI6xKKCID5L3QFgPlcdQWKTQyICECAOAB16V3DVYvsuAxAAADoJP0CAKHwsk0AM8WJRfxTVot1CFdW6OLL/v8z21mD+AF1B79Q90UA6w5TagJW6Kzg//+DxAyL+GoBVuhxzf7/WVlTg/gFD4WSAAAAU1aJnfS////oPtP+/1boVtD+/2oBVuhd2P7/g8QY62xTagRW6Grg//+KD4iN+L///42N/L///4PEDCvIihCIFAFAOtN19v+1+L///42F/L///1DoM////2r+Vuhiy/7/jYX8v///UFbogtD+//+F9L////+19L///2r9VuiV1P7/agFW6O/X/v+DxCyFwHWQ60dqAVbo+d///4oPiI34v///jY38v///g8QMK8iKEIgUAUA603X2/7X4v///jYX8v///UOjC/v//jYX8v///UFboGdD+/4PEEItN/F8zwF4zzUBb6BiQAgDJw1WL7LgMQAAA6OX7AgCh8LJNADPFiUX8U1ZXi30IjYX0v///UDPbQ1NX6Hrf//8z9oPEDI2N/L///zm19L///w+GmgAAAImd+L///4ocBg++04P6K39SdF+D+iR8ZYP6JX5Vg/onfluD+il+S4P6KnVRi5X4v///O5X0v///cxWAfAYBKnUORv+F+L///2bHAS4q6ylmxwFbXmbHQQIvXcZBBCqDwQXrHYP6LXwVg/oufgWD+l51C8YBJYhZAYPBAusDiBlBjVX8O8pzN0b/hfi///87tfS///8Pgmz///+Nhfy///9QV8YBAOgVz/7/WTPAWUCLTfxfXjPNW+gVjwIAycNo2AxGAFfo9s7+/1foadb+/4PEDDPA69lVi+xWV4t9CGigDkYAaJwRRgBX6Kjj//9owA5GAGg840UAV+iY4///aNAORgBohPdFAFfoiOP//2gQD0YAaBzvRQBX6Hjj//9o0A9GAGjE4kUAV+ho4///aPgPRgBokBFGAFfoWOP//4PESGgoEEYAaIgRRgBX6EXj//9oQBBGAGiEEUYAV+g14///aFgRRgBX6FPO/v9oTBFGAL7u2P//VlfortH+/2g8EUYAV+g3zv7/aCgRRgBWV+iX0f7/g8RAaOgQRgBX6B3O/v9o1BBGAFZX6H3R/v9opBBGAFfoBs7+/2iUEEYAVlfoZtH+/2iMEEYAV+jvzf7/aIgQRgBWV+hP0f7/aIAQRgDogY4CAIPEQIXAdRRodBBGAOhwjgIAWYXAdQW4cBBGAFBX6LfN/v9o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RQsAgH0LEHIzi1X8jUr9g+IPjRSQiVXsjVH7g+IPixSQjVkFg+MPMxSYg+EPMxSIi03sMxHRwokRi1X4gH0LFHMQi84zzyPKM86BwZl5glrrOoB9CyhzDovOM88zyoHBoevZbusmgH0LPHMUi88LyovfI84j2gvLgekkQ+Rw6wyLzjPPM8qB6So+nTWLVfSLXfzBwgWD4w8DFJgDVfCJdfADyv5FC4tV9P9F/Iv3i334wc8CgH0LUIlV+IlN9A+CP////wF4SAFIQAFwTItN8AFQRAFIUF9eW8nDVYvsik0MVot1CA+2RliD8AOIDDD+RliAflhAdQtW6Nn+//9ZxkZYAF5dw1WL7ItFCP91DP9AVFDow////1lZXcNVi+yDfRAAdB1Wi3UMD7YG/00QUP91COjO////WUaDfRAAWXXoXl3DVYvsVot1CGiAAAAAVuiF////gH5YOFlZagB18Fbodf///2oAVuht////agBW6GX///+LRlTB6B1QVuhY////i0ZUwegVUFboS////4tGVMHoDVBW6D7///+LRlTB6AVQVugx////ikZUwOADD7bAUFboIf///4PEQF5dw1WL7FNWi3UIV1bodf///41GQFmL0MdFCAUAAAC+AP8AAIsKi/nB5xCL2SPeC/sPtloDwecIwekIC/sjzgv5iTqDwgT/TQh12V9eW13DVYvsgezkAAAAofCyTQAzxYlF/FeLfQiNhRz///9QagFX6B/U//+LyIPEDIXJdHSNhSD///9WUOhb/f///7Uc////jYUg////UVDowP7//42FIP///1DoWP///4sNBLBNAIPEFIvwM9IPtgQyg+APigQIiERV0A+2BDLB6ASKBAiIRFXRQoP6FHzeaiiNRdBQV8ZF+ADoysP+/4PEDDPAQF7rAjPAi038M81f6AOEAgDJw1WL7FFTVjPbU1NqAf91COiv0///U1NqAv91CIlF/Oig0///g8Qgi/A5Xfx0NDvzdDCLzleNeQGKAUE6w3X5K89RVv91/Og69wIA99gbwEBQ/3UI6KvE/v+DxBQzwEBf6wIzwF5bycNVi+xWaBDkRQD/dQjoLI8CAIvwWVmF9nUU/3UIaHwSRgDot/cCAFlZg8j/6xlW/3UQagH/dQzoKosCAFbozI0CAIPEFDPAXl3DVYvsUVZXi/iNSAGKEECE0nX5vmALRgArwVZXiUX86GqAAgBZWVONUAGKCECEyXX5K8KL2IvHjUgBihBAhNJ1+SvBK8ONfAcBVlfoPoACAFlZhcB10YvHjUgBW4oQQITSdfmLdQgrwVBXVugucwIAi8eDxAyNSAGKEECE0nX5K8GIFDCLxo1IAYoQQITSdfmLdfwrwSvwi8eNSAGKEECE0nX5K8ErRfxWA8eLfQxQV+jpcgIAg8QMxgQ+AF9eycNVi+y4MBYAAOhh7gIAofCyTQAzxYlF/ItFCFNWiYXY6f//jYXc6f//UDPbi/FTVomd3On//+jJHwAAg8QMiYXw6f//O8N1FVZoRBNGAOiD9gIAWVmDyP/pngIAAFdTUImd7On//+iyEQAAWVmJhdDp//+JldTp//870w+MawIAAH8IO8MPhmECAAAz9jP/U1dW/7Xw6f//6GMRAACDxBCJhfTp//87ww+EEwIAAI2F6On//1CNhfvp//9QU1dW/7Xw6f//6PgQAABTV1b/tfDp///ozBAAAFD/tdjp//+Nhfz9//9oPBNGAFDoVsQCAI2F/P3//2ovUOgf8P//g8RAjYX8+f//UI2F/Pv//1CNhfz9///oKP7//42F/Pn//1DoSN///4qV++n//4uN6On//4PEDDrTdRK+AAQAAIvBI8YrxvfYG8BA6w6A+gN1B74AAACg6+czwDvDdGRTaAAQAACNhfzp//9Q/7X06f//6HkPAABQiJwF/On//42F/On//1CNhfz9//9QiZXk6f//6GP9//+DxByFwA+EFAEAAI2F/On//1CNhfz9//9QaBATRgDoHfUCAIPEDOl1AQAAOtN1D4DhEDPAgPkQD5TAi8jrF4D6A3UQuAAAAEAjyCvI99kbyUHrAjPJO8sPhcIAAACNhfz7//+NUAGKCEA6y3X5K8IPhKoAAACNhfz9//9otgEAAFDofuwCAI2F/P3//2gQ5EUAUOgJjAIAg8QQiYXk6f//O8MPhMsAAAC/ABAAAOsaVo2F/On//2oBUOgKiAIAg8QQO8YPhcEAAABTV42F/On//1D/tfTp///oew4AAIPEEP+15On//4vwC8J1w+h/igIAgL376f//A1l1EYuF6On//8HoECVt////UOsFaCQBAACNhfz9//9Q6OfrAgBZWf+19On//+jIDQAAWf+F7On//4uF7On//5mL+ovwO73U6f//D4yx/f//fww7tdDp//8PgqP9////tfDp///o4ggAADPAWV+LTfxeM81b6Ix/AgDJw42F/P3//1BofBJGAOi88wIAWYPI/+vZVlCNhfz9//9QaJgSRgDoo/MCAIPEEIPI/+u/VYvsUVZqAGoB/3UI6NnO//9qAGoC/3UIi/Doy87//1CLzuif/P//iUX820X8g8QU3Rwk/3UI6Ji+/v+DxAwzwEBeycNVi+y4ECAAAOjj6gIAofCyTQAzxYlF/ItFCImF9N///4tFFFOLXRCJhfDf//+LRRhXi30MiYX43///i8cLw3R2VoXbdQ7raIXbdQiB/wAgAAB2B7gAIAAA6xCF23UFg///dgWDyP/rAovH/7X03///UI2F/N///2oBUOjIqQIAi/CDxBCF9nQ8/7Xw3///jYX83///VmoBUOhChgIAg8QQO8Z1QSv+g9sAhdt3pnIEhf91lDPAXotN/F8zzVvoUn4CAMnD/7X03///6L2pAgBZhcB0C+jcmAIA/zBqBesPagBqEesJ6MuYAgD/MGoG/7X43///6HkcAACDxAyDyP/rtFWL7LgUIAAA6OLpAgCh8LJNADPFiUX8i0UIVleL+ovxV4m18N///4m99N///4mF7N///+g4HQAAWYXAeRNXg8YMVuhBHAAAWYPI/+nTAAAAg6X43///AFNqAL4AIAAAVo2F/N///1BX6H0cAACL2oPEEIv4hdt8an4+/7Xs3///jYX83///V2oBUOhPhQIAg8QQO8d1KGoAVo2F/N///1D/tfTf///oPxwAAIvag8QQi/iF23/EfCqF/3W+6yLo8ZcCAP8wi4Xw3///g8AMagZQ6JsbAACDxAyDjfjf////hdtbfy18BIX/cyeDvfjf//8AdReLhfDf////tfTf//+DwAxQ6H8bAABZWYON+N//////tfTf///okxsAAIuF+N///1mLTfxfM81e6ON8AgDJw1WL7IPsHKHwsk0AM8WJRfxTV1aL+Yva6KiqAgBW/3UMiUXk/3UIU1fo7TAAAIPEGIvYhdJ/DnwEhdtzCIPI/+mTAAAAVuh6qgIAagBqAVeJRejoXR0AAIPEEIXAdHeDxwxXjUXsUFP/deRW6HMcAACDxBSFwHjF/3XsjUXwaPwDTABqCVDoV/ECAItF6GoAg8D4UFboGqsCAIPEHIXAeRTo3ZYCAP8wagRX6JAaAACDxAzriFZqAY1F8GoIUOjqgwIAg8QQg/gBdAvos5YCAP8wagbr1DPAi038XzPNW+j+ewIAycNVi+yD7ByLTQhTVzP/iX38iX30iX34OXksdQiLQRw7QRh0B8dF/AEAAACLWTSLUTAzwIl98IlV5Dvfck13BDvXdkeLSUBWi9AD0ot00Qw793USOXzRCHUMi1TRBDvXdAs5OnQHx0X8AQAAADv3dQeDRfQBEX34g8ABEX3wOV3wcsV3BTtF5HK+XotNDDvPX1t0C4tF9IkBi0X4iUEEi0X8ycNVi+xRU1ZXi/iLX1CF23Q9i8ONUAGKCECEyXX5K8KDwA1Q6GNqAgCL8FmF9nUXagBqDoPHDFfofRkAAIPEDDPA6b8AAABTaBQETADrJosfi8ONSAGKEECE0nX5K8GDwAhQ6CRqAgCL8FmF9nTBU2gIBEwAVuiUvQIAg8QMVui9MQAAWYlF/IP4/3Ud6GuVAgD/MIPHDGoMV+gbGQAAVuh7agIAg8QQ65ZoBARMAFDohvMCAIvYWVmF23Uu6DuVAgD/MIPHDGoMV+jrGAAA/3X86KDyAgBW6LDJAgBW6D1qAgCDxBjpVf///2gAgAAAU+ijfAIAWVDo8/ACAItFCFmJGFmLxl9eW8nDVYvsi0UIi0gIi0UMi0AIhcl1C4XAD5XB99mLwV3DhcB1A0Bdw1BR6HP1AgBZWV3DVYvsg+xYjUWoUP91DOh0MwAAWVmFwHkWi0UI/3UMg8AMUOhvGAAAWVmDyP/Jw4tNqIvBg+BAM9ILwnUSi0Wsg8lAiUWsM8CJTahmiUXci0YUU4tdwFeLfcSD+P90BYP4/nUPZjlV3HQJD7dF3IlGFOsqhcB1HIvBg+AEM9ILwnQRi0Wsg8kIiUWsiV3IiX3M6weD4feDZawAiU2oi8GD4AQz0gvCx0X4AAEAAHREg+EIi8EzyQvBiV4wiX40dTyLRhSD+Ah0CoP4/3QFg/j+dQ6F/3cdcgiB+4MB7P93E4XAdCSD+Ah0H4P4/3Qag/j+dBXHRfgABQAA6wyLRciJRiiLRcyJRiz/dRDo9aYCAItdCI17DFf/dfiJRfD/dRC49/8AAGYhRhBWiX386BQpAACDxBSJReiFwA+IHQIAAGaDfdwAdE6LRhSD+P90BYP4/nUID7dN3DvIdQiLfQzpxgAAAFHo/TEAAFlqAIXAdQhqEFfp3AEAAA+3TdxR/3UMU//Qi/iDxBCJffSF/3UN6cgBAACLRQyJRfSL+GoAV1PoYTEAAIvYg8QMhdt0OotOFIXJdHKLRaiD4AQz0gvCdAiLRcALRcR0XlHolzEAAFmFwHUgUGoQ/3X86KAWAABT6EcvAACDxBA7fQwPhGsBAABX6yhqAf92FFP/dQj/0Iv4g8QQhf91IVPoHi8AAItF9Fk7RQwPhEEBAABQ6AsvAABZ6TUBAACL+/91EOjTpQIA/3UQi00Ii9eJRezozfn//4lF9I1FqFBX6DgxAACDxBCFwHkEg030/zt9DHQcV+jILgAAi/gz21k7+3QHO30MdezrCINN9P/rAjPbOV30D4zXAAAAi30QV+h2pQIAU/918IlF9FfoWKYCAIPEEIXAD4iiAAAAi0Woi8iD4WSD+WR1BDvbdANT63qD4BAzyQvBdA6LRdCJRhiLRdSJRhzrCo1GGFDoSsUCAFkPt0XciUYUi0XYiUYgi0XAiUYwi0XEiUY0i0X0K0XsU5lqAf91CIlGKIlWLOjoFwAAg8QMhcB0B1boIhoAAFn/dfz/dfhXVugeJwAAg8QQO8N8LlM5Reh0BGoU6xn/dfRX6LKlAgCDxAyFwHkZ6HWRAgD/MGoE/3X86CYVAACDxAyDyP/rAjPAX1vJw1WL7IPsMFZXi30IM/aJdeg7/nUIg8j/6Y8EAABTjUXQUFfol/r//4tV1FlZi03Qi9kL2nU2iw87znQl9kcICHUJO8Z0Gzl3BHQWUeibxQIAWYXAdAvoAZECAP8wahbrHlfoiDkAAOk8BAAAO8Z08TtXNHIYdwU7TzB2EVZqFIPHDFfokRQAAOk7AwAAweEEUehVZQIAWYlF/DvGD4T0AwAAVmoBV+jjFgAAg8QMhcB0JGoWaCQETABX6F44AACDxAyFwHkQ/3X86LFlAgCDyP/p1AMAADPAM9uJdeCJReSJddg5dzRyZ3cFOXcwdmCLTdiLV0ADyTl0ygx1PTtF1HdccgiLReA7RdBzUot14ItF2GoAweYEA3X8U1CJBleJXgTopQQAAIPEEINF4AGJRgiDVeQAi0XkM/aDRdgBE947XzRyqncIi03YO08wcqA7RdR3JnIIi0XgO0XQcxz/dfzoGWUCAFZqFIPHDFfopxMAAIPEEOkcAwAAjUX4UIvH6Nz5//9ZiUXwO8YPhDX///8z21ZDU1fo8hUAAIPEDIXAdBVoc21BAGoQ/3XQ/3X86DLxAgCDxBBWU1fozhUAAIPEDDvDdRNqCFNX6L4VAACDxAyJXeyFwHQDiXXsiXUIiXXgiXXkOXXUD4KRAQAAdwqDfdAAD4aFAQAAi0Xgi038A8CLNMGLRMEEiXXYweYEA3dAM9uJRdw5Xgh1Fjld7HURi0YEO8N0BfYAAXUFiV306wfHRfQBAAAAOV4EdRP/NuglHQAAWYlGBDvDD4R+AQAA/3Xci14E/3XYV+hMNQAAg8QMhcAPiC0BAABqAGoBV+gYFQAAg8QMhcB0Cf92BOhQFwAAWf91+OgQogIAg330AJlZiUNQiVNUdFeLdgiDZfQAhfZ1JFZWVlZWagj/ddz/ddhXV+itLgAAg8QoiUX0O8YPhNAAAACL8P91+FZXi/Pow/n//4PEDIXAD4j/AAAAg330AHR2/3X06C8uAABZ62uNdwxWaAABAAD/dfi49/8AAGYhQxBT6NEjAACDxBCFwA+IgAAAAFb/ddz/ddhX6IUtAACLyIPEEAvKdGpqAFD/dwToU6ICAIPEDIXAD4i0AAAAVv91+P9zLP9zKP93BOhQ9P//g8QUhcB4O4NF4AGDVeQAi0XkO0XUD4KJ/v//dwyLRdA5ReAPgnv+////ddSLdfj/ddCLVfyLz+hH9v//WVmFwHkHx0UIAQAAAP91/OjXYgIAM9tZ/3X4OV0IdFHodn0CAP918OgswgIA/3Xw6LdiAgCDxAzpxgAAAFNqDo1HDFDoPREAAIPEDOu4g330AMdFCAEAAAB0sv919OgpLQAAWeun6F6NAgD/MGoE68/oJX0CAFmFwHQn6EmNAgD/MIPHDGoDV+j5EAAA/3Xw6MTBAgD/dfDoT2ICAIPEFOthi0cEO8N0EVDo7HwCAFmJXwTHRegBAAAAi3XwagP/N1b/FbjgRQCFwHU86PiMAgD/MI1HDGoCUOioEAAAVuh1wQIAVugCYgIAg8QUOV3odBFoJAhGAP836M19AgBZWYlHBIPI/+sQV+hONQAAVujYYQIAWTPAWVtfXsnDVYvsVot1CItGFFeFwHQHUOhaLAAAWYsGhcB0KYtIRDPShcl0IIt4TDk3dApCg8cEO9Fy9OsPi0BMi0yI/IkMkIsG/0hEjUYEiwgz/4XJdAKL+VDotA8AAFbocWECAFlZi8dfXl3DVYvsVot1CIX2dQeDyv+LwutsV41+BIM/AHVXgX0U////f3IXdwaDfRD/dg9qAGoSV+jNDwAAg8QM6zeDfhAAdTiLRRALRRR0MP91FP91EP91DP92FOgiEAAAg8QQhdJ/HHwEhcBzFv92FFfoqg8AAFlZg8r/i8LrBDPAM9JfXl3DVYvs/3UY/3UU/3UQ/3UM/3UI6GIVAACDxBSFwHUCXcP/dRj/dRRqAP9wOOigNQAAg8QQXcNVi+yLRQiNSAxR/3UU/3UQ/3UMUOiy////g8QUXcNVi+xqAP91FP91EP91DP91COgQFQAAg8QUhcB1BYPI/13Di00Yhcl0BYpQDYgRi00chcl0BYtATIkBM8Bdw1WL7ItFCP9wIP91FP91EP91DFDoXTcAAIPEFF3DVYvsi00Ihcl1B4PI/wvQXcP2RQwIi0Ewi1E0dCiF0nUEhcB0IItJQFaL8AP2g3zx8AB1EIPA/4PS/4XSd+tyBIXAdeVeXcNVi+yDfQgAdCqNRQhQjUUMUP91COguDgAA/3UM6Fs3AACDxBCD+AF1CuiiigIAi00IiQiF9nQFi0UMiQZdw1WL7IPsHKHwsk0AM8WJRfxTM9s5XwQPhKIAAAA78w+EmgAAAP92IOgBNQAAWWaD+BYPhYcAAACLRiBqDmg8BEwA/zDoLOMCAIPEDIXAdW+LRiCLAItIDolN8ItAEolF9Ihd+OgqigIAiRhqEI1F5FCNRfBQ6JuCAgCDxAyJReyD+P91CegJigIAORh1MYtF5DvDdAQ4GHUmU41F6FD/dhj/dhz/dwToSA8AAIPEFIXAeAyLRew5Reh1BINPGAGLTfwzzVvoKG8CAMnDZotHDmY7Rg51botHFDtGFHVmi0cYO0YYdV6LRxw7Rhx1Vv92OP93OOhEMwAAWVmFwHRFi0YgOUcgdSCLTyg7Tih1GItPLDtOLHUQi08wO04wdQiLTzQ7TjR0GvZGEAh0F4XAdROLRigLRix1C4tGMAtGNHUDM8DDg8j/w1WL7IPsDFaL8I1F9FdQ6AM2AACL+FmF/3UQUI1F9FDoV/7//1lZM8DrEYN9CAB1D4MnAItFDIlHCIvHX17Jw/91COhscQMAWYkHhcB15VfoijEAAFmF9nTNxwYOAAAA68VVi+yD7DSh8LJNADPFiUX8i0UIhcB1D4X2dAbHBhIAAACDyP/rO41NzFFQ6F/bAgBZWYXAdBb2RQwBdAQzwOshhfZ03ccGCwAAAOvV9kUMAnQMhfZ0y8cGCgAAAOvDM8BAi038M83o3m0CAMnDVYvsUVZXi30QOX0MclqF/3RWi00IjUH/K8grzwNNDEBRD7YLUVDo7dYCAIPEDIXAdDbrA4t9EI1wAY1P/417ATPSiXX886Z0IYtNCCvIK00QD7YDA00MUVD/dfzot9YCAIPEDIXAdcwzwF9eycNVi+yLTQgDyI1GFoPsFDvBdhNqAGoV/3UU6K4LAACDxAwzwMnDjUYIU4lF/I1F/FdQ6PwRAAAPt8CZi/iNRfxQi9ro6xEAAA+3wJlZWYlF9IlV+DvHdQQ703QJagBqE+mTAAAAjUX8UOjsEQAAiUXsjUX8UDP/6N4RAACL2FkzwFmF/3duuv///39yBTlV7HdihcB3XnIEO9p3WIvLA03sE/iF/3dNcgQ7yndHi8YrRQgDRQyZO/pyDHcEO8h2BmoAahXrMvZFEAR0CDvIdfA7+nXs/3UU/3X4/3X06NkNAACDxAyFwHQai03siUgYiVgc6xFqG2oE/3UU6M0KAACDxAwzwF9bycNVi+yD7Fyh8LJNADPFiUX8i0UIiUWwi0UMU4lFrItFGFaL8YlFwI1GCIlFvI1FvFdQi9roSBEAAIv4WYl9tIlVuIXSD4fDAQAAcgyB/////38Ph7UBAACLz4PBOIvCg9AAhcAPh6MBAAByDIH5////fw+HlQEAADt1rA+CpgAAAIvDK0Wsg8c4A/CJdag7/g+PkQAAADldtHwli8OZi/AzwAN1EIvKE8iLx5k70X8QfAQ7xncKi0W0K8MDRazrWYt1sGoA/3W0VuhrmgIAg8QMhcB0DOguhgIA/zDpLgEAAFboxJcCAFZqOI1FxGoBUOillgIAg8QUg/g4cw7oBoYCAP8wagXpBgEAAFbozpYCAFmFwHXnjUXEiUW8ixC5TARMADsRdAlqAGoV6eEAAACDwASJRbyNRbxQ6EIQAABZi8iLRRSD4ASL8olFsHQYA020i0WoE3W4g8EMmYPWADvIdcQ78nXAg0W8DI1FvFDoDRAAAIlFpI1FvFCJVajo/g8AAFlZOUWkdQU5Vah0BmoAagHrfI1FvFDo4w8AAIv4jUW8UIvy6NYPAABZWYvYhfZ3Wrn///9/cgQ7+XdPhdJ3S3IEO9l3RYvDA8cT1oXSdztyBDvBdzWDfbAAdBI7RbQPhUD///87VbgPhTf/////dcD/daj/daTotQsAAIPEDIXAdBeJeBiJWBzrEWobagT/dcDorAgAAIPEDDPAi038X14zzVvoPGoCAMnDVYvsg+wkU4tdEFaLdRRXi/iLwyvGjUQ46pkzyYlF3IlV4DvRfxl8BDvBcxNRahP/dRzoYQgAAIPEDOlgAgAAixa4ZARMADsQdeKLVgS4XARMADsQdAVRagHr1I1G7DvDcieLVuy5VARMADsRdRv/dRyLVQz/dRiNTuxXU/91COhQ/f//g8QU6xT/dRyLx/91GP91DFPoMvz//4PEEIv4iUX8hf8PhPUBAACNRhSJRfiNRfhQ6EUOAAAPt8CZiUXsi8Yrw4lV8JmL2ItFDIvymQPYi0ccE/KZi/iLRfyLQBhZi8qZA/gTyjvOcg4Ph5YBAAA7+w+HjgEAAItN8DlN4A+MggEAAH8Mi0XcO0XsD4J0AQAAi0UYg+AEiUX0dBWLRdw7RewPhV0BAAA5TeAPhVQBAACLRewz2wvBdCz/dRyLRRRT/3Xsg8AWUOg4LgAAi3X8g8QQiUYgO8N1D1boyQkAAFnpNgEAAIt1/ItGHDtFDHwRK0UMA0UQiUX4jUX4iUUU6zeLfQhXiV0U6O2UAgBT/3YcV+hxlwIAV+gRlAIAg8QUhcAPhbMAAABX6GuWAgBZO0YcD4WjAAAAi0YYmYlF5IlV6DP/iV3gOV4McmZ3CjleCHZf6wOLReQ5Xeh3BDvDdlHoTgsAAIsWi88DyYkEyjvDD4Ri/////3UcjUXkU1D/dRSLBv91CP80yOjyEgAAg8QYhcAPiD////+DxwERXeCLReA7RgxyrXcFO34IcqaLReQ7fgh1FotN4DtODHUOOV30dAULReh1BIvG61BTahX/dRzoPAYAAFbrOFfoTZMCAFmFwHQL6GyCAgD/MGoE6wNTahP/dRzoGAYAAIPEDOnV/v//agBqFf91HOgEBgAA/3X86JAIAACDxBAzwF9eW8nDVYvsi1MMg+x8VotzCIvGC8JXdBqLA4sAi0hQi0BUiUX4iUXwiU30iU3sM8DrDjPAiUX0iUX4iUXsiUXwiUXkiUXoO9APgkwBAAB3CDvwD4ZCAQAAi33kiwPB5wSNDAeLAYtQUItAVIl9/DtF8HcNcgU7VexzBolV7IlF8ItDHJk5VfAPhzIBAAByCTlF7A+HJwEAAIsB/3A46DIsAAADOw+3wJmJRdyLB4twUANwKFmLSFQTSCwDddwTyoPGHoPRADtN+HINdwU7dfR2Bol19IlN+ItDHJk5VfgPh9sAAAByCTlF9A+H0AAAAIsHM/ZW/3BQ/3UI6GuVAgCDxAyFwA+FywAAAP91DI1FhGoBVlb/dQhQ6EYRAACDyv+DxBg7wg+EpgAAAIsDi038izwBjXWE6Df3//+FwA+FnQAAAIsD/3XAi3X8iwQG/3A86L4kAACLC4sMDolBPIsDiwQGM/ZGiXAEg2XAAI1FhFDoIQgAAIPEDAF15INV6ACLReg7QwwPgsz+//93DItF5DtDCA+Cvv7//4tF9CtF7ItV+BtV8Ln///9/O9F3B3IKg/j/cgWDyP+L0V9eycNqAGoT/3UM6CsEAACDxAyDyv+Lwuvm6F+AAgD/MGoE6+NqAGoV/3UM6AoEAACNRYRQ6KIHAACDxBDr1FWL7IPsLIP4Fn0Ri0UQhcB0BscAEwAAADPAycNTuyoAAQA7w3wCi8NXi30IagL32FBX6DmUAgCDxAyD+P91Huj7fwIAgzgbdBSLRRCFwHQGxwAEAAAAM8DpygEAAFZX6B2TAgBTiUXw6GFUAgCL8FlZhfZ1FotFEIXAD4SfAQAAxwAOAAAA6ZQBAABX6FGRAgBXU2oBVug2kAIAV4lF+OhykAIAg8QYhcB0GYtFEIXAdAbHAAUAAABW6KRUAgBZ6VsBAACDTej/g03s/4Nl/AA5XfhqABvbg+PsjUXUahODwxRQA97oEgMAAItF+CvDagSNRDDuUFO7ZARMAOjB9v//i/gz24PEGDv7D4TkAAAAjUXUUP91DEeNR/9Qi0X4Vv918P91COg5+v//g8QYiUX0O8MPhJUAAAA5Xfx0aTld7H8hfAU5Xeh3Gotd/I1F1FD/dQjosfz//1mJReiLRfRZiVXsjU3UUf91CIvY6Jj8//+L2llZiUXgOV3sfx58BTlF6HMX/3X86AMFAACLRfSJRfyLReBZiUXo6y//dfTo7AQAAFnrJ/ZFDASJRfx0GI1N1FH/dQiL2OhM/P//WVmJReiJVezrBold6Ild7ItF+CvHagSNRDDuUFe7ZARMAOjd9f//i/iDxAwz24X/D4Uc////VuhoUwIAWTld7H8jfAU5XehzHIt1EI1F1FNQ6Fvz////dfzodAQAAIPEDDPA6wOLRfxeX1vJw1WL7FOLXQxqAmoAU+g0kgIAg8QMhcB5EItFFMcABAAAADPA6bkAAABWU+gnkQIAWYXAdSn/dRCLRRT/dQjoh/T//4vwWVmF9nUJU+iWbQIAWesDiV4Ei8bpgwAAAP91FP91EFPobP3//4vwg8QMhfZ1C1Pobm0CAFkzwOtji0UUV/91EP91COg99P//i/hZWYX/dRFW6MsDAABT6EZtAgBZM8DrOYsGiUdAi0YIiUcwi0YMiUc0i0YQiUc4i0YUiUc8i0YgiUckiV8E6LLy//+LRxhWiUcc6FtSAgCLx1lfXltdw1WL7FOLXQyF23kRi0UQhcB0BscAEgAAADPA6z5Wi3UQV4t9CFNX6Bv0//9ZWYP4/3QkhcB0TWgkCEYAV+jxbQIAWVn2wwh0KYXAdRGF9nQGxwYLAAAAM8BfXltdw1Don2wCAFNXi8boefP//4PEDOvnhcB011ZTUFfonv7//4PEEOvVU1eLxuhZ8///WVnryFWL7FaLdQj/dgjotFECAINmCABZXl3DVYvsi0UMVleLfQiFwHQEiw+JCIt1EIX2dBb/N+gUKQAAWYXAdAeLRwSJBusDgyYAX15dw1WL7ItFCDPJiQiJSASJSAhdw1WL7ItFCIXAdAuLTQyJCItNEIlIBF3DVYvsUVGNRfxQjUX4UP91DOhOKQAA/3X8/3X4/3UI6Mb///+DxBjJw1WL7FaLdQhXM/85fhB0J4sGagJXV1f/dgg7x3UI/1YEg8QU6w5Q/1YE/zbo0P///4PEHIl+EF9eXcNVi+xTVot1CIPL/4N+EAB0ZotVFIH6////f3dbi00QcgQ7y3dShdJ1BIXJdAaDfQwAdESLBmoBUlH/dQz/dgiFwHUI/1YEg8QU6zdQ/1YEg8QYhdJ/LHwEhcBzJoP4/nUNO9N1CcdGDAIAAADrEMdGDAEAAADrB8dGDAMAAACL04vDXltdw1WL7FFRVot1CFcz/zl+EHQMx0YMAwAAAIPI/+soiwZTO8d1JVdXV1f/dgj/VgSDxBQ7138GfCQ7x3Igx0YQAQAAADPAW19eycNQ6LH///9ZhcB5DMdGDAIAAACDyP/r5FdXV1f/dgj/Nv9WBIPEGIvYiVX8O9d/w3wEO99zvf826Lv+//+DyP9Zg/v+dQ45Rfx1CcdGDAIAAADrqMdGDAEAAADrn1WL7LgMIAAA6M3LAgCh8LJNADPFiUX8i0UIU1aLdRRXi30YM9tTU1OJhfjf//+JvfTf///ofz4AAFP/dQyJBv+1+N///+iGjgIAg8QYhcB0WehJegIA/zBqBFfo/P3//4PEDIPI/+tJuAAgAAA5RRB/A4tFEP+1+N///1CNhfzf//9qAVDop4oCAIv4g8QQO/t0LVeNhfzf//9Q/zboFj4AAIPEDCl9EIkGOV0Qf7kzwItN/F9eM81b6EBfAgDJw+jaeQIA/zBqBf+19N///+uKVYvs9kUQCItFCHQFi0AY6wOLQBwjRQz32BvA99hdw1WL7FNWi3UIM9s783RIVzP/OV4Mcid3BTleCHYgi8fB4AQDBlDoSScAAIPHAYPTAFk7Xgxy53cFO34IcuD/NuiOTgIA/3Yg6EgjAABW6IBOAgCDxAxfXltdw1WL7FFRVmoo6NdNAgCL8FmF9nUSUGoO/3UQ6PP8//+DxAwzwOtgU4tdCFeLfQyLwwvHdVUhBoNl+ACDZfwAhf9yKXcEhdt0I4tF+MHgBAMGUOjlJgAAg0X4AVmDVfwAOX38cuR3BTld+HLdM8CJRhyJRhiJRiCJXhCJfhSJXgiJfgyLxl9bXsnDi8PB4ARQ6FBNAgBZiQaFwHWbUGoO/3UQ6Gz8//9W6MxNAgCDxBAzwOvRVYvsVot1CIN+CAB0BfYGAnQJ/3Y46G0iAABZg34IAHQF9gYIdAn/djzowxsAAFmDfggAdAX2BgR0Cf92QOhFIgAAWV5dw1WL7IN9CAB0D/91COip////WV3pZ00CAF3DVYvsi0UIM8m6FAMAAGaJUAxqFFpmiVAOM9KDSBT/iQiJSASJSAhmiVAQiUgYiUgciUggiUgoiUgsiUgwiUg0iUg4iUg8iUhAiUhEZolQSMdATAAAtoGJSFCJSFRdw1WL7ItFCDPJOUg0dy9yBoN4MP9zJzlILHcicgaDeCj/cxr3RQwAAgAAdA05SFR3DHIGg3hQ/3MEM8BdwzPAQF3DVmpY6CpMAgCL8FmF9nUCXsNW6Er///9Zi8Zew1WL7KGYxk0AixWcxk0AVleLyAvKagBfdWBocMZNAIk9cMZNAMcFdMZNACAAAADHBXjGTQAXAAAAxwV8xk0AGAAAAMcFgMZNAAsAAADHBYTGTQBgAAAAiT2Ixk0AiT2Mxk0AiT2Qxk0A6GqqAgBZo5jGTQCJFZzGTQCLdQgzyWoUZolODFlqAmaJTg5Z/3Y8iUYYM8BmiU4Qx0YUCAAAAIlWHIl+RGaJRkiJfkzoJRoAAP92QIl+POiwIAAAWVmJfkBfXl3DVYvsg+woofCyTQAzxYlF/FczwGoJWY192POrD7dFDINN+P+LyMHpCYPBUIlN7IvIwekFg+Afg+EPSYlF5A+3RQiJTeiLyMHpC4lN4IvIg+AfA8DB6QWJRdiNRdiD4T9QiU3c6KqpAgBZi038M81f6K1bAgDJw1WL7ItVCFZXi30YM/Y7/nUDjXoMi0UQi00MO0I0cgx3BTtKMHIFVmoS6zWLRRSD4AiJRRh1EVOLWkCLwQPAi0TDBFs7xnUkweEEA0pAiwE7xnTTOXEMdBM5dRh1DlZqF1foo/n//4PEDDPAX15dw1WL7ItVCIsKD7ZBAVa+AAEAAGYPr8YPtjFmA8aDwQIPt8CJCl5dw1WL7ItVCIsKD7ZBA1YPtnECweAIA8YPtnEBweAIA8YPtjHB4AgDxoPBBIkKXl3DVYvsg+wQU1aLdQiLDg+2QQOZD6TCCMHgCFeL+A+2QQKL2pkD+A+2QQET2g+k+wiZwecIA/gPtgET2g+k+wiZwecIA/gT2oPBBIkOD7ZBA5kPpMIIweAIiX34i/gPtkECiV38i9qZA/gPtkEBE9oPpPsIwecImQP4D7YBE9oPpPsImcHnCAP4E9qDwQQzwANF+IvXE1X8X4kOXold9FvJw1WL7FNWi3UQM9s783UJOV0UdQkzwOtWOV0UdAWNRgHrAovGV1DoTEkCAIv4WTv7dQVTag7rcYtdCIXbdDRW/zNX6ExKAgCDxAwBM4N9FAB0GY0EN8YAAIvPO/hzDYA5AHUDxgEgQTvIcvOLx19eW13D/3UMVmoBV+j8hAIAg8QQO8Zzx1fogEkCAP91DOgshQIAWVmFwHQL6Ep0AgD/MGoF6wRqAGoV/3UY6PX3//+DxAwzwOu2VYvsD7dFEFb/dRj/dRRQ/3UM/3UI6DD///+L8IPEFIX2dB1X/3UYagD/dRBW6KweAABWi/joGkkCAIPEFIvHX15dw1WL7ItFDIsQi00IiAr/AFaLMIvRweoIiBb/AIswi9HB6hCIFv8AixDB6RiICv8AXl3DVYvsi0UQixCLTQiICv8AU1aLdQyL0VeLOIveD6zaCIgXwesI/wCLOIvRi94PrNoQiBfB6xD/AIsQi/4PrPkYiArB7xj/AIsIi9aIEf8AiwjB6giIEf8AiwiL1sHqEIgR/wCLCIvWX8HqGF6IEf8AW13DVYvsVg+3dQj/dQyLxiX/AAAAUOhI1wIA/3UMwe4IVug81wIAg8QQXl3DVYvsU4tdDFZXi30Ii8e+/wAAACPGU1DoGtcCAIvHwegII8ZTUOgM1wIAi8fB6BAjxlNQ6P7WAgBTwe8YV+j01gIAg8QgX15bXcNVi+yLRQhTi10QVle+/wAAACPGU1Do0tYCAIt9DItFCIvPD6zICCPGU1DB6QjoutYCAItFCIvPD6zIECPGU1DB6RDopdYCAItNCIvHD6zBGCPOU1HB6BjokNYCAIvHI8ZTUOiF1gIAi8fB6AgjxlNQ6HfWAgCLx8HoECPGU1DoadYCAMHvGFMj/lfoXdYCAIPEQF9eW13DVYvsjUUIUOitogIAWWaLSBRmweEEZgNIELoBAwAAZgPKi1UUZsHhBWYDSAxmiQpmi0gIZsHhBmYDSASLANH4ZsHhBWYDyItFEGaJCF3DVYvsU2pY6HVGAgCL2FmF23QnVot1CIX2dAtXahZZi/vzpV/rB1PohPn//1mDIwDHQwgBAAAAi8NeW13DVYvsUVNqAGgAAwAAagD/dQyL2I1FCFCLRQj/cDzoChUAAIPEGIXAdFNmg30IBXJMgDgBdUdAiUX8jUX8VlDovPv//1OL8OjqGgAAWVk7xnUqZotFCGaD6AVqAA+3wGoCUP91/Oj5GwAAi/CDxBCF9nQJU+giGwAAWYveXovDW8nDVYvsg+wUofCyTQAzxYlF/ItNEItFCFaLdQxXgeYAAQAAi/733xv/iU3wg+fwM8mDxy6F9g+UwWoBiUXsjUwJGlFQ6B6FAgCDxAyFwHkZ6OFwAgD/MGoE/3Xw6JL0//+DxAyDyP/rW/917DPAhfYPlMBqAY1EAARQjUX0UOhFgQIAg8QQg/gBdAvopnACAP8wagXrw/feG/aDxgONRfSF9n4eD7ZIAboAAQAAZg+vyg+2EGYDyg+3yYPAAgP5TnXii8eLTfxfM81e6MVVAgDJw1WL7FFRVldqAGpAjUX8UP91DOhYGgAAi/CLRfyDwAVQ6M5EAgCL+IPEFIX/dRJQag7/dRDo6PP//4PEDDPA60qNRwGJRfiNRfhQ/3UMxgcB6I8ZAABZUOga/P///3X8Vot1+FbopkUCAAN1/GgAAwAAVyv3Vv91COhXFAAAV4vw6AJFAgCDxCiLxl9eycNVi+yD7GCh8LJNADPFiUX8i0UMi00Qi1UcU1aLdQhXi30YiX28998b/4Pn8IlFuItFFIPHLolNsIlFpIlVxIl9rIXAdCYz0jlQBHcfcgaLADvHcxdqAGoT/3XE6DPz//+DxAyDyP/p3wQAAIXJdASLOesk/3W4jUXMV2oBUOjmfwIAg8QQO8dzC+hIbwIA/zBqBevEjX3Mg328AIl9yLh0BEwAdQW4bARMAIsPOwh1pIPHBFaJfcjo2Pb//4N9vABZuwABAAB1GQ+2RwEPtg9mD6/DZgPBg8cCD7fAiX3I6wIzwGaJRgwPtkcBD7YPZg+vw2YDwQ+3wGaJRg5qAlkD+Yl9yA+2RwEPthdmD6/DZgPCD7fAA/lmiUYQiX3ID7ZHAQ+2F2YPr8NmA8ID+Q+3wIl9yIlGFA+2RwEPthdmD6/DA/mJfcgPtk8BZg+vy2YDwg+2F2YDyg+3yQ+3wFGDxwJQiX3I6Kn3//+JRhiNRchQiVYc6Kb4//+JRiCNRchQ6Jr4//+JRiiNRcgz/1CJfizoifj//4lGMItFyIl+NA+2SAEPthBmD6/LZgPKD7fJg8ACiU20iUXID7ZIAQ+2EGYPr8tmA8oPt8mDwAKDxBSJTaiJRcg5fbx0FDPAiX3AiX5EZolGSIl+TIl+UOtpD7ZIAQ+2EGYPr8tmA8oPt8mDwAKJRcgPthCJTcAPtkgBZg+vy2YDyg+3yYPAAolFyIlORA+2SAEPthBmD6/Lg8ACZgPKD7fJiUXIjUXIUGaJTkjo2Pf//4lGTI1FyFDozPf//1lZiUZQD7dFqA+3TbQPt1XAA8gD0QFVrIlFoItFpIl+VIl+OIl+PIl+QDvHdBY5eAR3EXIHiwA7RaxzCFdqFenA/f//Zjl9tHRF/3XEi0WwagH/dbT32P91uBvAjU3II8FQ6Or4//+DxBSJRjg7xw+Emv3//7kACAAAZoVOEHQPagJQ6PUaAABZWYP4BXStuwACAABmOX2odHD/dcSLRbBX/3Wg99j/dbgbwI1NyCPBUOjl9///g8QUiUW0O8cPhEv9//+LTbz/dcT32RvJgeEA////A8tR/3WoUOhwEQAAg8QQ/3W0iUY8O8d1C+izQQIAWekX/f//6KhBAgBZOX28dAfHRgQBAAAAZjl9wHRI/3XEi0WwV/91wPfY/3W4G8CNTcgjwVDoJfj//4PEFIlGQDvHD4TV/P//uQAIAABmhU4QdBNqAlDoMBoAAFlZg/gFD4Tk/v//i0Y4aHVwAABW6Gf6//+JRjiLRkBodWMAAFboVvr//4PEEIN+MP+JRkB1BTl+NHQeg34o/3UFOX4sdBODflD/D4UUAQAAOX5UD4ULAQAAi0W8/3XE99gbwCUA////A8NQVzPbQ1ONRbhQ/3Y86DAPAACDxBiJRcA7xw+EOPz//zl9vHQFahBY60+DfjD/dQk5fjR1BIvT6wIz0oN+KP91CTl+LHUEi8PrAjPAg35Q/3UJOX5UdQSLy+sCM8kDwgPBA8AzyYF+RP//AAAPlMFmA8FmweACD7fAZjlFuA+FAv7//4N+MP91Fzl+NHUSjUXAUOit9f//WYlGMIlWNOsJOX28dASDRcAIg34o/3UVOX4sdRCNRcBQ6If1//9ZiUYoiVYsOX28dU2DflD/dRU5flR1EI1FwFDoZ/X//1mJRlCJVlSBfkT//wAAdRKNRcBQ6B/1//9ZiUZEOX28dRc5flR3CYF+UP///392CWobagTpN/v///92POgcEAAAiUY8i0WwWTvHdAWLTciJCItFpDvHdAiLTawpCBl4BDPAi038X14zzVvo3k8CAMnDVYvsg+w0ofCyTQAzxYlF/ItFFItNDIlF0ItFEFMz2yUAAQAAVot1CIlF2FeJTdSJXdyJXcy4dARMAHUFuGwETABRagRqAVDoW1cCAFP/djjoIxgAAFP/dkCL+OgYGAAAg8QgagJbiUXgO/t1BYP4AXQRg/8BdQQ7w3QIO/t1ETvDdQ24AAgAAGYJRhAz/+tnuP/3AABmIUYQO/t1JP910P92OGh1cAAA6Gz5//8z/4PEDIlF3DvHdQqDyP/pRQMAADP/OX3YdS85XeB1Kv910P92QGh1YwAA6Dz5//+DxAw7x3UL/3Xc6OAMAABZ68qLTdyJCIlF3I1F5IlF4Dl92HRL90UQAAQAAHUcOX4sdxdyBoN+KP93Dzl+NHcKg34w/w+G3wAAAI1F4FD/djT/djDoi/X//41F4FD/diz/dijofPX//4PEGOmJAAAA90UQAAQAAHUpOX4sdyRyBoN+KP93HDl+NHcXcgaDfjD/dw85flR3CoN+UP8PhocAAACLTiyLRig7z3cFg/j/cg6NVeBSUVDoKPX//4PEDItONItGMDvPdwWD+P9yDo1V4FJRUOgL9f//g8QMi05Ui0ZQO893BYP4/3IOjVXgUlFQ6O70//+DxAyLReCNTeQ7wXQmZivBaAADAAAPt8BRUGoB6PkMAACLTdyDxBCJCIlF3MdFzAEAAACLTRC4AAUAACPIO8h1D/91EFbofPD//1lZi/jrA4t9zIN92AB1G4X/dAVqLVjrBA+3RgyLXdRTUOjw9P//WVnrA4td1IX/dAVqLVjrBA+3Rg5TUOjV9P//ZotGELn5/wAAZiPBD7fAU1Dov/T//w+3RhRTUOi09P//jUXgUI1F1FD/dhz/dhjorPX//1P/ddTomPT//1P/deDoj/T//1P/diDosPT//4PEQIN+LAB3DnIGg34o/3MGU/92KOsDU2r/6JH0//+DfjQAWVl3DnIGg34w/3MGU/92MOsDU2r/6HP0//9ZWVP/djjoIxIAAA+3wFlQ6DT0//9ZWVP/dRD/djzoOA0AAGgAAwAA/3XcZov46CgNAABmA/gPt8eDxBBQ6Af0//8z/1lZOX3YdVJT/3ZA6NoRAAAPt8BZUOjr8///D7dGRFNQ6ODz//8Pt0ZIU1Do1fP//1P/dkzo9vP//4PEIDl+VHcOcgaDflD/cwZT/3ZQ6wNTav/o2PP//1lZi0Y4O8d0CVNQ6HwSAABZWTl93HQRU2gAAwAA/3Xc6M4MAACDxAyLRjw7x3QNU/91EFDougwAAIPEDDl92HUQi3ZAO/d0CVNW6D0SAABZWf913OjuCQAAU+hwdwIAWVmFwHQZ6I5mAgD/MGoG/3XQ6D/q//+DxAzptvz//4tFzItN/F9eM81b6MlLAgDJw1WL7IPsFFNWi3UYVuiZeQIAM9tZO8N9IuhLZgIA/zCLRQiDwAxqBVDo+On//4PEDIPK/4vC6W4CAACZV4lF9IlV+Ild/Ild8DldFHJjdwU5XRB2XIt9CItNDIvDA8CLBMHB4AQDR0CLSASFyXQEi8HrAosAjU8MUWgAAgAAVlDoZ/v//4PEEIXAD4gMAgAAdAfHRfwBAAAAg8MBg1XwAItF8DtFFHKwdwo7XRByqesDi30IVujxeAIAWYXAeRLopWUCAP8wg8cMagVX6cMBAACZi9grXfSL+ht9+DPAiX3wOUX4dxZyBoN99P93DjlFFHcJgX0Q//8AAHYHx0X8AQAAADlF/A+EngAAAFZqBGoBaEwETADoeFICAFZqAGos6G7y//9Wai3o8vH//1ZqLejq8f//VmoA6Azy//9WagDoBPL//1b/dRT/dRDoQvL//4PESFb/dRT/dRDoM/L//1ZXU+gr8v//Vv91+P919Ogf8v//VmoEagFoVARMAOgQUgIAVmoA6L7x//+LwwNF9IvPE034VlFQ6Pbx//+DxEhWagHoofH//1lZVmoEagFoZARMAOjaUQIAVmoA6Ijx//+DxBiDfRQAdwmBfRD//wAAcge4//8AAOsED7dFEFZQ6Drx//+DfRQAWVl3CYF9EP//AAByB7j//wAA6wQPt0UQVlDoF/H//1lZhf91BYP7/3IFg8j/6wKLw1ZQ6Cjx//+DffgAWVl3CItF9IP4/3IDg8j/VlDoDvH//4tFCIN4LABZWXQFi3go6wOLeCSF/3QGD7dHBOsCM8BWUOi+8P//WVmF/3QSD7dHBFZQagH/N+gdUQIAg8QQVujBdAIAWYXAdB/o4GMCAP8wi0UIagaDwAxQ6I3n//+DxAyDyv+LwusFi1Xwi8NfXlvJw1WL7GiAAQAA/3UI6PfJAgBZUOi3yAIAWVmLyI1BAffYG8AjwV3DVYvsVot1CFcz/zv3dQQzwOs8U4seO991CVboOgMAAFnrKTl+EHQPagJXV1f/dghW/1YEg8QYagVXV1f/dghW/1YEVuhxOAIAg8Qci8NbX15dw1WL7ItFHIPsSFMz2yvDVlcPhFABAABIdH9ID4RfAQAASHQuSHQVSA+F8QAAAP91DOgyOAIAWelEAQAAi0UMi1AIi00QiRGLQAyJQQTpLgEAAItNDDkZD4QjAQAAi1EQi0UQiVAYi1EUiVAci1EYiVAwi1EQiVAgi0kUiUgkM8mBCOwAAABmiUg0ZolINotIBIlIBOnnAAAAi3UMOR4PhdwAAACLRRQLRRgPhNAAAAD/dRj/dRT/dRD/dQjouub//4PEEIv4iVX8O9N/EXwEO/tzC2r+WIPK/+mmAAAAC8J1ZscGAQAAADleBHRzjUW4UP91COgQAQAAWVmFwHjUi024i8GD4CAz0gvCdBeLReg7Rhh0D8dGCAcAAACJXgyDyP/rsoPhBIvBM8kLwXQxi0XQO0YQdQiLRdQ7RhR0IcdGCBUAAADr1AF+EFf/dRARVhT/dhjoBCYAAIPEDIlGGItV/IvH6x2LdQxTU1OJHujqJQAAg8QMiUYYiV4QiV4UM8Az0l9eW8nDVYvsVjP2OXUMdRZWahKLRQiDwAxQ6F/l//+DxAwzwOs8aiDoIzYCAFk7xnUFVmoO69yLTRBQaCGfQQD/dQyJMP91CIlIBIlwDIlwCIlwEIlwFIlwGOiNEQAAg8QQXl3DVYvsg30ICHQQg30I/3QKg30I/nQEM8Bdw7gyt0EAXcNVi+xXi30Mhf91D4tFCMdADAMAAACDyP/rJlaLdQiLBoXAdR9qA1BqQFf/dgj/VgSDxBSF0n8GfE2FwHJJM8BeX13DV1Dotv///1lZhcB4JmoDagBqQFf/dgj/Nv9WBIPEGIXSf9d8BIXAc9GD+P51DoP6/3UJx0YMAgAAAOsHx0YMAQAAAIPI/+u0VYvsi0UMU1aLdQiLTkBXA8CLBMGLeFCLWFRqAFf/dgTovXQCAIPEDIXAdAnogGACAP8w6yn/dRRoAAEAAP92BOg47///g8QMhcB4H2oAA8daE9N1Bz3///9/dhNqG2oE/3UU6Abk//+DxAwzwDPSX15bXcNVi+xWi3UIVzP/O/d0Nzl+EHQHVugg5P//WYsGagVXV1f/dgg7x3UI/1YEg8QU6w5Q/1YE/zboxf///4PEHFboHDUCAFlfXl3DVYvsgeyUAAAAU1aLdQhXM/879w+EIwMAAItNDDvPD4QJAwAAi0UUO0E0D4f9AgAAcgyLRRA7QTAPg+8CAACLXRj2wwh1HItFEItRQAPAOXzCCHUGOXzCDHQIV2oP6c4CAACNRaxQi8ODyAhQ/3UU/3UQUej0GwAAg8QUhcB5CFdqFOmpAgAA9sMgdAODywSLVSA713cRcgU5fRx3Cjl9KHcFOX0kdgn2wwQPhX0CAAA713cRcgU5fRx3Cjl9KHcFOX0kdjKLTRwDTSSLwhNFKDvCD4JVAgAAdwk7TRwPgkoCAAA7RcgPh0ECAAByCTtNxA+HNgIAAIl9+PbDIHUrZjl94nQlOX0sdQhXahrpHgIAAP914ug9GwAAWYlF+DvHdQhXahjpBgIAAIld9INl9ASJffx1IGY5feB0Gg+3ReBQ6FL9//9ZiUX8O8d1CFdqEOnaAQAAjUYMUP91FP91EP91DOjb/f//i8iDxBALyg+ExwEAAItNzAtN0HUcV1dXV1boOhoAAIvwg8QUO/cPhScBAADpowEAAItdHANdJItNIIt1KBPOiV3siU3wdQg73w+GCAEAADl9+A+F/wAAADl9/A+F9gAAAItNJIvZC951DItNxCtNHIt1yBt1IDPbA0UcZoldoItd1BNVIIldlItd2IldmI2dbP///1NXVlFSUItFDP9wBIl1iFf/dQiJTYSJTYyJdZDHhWz///9cAAAAib1w////6I0XAACL8IPEJDv3D4QCAQAAi13sOX30dAZmOX3gdS6LRSSLTSiL0AvRdAo7Rcx1HTtN0HUYagFW/3UI6M/7//+DxAw7xw+EigAAAIvwOX3wdwQ733Y8OX38dQU5ffh0MotFJItNKIvQC9F1DItFxCtFHItNyBtNIFFQ/3Ug/3UcVv91COglFAAAg8QYO8d0RYvwi8brf41NrFFX/3XQ/3XMUlCLRQz/cARX/3UI6N8WAACL8IPEJDv3dFg5ffh0IP91LFf/deJW/3UI/1X4g8QUO8d1CVbos/z//1nrNYvwOX38D4Qr////D7dF4FdQVv91CP9V/IPEEDvHdNiL8OkQ////V2oSg8YMVuh44P//g8QMM8BfXlvJw1WL7FaLdQiF9nQaV/92DIs+6L4xAgBW6LgxAgBZWYv3hf916F9eXcNVi+yLRQgzyesjZotQCGY7VRB1F4tQBCNVGPfCAAMAAHQJD7dVFDvKfRlBiwCFwHXZUGoJ/3Uc6Arg//+DxAwzwF3Di00Mhcl0B2aLUApmiRFmg3gKAHYFi0AMXcO4eQRMAF3DVYvsi0UIg+wMhcB1BYtFDMnDiUX8iwCFwHX3i0UMhcB0blNWV4sIg2X4AItVCIlN9A+3SAhmOUoIdRYPt0oKZjtICnUMi3gMi3IMM9vzpnQIixKF0nXa6xOLSASB4QADAAAJSgTHRfgBAAAAgyAAg334AHQJUOj5/v//WesIi038iQGJRfyLRfSFwHWYX15bi0UIycNVi+xWahDoFDACAIvwWYX2dQQzwOtFi0UUgyYAiUYEZotFCGaJRghmi0UMZolGCmaFwHQhD7fAagBQ/3UQ6M8YAACDxAyJRgyFwHUNVuhhMAIAWeu9g2YMAIvGXl3DVYvsUYtFCINl/ABTD7ddDAPYVleJRQg7w3Ndi0UIg8AEO8N3W41FCFDoJ+X//w+38I1FCFDoG+X//w+3wFlZi00Ii/iNFA8703c1/3UQUVBW6Ez///+DxBCFwHQ+g338AHQHi00MiQHrA4lF/AF9CIlFDDldCHKji0X8X15bycNqAGoV/3UU6GPe////dfzo7f3//4PEEDPA6+BqAGoO6+NVi+yLRQhTVzP/i9iFwHRDVg+3SAi6dWMAAGY7ynQVunVwAABmO8p0C4P5AXQGi/iLAOsaizA72HUCi96DIABQ6Jv9//9Zhf90Aok3i8aFwHW/Xl+Lw1tdw1WL7FGDZfwAi0UI6xyLSAQjTQz3wQADAAB0DGaLSApmg8EEZgFN/IsAhcB14GaLRfzJw1WL7FaLdQjrRotGBCNFDKkAAwAAdDcPt0YI/3UQUOiY5v//D7dGCv91EFDoi+b//w+3RgqDxBBmhcB0Ef91EGoBUP92DOjlRgIAg8QQizaF9nW2Xl3DVYvsUVGLRRBTVot1CDtGNItFDHIfdwU7RjByGGoAahKDxgxW6EPd//+DxAyDyP/pOAEAAMHgBANGQFeL+IsHhcAPhCIBAACDeAQAD4UYAQAAi0BQagCDwBpQ/3YE6H5tAgCDxAyFwHho/3YEM9tDU41F/GoEUOjGaQIAg8QQO8N0C+goWQIA/zBqBetNjUX8iUUIjUUIUOg24///D7fAiUX4jUUIUOgn4///D7fAWVmJRRBmhcAPhIoAAAAPt0X4U1D/dgToFm0CAIPEDIXAeRfo2VgCAP8wagSDxgxW6Inc//+DxAzrPQ+3RRCNXgxTagBQ/3YEagDoy+P//4vwg8QUhfZ0H1NoAAEAAP91EFboaP3//4PEEFaL2OiyLQIAhdt1BlmDyP/rQVPo7v3//1CLB/9wPOhP/P//iw8z24PEEIlBPEOLB4lYBItHBIXAdBeDeAQAdRGLB4tAPItPBIlBPItHBIlYBDPAX15bycNVi+xWi3UI9kYcAnQYagBqGYPGDFbo4tv//4PEDIPI/+mqAAAAUzPbV2Y5XRB2VzldDHURU2oSg8YMVui82///g8QM6zyNXgxTagD/dRD/dQzolgIAAIv4g8QQhf90ImoAV+jTBQAAWVmD+AR1HFfosAEAAGoAahJT6H7b//+DxBCDyP/rRzP/6wIz2/92KOiQAQAAi0YkWYleKDvDdA1XUOhDAQAAWVmFwHUJOV4kdRA7+3UMV+hpAQAAWYleLOsKiX4ox0YsAQAAADPAX1teXcNVi+xRUVaLdQhXM/879w+E1QAAAIsGO8d0B1DocCwCAFmLRgQ7x3QHUOgRRwIAWVP/diDoWCwCAP92JOgSAQAA/3Yo6AoBAACDxAw5fkB0PzPbiX34OX40cix3BTl+MHYli0X4weAEA0ZAUOjBBAAAg0X4AVkT3zteNHLldwiLRfg7RjBy2/92QOgCLAIAWTPbiX38OX5EdjWLRkyLBJiDwAQ5OHUUV2oIUOh72v//i0ZMiwSYg8QMiTiLRkSDwwERffw5ffxy0XcEO9hyy41GDFDo9tn///92TOixKwIAVuirKwIAg8QMW19eycNVi+xqAGoAagDoixoAAItNCIPEDIXJdBAPt1EEUv8xUOh0GgAAg8QMXcNVi+yLVQiLRQyF0nQjhcB0Hw+3SgRmO0gEdAQzwF3DVosyV4s4M8Dzpl8PlMBeXcMzyTvQD5TBi8Fdw1WL7FaLdQiF9nQY/zboLCsCAP92DOgkKwIAVugeKwIAg8QMXl3DVYvsVot1CIX2dRCLRQyFwHQCITC4egRMAOty9kUQQHVdg34IAHUKagBW6MEDAABZWfZFEIB0DYtGCIP4AXQFg/gCdQaDfggEdTSDfgwAdR3/dRSNRhBQD7dGBFD/Nuj5BAAAg8QQiUYMhcB0IItFDIXAdAWLThCJCItGDOsPi0UMhcB0Bg+3TgSJCIsGXl3DVYvsi0UIhcB1Al3DZotABF3DVYvsUVMz22Y5XQx1BzPA6dAAAACLRRAlABgAAHQwPQAIAAB0ID0AEAAAdBBTahL/dRTo2dj//4PEDOvRx0X8BAAAAOsMx0X8AgAAAOsDiV38VmoU6IkpAgCL8Fk783USU2oO/3UU6KXY//+DxAwzwOtxVw+3fQyNRwFQ6GIpAgBZiQY7w3UJVujpKQIAWetMV/91CFDoZCoCAIsGiBwHZotFDIPEDGaJRgSJXgiJXgyJXhA5Xfx0KP91/FbojQIAAFlZg/gFdRhW6Gr+//9TahL/dRToN9j//4PEEDPA6wKLxl9eW8nDVYvsi0UIhcB0FP91DA+3SARqAVH/MOh7QQIAg8QQXcNWV2oYi/Do0CgCAIv4WYX/dRNQag6DxgxW6OvX//+DxAwzwOtli0ZEU4teSEA7w3I2g8MKi8PB4AJQ/3ZM6DA/AgBZWYXAdRlQag6DxgxW6LXX//9X6BUpAgCDxBAzwOsoiV5IiUZMi0ZEi05MiTyB/0ZEjUcEUIk36HnX//+DZxAAg2cUAFmLx1tfXsNVi+xWV/91GIt9CGoAagBqAGoA/3UU/3UQ/3UMV1foqPP//4vwg8QohfZ1BDPA6zdW6EXY//9ZhcB5FVaDxwxX6E7X//9W6Dfz//+DxAzr3IvH6Bz///+FwHUJVugh8///WevIiXAUX15dw1WL7ItFCIXAeBE7BWAJTAB9CYsEhWgJTABdwzPAXcNVi+xWV2pY6LgnAgCL8DP/WTv3dRJXag7/dQjo0tb//4PEDDPA60GNRgxQiT6JfgSJfgjoqNb//1mJfhyJfhiJfiCJfiiJfiSJfiyJfjiJfjyJfjCJfjSJfkCJfkiJfkSJfkyJflCLxl9eXcNVi+xRUYtFCIsQhdJ1FGoEUmoIjU34Uf9wCP9QBIPEFOs9i0gMg+kAdENJdB5JdApJdTZqElgzyes//3UQ/3UMUui6////g8QMycNqBGoAagiNTfhR/3AIUv9QBIPEGIXSfxB8BIXAcwpqFOvIM8kzwOsGi038i0X4i1UMhdJ0AokCi0UQhcB0AokIycNVi+xWi3UIVujzDwAA/zbozNn///92BOjE2f//g8QMXl3DVYvsi0UIM8mJCIlIBIlICIlIDF3DVYvsi1UIhdJ1BTPAQF3Di0IIVoXAdAeL8OmVAAAAD7dCBDP2V0Yz/4XAD4SCAAAAU4sCA8eKCID5H3YFgPmAcmKA+Q10XYD5CnRYgPkJdFOK2YDj4MdFCAMAAACA+8B1BTP2RusZitmA4/CA++B1BGoC6wqA4fiA+fB1MmoDXg+3SgQD/jv5cyUzyUE78XIQihwIgOPAgPuAdRNBO8528It1CA+3QgRHO/hyhesDagReW1+DfQwAiXIIdCFqAlg5RQx1CoP+A3UFi/CJQgg5dQx0CoP+AXQFagVY6wKLxl5dw7qAAAAAO8JzBogBM8BAw1OL2D0ACAAAcxbB6waA4x+Ay8AkPwrCiBmIQQFqAutYPQAAAQBzI8HrDIDjD4DL4IgZi9jB6waA4z8K2iQ/CsKIWQGIQQJqA+suwesSgOMHgMvwiBmL2MHrDIDjPwraiFkBi9jB6waA4z8K2iQ/CsKIWQKIQQNqBFhbw1WL7FFWM/Y5dQx1EItFEDvGdAKJMDPA6aUAAAAz0kIzyYlV/Dl1DHY5i0UID7YEAQ+3BEWABEwAPYAAAABzBIvC6xY9AAgAAHMFagJY6wo9AAABABvAg8AEAUX8QTtNDHLHV/91/Oi9JAIAi/hZO/51ElZqDv91FOjZ0///g8QMM8DrPFMz2zldDHYfi0UID7YEBg+3BEWABEwAjQw76NP+//8D2EY7dQxy4YtNEItF/MZEB/8AW4XJdANIiQGLx19eycNVi+yDfQgAdQQzwF3D/3UI6MwNAABZhcB074tNDIkIi00QiUgEi00UiUgIXcNVi+yDPgB0B4PK/4vCXcOLRRCLyAtNFHUGM8Az0l3Di00MU1eJjiQgAACJhiggAACNnhggAACLRgj32BvAg+AEUFPoPCUAAFlZg/j7dDx+5oP4/n4QM8k7wXzbg/gBfhOD+AJ10ccGDQAAAIlGBOmBAAAAOY4oIAAAdHk5Tgh0tjmOHCAAAHWu62qDvhwgAAAAddKDfggAdVtqAGgAIAAAjX4YV/91COgy0///g8QQhdJ8MX8EhcByK4vIC8p1GIuGICAAACFOFMdGCAEAAACJRhDpX////4k7iYYcIAAA6VL///+NRgRQVv91COju+///g8QMi1UUi44oIAAAM/87+ncQcgU7TRBzCYtFECvBG9frB4sG99gbwJlfW13DVYvsgz4AdAeDyv+Lwl3Di0UQi8gLTRR1BjPAM9Jdw4tNDFOJjiQgAACJhiggAABXM/85viggAAAPhJEAAACNnhggAABqAlPoFDAAAFlZg/j7dB5+24P4/n4MM8lBO8F0WYP4AnXKxwYNAAAAiUYE6145vhwgAAB17Tl+CHVRagBoACAAAI1+GFf/dQjoL9L//4PEEIXSfCd/BIXAciGLyAvKdQnHRggBAAAA64OJO4mGHCAAAOl2////iU4I6xCNRgRQVv91COj1+v//g8QMi1UUi44oIAAAM/87+ncQcgU7TRBzCYtFECvBG9frB4sG99gbwJlfW13DVYvsi0UcUzPbK8NWD4SxAAAASA+EkQAAAEh0dkh0Skh0G0h0DotFDMcAEgAAAIlYBOsX/3UM6HkiAgDrYzldGHcScgaDfRQIcwqDyP8L0OnjAAAAi0UMixCLTRCJEYtABGoIiUEEWOs6i0UQM8lmiUg0OVgkdwU5WCB2JYtQHItIGDvTdwQ7y3YXiUggiVAk6w+LRQwFGCAAAFDoc0EAAFkzwDPS6Y0AAAD/dRiLdQz/dRT/dRD/dQjoSf7//4PEEOt0i3UMV1NoACAAAI1+GFf/dQjo7tD//4PEEDvTfwt8BDvDcwVq/ljrQmo4aIAGTACNjhggAABq8VGJnjggAACJnjwgAACJnkAgAACJOYmGHCAAAOj1LAAAg8QQO8N0EYlGBMcGDQAAAIPI/4PK/+sEM8Az0l9eW13DVYvsi0UcVlcz/yvHD4StAAAASA+EjQAAAEh0ekh0PUh0JUh0EYtFDMcAEgAAAIl4BOnjAAAA/3UM6DshAgBZM8Az0l9eXcOLRQyLEItNEIkRi0AEagiJQQRY6+WLRRCDCEBqCFlmiUg0i0gEiUgEi00MOXkIdBeLURCJUCCLSRSDCAiJSCSLSASJSATrsYMg94l4BOupi0UMBRggAABQ6NMQAADrmP91GIt1DP91FP91EP91COj0+///g8QQ64SLdQxqOGiABkwAV/92DI2GGCAAAGrxaghqCVCJvjggAACJvjwgAACJvkAgAACJvhwgAACJOIm+KCAAAIm+JCAAAOjoKAAAg8QgO8cPhC/////HBg0AAACJRgSDyv+Lwukg////VYvsUzPbVjldDHR9g30QCHQMg30Q/3QGg30Q/nVraFAgAADomh8CAIvwWTvzdQVTag7rWFeLfRSD5wGJXgSJHoleCHQYU2oB/3UI6BXR//+DxAz32BvAg8AJiUYMO/tfuA+2QQB1BbjUtEEAVlD/dQz/dQjo5fr//4PEEDvDdR1W6NAfAgBZ6xJTahKLRQiDwAxQ6FjO//+DxAwzwF5bXcNVi+y4CCAAAOjAmwIAofCyTQAzxYlF/ItFCItNHFaLdQxXM/8rz4mF+N///4tFEA+EuAAAAEl0PUl0Wkl0IEl0EEkPhaAAAABW6GcfAgBZ60SLThiJCItOHIlIBOs3i04IiUgYi04MgwgEgyDXiUgciXgE6yCLVhSLfRiLThA7+nIMdwU5TRR2BYlNFIv6i00UC891CTPAM9LpsQAAAFf/dRRQ/7X43///6BrO//8zyYPEEDvRfxF8BDvBcwtq/liDyv/phwAAAClGEIv4GVYUC/p1ezlOFHcFOU4QdnHHRhgRAAAAiU4cg8j/69NTM9s5fgRyVXcEOT52T4sGi04EK8Mbz3UHPQAgAAB2B7gAIAAAM8lRUI2F/N///1D/tfjf///ooM3//4PEEIXSfC5/BIXAciiLyAvKdCcD2BP6O34Ecrd3BDsecrEzwDPSW4tN/F8zzV7oli4CAMnDav5Y6w6DZhwAx0YYEQAAAIPI/4PK/+vZVYvsg30MAHUXagBqEotFCIPADFDowcz//4PEDDPAXcNqIOiFHQIAWYXAdQVQag7r3ItNEItVHFCJCItNFGjTt0EA/3UMiUgEi00Y/3UIiUgIiVAMiUgQiVAU6On4//+DxBBdw1WL7IPsPKHwsk0AM8WJRfyLRRhTi10IVjP2K8ZXi30MD4TdAQAASA+ENAEAAEgPhBQBAABIdFhIdC5ID4XtAQAA/zPolB0CAFk5cwh0DotDBDvGdAdQ6DA4AgBZU+h6HQIAWekEAgAAaghYOXUUdw8PgrgBAAA5RRAPgq8BAACLS2iJD4tLbIlPBOnfAQAAOXUUdxAPgpQBAACDfRBAD4KKAQAAi0sQC0sUdA1qEFmNcxDzpemHAAAAi0MEO8Z0FVDojy8CAI1NzFFQ6HGuAgCDxAzrDosDjU3MUVDofZoCAFlZO8YPhfAAAABX6DMGAACLReyDDxCJRyiLRfCJRyyLRwSJRwSLQ1iLW1xZi8gjy4P5/3QFiV8c6xmLRdIlAPAAALkAgAAAZjvBdROLReCZiVccgw8EiUcYi0cEiUcEakBY6SYBAAA5Mw+EHAEAAP9zBOgzNwIAWYlzBOkLAQAAi0tgi0Nki3UQi9Ej0IP6/3QPOUUUcgp3BDvxdgSL8esDi0UUM8k7wXcFg/7/dgaDzv+JTcg5Swh1HotDWANDUFErQ2BQ/3ME6DxbAgCDxAyFwA+IngAAAP9zBFZqAVfohlcCAIvwg8QQhfZ1Fv9zBOi6VwIAWYXAdAnHQ2gFAAAA60CLQ2CLS2SL0CPRg/r/dAwz0ivGG8qJQ2CJS2SLxutriwM7xnQsaCQIRgBQ6Kc3AgBZWYlDBDvGdRjHQ2gLAAAA6JBGAgCLAIlDbIPK/4vC6zs5cwh0JjlzVHcFOXNQdhxW/3NQ/3ME6JpaAgCDxAyFwHkJx0NoBAAAAOvEi0NYiUNgi0NciUNkM8Az0otN/F9eM81b6JsrAgDJw1WL7FaLdRBXM/8793UeOX0MdRmLRQhXg8AMahJQ6NXJ//+DxAwzwOnHAAAAU2pw6JUaAgCL2Fk733UXi0UIV4PADGoOUOityf//g8QM6Z4AAACJOzl9DHQp/3UM6EEuAwBZiQM7x3Uai0UIV4PADGoOUOiAyf//U+jgGgIAg8QQ626LRRSLTSCJQ1CLRRiJQ1SLRRyL0AvRiXMEdQWDyf+LwYlDWIlLXDk7dAUzwEDrA4tFJIt1KIlDCDv3dAxqEI17EFnzpTP/6wqNQxBQ6NIDAABZU2isuUEA/3UI6JsDAACDxAw7x3UJU+huGgIAWTPAW19eXcNVi+yLRRhWVzP/K8cPhO4AAABID4SpAAAASA+E6AAAAEh0Q0h0I0h1Sot1CDl+GHQM/3YE6C0aAgBZiX4EVugjGgIAWem/AAAAOX0UdwhyI4N9EAhyHYtFDIl4BIk4aghY6aQAAAA5fRR3EnIGg30QQHMKg8j/C9DpjwAAAIt1DFboKAMAAFmLTQiLQRCJRiiLQRSJRiyLQQgrQQTHBtwAAACZiUYYiUYgi8KJRiQzwIlWHGaJRjRmiUY2iX4EakDrnot1CIsOi0YIK8GZU4vai/g7XRRyDXcFO30QdgaLfRCLXRSLxwvDdA9XUf91DOj6GQIAg8QMAT6L04vHW+sMi0UIi0gEiQgzwDPSX15dw1WL7ItFCIXAdQJdw1OLXRBXi30Mhf91HoN9FAB3BIXbdBRqAIPADGoSUOjBx///g8QMM8DrXFZqIOiEGAIAi/BZagCF9nUTi0UIg8AMag5Q6JvH//+DxAzrNYtFGAPfiX4EiV4IiUYY6Ch3AgBWaCK9QQD/dQiJRhCJVhTo9QEAAIPEEIXAdQlW6MgYAgBZM8BeX1tdw1WL7GaDfQgBdQe4ZcNBAF3DM8Bdw1WL7FFTi10IV2oA/3UU/3UQ/3UMU+gizf//i/iDxBSF/3UIg8j/6doAAAD/dRT/dRD/dQxT6L63//+DxBCJRfyFwHTf9kUUCFZ1OItFDItLQAPAi0TBCIXAdCiLdRhWUOjn4f//WVmFwHl8agBqD4PDDFPozcb//4PEDIPI/+mBAAAAi3UYVuhnAQAAi0cgiUYwi0cwiUYYi0c0iUYci0cYiUYoi0cciUYsi0coiUYgi0csiUYkZotHFGaJRjQPt0cQWagBdBCoQHQHuP//AADrBzPAQOsCM8CDZgQAZolGNscG/AAAAItFDIMOA4lGEItFEIlGFItF/IlGCItGBIlGBDPAXl9bycNVi+yDfQwAdQQzwF3DVv91DOj4FgIAi/BZhfZ1ElBqDv91EOgUxv//g8QMM8DrEf91DP91CFbo7xcCAIPEDIvGXl3DVYvsVot1CItGCIXAdAtQ6Ovh//+DZggAWYtGBIXAdCH2AAF0HIN4FP51FoMg/otGBIM4AHULUOikyf//g2YEAFmDZgwAXl3DVYvsahToeRYCAFkzyTvBdRaLRQhRg8AMag5Q6JHF//+DxAwzwF3DiQiJSASJSAiJSAyJSBBdw1WL7IN9CAB1BDPAXcP/dQjotP///1mFwHTvi00MiUgEi00QiUgIXcNVi+yLRQgzyYPK/4kIiUgEiUgIiVAQiVAUiUgwiVAoiVAsiUgYiUgciUggiUgkZolINGaJSDZdw1WL7IPsDFcz/4l9+Dl9FA+CogAAAHcJOX0QD4aXAAAAg30YAItFDIoEB4hF/3UbZotOEGaDyQIPt8mL0YPyAQ+v0cH6CDLCiEX/i00Ihcl0A4gED2oBjUX/UItGCPfQUOgRBQAA99CJRggPtsADRgxqAWnABYQICECJRgzB6BiIRf+NRf9Qi0YQ99BQ6OUEAACDxBiDxwGDVfgA99CJRhCLRfg7RRQPgnT///93CTt9EA+Caf///1/Jw1WL7IPsWKHwsk0AM8WJRfxTVjPbU2oMjUXwUFeL8ei2xP//g8QQO9N/GXwEO8NzE41GBFBWV+if7f//g8QMg8j/62qD+Ax1BDvTdAvHBhEAAACJXgTr51NTjUXwagxQUOjh/v//jUWoUFfo+N7//4PEHIXAeDWNRehQjUXsUP911P910Ojbzf//i0XYwegYg8QQOEX7dBQPt0XswegIOEX7dAjHBhsAAADrpzPAi038XjPNW+hJJQIAycNVi+yLRRxTVjP2K8ZXD4S4AAAASHRuSHQjSHQ+SHQmSHQRi0UMxwASAAAAiXAE6asAAAD/dQzo0BQCAFkzwDPSX15bXcOLRQyLEItNEIkRi0AEagiJQQRY6+SLRRCBCIAAAAAzyWaJSDaLSASJSASLCIPhCDPSC8p0woNAIPSDUCT/67j/dRj/dRT/dRD/dQjoicP//4vag8QQi/g73n8OfAQ7/nMIav5Yg8r/65JWi3UMU1f/dRD/dRDozP3//4PEFIvHi9Ppdf///4tNDIt9COhv/v//hcAPiV7///+Dyv+LwulY////VYvsUzPbVjldGA+EgwAAADldDHR+ZoN9EAF1d/ZFFAF0BVNqGOtvahToYRMCAIvwWTvzdQVTag7rXItFGFeJXgSJHsdGCHhWNBLHRgyJZ0Ujx0YQkHhWNI14AYoIQDrLdflqAVMrx1D/dRhT6DL9//9WaH3CQQD/dQz/dQjoqe7//4PEJF87w3UdVuiTEwIAWesSU2oSi0UIg8AMUOgbwv//g8QMM8BeW13DVYvsUYN9CABW99C5/wAAAHQc9sIDdBcPtjIz8CPxwegIMwS12AlMAEL/TQh15IN9CCBTV2oEi/JfD4K+AQAAi1UIweoFiVX8MwYD94vQweoQi9jB6wgj0YsUldgNTAAj2TMUndgRTACL2MHrGDMUndgJTAAjwTMUhdgVTAAzFgP3i8LB6BCL2sHrCCPBiwSF2A1MACPZMwSd2BFMAIvawesYMwSd2AlMACPRMwSV2BVMADMGA/eL0MHqEIvYI9GLFJXYDUwAwesII9kzFJ3YEUwAi9jB6xgzFJ3YCUwAI8EzFIXYFUwAMxYD94vCwegQi9rB6wgjwYsEhdgNTAAj2TMEndgRTACL2sHrGDMEndgJTAAj0TMEldgVTAAzBgP3i9DB6hCL2CPRixSV2A1MAMHrCCPZMxSd2BFMAIvYwesYMxSd2AlMACPBMxSF2BVMADMWA/eLwsHoECPBi9qLBIXYDUwAwesII9kzBJ3YEUwAi9rB6xgzBJ3YCUwAI9EzBJXYFUwAg20IIDMGA/eL0IvYweoQwesII9GLFJXYDUwAI9kzFJ3YEUwAi9jB6xgzFJ3YCUwAI8EzFIXYFUwAMxYD94vCwegQI8GLBIXYDUwAi9rB6wgj2TMEndgRTACL2sHrGDMEndgJTAAj0TMEldgVTAD/TfwPhUv+//85fQhySItVCMHqAolV/DMGKX0Ii9DB6hAj0YsUldgNTACL2MHrCCPZMxSd2BFMAIvYwesYMxSd2AlMACPBMxSF2BVMAAP3/038i8J1wYN9CABfW3QXD7YWM9Aj0cHoCDMEldgJTABG/00Iden30F7Jw1WL7ItVDIXSdQQzwF3D/3UQi0UI6Hn9//9ZXcNVi+xTVleLfQgz2zv7dG6Ldxw783RnOV8gdGI5XyR0XWoCiV8UiV8IiV8YWYlPLItGCIlGEItGGIleFDvDfQX32IlGGItGGIvQ99ob0oPiuVODwnFTiVYEUzvBdQfogv///+sF6FlGAACDxAyJRzBWiV4o6H4/AABZM8DrA2r+WF9eW13DVotwCFeLeBSLysHpCIgMPv9AFItIFItwCIgUMf9AFF9ew1NXi34cV+gyQwAAi18Ui0YQWTvYdgKL2IXbdCZT/3cQ/3YM6KcQAgABXgwBXxABXhQpXhCDxAwpXxR1BotHCIlHEF9bw1WL7FaLdQhXhfYPhJkAAACLRhyFwA+EjgAAAIt4BIP/KnQhg/9FdByD/0l0F4P/W3QSg/9ndA2D/3F0CIH/mgIAAHVli0AIhcB0CVD/dij/ViRZWYtGHItARIXAdAlQ/3Yo/1YkWVmLRhyLQECFwHQJUP92KP9WJFlZi0Yci0A4hcB0CVD/dij/ViRZWf92HP92KP9WJINmHABZWYP/cXUEav3rBjPA6wNq/lhfXl3Di0Ysi05EA8CJRjyLRkwz0maJVEH+i0ZMV41EAP5QM/9X/3ZE6PEoAgCLhoQAAABrwAwPt4giKkwAiY6AAAAAD7eIICpMAImOjAAAAA+3iCQqTACDxAyJjpAAAAAPt4AmKkwAagKJRnxYiX5siX5ciX50ib60FgAAiX5oiX5IiUZ4iUZgX8NVi+yD7BiLQXyLUTiJRfiLgZAAAABTVotxbIlF9ItBLI2Y+v7//wPWV4t5eDvzdg0r8IHGBgEAAIl18OsEg2XwAI2CAgEAAIlF7IpEF/+IRf+KBBeIRf47uYwAAAByBMFt+AKLQXQ5RfR2A4lF9ItFCItxOAPwikX+OAQ+D4WcAAAAikX/OEQ+/w+FjwAAAIoGOgIPhYUAAACKRgE6QgF1fYtd7IPCAoPGAkKKAjpGAXU+QooCOkYCdTZCigI6RgN1LkKKAjpGBHUmQooCOkYFdR5CigI6RgZ1FkKKAjpGB3UOQooCg8YIOgZ1BDvTcrqLwivDBQIBAACNk/7+//87x34bi3UIiXFwi/g7RfR9LI00EIpG/4hF/4oGiEX+i3E0I3UIi0FAD7cEcIlFCDtF8HYJ/034D4U1////i0F0O/h3AovHX15bycNVi+yD7AxTV4t+LIl99OsDi330i148K150i0Zsi04sK9iNjA/6/v//iV34O8FyaItGOFeNDDhRUOjNDQIAi0ZMi05EKX5wKX5sg8QMKX5ciUX8jQRBg+gCD7cIi9Er1zvPG8n30SPK/038ZokIdeaLRkCJffyNBHiD6AIPtwiL0SvXO88byffRI8r/TfxmiQh15gPfiV34iz6DfwQAD4QMAQAAi150A15si0cEi034A144iUX8O8F2A4lN/IN9/AB1BDPA60z/dfwrRfz/N4lHBFPoMw0CAItHHItAGIPEDIP4AXUO/3X8U/93MOhlQgAA6xGD+AJ1Ev91/FP/dzDodPv//4lHMIPEDItF/AEHAUcIAUZ0i0Z0i560FgAAA8OD+ANydYtWbIt+OItOWCvTD7YEF4lGSNPgD7ZMFwEzwSNGVIlGSIXbdFCLfkiLTliLRjgPtkQQAoteQNPni05EM8cjRlSLfjSJRkhmiwRBI/pmiQR7i0ZIi05EZokUQYtOdEL/jrQWAACLhrQWAAADyIP5A3IEhcB1sIF+dAYBAABzDIsGg3gEAA+FYf7//4uOwBYAAItGPDvIc2WLfnQDfmw7z3MqK8eL2LgCAQAAO9h2AovYi0Y4UwPHagBQ6GclAgCDxAwD34mewBYAAOsxjZcCAQAAO8pzJyv5gccCAQAAK8E7+HYCi/iLRjhXA8FqAFDoMiUCAIPEDAG+wBYAAF9bycNVi+xRU1ZXi30Ii08MuP//AACDwfuJRfw7yHMDiU38M9uLR3SD+AF3Eov36Kv9//+LR3Q7ww+EmwAAAAFHbItXXItF/ItPbIlfdI0EAnQEO8hyNyvIiU90iUdsO9N8B4tPOAPK6wIzyVMrwlBRV+jIPgAAi0dsizeDxBCJR1zok/r//4sHOVgQdEWLT1yLV2yLRywr0S0GAQAAO9BygzvLfAeLRzgDwesCM8BTUlBX6Ic+AACLR2yLN4PEEIlHXOhS+v//iwc5WBAPhVL///8zwF9eW8nDOV0MdPSDfQwEiZ+0FgAAdT6LT1w7y3wHi0c4A8HrAjPAi1dsagEr0VJQV+g1PgAAi0dsizeDxBCJR1zoAPr//4sHM8k5WBAPlcGNQQLrrItHbItXXDvCfjM703wHi084A8rrAjPJUyvCUFFX6PQ9AACLR2yLN4PEEIlHXOi/+f//iwc5WBAPhG3///8zwEDpZ////1WL7FNWV4t9CLsGAQAAi0d0O8NzIIv36FX8//+LR3Q7w3MKg30MAA+EMgIAAIXAD4QxAgAAg/gDcmmLR0iLT1iLV2yLdzTT4ItPOA+2TBECM8EjR1SLT0SJR0hmiwRBI/KLV0BmiQRyi0dsI0c0i09AD7cEQYtPSItXRGaLd2xmiTRKhcB0HItPbItXLCvIK9M7yncOUIvP6Ir6//+DxASJR2CDf2ADD4IYAQAAZotPbGYrT3CLl6AWAACKR2CLt6QWAAAsAw+3yWaJDFaLt6AWAACLl5gWAACIBDL/h6AWAAAPtsAPtoB4PUwAjYSHmAQAAIHB//8AAGb/ALgAAQAAZjvID7fBcwkPtoB4O0wA6wrB6AcPtoB4PEwAjYSHiAkAAGb/AIuHnBYAADPJSDmHoBYAAItHYA+UwSlHdIvxi090O4eAAAAAd1SD+QNyT0iJR2D/R2yLV2yLX0iLT1iLRzgPtkQCAtPji09EM8MjR1SLXzSJR0hmiwRBI9qLV0BmiQRai0dIi09EZotXbGaJFEH/T2B1vLsGAQAA63oBR2yLV2wDVziDZ2AAD7YCi09YiUdI0+APtkoBM8EjR1SJR0jrV4tHbItPOIoECIuPoBYAAIuXpBYAADP2Zok0SouPmBYAAIuXoBYAAIgEEf+HoBYAAA+2wI2Eh5QAAABm/wCLh5wWAAAzyUg5h6AWAAAPlMH/T3SL8f9HbIX2D4Tq/f//i09chcl4B4tHOAPB6wIzwItXbGoAK9FSUFfojjsAAItHbIs3g8QQiUdc6Fn3//+LB4N4EAAPha/9//8zwF9eW13Di0dsg/gCcwSLyOsDagJZg30MBImPtBYAAHU7i1dchdJ4B4tPOAPK6wIzyWoBK8JQUVfoNDsAAItHbIs3g8QQiUdc6P/2//+LBzPJOUgQD5XBjUEC66WDv6AWAAAAdDiLV1yF0ngHi084A8rrAjPJagArwlBRV+jwOgAAi0dsizeDxBCJR1zou/b//4sHg3gQAA+EYv///zPAQOlc////VYvsU1ZXi30IM9uLR3Q9BgEAAHMii/foUPn//4tHdD0GAQAAcwk5XQwPhKQCAAA7ww+EtQIAADPJg/gDckmLR0iLT1iLV2yLdzTT4ItPOA+2TBECM8EjR1SLT0SJR0hmiwRBI/KLV0BmiQRyi0dsI0c0i09AD7cMQYtHSItXRGaLd2xmiTRCi0dgagKJR3iLR3BeiUdkiXdgO8t0TotHeDuHgAAAAHNDi0dsi1csK8GB6gYBAAA7wncxUYvP6GD3//+DxASJR2CD+AV3HoO/iAAAAAF0EoP4A3UQi0dsK0dwPQAQAAB2A4l3YItHeIP4Aw+CRwEAADlHYA+HPgEAAItHbItPdIuXoBYAAIufpBYAAI10CP1mi09sZitPZIpHeCwDZkkPt8lmiQxTi5+gFgAAi5eYFgAAiAQa/4egFgAAD7bAD7aAeD1MAI2Eh5gEAACBwf//AABm/wC4AAEAAGY7yA+3wXMJD7aAeDtMAOsKwegHD7aAeDxMAI2Eh4gJAABm/wCLh5wWAAAzyUg5h6AWAACLR3gPlMGJTQgzyUEryAFPdIPA/olHeP9HbItXbDvWdzmLR0iLT1iLXzTT4ItPOA+2TBECM8EjR1SLT0SJR0hmiwRBI9qLV0BmiQRai0dIi09EZotXbGaJFEH/T3h1uDPb/0dsi0dsiV9ox0dgAgAAADldCA+E/f3//4tXXDvTfAeLTzgDyusCM8lTK8JQUVfoozgAAItHbIs3g8QQiUdc6G70///pigAAADlfaA+EkwAAAItHbItPOIpECP+Lj6AWAACLl6QWAAAz9maJNEqLl6AWAACLj5gWAACIBBH/h6AWAAAPtsCNhIeUAAAAZv8Ai4ecFgAASDmHoBYAAHUui09cO8t8B4tHOAPB6wIzwItXbFMr0VJQV+gaOAAAi0dsizeDxBCJR1zo5fP///9HbP9PdIsHOVgQD4U4/f//M8BfXltdw/9HbP9PdMdHaAEAAADpH/3//zlfaHRBi0dsi084ikwI/4uXoBYAAIu3pBYAADPbZokcVou3oBYAAIuXmBYAAA+2wYgMMv+HoBYAAI2Eh5QAAABm/wCJX2iLR2xqAlk7wXMCi8iDfQwEiY+0FgAAdT6LV1w703wHi084A8rrAjPJagErwlBRV+hmNwAAi0dsizeDxBCJR1zoMfP//4sHM8k5WBAPlcGNQQLpTf///zmfoBYAAHQ2i1dcO9N8B4tPOAPK6wIzyVMrwlBRV+ghNwAAi0dsizeDxBCJR1zo7PL//4sHOVgQD4QN////M8BA6Qf///9Vi+xTVjPbi3d0gf4CAQAAdyOL9+iF9f//i3d0gf4CAQAAdwk5XQgPhKcBAAA78w+EpQEAAIlfYIP+Aw+CjQAAAItHbDvDD4aCAAAAi1c4A9CNQv8PtggPtlgBO8t1bQ+2WAI7y3Vlg8ADD7YYO8t1W4HCAgEAAEAPthg7y3U8QA+2GDvLdTRAD7YYO8t1LEAPthg7y3UkQA+2GDvLdRxAD7YYO8t1FEAPthg7y3UMQA+2GDvLdQQ7wnK8K8IFAgEAAIlHYDvGdgOJd2Az24uXpBYAADP2g39gA3Jqikdgi4+gFgAALANGZok0SouPmBYAAIuXoBYAAIgEEf+HoBYAAA+2wA+2gHg9TACNhIeYBAAAZv8AD7YFeDtMAI2Eh4gJAABm/wCLh5wWAABIM8k5h6AWAACLR2APlMEpR3QBR2yJX2DrTYtPbItHOIoECIuPoBYAAGaJNEqLj5gWAACLl6AWAACIBBH/h6AWAAAPtsCNhIeUAAAAZv8Ai4ecFgAASDPJOYegFgAAD5TB/090/0dsO8sPhGz+//+LT1w7y3wHi0c4A8HrAjPAi1dsUyvRUlBX6EU1AACLR2yLN4PEEIlHXOgQ8f//iwc5WBAPhTP+//8zwF5bXcODfQgEiZ+0FgAAdT6LT1w7y3wHi0c4A8HrAjPAi1dsagEr0VJQV+j5NAAAi0dsizeDxBCJR1zoxPD//4sHM8k5WBAPlcGNQQLrsjmfoBYAAHQ5i09cO8t8B4tHOAPB6wIzwItXbFMr0VJQV+i0NAAAi0dsizeDxBCJR1zof/D//4sHOVgQD4Rv////M8BA6Wn///9Vi+xTVjPbOV90dRCL9+ge8///OV90D4SUAAAAi0dsi084i5ekFgAAM/aJX2CKBAiLj6AWAABmiTRKi4+YFgAAi5egFgAAiAQR/4egFgAAD7bAjYSHlAAAAGb/AP9PdP9HbIuPnBYAAItHbEk5j6AWAAB1k4tXXDvTfAeLTzgDyusCM8lTK8JQUVfoAjQAAItHbIs3g8QQiUdc6M3v//+LBzlYEA+FXf///zPAXltdwzldCHT1g30IBImftBYAAHU+i09cO8t8B4tHOAPB6wIzwItXbGoBK9FSUFfosTMAAItHbIs3g8QQiUdc6Hzv//+LBzPJOVgQD5XBjUEC6605n6AWAAB0OYtPXDvLfAeLRzgDwesCM8CLV2xTK9FSUFfobDMAAItHbIs3g8QQiUdc6Dfv//+LBzlYEA+Eav///zPAQOlk////VYvsVot1CFdW6G/u//+L+FmF/3UIi3Yc6Pzv//+Lx19eXcNVi+xRUVNWi3UIM9tXO/MPhJ8HAACLfhw7+w+ElAcAAItNDIP5BQ+HiAcAADleDA+EdwcAADkedQk5XgQPhWoHAACLRwQ9mgIAAHUJg/kED4VXBwAAOV4QdQ+hBEBMAIlGGGr76U0HAACLVyiJN4lV+IlPKIP4Kg+FgwIAAIN/GAIPheoBAABTU1Por+3//4lGMItPFItHCMYECB+LTwiDxAz/RxSLRxTGBAiL/0cUi0cUi08IxgQICP9HFItHHItPFDvDD4WCAAAAi0cIiBwB/0cUi0cUi08IiBwI/0cUi0cUi08IiBwI/0cUi0cUi08IiBwI/0cUi0cUi08IiBwI/0cUi4eEAAAAi08Ug/gJdQRqAusUg7+IAAAAAn0Jg/gCfAQzwOsDagRYi1cIiAQR/0cUi0cUi08IxgQIC/9HFMdHBHEAAADptAEAADlYJA+Uwv7KgOIQOVgsD5TD/suA4wIC04N4HAAPlMP+y4DjCALTg3gQAA+Uw/7LgOMEAtMz2zkYD5XAAtCLRwiIFAH/RxSLRxSLTxyKSQSLVwiIDBD/RxSLRxSLTxyKSQWLVwiIDBD/RxSLTxyKSQaLRxSLVwiIDBD/RxSLTxyLRxSKSQeLVwiIDBD/RxSLh4QAAACLTxSD+Al1BGoC6xSDv4gAAAACfQmD+AJ8BDPA6wNqBFiLVwiIBBH/RxSLTxyLRxSKSQyLVwiIDBD/RxSLRxyLTxQ5WBB0IYpAFItXCIgEEf9HFItPHIpJFYtHFItXCIgMEP9HFItPFItHHDlYLHQSUf93CP92MOji6///g8QMiUYwiV8gx0cERQAAAOmPAAAAi08wg+kIweEMgcEACAAAg7+IAAAAAn0ii4eEAAAAg/gCfBeD+AZ9BTPAQOsPM9KD+AYPlcKNQgLrAjPAweAGC8g5X2x0A4PJIDPSah9bi8H388dHBHEAAACLwovRK9AD04vH6Abs//8z2zlfbHQSD7dWMuj26///D7dWMOjt6///U1NT6CIyAACDxAyJRjCDfwRFD4W2AAAAi0ccOVgQD4SjAAAAi08UiU0I61uLRxQ7Rwx1NotPHDlZLHQeO0UIdhkrRQhQi0cIA0UIUP92MOj46v//g8QMiUYw6LDr//+LRxSJRQg7Rwx0JotPHItJEItXIIoMEYtfCIgMGP9HFP9HIItHHDPbD7dAFDlHIHKci0ccOVgsdCGLRxQ7RQh2GStFCFCLRwgDRQhQ/3Yw6Jnq//+DxAyJRjCLRxyLTyA7SBR1ColfIMdHBEkAAACDfwRJD4WyAAAAi0ccOVgcD4SfAAAAi0cUiUUIi0cUO0cMdTaLTxw5WSx0HjtFCHYZK0UIUItHCANFCFD/djDoOur//4PEDIlGMOjy6v//i0cUiUUIO0cMdCOLTyCLVxyLUhwPthQKQYlPIItPCIgUCP9HFIlV/DvTdaHrB8dF/AEAAACLRxw5WCx0IYtHFDtFCHYZK0UIUItHCANFCFD/djDo1+n//4PEDIlGMDld/HUKiV8gx0cEWwAAAIN/BFsPha8AAACLRxw5WCQPhJwAAACLRxSJRQiLRxQ7Rwx1NotPHDlZLHQeO0UIdhkrRQhQi0cIA0UIUP92MOh+6f//g8QMiUYw6Dbq//+LRxSJRQg7Rwx0I4tPIItXHItSJA+2FApBiU8gi08IiBQI/0cUiVX8O9N1oesHx0X8AQAAAItHHDlYLHQhi0cUO0UIdhkrRQhQi0cIA0UIUP92MOgb6f//g8QMiUYwOV38dQfHRwRnAAAAg38EZ3VTi0ccOVgsdESLRxSDwAI7Rwx2Beiu6f//i0cUjUgCO08MdzCKVjCLTwiIFAj/RxSLRxSKVjGLTwhTU4gUCP9HFFPovej//4PEDIlGMMdHBHEAAAA5XxR0Fehp6f//OV4QdUiDTyj/M8DpDwIAADleBHU4i1UMx0UICQAAAIP6BH8DiV0Ii0X4g/gEfgVqCVnrAjPJA8ArwY0MEitNCDvIfwmD+gQPhXX6//+LRwQ9mgIAAHUKOV4EdArpYfr//zleBHUZOV90dRQ5XQwPhMsAAAA9mgIAAA+EwAAAAIuHiAAAAP91DIP4AnUH6Gv4///rHYP4A3UH6PL1///rEYuHhAAAAGvADFf/kCgqTABZWYP4AnQFg/gDdQfHRwSaAgAAO8MPhDsBAACD+AIPhDIBAACD+AF1ZjlFDHUJV+jOKwAAWetKg30MBXREU1NTV+jQKgAAg8QQg30MA3Uyi0dMi09EM9JmiVRB/otHTI1EAP5QU/93ROhbEgIAg8QMOV90dQyJX2yJX1yJn7QWAADoM+j//zleEA+Exv7//4N9DAQPhcD+//+LRxg7w38IM8BA6ccAAACD+AJ1eotPFIpWMItHCIgUCP9HFItHFIpWMYtPCIgUCP9HFItHFIpWMotPCIgUCP9HFItHFIpWM4tPCIgUCP9HFItHFIpWCItPCIgUCP9HFItHFIpWCYtPCIgUCP9HFItHFIpWCotPCIgUCP9HFItHFIpWC4tPCIgUCP9HFOsUD7dWMovH6GXn//8Pt1Yw6Fzn///oeef//4tHGDvDfgX32IlHGDPAOV8UD5TA6xk5XhAPhfr9///p8f3//6H4P0wAiUYYav5YX15bycNVi+yLRSBTM9szyVZDVzvBD4S7AQAAgDgxD4WyAQAAg30kOA+FqAEAAIt9CDv5dQdq/umcAQAAiU8YOU8gdQrHRyB9D0IAiU8oOU8kdQfHRySQD0IAg30M/3UHx0UMBgAAADlNFH0HM9v3XRTrDYN9FA9+B4NtFBBqAluLRRhIg/gId6yDfRAIdaaLRRSDwPiD+Ad3m2oJWDlFDHeTg30cBHeNg30UCHUDiUUUaMQWAABqAf93KP9XIIvwg8QMhfZ1B2r86QoBAACLRRSJdxyDZhwAi8iJXhgz24lGMEPT44tNGIPBB2oDjUP/iUY0M8BA0+CJTlAz0ok+iUZMSIlGVI1BAln38WoCiV4sU4lGWP93KP9XIGoC/3YsiUY4/3co/1cgagL/dkyJRkD/dyj/VyCLTRiDpsAWAAAAiUZEM8CDwQZA0+BqBFCJhpwWAAD/dyj/VyCLjpwWAACL0cHiAolWDDPSg8QwiUYIOVY4dEU5VkB0QDlWRHQ7O8J0N4vRa8kD0eqNFFADyItFDImGhAAAAItFHFeJlqQWAACJjpgWAACJhogAAADGRiQI6G72//9Z6x7HRgSaAgAAoQBATABXiUcY6L/l//9Z6fH+//9q+lhfXltdw1WL7ItNCFYz9jvOdFyLQRw7xnRViXAciXEUiXEIiXEYi1AIO9Z0BoPiAYlRMIOIxBsAAP+NiDAFAACJMIlwBIlwDMdAFACAAACJcCCJcDiJcDyJSGyJSFCJSEzHgMAbAAABAAAAM8DrA2r+WF5dw1WL7ItNCDPSO8p0GYtBHDvCdBJRiVAoiVAsiVAw6G////9ZXcNq/lhdw1WL7FOLXQhWV4XbdGCLcxyF9nRZi30Mhf95CINlCAD33+sRi8fB+ARAiUUIg/8wfQOD5w+F/3QKg/8IfDCD/w9/K4tGNIXAdBI5fiR0DVD/cyj/UySDZjQAWVmLRQhTiUYIiX4k6Gz///9Z6wNq/lhfXltdw1WL7ItFEFMz21ZXO8N0d4A4MXVyg30UOHVsi3UIO/N1BGr+62OJXhg5XiB1CsdGIH0PQgCJXig5XiR1B8dGJJAPQgBozBsAAGoB/3Yo/1Ygi/iDxAw7+3UEavzrK/91DIl+HFaJXzToH////1lZiUUQO8N0DFf/dij/ViRZWYleHItFEOsDavpYX15bXcNVi+xTVotwHFcz/4vZOX40dSOLTiQz0kLT4moBUv9wKP9QIIPEDIlGNDvHdQgzwEDpkAAAADl+KHURi04kM8BA0+CJfjCJfiyJRiiLRiiLTQg7yHIXUCvYU/92NOg+9AEAiX4wi0Yog8QM61QrRjCL+Dv5dgKL+YvDK8FXUItGNANGMFDoFvQBAIPEDCl9CHQX/3UIK10IU/92NOj/8wEAi0UIiUYw67yLTigBfjA5TjB1BINmMACLRiw7wXMFA8eJRiwzwF9eW13DVYvsi0UIg+wsUzPSVlc7wg+ExRAAAItwHDvyD4S6EAAAOVAMD4SxEAAAORB1CTlQBA+FpBAAAIM+C3UGxwYMAAAAi0gMiziLXjiJTeyLSBCLQASJffyLfjyJTfCJRfiJRdSJTeSJVdzpYxAAAP8khWv2QQCLRgiFwHUqxwYMAAAA6UoQAACDffgAD4SOEAAAi038D7YR/034i8/T4gPa/0X8g8cIg/8QctyoAnQ6gfsfiwAAdTIz/1dXV+iD4f//iUYYagKNRehQZold6P92GOhu4f//g8QYiUYYM9vHBgEAAADp6A8AAItGIINmEACFwHQEg0gw//ZGCAEPhIwAAAAPtsPB4AiLy8HpCAPBah8z0ln38YXSdXSLwyQPPAh0D4tFCMdAGBQ1TADpmg8AAItGJMHrBIvLg+EPg+8Eg8EIhcB1NYlOJDPAM/9A0+BXV1eJRhToxycAAItNCMHrCPfTg+MCg8sJiUYYiUEwg8QMiR4z2+lWDwAAO8h2yotFCMdAGAA1TADpPQ8AAItFCMdAGOg0TADpLg8AAIN9+AAPhHgPAACLRfwPtgD/TfiLz9PgA9j/RfyDxwiD/xBy3IleEID7CA+FVf////fDAOAAAHQPi0UIx0AYzDRMAOnnDgAAi0YghcB0CovLwekIg+EBiQj3RhAAAgAAdB2IXehqAo1F6MHrCFCIXen/dhjoL+D//4PEDIlGGDPbM//HBgIAAADrH4N9+AAPhO4OAACLRfwPtgD/TfiLz9PgA9j/RfyDxwiD/yBy3ItGIIXAdAOJWAT3RhAAAgAAdC2Lw8HoCIhF6YvDwegQiEXqiF3oagSNRejB6xhQiF3r/3YY6L/f//+DxAyJRhgz2zP/xwYDAAAA6x+DffgAD4R+DgAAi0X8D7YA/034i8/T4APY/0X8g8cIg/8QctyLRiCFwHQWi8uB4f8AAACJSAiLTiCLw8HoCIlBDPdGEAACAAB0HYhd6GoCjUXowesIUIhd6f92GOhM3///g8QMiUYYM9sz/8cGBAAAAPdGEAAEAAAPhYUAAACLRiCFwHQEg2AQAMcGBQAAAPdGEAAEAAAPhPAAAACLVkCLRfiJVfQ70HYDiUX0g330AA+EzAAAAItOIIXJD4SYAAAAi0EQiUXYhcAPhIoAAACLQRSLSRgrwotV9APQO9F2ZCvI62ODffgAD4SaDQAAi0X8D7YA/034i8/T4APY/0X8g8cIg/8QctyLRiCJXkCFwHQDiVgU90YQAAIAAHQdiF3oagKNRejB6whQiF3p/3YY6Hje//+DxAyJRhgz2zP/6UX///+LTfRRi03Y/3X8A8hR6OnvAQCDxAz3RhAAAgAAdBT/dfT/dfz/dhjoPd7//4PEDIlGGItF9ClF+AFF/ClGQIN+QAAPhfwMAACDZkAAxwYGAAAA90YQAAgAAHR7g334AA+E3wwAADPAi038D7YUCECJRfSLRiCJVeCFwHQbi0gciU3Yhcl0EYtOQDtIIHMJi0XYiBQI/0ZAhdJ0CItF9DtF+HLE90YQAAIAAHQX/3X0/3X8/3YY6K/d//+LVeCDxAyJRhiLRfQpRfgBRfyF0g+FcAwAAOsLi0YghcB0BINgHACDZkAAxwYHAAAA90YQABAAAHR7g334AA+ERgwAADPAi038D7YUCECJRfSLRiCJVeCFwHQbi0gkiU3Yhcl0EYtOQDtIKHMJi0XYiBQI/0ZAhdJ0CItF9DtF+HLE90YQAAIAAHQX/3X0/3X8/3YY6Bbd//+LVeCDxAyJRhiLRfQpRfgBRfyF0g+F1wsAAOsLi0YghcB0BINgJADHBggAAAD3RhAAAgAAdEHrH4N9+AAPhK8LAACLRfwPtgD/TfiLz9PgA9j/RfyDxwiD/xBy3A+3Rhg72HQPi0UIx0AYuDRMAOkqCwAAM9sz/4tGIIXAdBSLVhAzyUHB+gkj0YlQLItGIIlIMDPAUFBQ6Hrc//+LTQiJRhiDxAyJQTDpSAcAAIN9+AAPhDoLAACLRfwPtgD/TfiLz9PgA9j/RfyDxwiD/yBy3IvLi9O4AP8AACPIweIQA8qL08HqCMHhCCPCA8GLTQjB6xgDw4lGGIlBMDPbM//HBgoAAADrA4tNCIN+DAAPhKIKAAAzwFBQUOjWIgAAi00IiUYYiUEwg8QMxwYLAAAAg30MBQ+EtwoAAIN9DAYPhK0KAACDfgQAdDOLz4PhB9PrK/nHBhoAAADpRQoAAIN9+AAPhIkKAACLRfwPtgD/TfiLz9PgA9j/RfyDxwiD/wNy3IvDg+ABiUYE0euLw4PgA4PoAHRWSHQgSHQVSHVTi0UIx0AYpDRMAMcGHQAAAOtBxwYQAAAA6zmDfQwGx0ZMoCpMAMdGVAkAAADHRlCgMkwAx0ZYBQAAAMcGEwAAAHURwesCg+8D6QUKAADHBg0AAADB6wKD7wPppgkAAIvPg+EH0+sr+esfg334AA+E3wkAAItF/A+2AP9N+IvP0+AD2P9F/IPHCIP/IHLci8uLw/fRJf//AADB6RA7wXQPi0UIx0AYhDRMAOlQCQAAM9sz/4N9DAaJRkDHBg4AAAAPhI0JAADHBg8AAACLRkCJRfSFwA+EfQUAAItF+DlF9HYDiUX0i0XwOUX0dgOJRfSDffQAD4RZCQAA/3X0/3X8/3Xs6ALsAQCLRfQpRfgBRfwpRfABReyDxAwpRkDp4wgAAIN9+AAPhCcJAACLRfwPtgD/TfiLz9PgA9j/RfyDxwiD/w5y3IvDg+AfBQEBAACJRmDB6wWLw4PgH0DB6wWJRmSLw4PgD4PABMHrBIPvDoF+YB4BAACJRlx3EoN+ZB53DINmaADHBhEAAADrUYtFCMdAGGA0TADpYggAAIN9+AAPhKwIAACLRfwPtgD/TfiLz9PgA9j/RfyDxwiD/wNy3ItOaA+3DE0gM0wAi8OD4AdmiUROcP9GaMHrA4PvA4tGaDtGXHLV6xWLRmgPtwRFIDNMADPJZolMRnD/RmiDfmgTcuWNhjAFAACNTmyJAYlGTI2W8AIAAFKNRlRQUccABwAAAGoTjUZwUGoA6GMmAACDxBiJRdyFwHQPi0UIx0AYRDRMAOm1BwAAg2ZoAMcGEgAAAOlwAQAAg334AA+E8AcAAItF/A+2AP9N+IvP0+AD2P9F/IPHCItOVDPAQNPgi05MSCPDiwSBi8jB6QgPtsmJRdg7z3fBi9DB6hBmg/oQcxrB6AgPtsiLRmjT6yv5ZolURnD/RmjpDAEAAHVgi8jB6QgPtsnrIoN9+AAPhIAHAACLTfwPthH/TfiLz9PiD7bMA9r/RfyDxwiDwQI7+XLXD7bMi0Zo0+sr+YXAD4TWAAAAD7dERm6JReCLw4PgA4PAA8HrAoPvAumFAAAAZoN92hEPttR1Wusfg334AA+EHgcAAItF/A+2AP9N+IvP0+AD2P9F/IPHCI1CAzv4ctqLytPrav2Lw4PgB4PAA8HrA+s3g334AA+E5QYAAItF/A+2AP9N+IvP0+AD2P9F/IPHCI1CBzv4ctqLytPravmLw4Pgf4PAC8HrB4Nl4ABZK8oD+YtWZItOaANWYAPIO8p3NoXAdBKLTmhmi1XgZolUTnD/RmhIde6LRmQDRmA5RmgPgqD+///rH4tFCMdAGCg0TADpFgYAAItFCMdAGCg0TADHBh0AAACDPh0PhAMGAABmg75wAgAAAHUPi0UIx0AYADRMAOnkBQAAjYYwBQAAjU5siQGJRkyNlvACAABSjUZUUFH/dmDHAAkAAACNRnBQagHoSyQAAIPEGIlF3IXAdA+LRQjHQBjkM0wA6Z0FAACNTmyLAYlGUI2W8AIAAFKNRlhQUf92ZMcABgAAAItGYI1ERnBQagLoBiQAAIPEGIlF3IXAdA+LRQjHQBjMM0wA6VgFAACDfQwGxwYTAAAAD4ScBQAAxwYUAAAAg334BnJpgX3wAgEAAHJgi0UIi03s/3XkiUgMi03wiUgQi038iQiLTfiJSARQiV44iX486KMfAACDPguLRQiLXjiLfjxZWYtIDIlN7ItIEIlN8IsIi0AEiU38iUX4D4XlBAAAg47EGwAA/+nZBAAAi05Ug6bEGwAAAItGTDPSQtPiSiPTiwSQ6zCDffgAD4QDBQAAi0X8D7YA/034i8/T4ItOVIPHCAPY/0X8M8BA0+CLTkxII8OLBIGLyMHpCA+2yTvPd8SEwA+EmQAAAKjwD4WRAAAAiUX0wW30CA+2VfSJVdgPtsgDyjPSQtPii03YiUXgwegQSiPT0+oD0ItGTIsEkA+2VfTrQYN9+AAPhIMEAACLRfwPtgAPtlXh/034i8/T4A+2TeAD2P9F/DPAA8pA0+CDxwiLykgjw9PoD7dN4gPBi05MiwSBi8jB6QgPtskDyjvPd7EPtk3h0+sr+YmOxBsAAIvIwekID7bJAY7EGwAA0+sr+YvIwekQiU5AhMB1C8cGGQAAAOm5AwAAqCB0EoOOxBsAAP/HBgsAAADpowMAAKhAdA+LRQjHQBiwM0wA6YoDAAAPtsCD4A+JRkjHBhUAAACLRkiFwHQ/O/hzJIN9+AAPhLoDAACLTfwPthH/TfiLz9Pig8cIA9r/Rfw7fkhy3DPSQovI0+Ir+Eoj0wFWQNPrAYbEGwAAi0ZAiYbIGwAAxwYWAAAAi05Yi0ZQM9JC0+JKI9OLBJDrMIN9+AAPhF0DAACLRfwPtgD/TfiLz9Pgi05Yg8cIA9j/RfwzwEDT4ItOUEgjw4sEgYvIwekID7bJO893xKjwD4WRAAAAiUX0wW30CA+2VfSJVdgPtsgDyjPSQtPii03YiUXgwegQSiPT0+oD0ItGUIsEkA+2VfTrQYN9+AAPhOUCAACLRfwPtgAPtlXh/034i8/T4A+2TeAD2P9F/DPAA8pA0+CDxwiLykgjw9PoD7dN4gPBi05QiwSBi8jB6QgPtskDyjvPd7EPtk3h0+sr+QGOxBsAAIvIwekID7bJAY7EGwAA0+sr+ahAdA+LRQjHQBiYM0wA6RkCAACLyA+2wMHpEIPgD4lORIlGSMcGFwAAAItGSIXAdD87+HMkg334AA+EQQIAAItN/A+2Ef9N+IvP0+KDxwgD2v9F/Dt+SHLcM9JCi8jT4iv4SiPTAVZE0+sBhsQbAADHBhgAAACDffAAD4QAAgAAi0XkK0Xwi1ZEO9B2RCvQO1YsdhiDvsAbAAAAdA+LRQjHQBh4M0wA6YABAACLTjCLRjQ70XYJA0YoK9ErwusEK8IDwYtOQIlN2DvRdg+L0esLi0XsK8KLVkCJVdg7VfB2A4tV8ItN2ClV8CvKK0XsiU5AiUXY6wOLRdiLTeyKBAj/RexKiAF17zlWQA+FIQEAAOsYg33wAA+EYwEAAItN7IpGQP9F7P9N8IgBxwYUAAAA6fwAAACDfggAD4SpAAAA6x+DffgAD4Q0AQAAi0X8D7YA/034i8/T4APY/0X8g8cIg/8gctyLReQrRfCLTQgBQRQBRhyJReSFwHQpUItF7CtF5IN+EABQ/3YYdAfoE9L//+sF6OoYAACLTQiJRhiDxAyJQTCDfhAAi0XwiUXki8N1IbkA/wAAI8GL08HiEAPCi9PB6ggj0cHgCIvLA8LB6RgDwTtGGHQMi0UIx0AYYDNMAOtHM9sz/8cGGwAAAIN+CAB0dYN+EAB0b+sbg334AHR9i0X8D7YA/034i8/T4APY/0X8g8cIg/8gcuA7Xhx0RItFCMdAGEgzTADHBh0AAACLBoP4Hg+Gku///2r+WF9eW8nDi0XsiUEMi0XwiUEQi0X8iQGLRfiJQQSJXjiJfjxqAuvZM9sz/8cGHAAAAMdF3AEAAADrB8dF3P3///+LRQiLTeyJSAyLTfCJSBCLTfyJCItN+IlIBIN+KACJXjiJfjx1GotN5DtIEHQ2iwaD+B19L4P4GnwGg30MBHQki0UIi03kK0gQUYtIDOjG7f//WYXAdA3HBh4AAABq/Olb////i30Ii0XUK0cEi13kK18QAUcIAV8UAV4cg34IAIlF1HQshdt0KItHDFMrw4N+EABQ/3YYdAfoh9D//+sF6F4XAACJRhiJRzCLRdSDxAyLDoP5C3UJx0UIgAAAAOsEg2UIAIP5E3QJg/kOdAQzyesFuQABAACLVgT32hvSg+JAA9EDVQgDVjyJVyyFwHUEhdt0BoN9DAR1DYN93AB1B8dF3Pv///+LRdzpsP7//4v/r+RBAPblQQCA5kEA8OZBAELnQQBg50EAZ+hBAADpQQCV6UEANOpBAG/qQQCY6kEArOpBAGXrQQDM60EA0utBAEfsQQDl7EEAz+5BAL3vQQDD70EAivFBAN/xQQAD80EAT/NBAOzzQQAP9EEAyPRBAEn1QQBS9UEAtvVBAFWL7FaLdQiF9nQwi0YchcB0KYtOJIXJdCKLQDSFwHQIUP92KP/RWVn/dhz/dij/ViSDZhwAWVkzwOsDav5YXl3DjYiUAAAAuh4BAABWM/ZmiTGDwQRKdfVqHo2IiAkAAFoz9maJMYPBBEp19WoTjYh8CgAAWjP2Zokxg8EESnX1M8lBZomIlAQAADPJiYisFgAAiYioFgAAiYiwFgAAiYigFgAAXsNVi+xRi00Ii5SIXAsAAIlV/IuQUBQAAAPJO8oPj4AAAABTVn01i7SIYAsAAIuUiFwLAAAPtxy3D7cUl2Y72nIZdRiKlAZYFAAAi7SIXAsAADqUBlgUAAB3AUGLtIhcCwAAi1X8D7cUlw+3HLdmO9NyLnUTi1X8ipQCWBQAADqUBlgUAAB2GYtVCIm0kFwLAACLkFAUAACJTQgDyTvKfoReW4tN/ItVCImMkFwLAADJw1WL7IPsKItIBFOLGItACIlN4IsIg2X8AIlN2ItIBIlN3ItICItAEIlF+DPAVg+38FeJTeyLxsHmEAvGagiNujwLAABZ86uLilQUAACLjIpcCwAAM/ZmiXSLAouCVBQAAEC5PQIAADvBD41cAQAAjbSCXAsAACvIiXXwiU3kA8GLTfCLMYvOweECiU3oD7dMGQIPt0yLAkE7Tfh+BotN+P9F/It96GaJTB8CO3Xgf09m/4RKPAsAAINl9AA7dex8DCt17It93Is0t4l19It96A+3NB+JdeiLdfQD8Q+vdeiLTdgBsqgWAACFyXQSD7dMDwIDTfQPr03oAYqsFgAAg0XwBP9N5A+FdP///4N9/AAPhLUAAACLTfiNtEo8CwAAi034SY28SjwLAADrBEmD7wJmgz8AdPaDbfwCv///AABmAbxKPAsAAI2MSj4LAABmgwECi89mAQ6DffwAf8KLTfiJTfyFyXRjiXX0i030D7cJiU3whcl0Ro20glwLAACD7gSLDkiJddg7TeB/K40Miw+3cQI7dfx0GYt9/Cv+D7cxD6/+Zot1/AG6qBYAAGaJcQL/TfCLddiDffAAdcH/TfyDbfQCg338AHWgX15bycNVi+yD7BCDTfj/g2XwAFNWV2oHi/EPt0gCWmoEX4XJdQhqA7qKAAAAX7v//wAAZolcsAaF9g+IiAAAAItdCIPABkaJdfSLdfCJRfyLwYtN/A+3CUY78n0EO8F0Xjv3fQpmAbSDfAoAAOsvhcB0FjtF+HQIZv+Eg3wKAABm/4O8CgAA6xWD/gp/CWb/g8AKAADrB2b/g8QKAAAz9olF+IXJdQm6igAAAGoD6w47wXUFagZa6/NqB1pqBF+DRfwE/030dYhfXlvJw1WL7IPsFINl/ABTD7dZAlZXagdag8//agRehdt1CGoDuooAAABeg30IAA+MowQAAIPBBolN9ItNCEGJTfDrA4tdCItN9A+3Cf9F/Ild+IlNCDlV/H0IO9kPhGgEAAA5dfwPjZUAAACNvJh8CgAAD7e0mH4KAACLiLwWAABqEFor1jvKflQPtxeJVexm0+KLSAhmCZC4FgAAi1AUipi4FgAAiBwR/0AUi0gUipi5FgAAi1AIiBwRi5C8FgAAi13s/0AUsRAqymbT641MMvBmiZi4FgAAi1346w9mixdm0+JmCZC4FgAAA87/TfyJiLwWAAAPhXf////ppQMAAIXbD4SYAQAAO98PhIoAAAAPt7SYfgoAAIuIvBYAAGoQWivWO8p+Vg+3vJh8CgAAZovXZtPii0gIZgmQuBYAAItQFIqYuBYAAIgcEf9AFItIFIqYuRYAAItQCIgcEYuQvBYAAP9AFItd+LEQKspm0++NTDLwZom4uBYAAOsUZouUmHwKAABm0+JmCZC4FgAAA87/TfyJiLwWAAAPt7C+CgAAi4i8FgAAahBaK9Y7yn5bD7eQvAoAAIlV7It97GbT4otICIld+GYJkLgWAACLUBSKmLgWAACIHBH/QBSLSBSKmLkWAACLUAiIHBGLkLwWAAD/QBSLXfixECrKZtPvjUwy8GaJuLgWAADrE2aLkLwKAABm0+JmCZC4FgAAA86JiLwWAACD+Q5+X4t1/IPG/WaL1mbT4otICIld7GYJkLgWAACLUBSKmLgWAACIHBH/QBSLSBSKmLkWAACLUAiIHBGLkLwWAAD/QBSLXeyxECrKZtPug8LyiZC8FgAAZomwuBYAAOkdAgAAi1X8g8L9ZtPiZgmQuBYAAIPBAun/AQAAg338CouIvBYAAGoQWg+P/QAAAA+3sMIKAAAr1jvKflsPt5DACgAAiVXsi33sZtPii0gIiV34ZgmQuBYAAItQFIqYuBYAAIgcEf9AFItIFIqYuRYAAItQCIgcEYuQvBYAAP9AFItd+LEQKspm0++NTDLwZom4uBYAAOsTZouQwAoAAGbT4mYJkLgWAAADzomIvBYAAIP5DX5fi3X8g8b9ZovWZtPii0gIiV3sZgmQuBYAAItQFIqYuBYAAIgcEf9AFItIFIqYuRYAAItQCIgcEYuQvBYAAP9AFItd7LEQKspm0+6DwvOJkLwWAABmibC4FgAA6Q0BAACLVfyDwv1m0+JmCZC4FgAAg8ED6e8AAAAPt7DGCgAAK9Y7yn5VD7e4xAoAAGaL12bT4otICGYJkLgWAACLUBSKmLgWAACIHBH/QBSLSBSKmLkWAACLUAiIHBGLkLwWAAD/QBSLXfixECrKZtPvjUwy8GaJuLgWAADrE2aLkMQKAABm0+JmCZC4FgAAA86JiLwWAACD+Ql+XIt1/IPG9WaL1mbT4otICIld7GYJkLgWAACLUBSKmLgWAACIHBH/QBSLSBSKmLkWAACLUAiIHBGLkLwWAAD/QBSLXeyxECrKZtPug8L3iZC8FgAAZomwuBYAAOsZi1X8g8L1ZtPiZgmQuBYAAIPBB4mIvBYAAINl/ACDfQgAi/t1CbqKAAAAagPrDztdCHUFagZa6/JqB1pqBF6DRfQE/03wD4Vs+///X15bycNVi+yLiLwWAABTVot1CIHG//7//1eLfRCD+Qt+UGaL1mbT4otIFGYJkLgWAACKmLgWAACLUAiIHBH/QBSLSBSLUAiKmLkWAACIHBGLkLwWAAD/QBSxECrKZtPug8L1iZC8FgAAZomwuBYAAOsTZtPmZgmwuBYAAIPBBYmIvBYAAIuIvBYAAIP5C35Ui3UMTmaL1mbT4otIFGYJkLgWAACKmLgWAACLUAiIHBH/QBSLSBSLUAiKmLkWAACIHBGLkLwWAAD/QBSxECrKZtPug8L1iZC8FgAAZomwuBYAAOsXi1UMSmbT4mYJkLgWAACDwQWJiLwWAACLiLwWAACD+Qx+U413/GaL1mbT4otIFGYJkLgWAACKmLgWAACLUAiIHBH/QBSLSBSLUAiKmLkWAACIHBGLkLwWAAD/QBSxECrKZtPug8L0iZC8FgAAZomwuBYAAOsWjVf8ZtPiZgmQuBYAAIPBBImIvBYAADP2hf8PjpEAAACLiLwWAAAPtpakNUwAg/kNflsPt7yQfgoAAGaL12bT4otIFGYJkLgWAACKmLgWAACLUAiIHBH/QBSLSBSLUAiKmLkWAACIHBGLkLwWAAD/QBSxECrKZtPvg8LziZC8FgAAZom4uBYAAIt9EOsbZouUkH4KAABm0+JmCZC4FgAAg8EDiYi8FgAARjv3D4xv////i00ISVGNiJQAAADoE/n//4tNDElRjYiICQAA6AP5//9ZWV9eW13DVYvsg+wQU1Yz0leLfQg5kKAWAAAPhOsCAACLiKQWAAAPtwxRi7CYFgAAD7Y0MkJqEIlN9IlV8FuFyXV+i4i8FgAAjRS3D7dyAiveO8t+UQ+3EolV/GbT4otICGYJkLgWAACLUBSKmLgWAACIHBH/QBSLSBSKmLkWAACLUAiIHBGLkLwWAACLXfz/QBSxECrKZtPrjUwy8GaJmLgWAADrD2aLEmbT4mYJkLgWAAADzomIvBYAAOk8AgAAD7aWeD1MAIvKweECD7e8OQYEAACJTfyLiLwWAAAr3zvLi10IflYPt5STBAQAAIlV+GbT4otICGYJkLgWAACLUBSKmLgWAACIHBH/QBSLSBSKmLkWAACLUAiIHBGLkLwWAACLXfj/QBSxECrKZtPrjUw68GaJmLgWAADrFGaLlJMEBAAAZtPiZgmQuBYAAAPPiYi8FgAAi038i7kwNUwAhf90ciuxeD5MAIuIvBYAAGoQWivXO8p+S2aL1mbT4otICGYJkLgWAACLUBSKmLgWAACIHBH/QBSLSBSLUAiKmLkWAACIHBGLkLwWAAD/QBSxECrKZtPujUw68GaJsLgWAADrDGbT5mYJsLgWAAADz4mIvBYAAIt19E6B/gABAABzCQ+2jng7TADrDIvOwekHD7aJeDxMAIvRi4i8FgAAweICiVX8A1UMahAPt3oCWyvfO8t+UQ+3EolV9GbT4otICGYJkLgWAACLUBSKmLgWAACIHBH/QBSLSBSKmLkWAACLUAiIHBGLkLwWAACLXfT/QBSxECrKZtPrjUw68GaJmLgWAADrD2aLEmbT4mYJkLgWAAADz4mIvBYAAItN/Iu5uDVMAIX/dHIrsfA+TACLiLwWAABqEFor1zvKfktmi9Zm0+KLSAhmCZC4FgAAi1AUipi4FgAAiBwR/0AUi0gUi1AIipi5FgAAiBwRi5C8FgAA/0AUsRAqymbT7o1MOvBmibC4FgAA6wxm0+ZmCbC4FgAAA8+JiLwWAACLfQiLVfA7kKAWAAAPghX9//8Pt7cCBAAAi4i8FgAAahBaK9Y7yn5SD7e/AAQAAGaL12bT4otICGYJkLgWAACLUBSKmLgWAACIHBH/QBSLSBSLUAiKmLkWAACIHBGLkLwWAAD/QBSxECrKZtPvjUwy8GaJuLgWAADrE2aLlwAEAABm0+JmCZC4FgAAA85fXomIvBYAAFvJw1ZXM/+6f8D/8zP2jYiUAAAA9sIBdAVmOTl1P0aDwQTR6oP+H37rZjm4uAAAAHUvZjm4vAAAAHUmZjm4yAAAAHUdaiBZBRQBAABmOTh1EEGDwASB+QABAAB87zPA6wMzwEBfXsOLiLwWAABTg/kQdTWLUBSKmLgWAACLSAiIHBH/QBSLSBSKmLkWAACLUAiIHBH/QBQzySGIvBYAAGaJiLgWAABbw4P5CHwpi1AIipi4FgAAVotwFIgcMg+2kLkWAAD/QBSDgLwWAAD4ZomQuBYAAF5bw4uIvBYAAFOD+Qh+JYtQCIqYuBYAAFaLcBSIHDL/QBSLcAiLUBSKiLkWAACIDDJe6xOFyX4Si0gIi1AUipi4FgAAiBwR/0AUM8khiLwWAABmiYi4FgAAW8NVi+yLRQiNiJQAAACJiBgLAACNiIgJAACJiCQLAACNiHwKAACJiDALAAAzySGIvBYAAMeAIAsAAAiwTQDHgCwLAAAcsE0Ax4A4CwAAMLBNAGaJiLgWAABd6Tvw//9Vi+yD7Dyh8LJNADPFiUX8i0EIg03Y/1NWi/KLEIlV1ItQDDPAV4s5iU3IiVXQiYZQFAAAx4ZUFAAAPQIAADvQD46CAAAAZoM8hwB0IP+GUBQAAIuWUBQAAImEllwLAACJRdjGhAZYFAAAAOsHM9JmiVSHAkA7RdB8zOtMg33YAn0I/0XYi0XY6wIzwP+GUBQAAIuWUBQAAImEllwLAAAz20OL0GaJHJfGhAZYFAAAAItF1P+OqBYAAIXAdAsPt0SQAimGrBYAAIO+UBQAAAJ8q4tF2IlBBIuGUBQAAJkrwovY0fvrClOLxuiy7///WUuD+wF98YtF0IlF1IuGUBQAAIuMhlwLAACLnmALAABIiYZQFAAAagGLxomOYAsAAOh87////45UFAAAi4ZgCwAAWYuOVBQAAImcjlwLAAD/jlQUAACLjlQUAACJhI5cCwAAjQyHiU3MZosJjRSfZgMKiVXEZovRi03UZokUj4qcHlgUAACKhAZYFAAAOthyBQ+2w+sDD7bAi1XM/sCIhA5YFAAAD7fBZolCAotVxGaJQgKJjmALAABBagGLxolN1Ojs7v//g75QFAAAAlkPjTn/////jlQUAACLhlQUAACLjmALAACJjIZcCwAAi0XIi9boa+///zPJM9szwEGBxjwLAABmixZmA9BmA9IPt8JmiURN3EGDxgKD+Q9+5jld2Hw0D7dUnwKF0nQljURV3A+3CIvxQWaJCDPAi86D4QELwdHuA8BKhdJ/8NHoZokEn0M7Xdh+zItN/F9eM81b6IXeAQDJw4uOHAsAAI2GlAAAAFboufD//4uOKAsAAI2GiAkAAFbop/D//1lZjY4wCwAAi9boef3//2oSWA+2iKQ1TABmg7yOfgoAAAB1BkiD+AN96IvIa8kDg8ERAY6oFgAAw1WL7ItFCIuIvBYAAGaLVRRm0+JTVldmCZC4FgAAg/kNfkaLUBSKmLgWAACLSAiLdRSIHBH/QBSLSBSLUAiKmLkWAACIHBGLkLwWAAD/QBSxECrKZtPug8LziZC8FgAAZomwuBYAAOsJg8EDiYi8FgAAi10Qi30MiV0I6Bv8//+LUBSLSAiIHBH/QBSLcBSLUAiLy8HpCIgMFv9AFItwFItQCIrL9tGIDBb/QBSLcBSLUAiLy/fRwekIiAwW/0AUhdvrE4of/00Ii1AIiBwR/0AUR4N9CACLSBR16F9eW13DVYvsi0UIXek9+///VYvsi0UIi4i8FgAAU1ZqAlpm0+JmCZC4FgAAg/kNfkaLUBSKmLgWAACLSAiIHBH/QBSLSBSLUAiKmLkWAACIHBGLkLwWAAD/QBSxEGoCKspeZtPug8LziZC8FgAAZomwuBYAAOsJg8EDiYi8FgAAi4i8FgAAM9Jm0+JmCZC4FgAAg/kJfkWLUBSKmLgWAACLSAiIHBH/QBSLSBSLUAiKmLkWAACIHBGLkLwWAAD/QBSxECrKM/Zm0+6DwveJkLwWAABmibC4FgAA6wmDwQeJiLwWAABeW13pYfr//1WL7FOLXRBWi3UIM8BXOYaEAAAAfk+LPoN/LAJ1CovG6Nj5//+JRyyNjhgLAACL1uhS+///jY4kCwAAi9boRfv//+iU/f//i5aoFgAAi46sFgAAg8IKg8EKweoDwekDO8p3B+sDjUsFi9GNewQ7+ncbg30MAHQV/3UUU/91DFbotP3//4PEEOlSAQAAg76IAAAABA+EuAAAADvKD4SwAAAAi468FgAAg/kNflaLfRSDxwRmi9dm0+KLThRmCZa4FgAAip64FgAAi1YIiBwR/0YUi04Ui1YIip65FgAAiBwRi5a8FgAA/0YUsRAqymbT74PC84mWvBYAAGaJvrgWAADrGYtVFIPCBGbT4mYJlrgWAACDwQOJjrwWAABAUIuGKAsAAEBQi4YcCwAAQFCLxugS8///jYaICQAAUI2GlAAAAFCLxugp9f//g8QU6Y0AAACLjrwWAACD+Q1+VotVFIPCAmaLwmbT4ItOCGYJhrgWAACLRhSKnrgWAACIHAj/RhSLRhSLTgiKnrkWAACIHAiLhrwWAAD/RhSxECrIZtPqg8DziYa8FgAAZomWuBYAAOsZi0UUg8ACZtPgZgmGuBYAAIPBA4mOvBYAAGgAO0wAaIA2TACLxuiW9P//WVmLxujd6f//g30UAF9eW3QGXene+P//XcNVi+xTi10QVot1CFczwIv+QMHvEIHm//8AADvYdSSLRQwPtgAD8Ljx/wAAO/ByAivwA/47+A+C2gEAACv46dMBAACLTQyFyQ+EzwEAAIP7EHMnhdt0Cw+2AQPwQQP+S3X1ufH/AAA78XICK/GLxzPS9/GLwumeAQAAgfuwFQAAD4LIAAAAi8O7sBUAADPS9/OLXRCJRQiB67AVAAC4WwEAAA+2EQPyD7ZRAQP+A/IPtlECA/4D8g+2UQMD/gPyD7ZRBAP+A/IPtlEFA/4D8g+2UQYD/gPyD7ZRBwP+A/IPtlEIA/4D8g+2UQkD/gPyD7ZRCgP+A/IPtlELA/4D8g+2UQwD/gPyD7ZRDQP+A/IPtlEOA/4D8g+2UQ8D/gPyA/6DwRBID4V3////i8Yz0r7x/wAA9/aLx7/x/wAAi/Iz0vf3/00Ii/oPhUn///+F2w+EwAAAAIP7EA+CkQAAAIvDwegED7YRA/IPtlEBA/4D8g+2UQID/gPyD7ZRAwP+A/IPtlEEA/4D8g+2UQUD/gPyD7ZRBgP+A/IPtlEHA/4D8g+2UQgD/gPyD7ZRCQP+A/IPtlEKA/4D8g+2UQsD/gPyD7ZRDAP+A/IPtlENA/4D8g+2UQ4D/gPyD7ZRDwP+A/KD6xAD/oPBEEgPhXT///+F23QLD7YBA/BBA/5LdfWLxrnx/wAAM9KL8ff2i8eL8jPS9/GL+ovHweAQC8ZfXltdw1WL7ItFDA+vRRBQ6GfHAQBZXcNVi+z/dQzo7ccBAFldw1WL7IPsQItFCItIBItQEFOLGEuNTBn7iU3Ui8orTQxWi3AcV4t4DE8Dz4lNxI2MOv/+//+JTdCLTiiJTdyLTiyJTcCLTjCJTeiLTjSJTdiLTjiJTfyLTjyJTQyLTkwz0olN5ItOUEKJTeCLTlTT4otOWEqJVcwz0kLT4kqJVciLTQyD+Q9zHw+2UwGDRQwI0+KLTQwBVfyDwwIPthPT4gFV/INFDAiLTcwjTfyLVeSLDIqJTfCLVfDB6QgPtsnTbfwpTQyJTfgPtsqJTfiE0nRHi0349sEQdUr2wUAPhawCAAAz0kLT4otN8MHpEEojVfwD0YtN5IsMkYlN8ItV8MHpCA+2ydNt/ClNDIlN+A+2yolN+IXJdblHweoQiBfpSQIAAMHqEIPhD4lV9IlN+HQqi00MO034cw1DD7YT0+IBVfyDRQwIi034M9JC0+JKI1X80238AVX0KU0Mi00Mg/kPcx8PtlMBg0UMCNPii00MAVX8g8MCD7YT0+IBVfyDRQwIi03II038i1XgiwyK6x72wUAPhewBAAAz0kLT4g+3TfJKI1X8A9GLTeCLDJGJTfCLVfDB6QgPtsnTbfwpTQyJTfgPtsr2wRB0xYPhD8HqEIlV7IlN+DlNDHMri00Mg0UMCEMPthPT4otN+AFV/DlNDHMTi00MQw+2E9Pii034AVX8g0UMCDPSQtPii034KU0MSiNV/NNt/AFV7ItV7IvPK03EO9EPhgQBAAAr0YlV+DtVwHYNg77AGwAAAA+FOQEAAItN2EmJTfCLTeiFyXUni03cK8oBTfCLTfg7TfQPg5AAAAApTfSLTfBBihFH/034iBd19etTO8pzWSvKA03cAU3wi034K03oO030c2aLVfApTfQr14lV8OsDi1XwR0mKFDqIF3X0i03YSYlN8ItN6DtN9HM+KU30iU34i03wQYoRR/9N+IgXdfWLzytN7IlN8OsjK8oBTfCLTfg7TfRzEylN9ItN8EGKEUf/TfiIF3X169aLTfCLVfSD+gJ2VI1C/WoDM9JZ9/GLTfBAilEBg230A4hXAYpRAoPBA4hXAooRg8cDSIgXdeOLRQjrJIvPK8qKUQGDbfQDiFcBilECg8EDiFcCihGDxwODffQCiBd34IN99AB0EopRAUeDffQBiBd2BopJAkeIDztd1HM3O33QD4IF/f//6yzHQBh4M0wA6x3HQBiYM0wA6xT2wSB0CMcGCwAAAOsNx0AYsDNMAMcGHQAAAItNDMHpAyvZweEDKU0MM8lBi9GLTQzT4o1LAYkIjU8BiUgMi03UK8uDwQWJSASLTdBKiVUIi1X8I1UIK8+BwQEBAACJSBCLRQxfiVY4iUY8XlvJw1WL7IHsjAAAAKHwsk0AM8WJRfyLRQyJRYSLRRxTi10YiUW0M8BWi3UUD7fQV4vCweIQaggLwlmNfdzzqzP/M8mJnXj///85fRB2FItFhA+3BEiNREXcZv8AQTtNEHLsiwtqD1gz0olNrIlFmEJmOXxF3HUISIlFmDvCc/E7yHYDiUWsO8d1JYsOM8DGRbhAiFW5ZolFuotFuIkBgwYEiw6JAYMGBIkT6QYDAACLyolNsDvCdg9mOXxN3HUIQYlNsDvIcvE5TaxzA4lNrIv6i8oPt1xN3AP/K/sPiIoAAABBg/kPdusz2zv7fgk5XQh0eTvCdXUzwGoCZolFvllmi0QNvGYDRA3cg8ECZolEDbyD+R5y6TP/OV0QdjCLRYSNBHiJRZRmORh0HA+3AA+3REW8i020Zok8QYtFlA+3CI1MTbxm/wFHO30QctCLTQgry3RBSXQcg02Q/8dFiMBATADHRYAAQUwA6zqDyP/pQwIAALkCAgAAv0BATAAr+Yl9iL+AQEwAK/mJfYDHRZAAAQAA6xCLRbSJRYCJRYjHRZATAAAAi02si0Wwg02M/4s+iV2kiV2oi9rT44lFlI1L/4mdfP///4ldnImNdP///zlVCHUIgftUAwAAdw6DfQgCdQ+B+1ACAAB2B4vC6cQBAACLTbSJTaCKyCpNqIhNuYtNoA+3CYvRO1WQfQbGRbgA6yJ+GotNoA+3CYtVgAPJihQRiFW4i1WIZosMEesGxkW4YDPJi12kZolNujPSi8grTahC0+KLjXz///+JTbSJTbCLTajT6wNdtI0MnylVtIvaweMCK8uDfbQAi124iRl16zPbjUj/Q9Pji02k6wLR64XZdfqF23QMjVP/I9ED04lVpOsEg2WkAINFoAK5//8AAGYBTEXcdRk7RZgPhNIAAACLRaAPtwCLTYQPtwRBiUWUi1WsO8IPhiv///+LjXT///8jTaSJTbQ7TYwPhBb///+DfagAdQOJVaiLTbCNPI+LyItFqDPSK8hCA8HT4jtFmHMpiUWwjURF3OsDi0WMD7cYK9OF0n4Ug8ACQf9FsIlFjItFsAPSO0WYcuAzwECL0NPiAVWciZV8////OUUIdQmBfZxUAwAAd2uDfQgCdQmBfZxQAgAAd1yLRbSLFogMgosOilWsiFSBAYsOi9cr0cH6AolFjGaJVIECi0WU6XT+//+LTaSFyXQWKkWoxkW4QIhFuTPAZolFuotFuIkEj4tFnIuNeP///8HgAgEGi0WsiQEzwItN/F9eM81b6GnQAQDJw1WL7FaL8A+2BldQM//oa94BAFmFwHQsD74Ga/8KjXwH0EYPtgZQ6FLeAQBZhcB154X/dA+APiR1CotFCEaJMIvH6wIzwF9eXcNqA2ikQUwAVuiUQwIAg8QMhcB0PGoDaKBBTABW6IBDAgCDxAyFwHQoD74Gg/hMfzN0HoP4Ln8dg/gtfRSD+CB0D4P4I3QKg/gpfjGD+Ct/LDPAQMOD+DB8I4P4OX7yg/hJ6xeD+E906IP4aHTjg/hsdN6D+HF02YP4enTUM8DDVYvsg+wYg2X0AINl+ABTVleL+YvIiU38gDgAD4SmAwAAigFBiU38PCUPhY8DAAA4AXUJQYlN/OmCAwAAjUX8UDPb/0X0i8Ho7P7//1mJReiFwHUGi0X0iUXoO0X4fgOJRfghXfAhXezpegEAAGoDXlZopEFMAP91/OikQgIAg8QMhcB1BYPLIOsYVmigQUwA/3X86IpCAgCDxAyFwHULg8tAAXX86T0BAACLTfwPvgFBiU38g/g5D4/rAAAAg/gxfTuD6CAPhNgAAAArxg+EywAAAIPoBw+EmQAAAEgPhI0AAABISHR+SHQxSEgPhfUAAAD2wwR1BoHLAAEAAGoKjUX8gcsAIAAAUElR6IfhAQCDxAyJRfDpzAAAALgAgAAAC9iAOSp1JYHLAAABAEH/RfSNRfxQi8GJTfzo+f3//1mFwHUDi0X0iUXs60gL2GoKjUX8UFHoPeEBAIPEDIlF7OmCAAAAgeP//v//g8sE63eDywLrco1F/FCBywBAAAD/RfSLweiv/f//WYXAdQOLRfSJRfA7Rfh+TolF+OtJg8sI60SDywHrP4P4SXQ3g/hMdCqD+E90LYP4aHQbg/hsdAyD+HF0HoP4enUc6wX2wyB1EoPLIOsQg8sQ6wuBy4AAAADrA4PLQIt1/OiS/f//hcAPhXb+//+LRfwPvhCLTehJg/pnD4/LAAAAD4SyAAAAg/pjf3h0ZoPqRXRLSkp0MYPqDHQZg+oFD4XKAAAAa8kYA8+BywAaAADpDgEAAIPLCGvJGAPPxwEBAAAA6QEBAABryRgDz8cBBwAAAIHLABAIAOnrAAAAa8kYA8/HAQcAAACBywAQBADp1QAAAGvJGAPPgcsAAAIA6b8AAACD6mQPhLEAAABKdBNKdVxryRgDz8cBBwAAAOmmAAAAa8kYA8/HAQcAAACBywAABADpkAAAAGvJGAPPxwEHAAAAgcsAAAgA632D6ml0bYPqBXRbSnRLSnQ7agNeK9YPhFH///9KSnQdK9Z0CmvJGAPPgyEA61BryRgDz4kxgcsACgAA60FryRgDz4kxgcsAAgAA6zJryRgDz8cBAgAAAOsla8kYA8+BywAEAADrEmvJGAPPxwEEAAAA6wtryRgDz8cBAwAAAIt18ItF7I1RDIlZBIlxCIkC98MAQAAAdCGNVv+JUQhr0hiNDDoz9o1RDMcBCQAAAIlxBIlxCIky6wIz9vfDAAABAHQZjUj/iQpryRgDz8cBCQAAAIlxBIlxCIlxDItN/ItVCINFCASNQQGJAoA5AA+FWvz//zPAOUX4D47dAAAAi10MjXP8g8P4jU8QjXgBO334fRWDeQgJdQ+DwwSDxgSLBpmJQRiJURyLQfCD6AAPhJAAAABID4SJAAAASA+EggAAAEh0H0h0fGoDWivCdAlISHV7iVHw63aDwwjdA4PGCN0Z62qLQfSL0IPiQHQHqQACAAB1BIXSdBKDwwiLA4kBi0MEg8YIiUEE60OL0IPiIHQVqQACAAB0DoPDBIPGBIsGg2EEAOslg8MEg8YEhdJ0CIsGmYlRBOsTqQACAACLBnTx692DwwSDxgSLBokBi8eDwRg7RfgPjC////+LRfhfXlvJw1WL7ItFDItIBDtICHMRixCKTQiICv8A/0AED7bBXcODyP9dw1WL7IPsDP91FItFCP91EINl+ACJRfSLRQyJRfyNRfRo3BxCAFDooAAAAItN/IPEEIXJdBE7TfiLTfR1BsZB/wDJw8YBAMnDVYvsjUUUUP91EP91DP91COik////g8QQXcNVi+xWi3UMiw6FyXUoaiD/FUSwTQBZiQaFwHUMx0YMAQAAAIPI/+s+g2YEAMdGCCAAAADrIItWBItGCEI70HIVA8BQUf8VTLBNAFlZhcB0zNFmCIkGi04EikUIixaIBBH/RgQPtsBeXcNVi+yB7GgPAACh8LJNADPFiUX8i0UIg6XY8v//AIOlrPL//wCJhczy//+LRQxTVomF0PL//4tFFFeLfRBQjYWY8P//UL5AQUwAjY3c8v//i8eJtbDy///o//n//1mNhZjw//9ZiYWo8v//6fYIAACKBzwldDX/tczy//8PtsBQ/5XQ8v//WVmD+P8PhN4IAAD/hdjy//9HigeEwA+EzQgAADwlddDpuwgAAIB/ASV1J/+1zPL//4PHAmol/5XQ8v//WVmD+P8PhKIIAAD/hdjy///pjggAAI2FuPL//1CNRwHorfj//1mFwHUIi4Ws8v//6wFI/4Ws8v//a8AYjZwF3PL//4tTBItDCImVtPL//4GltPL//wBAAACJlcDy//+Jhbzy//90CmvAGIuEBezy//+JlcTy//+BpcTy//8AAAEAiYXU8v//dBuLQwxrwBiLhAXs8v///4Ws8v//iYXI8v//6xr3wgCAAAB0C4tDDImFyPL//+sHg43I8v///zPJi8LB6ANBI8GJhbjy//+LA0gPhHsGAABID4T8AgAASA+E3AEAAEgPhJMBAACD6AMPhZsHAABqJVhmiUXcagczwFmNfd7zq2arjUXcjX3djXABighAhMl1+SvGaiBeK/CDyP/3wgAgAAB0CIuFvPL//+sZg7208v//AHQQi4W88v//a8AYi4QF7PL//4ONyPL////3wgCAAAB0BYtLDOsWg73E8v//AHQTi0sMa8kYi4wN7PL//4mNyPL///bCBHQHxkXdLY193vbCAnQExgcrR/bCAXQExgcgR/bCCHQExgcjR8YHAIXAeBpQaLBBTABWV+gG/f//i5XA8v//g8QQA/gr8IO9yPL//wB8Hf+1yPL//2ioQUwAVlfo3vz//4uVwPL//4PEEAP49sIgdATGB2xH98IAAAQAdA/B6gf20oDiIIDKRYgX6xj3wgAACAB0DcHqB/bSgOIggMpH6+fGB2bdQxBRUY1F3N0cJFCNhdz+//9HUMYHAOivCQIAg8QQgL3c/v//AI293P7//w+EPQYAAA+2B/+1zPL//1D/ldDy//9ZWYP4/w+EPwYAAP+F2PL//0eAPwB12ekRBgAA9sJAdBSLhdjy//+LWxCZiQOJUwTp+AUAAItDEPbCIHUF9sIQdQ2Ljdjy//+JCOneBQAAZouN2PL//2aJCOnPBQAAi0MUi0sQi9mL+PfCAAACAA+EhwAAAIu11PL//4v6g+cEdSbrH/+1zPL//2og/5XQ8v//WVmD+P8PhK4FAAD/hdjy//9OhfZ/3P+1zPL//w+2w1D/ldDy//9ZWYP4/w+EiAUAAP+F2PL//4X/D4RdBQAA6x//tczy//9qIP+V0PL//1lZg/j/D4RfBQAA/4XY8v//ToX2f9zpMgUAAPfCAAQAAHQMx4XE8v//CAAAAOs+98IACAAAdCTHhbDy//9oQUwA98IAEAAAdQaJtbDy///HhcTy//8QAAAA6xLHhcTy//8KAAAA98IAAgAAdAmDpbzy//8A61yFwH/zfASFyXPt99mD0AD32MeFvPL//wEAAACL2Yv46zuLWxAz/zvfD4S/AgAAx4XE8v//EAAAAMeFsPL//2hBTAD3wgAQAAB1Bom1sPL//4mNuPL//4m9vPL//4O9yPL///91CseFyPL//wEAAACNdduJtbTy//+F/3UEhdt0VIuFxPL//5mL8ImVpPL///+1pPL//1ZXU+gfSgIAi72w8v//igw5i7208v///4208v//iA+L+omdnPL//4vYhf93zXIEhdt1x4uVwPL//4u1tPL//41N24vGK8GLjcjy//8BhdTy//8z/wPIOb248v//dBeDvcTy//8IdQ47z38OxgYwTv+N1PL//zvPfhUpjdTy//87z34Li8HGBjBOSDvHf/c5vbjy//90EIO9xPL//xB1B4Ot1PL//wI5vbzy//91BfbCA3QG/43U8v//i9qD4wR1SffCAAEAAHVBOb3U8v//fjP/tczy////jdTy//9qIP+V0PL//1lZg/j/D4RwAwAA/4XY8v//Ob3U8v//f9OLlcDy////jdTy//85vbzy//90Cv+1zPL//2ot6xz2wgJ0Cv+1zPL//2or6w32wgF0Jf+1zPL//2og/5XQ8v//WVmD+P8PhBcDAAD/hdjy//+LlcDy//85vbjy//90XYO9xPL//xB1VP+1zPL//2ow/5XQ8v//WVmD+P8PhOECAAD/hdjy///3hcDy//8AEAAA/7XM8v//dARqWOsCanj/ldDy//9ZWYP4/w+EsgIAAIuVwPL///+F2PL//zvfdTf3wgABAAB0L4u91PL//+sg/7XM8v//T2ow/5XQ8v//WVmD+P8PhHgCAAD/hdjy//+F/3/cT+spi73U8v//6yEPtgb/tczy//9Q/5XQ8v//WVmD+P8PhEgCAAD/hdjy//+NRdtGO/B214XbD4QVAgAA6yD/tczy//9PaiD/ldDy//9ZWYP4/w+EFgIAAP+F2PL//4X/f9zp6gEAAIOt1PL//wWL2oPjBHQ16yX/tczy////jdTy//9qIP+V0PL//1lZg/j/D4TYAQAA/4XY8v//Ob3U8v//f9P/jdTy//+/mEFMAA+2B/+1zPL//1D/ldDy//9ZWYP4/w+EpAEAAP+F2PL//0eAPwB12YXbD4VzAQAA6yX/tczy////jdTy//9qIP+V0PL//1lZg/j/D4RvAQAA/4XY8v//g73U8v//AH/S6T4BAACLcxCF9nUr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M8BA6ZkCAAA5jWj+//90IFdofGpMAFbogeX//4PEDOl6AgAAOY1o/v//D4UOAQAAi4PoAgAAagKJhXD+//9YOUUMdQzHg+gCAAABAAAA6wyDfQwXdQaJg+gCAACNhWz+//9QagBXU+gmaf//i4Vw/v//iYPoAgAAi4Vs/v//g8QQhcAPhLUAAABoAAEAAI2N/P7//1H/MOgUZv//i4Vs/v//iwD/cASNhfz+//9Q/3UMV2hMakwAVuht5P///7Vs/v//VugHbf//g8Qsg30MF3VIjYWE/v//UI2F/P7//1BqF+ghnAAAg8QMhcB+HWoXWP+1eP7//2aJhXz+////FSDiRQBmiYV+/v//x4V0/v//HAAAAOmEAAAAg30MAnV+jYWA/v//UI2F/P7//1BqAujTmwAAg8QMhcB+Yus5V2g0akwA6c3+//+DfQwXdSJqF1j/tXj+//9miYV8/v///xUg4kUAx4V0/v//HAAAAOsmg30MAnUnagJY/7V4/v//ZomFfP7///8VIOJFAMeFdP7//xAAAABmiYV+/v//iz0k4kUA60L/jWT+//+DvWT+//8AD47AAAAAD7eFeP7//1BoCGpMAFboXuP//4PEDP+FeP7///+1eP7///8VVOJFAGaJhX7+////tXT+//+NhXz+//9Q/3UI/9eFwHiouIAAAABQiYVw/v//jYV8////agBQ6HwLAQCDxAyNhXD+//9QjYV8////UP91CP8VKOJFAIXAeR7/FUDiRQCL+FdTib4khgAA6D1N//9QV2jgaUwA60EPt4V4/v//UGjMaUwAVujD4v//g8QMx4PEAgAAAQAAAOlV/P///xVA4kUAi/hXU4m+JIYAAOj6TP//UFdorGlMAFboAuP//4PEGGotWItN/F9eM81b6FoBAQDJw1WL7FFRg2X8AGoAagDHRfgEAAAA/xXQ4EUAjUX4UI1F/FBoBxAAAGj//wAA/3UI/xUc4kUAhcB0CP8VQOJFAOsDi0X8hcB0Cz1IJwAAdAQzyesDM8lBhf90AokHi8HJw1WL7ItFCFZXiziBx7yHAABqC1mNsLgAAADzpWalizhqC4HH8IcAAFmNsOwAAADzpWaliwiLkOgAAACJkeyHAACLCIuAHAEAAF+JgSCIAABeXcMPtwZISHQQg+gVdTRqLlONRghQahfrCWouU41GBFBqAuh0OgAAg8QQhcB0FA+3RgJQ/xVU4kUAD7fAiQczwEDDxgMAgycAM8DDVYvsgewQAQAAofCyTQAzxYlF/FNWi3UIg76MAAAAAoseibX4/v//iZ3w/v//D4Q5AQAAg75wAgAAAFcPhSMBAACNhfT+//9QjYX8/v//UP91DL+AAAAAib30/v///xUY4kUAhcB0GP8VQOJFAIv4V1boZ0v//1BXaCxrTADrSVeNhXz///9qAFCJvfT+///oVQkBAIPEDI2F9P7//1CNhXz///9Q/3UM/xUo4kUAhcB0HP8VQOJFAIv4V1boHEv//1BXaOBpTABT6YYAAACNnrgAAACNvugAAACNtfz+///o0v7//4XAdR3/FVjgRQCL8Fb/tfj+///o4Er//1BWaABrTADrSIuF+P7//2oLjXhYWYvz86VmpY24HAEAAI2Y7AAAAI21fP///+iI/v//hcB1K/8VWOBFAIvwVv+1+P7//+iWSv//UFZo1GpMAP+18P7//+iZ4P//g8QY6w2Ltfj+//9W6Pv9//9ZX4tN/F4zzVvo5f4AAMnDVYvsVleLfQiLN2oEM8CNTQhRQFBqBv91DIlFCP8VLOJFAIXAeR7/FUDiRQBQV+gwSv//UGhoa0wAVujG3///g8QU6w1oVGtMAFbott///1lZX15dw1WL7IHsrAAAAKHwsk0AM8WJRfxTM9tWV8eFXP///yBAAACJnVj////HhVT///8EAAAAOR3kxk0AdXK+nAAAAFaNhWD///9TUOjNBwEAg8QMagNfV2oCU4m1YP///4s1xOBFAFPHhWT///8GAAAA/9ZXQ1NSUP/WV2ogUlD/1ldqEFJQ/9ZSUGozjYVg////UP8VwOBFAIXAdAzHBeTGTQACAAAA61iJHeTGTQCDPeTGTQACdEmNhVT///9QjYVY////UL8BEAAAV77//wAAVv91CP8VHOJFAIXAdQ6LhVj///87hVz///9/FGoEjYVc////UFdW/3UI/xUs4kUAi038X14zzVvog/0AAMnDVYvsVot1CDPJV4t9DDvxdCQ5Tjh0Fju+WAEAAHUkOY5oAQAAdByJjmgBAABXVuhpwv//WVlX/xUU4kUAM8BfXl3DV1boU8L//1f/djz/VjiDxBDr6VWL7IHslAAAAKHwsk0AM8WJRfyLTQiLRQxTi10UVot1EFeLOYX2dQaNtWz///+LUASJFouRjAAAAIlWBIO5jAAAAAJ1BWoRWesDi0gMiU4Ii0gQuoAAAACJTgw7ynYDiVYM/3YM/3AYjUYQUOgH7QAAi4e4AQAAg8QMhcB0EFZqAP+3vAEAAP/Qg8QM6w7/dgj/dgT/Nv8VEOJFAF9eiQNbg/j/dQVqB1jrAjPAi038M83odfwAAMnDVYvsgezkAAAAofCyTQAzxYlF/ItFCIOlKP///wCDpSz///8AVoswgwn/iY0g////jY04////UY2NPP///1FSUImFMP///4m1JP///+j2/v//g8QQiYU0////hcB0BzPA6agCAABTV429HP///41dzI21TP///+hS+///hcB1Rf8VWOBFAIvwVv+1MP///+hgR///UFZovGtMAP+1JP///+hj3f//g8QYM/b/tTj/////tTD////oN/7//1lZi8bpRwIAAIu1JP///41FzFBorGtMAFbovNz//4PEDIO9PP///wJ0CYO9PP///xd1CzPbQzmdQP///3RcM9uLvTD/////tTj////o2fz//1mF23QUg76EBAAAAHQLi504////6E70//+LhrABAACFwHRRagD/tTj/////trQBAAD/0IvYg8QMg/sCdSvHhSz///8BAAAA6zGDvmQDAAAAdJ3/tTj///+LvTD///9X6CD8//9ZWeuNhdt0DmoqXukq////i50o////g708////AnQJg708////F3VSjYVM////UOhwwwAAUP+1PP///4vP/7U4////6Cv1//+DxBCJhTT///+FwHQl/7U4////V+gh/f//i4U0////WVmD+AEPhSkBAABqB1jpIQEAAGoB/7U4////6JbDAABZWegO2P//g7/YAgAAAYmH0AIAAImX1AIAAH4O/7fcAgAAVujUxP//WVmDvSz///8AD4XNAAAAg7+MAAAAAQ+FwAAAAP+1SP///42FTP///1D/tTj/////FQziRQCJhSz///+D+P91Dv8VQOJFAImFKP///4vYM8CDvTz///8XD5TAg70s/////4mHiAIAAHVUg/sLdEiB+zInAAB+CIH7NCcAAH44U1foT0X//1CNRcxQaIhrTABW6OHa////tTj///+JniSGAABX6Cz8//+DxCDHhTT///8HAAAA6x6DpTT///8Ag700////AHUOi4Ug////i404////iQiLhTT/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/4OlFP///wCDpSj///8AU4tdGFaJjRj///9ryVRX/3UUizhodHlMAFeJhRz///+JlRD///+JvSz///+NtAF8AQAA6MPI//+LTRSDIwCDxAyFyXQXO040dxJoPHlMAFfopsj//1lZ6TMEAACLRkiFwHQJiQNoAHlMAOvjg35MAHQHaMh4TADr1oXJD4RHAQAAg35QAA+FPQEAAItOKItGMIv5K/iB/wAEAAByDYtVFIHCAAQAADvKc3OLTRQFAAQAAIHBAAQAAImFJP///zvBcwaJjST/////tST/////djj/FUywTQBZWYXAdRtoFHJMAP+1LP///8cDGwAAAOh7yP//6V3///+JRjiLhST///9QaKB4TAD/tSz///+L+Ct+MIlGKOjhx///g8QM/3Yo/3YwaNxxTAD/tSz////oyMf//4uNGP///42FIP///1CLRjgDRjBXUIuFHP////+0iFQBAADoQcX//4PEIIkDhcB0J4ONIP////+D+FF1B2hweEwA6yqD+Dh1B2g4eEwA6x5QaAh4TADrMIuFIP///4XAdRvHRlABAAAAaOB3TAD/tSz////oUMf//1lZ6xl+FwFGMFBovHdMAP+1LP///+g2x///g8QM/3Yo/3YwaNxxTAD/tSz////oHcf//4PEEDP/6W8CAAA5vSj///8PhWwCAACLRRQ7x3QOOUY0cgk5flAPhFcCAAD/djDo68P//4lFzItGOFmJRdRXjUXMiYUM////V42FBP///1D/dgyhrMZNAMdF0AEAAACJfdiJfdyJfeCJfeSJfeiJfeyJffCJffSJffiJvQT////HhQj///8EAAAA/1BoiYUo////O8d0Ej0hAwkAdAs9FwMJAA+FxAIAAIN93AEPhbkAAAD/ddholHdMAP+1LP///+hYxv//i03Yg8QMgfkABAAAdwW5AAQAAItWLItGNCvQO9FyCItWLDtVFHMnjTwIO30UcwOLfRRX/3Y8/xVMsE0AWVmFwA+E9P3//4l+LIlGPDP/i0XYiYUk////O8d0HFCLRjz/deADRjRQ6BfVAACLhST///+DxAwBRjT/tST///9obHdMAP+1LP///+jLxf///3Ys/3Y0aDR3TAD/tSz////otcX//4PEHIN99AV1XTl98HZY/3XwaHRxTAD/tSz////olMX//4tGMIPEDDtF8HYfi044/3Xwi9ErVfAD0FJR6H9sAQCLRfCDxAyJRjAz//92KP92MGj8dkwA/7Us////6FTF//+DxBDrA4l+MIG9KP///yEDCQAPhYgAAABozHZMAP+1LP///+gsxf//iwNZWTvHdAmD+FEPhbcBAAA5fjAPhb4BAABooHZMAP+1LP///+gCxf//jYUU////UFf/tRj////HRgQBAAAA/7Uc////x0YkAwAAAOhPBQAAg8QYiQM7xw+FhwEAAGh0dkwA/7Us////ib0o////6LjE//9ZWesQgb0o////FwMJAA+EZAEAADl+MA+HiP3///92KP92MGjccUwA/7Us////6IXE////diz/djRoPHZMAP+1LP///+hvxP//g8QgaBh2TAD/tSz////oXMT//4N9FABZWQ+ERgEAAIN+NAAPhTwBAACDflAAD4QyAQAAg35MAA+FKAEAAL+cAAAAV42FMP///2oAUOiI7AAAg8QMagFqAmoAib0w////iz3E4EUAagDHhTT///8FAAAA/9dqAWoBUlD/12oDaiBSUP/XagNqEFJQ/9dSUGozjYUw////UP8VwOBFAIXAD4SoAAAAg70o////AA+FmwAAAMdGTAEAAADppwAAAIG9KP///xgDCYB1ETk7dQbHA1EAAABo5HVMAOs1/7Uo////xwM4AAAA/7Uc////6Ksu//9QaLR1TAD/tSz////obMP//4PEFOn4/v//aIB1TAD/tSz////pqfr//8cDOAAAAGhIdUwA6+hoKHVMAOvhx0ZMAQAAADl+UA+FxP7//8dGUAEAAABo4HdMAOvDaOx0TAD/tSz////HAzgAAADoDMP//1lZiwOFwHQIg/hRdAOJRkiLfjQ5fRRzA4t9FDPAO/h0Vlf/djz/tRD////oBtIAAItONItGPCvPUY0MOFFQ6NNpAQApfjRXaMR0TAD/tSz////otcL///92LP92NGg8dkwA/7Us////6J/C//+DxDSDIwCLx+scOQN1CzlGUHUGxwNRAAAAOUUUdQKJA4sD99gbwItN/F9eM81b6ErhAADJw1WL7ItFDItNCGvAVI2ECHwBAAAzyTkIdA85SDB3BTlINHYFM8BAXcMzwF3DVYvsi00Mi0UIa8lUg7wBfAEAAAB0C/91DFDo7UH//1lZXcNVi+yD7DSLTQxTa8lUi10IiwNWV/+ztAAA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i4VM////O8h8G38Oi5VY////O5VI////dguLnVj///+JTZDrCYudSP///4lFkItNkIXJfBZ/BIXbdBCLwyuFeP///xuNfP///+sEM8AzyVFQjUXkUOjY9f///3WQjUXYU1Doy/X///+1fP///41F8P+1eP///1DotvX//4uGAAUAAIPEJKggdA6LltgEAACLntwEAADrDIuW6AQAAIue7AQAAKhAdA6LhtAEAACLjtQEAADrDIuG4AQAAIuO5AQAAAPCiUWEi4boBAAAE8sDhuAEAACJTYiJhXj///+LhuwEAAAThuQEAACJhXz///+FyXxkfwmBfYQQJwAAdh9qAGpk/3WI/3WE6F9gAQBSUP+1fP////+1eP///+sphcl8Nn8Gg32EAHYuagBqZP+1fP////+1eP///+juXwEA/3WI/3WEUlDoIWABAImVdP///4mFcP///41FzlD/tvQEAAD/tvAEAADo6PX//4PEDFCNReRQjUXwUI1F2FCNRcRQ/7YcBQAA/7YYBQAA6MP1//+DxAxQjUW6UP+2FAUAAP+2EAUAAOiq9f//g8QMUI1FplD/tuwEAAD/tugEAADokfX//4PEDFD/tWT///+NRZz/tWD///9Q/7bkBAAA/7bgBAAA6Gz1//+DxAxQ/7Vs////jUWw/7Vo////UP91iP91hOhN9f//g8QMUP+1dP////+1cP///2ioe0wA/7YwAQAA6AkR////tjABAADotsoAAIPESDPAi038X14zzVvojNAAAMnDVYvsi0UIVoswg6bIBAAAAFDomPj//1mFwHUs9oYABQAAEHUaOYb4BAAAdRJofONFAP+2MAEAAOiuEP//WVmDptAFAAAAM8BeXcNVi+zZ7laLdQjdliAFAABq/92WKAUAAGr/3ZY4BQAAVt2eQAUAAOiv9///av9q/1bo6vf//4PEGF5dw1WL7ItVCItCSIXAdQVqA1hdw4tNDFYz9kbT5oUwXnQWi0gIhcl0D/9wEP91EP91DFL/0YPEEDPAXcNVi+yLVQiLQkiFwHUFagNYXcOLTQxWM/ZG0+aFMF50E4tIDIXJdAz/cBD/dQxS/9GDxAwzwF3DVYvsUVFTM9tWV4ld/Ild+IoKM/+A+T11CMHjBv9F/Oscvsh8TACwQTrBdAhHRooGhMB19DgOdSfB4wYD3/9F+EKDffgEcsmD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AYoQQITSdfkrwY1wAY2FoP7//1BW/7Wk/v///7WY/v//V+juYP//g8QUhcAPhbQBAAA5taD+//8PhagBAACNhZz+//9QagiNhez+//9Q/7WY/v//V+iY/P//g8QUhcAPhXoBAACDvZz+//8ID4VtAQAAOIXs/v//dApo5IpMAOlnAQAAD7aN7f7//4vBg+haD4QUAQAASA+EzQAAAEgPhIYAAABID7aF9P7//3RGUQ+2jfX+///B4AgLwVAPtoXz/v//UA+2hfL+//9QD7aF8f7//1APtoXw/v//UGigikwA/7Wo/v//6Blf//+DxCDpBAEAAA+2jfX+///B4AhqXQvBUA+2hfP+//9QD7aF8v7//1APtoXx/v//UA+2hfD+//9QaBCKTADrtw+2hfT+//8Pto31/v//weAIalwLwVAPtoXz/v//UA+2hfL+//9QD7aF8f7//1APtoXw/v//UGiIiUwA6Xf///8PtoX0/v//D7aN9f7//8HgCGpbC8FQD7aF8/7//1APtoXy/v//UA+2hfH+//9QD7aF8P7//1BoMIlMAOk3////g30cALgsiUwAdQW4s+JFAFBoEIlMAP+1qP7//+jHXf//agH/tZj+///oskUAAIPEFDPA6xxo4IhMAOsFaLiITAD/taj+///oD17//1lZagdYi038X14zzVvoaHwAAMnDVYvsgeyIAgAAofCyTQAzxYlF/ItNGItFCFNWV4t9HIu0j1QBAACJjXj9//+LD4mNoP3//zPJg784AQAABYmFiP3//4tFDA+UwYmFhP3//4tFEImFgP3//4m1mP3//4mNlP3//41IAYoQQITSdfkrwYO9lP3//wCL2ImdfP3//3Umgfv/AAAAdh5TaLiQTAD/taD9///o7lz//4PEDMeFlP3//wEAAABqAWoA/7Wg/f//6HJ1//+DxAyJhZD9//+FwHkZaOxrTAD/taD9///oKF3//1lZahzpFgcAAGoBVuicRAAA/7WQ/f//Vmr/av/oftD+/4PEGIP4/3UMaJiQTAD/N+nhBgAAhcB1CWh8kEwA/zfruagEdAdoUJBMAOvhg72I/f//AGoAD5XABAJWxoWk/f//BYiFpf3//2bHhab9//8AAcaFqP3//wLoL0QAAI2FjP3//1APtoWl/f//g8ACUI2FpP3//1BWV+iaXf//g8QchcAPhWIGAAAPtoWl/f//g8ACOYWM/f//D4VMBgAAagFW6OZDAAD/tZD9//9q/2r/VujIz/7/g8QYg/j/dQpoOJBMAOlF////hcB1CmgkkEwA6Uf///+oBHQVaAiQTAD/N+ghXP//WVlqOOkPBgAAagBW6JVDAACNhZz9//9QagKNhaT9//9QVlfo5vj//4PEHIXAD4XKBQAAg72c/f//Ag+FvQUAAIC9pP3//wV0CmjQj0wA6bYFAACKhaX9//+EwA+EdQEAADwBdSBX/7V4/f//6OhVAABZWYXAD4RbAQAAaKSPTADphAUAADwCD4VIBQAAi4WI/f//M9s7w3QwOZ2E/f//dCiNUAGKCECEyXX5K8KL2IuFhP3//41wAYoIQITJdfkrxomFkP3//+sGiZ2Q/f//g72I/f//AMaFpP3//wGInaX9//90GoXbdBZT/7WI/f//jYWm/f//UOjcaQAAg8QMi4WQ/f//jXMCiIQ1pP3//0aDvYT9//8AdBuFwHQXUP+1hP3//42ENaT9//9Q6KdpAACDxAwDtZD9//+NhYz9//9QVo2FpP3//1D/tZj9//9X6Nxb//+DxBSFwA+FbgQAADu1jP3//w+FYgQAAI2FnP3//1BqAo2FpP3//1D/tZj9//9X6Ib3//+DxBSFwA+FNAQAAIO9nP3//wIPhScEAAA4haX9//90KA+2haX9//9QD7aFpP3//1BodI9MAP+1oP3//+hZWv//g8QQ6UYEAACLnXz9//+DvZT9//8AagNmx4Wk/f//BQHGhab9//8AXnVkU/+1gP3//42Fqf3//1DGhaf9//8DiJ2o/f//6MZoAACDxAyNcwWLRRSLyMH5CIiMNaT9//+IhDWl/f//g8YCg7+gBQAAALtEj0wAD4QZAQAAU/+1oP3//+jSWf//WVnpLAEAAI2FlP3//1D/dRT/tYD9//9X6Krd/v+DxBCD+P91B2oG6Z0DAACD+AF09IuFlP3//4XAD4SwAAAAixiF2w+EpgAAAItDBIP4AnVaxoWn/f//AYtDGGoEjY2o/f//XivBA8aJhXz9//+LhXz9//8DxoqEBaT9//+IhDWk/f//Ro2Fp/3//w+2RDD8UGhAj0wA/7Wg/f//6L5Y//+DxAyD/gh8xespg/gXdSJqFMaFp/3//wSLQxgzyV6KVAgIiJQNqP3//0GD+RB87+sCM9v/tZT9////taD9///oIOH+/1lZhdsPhdr+////tYD9//9oFI9MAP+1oP3//+jNWP//g8QM6Rj///+NhYz9//9QVo2FpP3//1D/tZj9//9X6LpZ//+DxBSFwA+FPgIAADu1jP3//w+FMgIAAIO/oAUAAABqCl50E1P/taD9///oe1j//1lZ6fkBAACNhZz9//9QagpbU42FpP3//1D/tZj9//9X6EP1//+DxBSFwA+F0AEAADmdnP3//w+FxAEAAIC9pP3//wV0CmjcjkwA6RQCAACKlaX9//+E0g+ESQEAAIC9p/3//wF1UA+2ja39//8PtsJQD7aFrP3//8HgCAvBUA+2hav9//9QD7aFqv3//1APtoWp/f//UA+2haj9//9QaKCOTAD/taD9///ozVf//4PEIOm6AQAAgL2n/f//A3U2D7aNrf3//w+2wlAPtoWs/f//weAIC8FQ/7WA/f//aHCOTAD/taD9///ojlf//4PEFOl7AQAAgL2n/f//BA+FbgEAAA+2haz9//8Pto2t/f//D7bSUovQweIIC9FSD7aVt/3//1IPtpW2/f//Ug+2lbX9//9SD7aVtP3//1IPtpWz/f//Ug+2lbL9//9SD7aVsf3//1IPtpWw/f//Ug+2la/9//9SD7aVrv3//1JRUA+2hav9//9QD7aFqv3//1APtoWp/f//UA+2haj9//9QaPiNTAD/taD9///o3Vb//4PEUOnKAAAAgL2n/f//A3UMD7a1qP3//4PGB+sMgL2n/f//BHUDahZeg7+gBQAAAHU3O/N+M42FnP3//1Ar81aNha79//9Q/7WY/f//V+h38///g8QUhcB1CDu1nP3//3QHaMSNTADrXGoB/7WY/f//6Ow9AABZWTPA61lonI1MAOtCaGiNTADrO2g4jUwA6zQ8/3Udi4WI/f//hcB0DIA4AHQHaAyNTADrGmhgjEwA6xNoIIxMAOsMaPSLTADrBWjMi0wA/7Wg/f//6A1W//9ZWWoHWItN/F9eM81b6GZ0AADJw1WL7IPsSItFDFOLXQiNjINUAQAAVoszjYSDuAUAAFcz/4M4AolNzIsJiX3AiU3QiX24iX28iX3UiX3IiX3YiUXsD4S/CAAAibvAAgAAOTgPhf0BAAD/dRT/dRBomJNMAFboIFX///+2DAEAAP8VSLBNAIOmDAEAAACDxBToOr3/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jUWUjU3YiYVU////WImNbP///42NQP///1GNTYRRU1NTU1BoNKdMAIlFmIlFsKGsxk0AU4mdTP///4ldlIldnImdWP///4ldrIldtMeFaP///wMAAACJnWT///+JXYSJXYj/UAxoGKdMAIv36CX+//9ZhcB0Kmj4pkwA/3XE6BoE////dbj/FUiwTQCDxAyNRYRQoazGTQD/UBDpRAgAAI2FQP///1CNhXj///9QjYVY////UI1FjFBTjYVM////UGoQU2gWAQAA/3W4jUWE/7V0////UKGsxk0A/1AYiUWAOV2cdBH/dZyhrMZNAP9QQIldnIldlItFgGjcpkwAi/fokP3//1mFwA+FNAEAADldrHRl/3WsZsdFvAEB/xUg4kUAZolFvo1FqFBqBI1FvFD/daRX6HME//+DxBSFwA+FhgEAAIN9qAQPhXwBAACNRahQ/3Ws/3W0/3WkV+hLBP//g8QUhcAPhRwBAACLRaw7RagPhRABAAA5XbR0Dv91tKGsxk0A/1BAiV20iV2sOV2cdA7/dZyhrMZNAP9QQIldnIF9gBIDCQCJXZQPhSABAACNRaBQagSNRbxQ/3WkV+jFn///g8QUhcAPheMGAACDfaAED4XZBgAAgH29/w+EMgYAAIB9vQEPhVAGAAD/db7/FVTiRQAPt/BWiXWU/xVEsE0AWYlFnDvDD4RxBgAAjU2gUf91lFD/daRX6Gmf//+DxBSFwA+FWQYAADl1oA+FUAYAAI1FjImFdP///+ld/v///3W4/xVIsE0AWY1FhFChrMZNAP9QEI1FjFChrMZNAP9QJDldnHQL/3WcoazGTQD/UEBotKZMAP91xOgbAv//WVnpWwYAAGiIpkwA/3XE6AcC////dbj/FUiwTQCDxAw5XbR0C/91tKGsxk0A/1BAOV2cD4QRBgAA/3WcoazGTQD/UEDpAQYAAGhcpkwA67z/dbj/FUiwTQBZjYV8////UGoBjUWEUKGsxk0A/1AIi/CNRYRQoazGTQD/UBCLxmhApkwAi/foifv//1mFwHQkjUWMUKGsxk0A/1Ak/7V8////oazGTQD/UEBoIKZMAOlE/////7V8////i3XEaOylTABW6OAA//+hrMZNAIPEDP+1fP////9QQPaFeP///xBmx0W8AQJ1GveFeP///wAAAQB1B7jY70UA6wy44KVMAOsF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Ceh2hwAAWYld/Il1rIl1qP8VOOBFAIt90I18vbSLD2oCVlONVcBSUIvRwfoFg+EfweEGixSVoNRNAP80ClD/FRThRQCFwA+EQAMAAP836IhbAACLRdCJXIWojUXgUItFzP90hbToNVwAAIPEDIlF1DvDD4QUAwAAM//oK/7//4lFsDvDD4TvAgAAaECpTABTjUXYUOg35P//g8QMO8N0E4P4FnUKU1NTU1PoOIgAADvDdQqLRdg7w4lF3HUHx0XcOKlMAGpEXlZTjYVM////UOh37P//g8QMibVM////x4V4////AAEAAKGg1E0AOV3ki03AdAKLCIlNhIN95AGLTcB0A4tIQIlNiIuAgAAAAIlFjP913OhCoQAAi/j/dQjoOKEAAAP4vjCpTABW6CuhAACNfDgBagFX6FGIAACDxBSJReQ7ww+ELgIAAP913FdQ6CekAACDxAw7ww+FRf///1ZX/3Xk6A7gAACDxAw7ww+FMP////91CFf/deTo998AAIPEDDvDD4UZ////6ND8//+LAIlFyFP/ddzoWt8AAFlZhcB1Jo1FkFCNhUz///9QU1NTagFTU/915P913P8VEOFFAIlFvOlcAQAAiV0IagG/BAEAAFfos4cAAFlZi/CJdaQ783UoU+iY0f///3Xk6JDR////ddjoiNH//4PEDOhd/P//i03IiQjpawEAAGioEUYAU41FCFDos+L//4PEDDvDdDCD+BYPhHj+//87w3Qj/3UI6EvR//9W6EXR////deToPdH///912Og10f//g8QQ66uLRQhoAwEAAFZQ6AHeAACDxAyJRaA7ww+EpgAAADgeD4SeAAAAVujdnwAAWY1EMP+JRcSKADxcD4XXAAAAalxW6LTdAABZWTlFxHQXaFD3RQBXVujM3gAAg8QMO8MPhe79////ddzonZ8AAFaJRcTolJ8AAFlZi03EA8iLdaQ7z3NB/3XcV1bomN4AAIPEDFM7ww+Fuv3//1boB94AAFlZhcB1d41FkFCNhUz///9QU1NTagFTU/915Fb/FRDhRQCJRbz/dQjoZdD//1boX9D//1lZ/3Xk6FXQ////ddjoTdD//1lZ/3XAizUM4UUA/9b/dZT/1ugT+///i03IiQiLRbA5Xbx0HItNkIlIBItN1IkI60o8L+kv////i0Wg6eD+//+JGP911Oiy6v//WYtF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U1DoDh4BAIPEDIXAD4S8AAAAD7dDBIuNVP///4kBjYVs////UFf/tWj////ovfz//4PEDIA+AHQKi4VQ////O8dyC4uFTP///76z4kUAQFBWV/+1WP///+jFmwAAg8QQhcAPhSX///8z9jm1XP///3QRagZT/7Vc////6MCQ//+DxAw5tWD///90FmoE/7VU/////7Vg////6KKQ//+DxAz/tWj/////dRD/tWT////o+2EAAIPEDIXAdQiLhWj////rDFZWVlZW6cb+//8zwItN/F9eM81b6Beg///Jw4v/VYvsgezIAQAAofCyTQAzxYlF/ItFCFOL2VeJnXD+//+JhWj+///o3zoAAIv4U42FXP7//1CNhVD+//9QaIMAAACNhXj///9Q/7Vo/v//6Ir9//+DxBiFwHUQM8CLTfxfM81b6Kuf///Jw8HjBAPe/3NIjYV4////UOihFgEAWVmFwHUFi0NI69ONhXj///9Q6BpeAACDwAVQiYV0/v//6PhEAABZWYmFbP7//4XAdKqLQ0iLjXD+//+JhWj+//+NRI4MiYVY/v//iwCJhUj+//+NQQZrwAYDxmoGUImFZP7//42FOP7//1DocY///4tGBI2NeP///1GLjXT+//+JhUz+//+LhWz+//+DwfyDwARRUOi4YAAAg8QYhcAPhQkCAACLhWz+//+LjVj+//+DwASJQ0gPt4VQ/v//iQFqBo2FUP7//1D/tWT+///oDo///4PEDIO9cP7//wIPhRkBAACLhVz+//+DpXT+//8AiUYEi4f0AQAAi4/wAQAAiYVk/v//jYfQAQAAi1YEOxB0NosQ/4V0/v//iQiLjWT+//+JlUD+//+LUASJSASLjUD+//+DwAiDvXT+//8FiZVk/v//fMXrLYuFdP7//4XAdCONhMfQAQAAixCJl9ABAACLUASJl9QBAACJCIuNZP7//4lIBIO9dP7//wV1cmoB/3YUjYV4/v///3YEUGp/aMiqTABqAWoA6EUzAQCDxCCFwHQ8M8C5/wEAAGYhjEV4/v//QIP4f3LtaP4AAAD/NYC1TQCNhXj+//9Q6NccAQCDxAz32BvAQImH1AEAAOsHg6fUAQAAAItGBImH0AEAAIuH1AEAAImGqAAAAIO9cP7//wF1CYuFXP7//4lGCIuFcP7//2vADFb/kIiqTABZhcB0MYuFaP7///+1bP7//4lDSOgijf//i4VI/v//WYuNWP7//4kBi4VM/v//iUYE6Yj9//+BvWj+//8kvU0AdC6LvXD+//+DxwUD//80/v8VLOFFAIXAdRb/NP7o2Yz///9zVOjRjP//g2NMAFlZi41w/v//i4Vs/v//g8EFA8nHAAEAAACJBM7pWf3//zPAUFBQUFDoA0IAAMyL/1WL7IHsmAAAAKHwsk0AM8WJRfyLRQhTVjPbi/JXibVo////O8t0GzvDdAxQ6JP8//9Z6dQBAAADyYtEzkjpyQEAAMeFcP///wEAAACJnXT///87ww+ErAEAAIA4TA+FMAEAAIB4AUMPhSYBAACAeAJfD4UcAQAAi/hoTKtMAFfoQQYAAIvYWVmF2w+E/wAAACvHiYVw////D4TxAAAAgDs7D4ToAAAAx4Vs////AQAAAL6MqkwA6waLhXD///9QV/826JUPAACDxAyFwHUQ/zbooFoAAFk5hXD///90Ef+FbP///4PGDIH+vKpMAH7JQ2j8EUYAU+ha4P//i/gz9llZO/51CYA7Ow+FgQAAAIO9bP///wV/RFdTjYV4////aIMAAABQ6N2WAACDxBCFwHVUi41s////i7Vo////iIQ9eP///42FeP///1DodPv//1mFwHQG/4V0////A/uAPwB0CkeAPwAPhQ3///8zwDmFdP///w+EkQAAAIu1aP///+mBAAAAVlZWVlbocUAAADPA63hTU1NogwAAAI2NeP///1FQ6Pv4//+DxBg7w3RcjX5Ihdt0Nf83jYV4////UOghEgEAWVmFwHQbjYV4////UIvL6Oz6//9ZhcB1CCGFcP///+sG/4V0////Q4PHEIP7BX6+M8A5hXD///91CDmFdP///3QF6DP3//+LTfxfXjPNW+jBmv//ycNqFGhIlk0A6J84AACDZeAAg30IBXYX6EW1///HABYAAADoEkAAADPA6TkBAADohDUAAIvwiXXk6IV8AACDTnAQg2X8ADP/R1do2AAAAOg7QAAAWVmL2Ild3IXbD4T2AAAAagzoEz4AAFmJffyLTmyLw+i99P//g2X8AOizAAAA/3UMi00Ii9PoWP3//1mJReCFwA+EsQAAAIN9DAB0GWgkvU0A/3UM6CARAQBZWYXAdAaJPZjHTQBqDOi9PQAAWcdF/AIAAACNfmxTV+ikewAAU+i6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i/CF9g+EPQQAAGoAjYUs5f//UFaNRfRQi4Uk5f//iwD/NAf/FWDhRQCFwA+ECgQAAIuFQOX//4uNMOX//wPBiYU45f//ObUs5f//D4z2AwAAg70c5f//AA+EzQAAAGoAjYUs5f//UGoBjUX0UIuFJOX//4sAxkX0Df80B/8VYOFFAIXAD4SxAwAAg70s5f//AQ+MsAMAAP+FMOX///+FOOX//+mDAAAAPAF0BDwCdSEPtzMzyYP+Cg+UwYPDAoOFQOX//wKJtUTl//+JjRzl//88AXQEPAJ1Uv+1ROX//+gbAQEAWWY7hUTl//8PhUkDAACDhTjl//8Cg70c5f//AHQpag1YUImFROX//+juAAEAWWY7hUTl//8PhRwDAAD/hTjl////hTDl//+LRRA5hUDl//8Pgvn9///pCAMAAIsOihP/hTjl//+IVA80iw6JRA846e8CAAAzyYsD9kQ4BIAPhKECAACAvT/l//8AiY1E5f//D4WoAAAAi5005f//OU0QD4b9AgAAi8sz9iuNNOX//42FSOX//ztNEHMmihNDQYmdIOX//4D6CnUL/4Uw5f//xgANQEaIEEBGgf7/EwAActWL8I2FSOX//yvwagCNhSjl//9QVo2FSOX//1CLhSTl//+LAP80B/8VYOFFAIXAD4RDAgAAi4Uo5f//AYU45f//O8YPjDsCAACLwyuFNOX//ztFEA+CbP///+klAgAAgL0/5f//Ag+FzQAAAIudNOX//zlNEA+GSAIAAIOlQOX//wCLyyuNNOX//2oCjYVI5f//XjtNEHNDD7cTA94DzomdIOX//4P6CnUaAbUw5f//ag1bZokYi50g5f//A8YBtUDl//8BtUDl//9miRADxoG9QOX///4TAAByuIvwjYVI5f//K/BqAI2FKOX//1BWjYVI5f//UIuFJOX//4sA/zQH/xVg4UUAhcAPhGkBAACLhSjl//8BhTjl//87xg+MYQEAAIvDK4U05f//O0UQD4JH////6UsBAACLhTTl//+JhSzl//85TRAPhnUBAACLjSzl//+DpUDl//8AK4005f//agKNhUj5//9eO00QczuLlSzl//8PtxIBtSzl//8DzoP6CnUOag1bZokYA8YBtUDl//8BtUDl//9miRADxoG9QOX//6gGAABywDP2VlZoVQ0AAI2N8Ov//1GNjUj5//8rwZkrwtH4UIvBUFZo6f0AAP8VcOFFAIvYO94PhJcAAABqAI2FKOX//1CLwyvGUI2ENfDr//9Qi4Uk5f//iwD/NAf/FWDhRQCFwHQMA7Uo5f//O95/y+sM/xVY4EUAiYVE5f//O95/XIuFLOX//yuFNOX//4mFOOX//ztFEA+CC////+s/UY2NKOX//1H/dRD/tTTl////NDj/FWDhRQCFwHQVi4Uo5f//g6VE5f//AImFOOX//+sM/xVY4EUAiYVE5f//g7045f//AHVsg71E5f//AHQtagVeObVE5f//dRToWG3//8cACQAAAOhgbf//iTDrP/+1ROX//+hkbf//Wesxi4Uk5f//iwD2RAcEQHQPi4U05f//gDgadQQzwOsk6Bht///HABwAAADoIG3//4MgAIPI/+sMi4U45f//K4Uw5f//W4tN/F8zzV7oS1L//8nDahBo0JdNAOgp8P//i10Ig/v+dRvo5Gz//4MgAOjJbP//xwAJAAAAg8j/6ZQAAACF23gIOx2Q1E0AchrovWz//4MgAOiibP//xwAJAAAA6G/3///r0ovDwfgFjTyFoNRNAIvzg+YfweYGiwcPvkQwBIPgAXTGU+j29AAAWYNl/ACLB/ZEMAQBdBT/dRD/dQxT6G74//+DxAyJReTrF+hIbP//xwAJAAAA6FBs//+DIACDTeT/x0X8/v///+gMAAAAi0Xk6LLv///Di10IU+g+9QAAWcNqEGjwl00A6FXv//+LXQiD+/51E+j9a///xwAJAAAAg8j/6aEAAACF23gIOx2Q1E0AchLo3mv//8cACQAAAOir9v//69qLw8H4BY08haDUTQCL84PmH8HmBosHD75EBgSD4AF0zlPoMvQAAFmDZfwAiwf2RAYEAXQxU+i18wAAWVD/FcThRQCFwHUL/xVY4EUAiUXk6wSDZeQAg33kAHQZ6IRr//+LTeSJCOhna///xwAJAAAAg03k/8dF/P7////oDAAAAItF5OjZ7v//w4tdCFPoZfQAAFnDi/9Vi+xWi3UIVujKUv//UOhuUv//WVmFwHR86PxL//+DwCA78HUEM8DrD+jsS///g8BAO/B1YDPAQP8FCMdNAPdGDAwBAAB1TlNXjTyFSNBNAIM/ALsAEAAAdSBT6MP1//9ZiQeFwHUTjUYUagKJRgiJBliJRhiJRgTrDYs/iX4IiT6JXhiJXgSBTgwCEQAAM8BfQFvrAjPAXl3Di/9Vi+yDfQgAdCdWi3UM90YMABAAAHQZVuhwSP//gWYM/+7//4NmGACDJgCDZggAWV5dw/ZBDEB0BoN5CAB0JP9JBHgLixGIAv8BD7bA6wwPvsBRUOhjIAAAWVmD+P91AwkGw/8Gw4v/VYvsUfZDDEBWi/CLB4lF/HQNg3sIAHUHi0UMAQbrPoMnAIN9DAB+MItFCIoA/00Mi8volP////9FCIM+/3UOgz8qdQ+Ly7A/6H7///+DfQwAf9WDPwB1BYtF/IkHXsnDi/9Vi+yB7IACAACh8LJNADPFiUX8U4tdDFaLdQgzwFeLfRT/dRCNjaT9//+JtdD9//+JveT9//+JhbT9//+JhfD9//+Jhcj9//+Jhej9//+Jhcz9//+Jhbz9//+JhcT9///oilr//+hsaf//iYWU/f//hfZ1K+hdaf//xwAWAAAA6Cr0//+AvbD9//8AdAqLhaz9//+DYHD9g8j/6TcLAAD2RgxAdV5W6MdQ//9ZulC2TQCD+P90G4P4/nQWi8iD4R+L8MH+BcHhBgMMtaDUTQDrAovK9kEkf3Wbg/j/dBmD+P50FIvIg+AfwfkFweAGAwSNoNRNAOsCi8L2QCSAD4Vx////M8k72Q+EZ////4oTiY3c/f//iY3Y/f//iY24/f//iJXv/f//hNIPhI4KAABDM/aJncD9//85tdz9//8PjHkKAACNQuA8WHcPD77CD76AKLlMAIPgD+sCM8APvoTBSLlMAGoHwfgEWYmFjP3//zvBD4cgCgAA/ySFdaREAION6P3///+JtYj9//+Jtbz9//+Jtcj9//+Jtcz9//+JtfD9//+JtcT9///p6QkAAA++woPoIHRKg+gDdDaD6Ah0JUhIdBWD6AMPhcoJAACDjfD9//8I6b4JAACDjfD9//8E6bIJAACDjfD9//8B6aYJAACBjfD9//+AAAAA6ZcJAACDjfD9//8C6YsJAACA+ip1LIPHBIm95P3//4t//Im9yP3//zv+D41sCQAAg43w/f//BPedyP3//+laCQAAi4XI/f//a8AKD77KjUQI0ImFyP3//+k/CQAAibXo/f//6TQJAACA+ip1JoPHBIm95P3//4t//Im96P3//zv+D40VCQAAg43o/f///+kJCQAAi4Xo/f//a8AKD77KjUQI0ImF6P3//+nuCAAAgPpJdFWA+mh0RID6bHQYgPp3D4XWCAAAgY3w/f//AAgAAOnHCAAAgDtsdRZDgY3w/f//ABAAAImdwP3//+msCAAAg43w/f//EOmgCAAAg43w/f//IOmUCAAAigM8NnUegHsBNHUYg8MCgY3w/f//AIAAAImdwP3//+lwCAAAPDN1HoB7ATJ1GIPDAoGl8P3///9///+JncD9///pTggAADxkD4RGCAAAPGkPhD4IAAA8bw+ENggAADx1D4QuCAAAPHgPhCYIAAA8WA+EHggAAIm1jP3//yG1xP3//42FpP3//1APtsJQ6KqrAABZhcCKhe/9//9ZdCKLjdD9//+Ntdz9///otvv//4oDQ4mdwP3//4TAD4Sw/P//i43Q/f//jbXc/f//6JT7///pvgcAAA++woP4ZA+PtgEAAA+EWAIAAIP4Uw+PugAAAHRMg+hBdBBISHQkSEh0CEhID4WrBQAAgMIgx4WI/f//AQAAAIiV7/3//+lWAgAA94Xw/f//MAgAAA+FngAAAIGN8P3//wAIAADpjwAAAPeF8P3//zAIAAB1CoGN8P3//wAIAACLjej9//+D+f91Bbn///9/g8cE94Xw/f//EAgAAIm95P3//4t//Im94P3//w+E/gQAAIX/dQuhxLdNAImF4P3//4uF4P3//8eFxP3//wEAAADpzAQAAIPoWA+EIgMAAEhIdH8rwQ+EtgEAAEhID4XrBAAAi73k/f//g8cE94Xw/f//EAgAAIm95P3//3QwD7dH/FBoAAIAAI2F9P3//1CNhdj9//9Q6Eb5AACDxBCFwHQfx4W8/f//AQAAAOsTikf8iIX0/f//x4XY/f//AQAAAI2F9P3//4mF4P3//+l8BAAAiweDxwSJveT9//+FwHQ7i0gEhcl0NPeF8P3//wAIAAAPvwCJjeD9//90FJkrwtH4x4XE/f//AQAAAOk3BAAAIbXE/f//6SwEAAChwLdNAImF4P3//1DoOwgAAFnpFQQAAIP4cA+PPQIAAA+EJQIAAIP4ZQ+MAwQAAIP4Zw+OtwAAAIP4aXR8g/hudC6D+G8PhecDAAD2hfD9//+Ai73k/f//x4XY/f//CAAAAHRsgY3w/f//AAIAAOtgg4Xk/f//BIuF5P3//4tw/OgVvv//hcAPhGL6///2hfD9//8gdAxmi4Xc/f//ZokG6wiLhdz9//+JBseFvP3//wEAAADpPgUAAIu95P3//4ON8P3//0DHhdj9//8KAAAAi43w/f//98EAgAAAD4TgAQAAiweLVwSDxwjpDAIAAIu95P3//4ON8P3//0CNnfT9//+4AAIAAImd4P3//4mFoP3//zm16P3//30Mx4Xo/f//BgAAAOtqdRGA+md1Y8eF6P3//wEAAADrVzmF6P3//34GiYXo/f//gb3o/f//owAAAH49i7Xo/f//gcZdAQAAVujT7f//ipXv/f//WYmFuP3//4XAdBCJheD9//+JtaD9//+L2OsKx4Xo/f//owAAAIsHizXo4EUAg8cIiYWA/f//i0f8iYWE/f//jYWk/f//UP+1iP3//w++wv+16P3//4m95P3//1D/taD9//+NhYD9//9TUP816LdNAP/W/9CLvfD9//+DxByB54AAAAB0HYO96P3//wB1FI2FpP3//1BT/zX0t00A/9b/0FlZgL3v/f//Z3UYhf91FI2FpP3//1BT/zXwt00A/9b/0FlZgDstdRGBjfD9//8AAQAAQ4md4P3//1Ppwf3//8eF6P3//wgAAACJjbT9///rKoPocw+Ebvz//0hID4RY/v//g+gDD4W7AQAAi73k/f//x4W0/f//JwAAAPaF8P3//4DHhdj9//8QAAAAD4Qy/v//ioW0/f//BFHGhdT9//8wiIXV/f//x4XM/f//AgAAAOkO/v//98EAEAAAD4UU/v//g8cE9sEgdBiJveT9///2wUB0Bg+/R/zrBA+3R/yZ6xOLR/z2wUB0A5nrAjPSib3k/f//9sFAdBqF0n8WfASFwHMQ99gT1vfagY3w/f//AAEAAPeF8P3//wCQAACL+ovYdQIz/zm16P3//30Mx4Xo/f//AQAAAOsag6Xw/f//97gAAgAAOYXo/f//fgaJhej9//+LwwvHdQYhtcz9//+NdfOLhej9////jej9//+FwH8Gi8MLx3Qti4XY/f//mVJQV1PoV8v//4PBMImdoP3//4vYi/qD+Tl+BgONtP3//4gOTuu9jUXzK8ZG94Xw/f//AAIAAImF2P3//4m14P3//3RihcB0B4vOgDkwdFf/jeD9//+LjeD9///GATBA6z9JZjkwdAeDwAKFyXXzK4Xg/f//0fjrKIX/dQuhwLdNAImF4P3//4uF4P3//+sHSYA4AHQFQIXJdfUrheD9//+Jhdj9//+Dvbz9//8AD4W4AQAAi43w/f//9sFAdDX3wQABAAB0CcaF1P3//y3rGvbBAXQJxoXU/f//K+sM9sECdBHGhdT9//8gx4XM/f//AQAAAIuFyP3//yuF2P3//yuFzP3//4mFoP3///bBDHUli/jrHYuN0P3//4213P3//7AgT+gw9f//g73c/f///3QEhf9/3/+1zP3//4u9lP3//4ud0P3//42F1P3//1CNhdz9///oMvX///aF8P3//whZWXQu9oXw/f//BHUli72g/f//6xmNtdz9//+Ly7AwT+jT9P//g73c/f///3QEhf9/44O9xP3//wCLhdj9//90dYXAfnGLteD9//+JhZj9//8Ptwb/jZj9//9QagaNRfRQjYWQ/f//UIPGAuhp8wAAg8QQhcB1NjmFkP3//3Qu/7WQ/f//i72U/f//i53Q/f//jUX0UI2F3P3//+iL9P//g72Y/f//AFlZdabrI4ON3P3////rGou9lP3//1D/teD9//+Nhdz9///oXfT//1lZg73c/f//AHwy9oXw/f//BHQpi72g/f//6x2LjdD9//+Ntdz9//+wIE/o+vP//4O93P3///90BIX/f9+Dvbj9//8AdBP/tbj9///oaTP//4OluP3//wBZi53A/f//igOIhe/9//+EwHQTi42M/f//i73k/f//itDpcvX//4C9sP3//wB0CouFrP3//4NgcP2Lhdz9//+LTfxfXjPNW+hSQ///ycOQD5xEAA6aRAA+mkQAnJpEAOiaRADzmkQAOZtEAGmcRABqEGgQmE0A6A/h//8z24ld5GoB6NPm//9ZiV38agNfiX3gOz3A5U0AfVSL96G01U0AORywdEWLBLD2QAyDdA9Q6F1N//9Zg/j/dAP/ReSD/xR8KKG01U0AiwSwg8AgUP8VhOFFAKG01U0A/zSw6IEy//9ZobTVTQCJHLBH66HHRfz+////6AkAAACLReTozuD//8NqAeh45f//WcOL/1WL7FaLdQiF9nUV6CJd///HABYAAADo7+f//+n6AAAAi0YMqIMPhO8AAACoQA+F5wAAAKgCdAuDyCCJRgzp2AAAAIPIAYlGDKkMAQAAdQlW6GpeAABZ6wWLRgiJBv92GP92CFboZUT//1lQ6E9kAACDxAyJRgSFwA+EiwAAAIP4/w+EggAAAPZG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////m/aFYf///0F10tnxw8aFcP///wLd2Nst6vVMAMMKyXVTw9ns6wLZ7dnJCsl1rtnxw+lOAgAA6M8AAADd2N3YCsl1Dtnug/gBdQYK7XQC2eDDxoVw////Atst4PVMAIP4AXXtCu106dng6+Xd2OkNAgAA3djpqAIAAFjZ5JvdvWD///+b9oVh////AXUP3djbLeD1TAAK7XQC2eDDxoVw////BOnXAQAA3djd2Nst4PVMAMaFcP///wPDCsl1r93Y2y3g9UwAw9nA2eHbLf71TADe2ZvdvWD///+b9oVh////QXWV2cDZ/Nnkm929YP///5uKlWH////Zydjh2eSb3b1g////2eHZ8MPZwNn82Nmb3+CedRrZwNwNEvZMANnA2fze2Zvf4J50DbgBAAAAw7gAAAAA6/i4AgAAAOvxVoPsdIv0VoPsCN0cJIPsCN0cJJvddgjoRQQAAIPEFN1mCN0Gg8R0XoXAdAXpwwEAAMPMzMzMzMzMzMyAeg4FdRFmi51c////gM8CgOf+sz/rBGa7PxNmiZ1e////2a1e////u1z2TADZ5YmVbP///5vdvWD////GhXD///8Am4qNYf///9Dh0PnQwYrBJA/XD77AgeEEBAAAi9oD2IPDEP8jgHoOBXURZoudXP///4DPAoDn/rM/6wRmuz8TZomdXv///9mtXv///7tc9kwA2eWJlWz///+b3b1g////xoVw////ANnJio1h////2eWb3b1g////2cmKrWH////Q5dD90MWKxSQP14rg0OHQ+dDBisEkD9fQ5NDkCsQPvsCB4QQEAACL2gPYg8MQ/yPowQAAANnJ3djD6LcAAADr9t3Y3djZ7sPd2N3Y2ejD271i////261i////9oVp////QHQIxoVw////B8PGhXD///8B3AVU9kwAw9nJ271i////261i////9oVp////QHQJxoVw////B+sHxoVw////Ad7Bw9u9Yv///9utYv////aFaf///0B0INnJ271i////261i////9oVp////QHQJxoVw////B+sHxoVw////Ad7Bw93Y3djbLUD2TACAvXD///8AfwfGhXD///8BCsnDCsl0Atngw8zMzMzMzFWL7IPE4IlF4ItFGIlF8ItFHIlF9OsJVYvsg8TgiUXg3V34iU3ki0UQi00UiUXoiU3sjUUIjU3gUFFS6NLJAACDxAzdRfhmgX0IfwJ0A9ltCMnDzMzMzMzMzMzMzMzMzNnA2fzc4dnJ2eDZ8Nno3sHZ/d3Zw4tUJASB4gADAACDyn9miVQkBtlsJAbDqQAACAB0BrgHAAAAw9wFcPZMALgBAAAAw4tCBCUAAPB/PQAA8H90A90Cw4tCBIPsCg0AAP9/iUQkBotCBIsKD6TIC8HhC4lEJASJDCTbLCSDxAqpAAAAAItCBMOLRCQIJQAA8H89AADwf3QBw4tEJAjDZoE8JH8CdAPZLCRaw2aLBCRmPX8CdB5mg+AgdBWb3+Bmg+AgdAy4CAAAAOjp/v//WsPZLCRaw4PsCN0UJItEJASDxAglAADwf+sUg+wI3RQki0QkBIPECCUAAPB/dD09AADwf3RfZosEJGY9fwJ0KmaD4CB1IZvf4GaD4CB0GLgIAAAAg/oddAfoi/7//1rD6G3+//9aw9ksJFrD3QWc9kwA2cnZ/d3Z2cDZ4dwdjPZMAJvf4J64BAAAAHPH3A2s9kwA67/dBZT2TADZydn93dnZwNnh3B2E9kwAm9/gnrgDAAAAdp7cDaT2TADrlov/VYvsUVHdRQhRUd0cJOjSXAAAWVmokHVM3UUIUVHdHCToPskAAN1FCFna6Vnf4PbERHox3UUIUdwNuPZMAFHdXfjdRfjdHCToF8kAAN1F+Fna6Vnf4PbERHoFagJYycMzwEDJwzPAycOL/1WL7N1FCFa4AADwf9nhM9Iz9rkAAPD/OUUUdTo5VRB1etno2NHf4PbEBXoP3djd2N0FwMBNAOnkAAAA2NHf4N3Z9sRBi0UYD4XVAAAA3djZ7unMAAAAOU0UdUA5VRB1O9no2NHf4PbEBXoL3djd2Nnu6akAAADe2d/g9sRBi0UYdQvdBcDATQDplQAAAN0FyMBNADP2RumHAAAA3dg5RQx1KDlVCHV92e7cVRDf4PbEBQ+Ld////9xVEN/g9sRBi0UYdF7d2Nno61g5TQx1VTlVCHVQ3UUQUVHdHCTos/7//9nuWdxVEFmLyN/g9sQFehHd2N0FwMBNAIP5AXUh2eDrHdxVEN/g9sRBdQ+D+QF1Dt3Y3QXgwE0A6wTd2Nnoi0UY3RiLxl5dw4v/VYvsg+woM8CJRfiJRfw5BZzTTQB0Dv81gNRNAP8V6OBFAOsFuMNeRQCLTRS6pgAAAFY7yg+PogEAAA+EiQEAAIP5GQ+PGAEAAA+EBgEAAGoCWivKD4TsAAAASQ+E3AAAAIPpBQ+ExAAAAEkPhJwAAACD6QUPhIMAAABJdE6D6QkPhQwCAADHRdgDAAAAx0XcbPRFAItNCN0Bi00Mi3UQ3V3g3QGNTdjdXehR3QbdXfD/0FmFwA+F0gEAAOjiI///xwAiAAAA6cIBAADHRdys9EUAi00I3QGLTQyLdRDdXeDdAY1N2N1d6FHdBsdF2AQAAADdXfD/0FnpkAEAAMdF2AMAAADHRdys9EUA64fHRdyE9EUAi00Ii3UQ3QGLTQzdXeDdAd1d6N0G6T8BAACJVdjHRdyE9EUA6Vf////HRdyA9EUA686JVdjHRdyA9EUA6T/////HRdxs9EUA6XH///+D6Rp0V0l0SEl0OUl0IIPpHXQSg+kDD4UVAQAAx0Xc2PRFAOuOx0Xc4PRFAOuFx0XcbPRFAItNCN0Bi3UQ3R7pdf///8dF3Gz0RQDpY////8dF2AIAAADp0P7//9noi0UQ3RjpyQAAAMdF2AMAAADHRdwo90wA6bj+//+BwRj8//+D+QwPh6cAAAD/JI1Z4EQAx0XcgPRFAOubx0XchPRFAOuSx0XcrPRFAOuJx0XcyPRFAOuAx0XcwPRFAOl0////x0XcpPRFAOlo////x0XccPRFAOlc////x0XcSPRFAOsQx0XctPRFAOsHx0XcNPRFAItNCN0Bi3UQ3E343RbdAYtNDN1d4N0B3V3ojU3Y3V3wUcdF2AEAAAD/0FmFwHUL6Bsi///HACEAAADdRfDdHl7Jw5C130QAvt9EAMffRADQ30QA2d9EAOXfRABo30QA8d9EAEnfRABA30QA/d9EAAbgRAAP4EQAi/9Vi+xRUVNWvv//AABW/zWAv00A6E5XAADdRQhZWQ+3TQ6L2LjwfwAAI8hRUd0cJGY7yHVV6KVNAABZWYXAfi2D+AJ+GoP4A3Uj3UUIU1FR3RwkagvoklQAAIPEEOt0VlPoAVcAAN1FCFlZ62bdRQhT3AXg9UUAg+wQ3VwkCN1FCN0cJGoLagjrQeh0xAAA3V343UX4Wd1FCFna6d/g9sREeg5WU+i9VgAA3UX4WVnrIvbDIHXt3UX4U4PsEN1cJAjdRQjdHCRqC2oQ6NJUAACDxBxeW8nDzMzMzMzMzMzMzMxVi+xTVldVagBqAGiI4UQA/3UI6PDxAABdX15bi+Vdw4tMJAT3QQQGAAAAuAEAAAB0MotEJBSLSPwzyOgUBv//VYtoEItQKFKLUCRS6BQAAACDxAhdi0QkCItUJBCJArgDAAAAw1NWV4tEJBBVUGr+aJDhRABk/zUAAAAAofCyTQAzxFCNRCQEZKMAAAAAi0QkKItYCItwDIP+/3Q6g3wkLP90Bjt0JCx2LY00dosMs4lMJAyJSAyDfLMEAHUXaAEBAACLRLMI6EkAAACLRLMI6F8AAADrt4tMJARkiQ0AAAAAg8QYX15bwzPAZIsNAAAAAIF5BJDhRAB1EItRDItSDDlRCHUFuAEAAADDU1G7kL9NAOsLU1G7kL9NAItMJAyJSwiJQwSJawxVUVBYWV1ZW8IEAP/Qw2oMaPCYTQDo/aL//4Nl/ACLRQiLAMdF5AEAAADrG4tF7IsAiwAzyT0FAADAD5TBi8HDi2Xog2XkAMdF/P7///+LReToBqP//8IEAIv/VYvsi0UIUzPbVlc5XRR1EDvDdRA5XQx1EjPAX15bXcM7w3QHi30MO/t3E+hBH///ahZeiTDoD6r//4vG6905XRR1BIgY69KLVRA703UEiBjr2YN9FP+LyHUTi/Ar8ooKiAwWQjrLdCJPdfPrHYvyK/CKFA6IEUE603QIT3QF/00Ude45XRR1AogZO/t1i4N9FP91D4tNDGpQiFwI/1jpeP///4gY6Mce//9qIlmJCIvx64KL/1WL7IPsEFNX/3UQjU3wM9sz/+i+D///i00IO8t1IOiZHv//xwAWAAAA6Gap//84Xfx0B4tF+INgcP0zwOtmVot19DleCHUZ/3UMUegXRf//WVk4Xfx0TItN+INhcP3rQ4oRD7bC9kQwHQR0HUGKEYTSdBIPttrB4AgLwzlFDHUQjXn/6wuF/+sDOUUMdQKL+UGE0nXLOFX8dAeLRfiDYHD9i8deX1vJw4v/VYvsagD/dQz/dQjoRP///4PEDF3Di/9Vi+xWi3UIV7E76wFGOA50+/9NEIl1CHUQ6N0d//+LfQzHACIAAADrWIoGi30MU4TAdElqIls6wXRBOsN0FYgHR0b/TRB1LIl1COisHf//iRjrLUaKBoTAdCI6w3QPiAdHRv9NEHTgigaEwHXtgD4AdApGigaEwHW96wFGOA50+1uLRQgrxvfYxgcAG8BfI8ZeXcOL/1WL7FYz9jl1CHUa6Gkd//+JMOhPHf//ahZeiTDoHaj//4vG61X3RQz5////dd3/dQj/FTzgRQCD+P91Fv8VWOBFAFDoRB3//1noGB3//4sA6yioEHUiqAF0HvZFDAJ0GOgUHf//xwAFAAAA6PYc///HAA0AAADr0TPAXl3Di/9Vi+yLTQhWV4XJdAeLfQyF/3UT6M8c//9qFl6JMOidp///i8brQYtVEIXSdQXGAQDr4YvxgD4AdARGT3X3hf907CvyigKIBBZChMB0A09184X/dRHGAQDoixz//2oiWYkIi/HruDPAX15dw2osaBCZTQDou5///zPbiV3kM8CLTQg7yw+VwDvDdR/oaxz//4kY6FEc///HABYAAADoHqf//4PI/+liAgAAg87/iXEEiTGLRRAlfz////fYG8BAdR7oNRz//4kY6Bsc///HABYAAADo6Kb//4vG6S0CAACLTRC4AMAAACPIM9I7yA+VwjvTdM3HRcQMAAAAiV3I9kUQgGoAWA+UwIlFzP91DI1FxFCNRdBQjUXUUP8V5OFFAIXAdQ//FVjgRQBQ6N4b//9Z66Xo/aQAAIv4iX3gO/4PhIcBAACJXfzB+AWNDIWg1E0Ai8eD4B/B4AaLEcZEAgSJixGNVAIkgCKAiwmNRAEkgCB/x0X8/v///+gMAQAA6LGkAACL8Il12IP+/w+EIAEAAIld3MdF/AEAAADB+AWNDIWg1E0Ai8aD4B/B4AaLEcZEEASJixGNVBAkgCKAiwmNRAgkgCB/x0X8/v///+jIAAAAjUXcUOjSdv//WYXAD4XDAAAAuACAAACFRRB1DvdFEABAAAB1OzlF3HU2i8fB+AWLz4PhH8HhBosEhaDUTQCNRAgEgCB/i8bB+AWLzoPhH8HhBosEhaDUTQCNRAgEgCB/9kUQgHQ2i8fB+AWLz4PhH8HhBosEhaDUTQCNRAgEgAgQi8bB+AWLzoPhH8HhBosEhaDUTQCNRAgEgAgQ/3XUV+iHoQAA/3XQVuh+oQAAg8QQ61Az24t94FfofaMAAFnDM9uLfeCLddiD/v90B1boaKMAAFnDU1NTU1PovKT//4vHwfgFi8+D4R/B4QaLBIWg1E0AiFwIBOsDi3XYx0XkAQAAADld5HQn6Aga///HABgAAAD/ddSLNQzhRQD/1v910P/W6AAa//+JGOmg/f//i0UIiTiJcAQzwOhnnf//w4v/VYvsU4tdDIP7/3Ryg/v+dG1Wav9T/xXs4UUAhcB1E41FDFBT/xXo4UUAhcB0BIvz6zSLNVjgRQD/1oP4BnUY6JAZ///HAAoAAADomBn//8cABgAAAOsJ/9ZQ6JsZ//9Zg87/iXUMU/8VDOFFAItFCIXAdAWLTQyJCIvGXusO6FEZ///HAAoAAACDyP9bXcOL/1WL7FNWi/Ez2zvzdRboMRn//2oWXokw6P+j//+LxumPAAAAVzldCHcT6BUZ//9qFl6JMOjjo///i8brdTPJOV0QiB4PlcFBOU0Idwno8hj//2oi69uLTQyDwf6D+SJ3yYvOOV0QdAsz20PGBi2NTgH32Iv5M9L3dQyD+gl2BYDCV+sDgMIwiBFBQ4XAdAU7XQhy4TtdCHIFxgYA66/GAQBJiheKAYgRSYgHRzv5cvIzwF9eW13CDACL/1WL7IN9FAqLRQh1CoXAeQZqAWoK6wVqAP91FP91EItNDOge////XcOL/1WL7ItNDItFCGoA/3UU/3UQ6AT///9dw/8lqOFFAGoQaDiZTQDogJv//zP/iX3kagHoRKH//1mJffwz9ol14Ds1wOVNAH1iobTVTQCNBLA5OHQ9iwD2QAyDdDVQVuj0+f7/WVnHRfwBAAAAobTVTQCLBLD2QAyDdA85eBx0ClDoQAf//1n/ReSJffzoCAAAAEbrqTP/i3XgobTVTQD/NLBW6B76/v9ZWcPHRfz+////6AkAAACLReToMpv//8NqAejcn///WcOL/1WL7FMz2zldCHUEM8DrPlZX/3UI6Hi7//+NcAFW6APs/v+L+FlZO/t0H/91CFZX6H2+//+DxAyFwHUEi8frDFNTU1NT6NOh//8zwF9eW13Di/9Vi+yD7DBTM9v2RRCAVovwiV3ciF3+iV34x0XQDAAAAIld1HQJiV3YxkX/EOsKx0XYAQAAAIhd/41F3FDoyXL//1mFwA+F3QYAALgAgAAAhUUQdRL3RRAAQAcAdQU5Rdx0BIBN/4CLRRCD4AMrw7kAAADAugAAAIB0Q0h0KEh0IOjSFv//iRiDDv/otRb//2oWXokw6IOh//+LxuneAAAAiU306xv2RRAIdAn3RRAAAAcAdezHRfQAAABA6wOJVfSLRRRqEFkrwXQ3K8F0KivBdB0rwXQQg+hAdaU5VfQPlMCJRezrHsdF7AMAAADrFcdF7AIAAADrDMdF7AEAAADrA4ld7ItFELoABwAAI8K5AAQAAFe/AAEAADvBfzN0KDvDdCQ7x3QXPQACAAB0VD0AAwAAdS3HRegCAAAA61THRegEAAAA60vHRegDAAAA60I9AAUAAHQ0PQAGAAB0JDvCdCno8BX//4kYgw7/6NMV//9qFl6JMOihoP//i8ZfXlvJw8dF6AUAAADrB8dF6AEAAACLRRDHRfCAAAAAhcd0FosNDMdNAPfRI00YhMl4B8dF8AEAAACoQHQSgU3wAAAABIFN9AAAAQCDTewEqQAQAAB0Awl98KggdAmBTfAAAAAI6wuoEHQHgU3wAAAAEOiengAAg8v/iQY7w3Uh6FYV//+DIACJHug5Ff//xwAYAAAA6C4V//+LAOlg////i0UIiz3w4UUAagD/dfDHAAEAAAD/deiNRdBQ/3Xs/3X0/3UM/9eJReA7w3Vwi030uAAAAMAjyDvIdSv2RRABdCWBZfT///9/agD/dfCNRdD/dehQ/3Xs/3X0/3UM/9eJReA7w3U3izaLxsH4BYsEhaDUTQCD5h/B5gaNRDAEgCD+/xVY4EUAUOjAFP//WeiUFP//iwCJRfjpZQQAAP914P8VWOFFAIXAdUSLNovGwfgFiwSFoNRNAIPmH8HmBo1EMASAIP7/FVjgRQCL8FboehT//1n/deD/FQzhRQCF9nWt6EEU///HAA0AAADroIP4AnUGgE3/QOsJg/gDdQSATf8I/3Xg/zboMpsAAIsGi9CD4B/B+gWLFJWg1E0AWcHgBlmKTf+AyQGITAIEiwaL0IPgH8H6BYsUlaDUTQDB4AaNRAIkgCCAiE39gGX9SIhN/3V+9sGAD4SnAgAA9kUQAnRvagJT/zbosxwAAIv4g8QMO/t1GejAE///gTiDAAAAdE//Nuh8cP//6f/+//9qAY1F/FD/NsZF/ADoXhUAAIPEDIXAdRmAffwadROLx5lSUP826K+2AACDxAw7w3TDagBqAP826FUcAACDxAw7w3Sx9kX/gA+EKAIAAL8AQAcAuQBAAACFfRB1D4tF3CPHdQUJTRDrAwlFEItFECPHO8F0RD0AAAEAdCk9AEABAHQiPQAAAgB0KT0AQAIAdCI9AAAEAHQHPQBABAB1HsZF/gHrGItNELgBAwAAI8g7yHUKxkX+AusExkX+APdFEAAABwAPhKwBAAAz//ZF/0CJfeQPhZ0BAACLRfS5AAAAwCPBPQAAAEAPhLAAAAA9AAAAgHRxO8EPhXkBAACLReg7xw+GbgEAAIP4AnYOg/gEdiuD+AUPhVsBAAAPvkX+M/9ID4QeAQAASA+FRwEAAMdF5P/+AABqAukSAQAAagJXV/826AKkAACDxBALwnTMV1dX/zbo8aMAACPCg8QQO8MPhI/+//9qA41F5FD/Nuj9EwAAg8QMO8MPhHf+//+D+AJ0aoP4Aw+FrAAAAIF95O+7vwB1WMZF/gHp2AAAAItF6DvHD4bNAAAAg/gCD4Zp////g/gED4dX////agJXV/826ISjAACDxBALwg+ESv///1dXV/826G+jAACDxBAjwjvDD4WOAAAA6Qj+//+LReQl//8AAD3+/wAAdRr/Nuh1bv//WeiREf//ahZeiTCJdfjpXwEAAD3//gAAdRtXagL/NuhrGgAAg8QMO8MPhMP9///GRf4C6z5XV/826FEaAACDxAzrmsdF5O+7vwBqA1uLwyvHUI1EPeRQ/zboT6T//4PEDIP4/w+EiP3//wP4O99/3YPL/4sGi8jB+QWLDI2g1E0Ag+AfweAGjUQBJIoIMk3+gOF/MAiLBovIwfkFiwyNoNRNAIPgH8HgBo1EASSLTRCKEMHpEMDhB4DifwrKgH39AIgIdSH2RRAIdBuLBovIg+AfwfkFiwyNoNRNAMHgBo1EAQSACCCLTfS4AAAAwCPIO8h1fvZFEAF0eP914P8VDOFFAGoA/3XwjUXQagNQ/3Xsi0X0Jf///39Q/3UM/xXw4UUAO8N1NP8VWOBFAFDoihD//4sGi8iD4B/B+QWLDI2g1E0AweAGjUQBBIAg/v826NqXAABZ6aL7//+LNovOwfkFiwyNoNRNAIPmH8HmBokEDotF+OlW+v//U1NTU1PomZr//8xqFGhgmU0A6FGT//8z/4l95DPAi3UYO/cPlcA7x3UT6O4P//9qFl6JMOi8mv//i8brWYMO/zPAOX0ID5XAO8d03jl9HHQPi0UUJX/+///32BvAQHTKiX38/3UU/3UQ/3UM/3UIjUXkUIvG6F34//+DxBSJReDHRfz+////6BUAAACLReA7x3QDgw7/6BKT///DM/+LdRg5feR0KDl94HQbiwaLyMH5BYPgH8HgBosMjaDUTQCNRAEEgCD+/zbodpgAAFnDi/9Vi+xqAf91CP91GP91FP91EP91DOgh////g8QYXcOL/1WL7IsGOUUIdUaLD2oCUDtNDHUr6ECa//9ZWYkHhcB1BDPAXcOLRRDHAAEAAAD/Nv91DP836J3k/v+DxAzrD1Horpr//4PEDIXAdNWJB9EmM8BAXcOL/1WL7A+2RQhQ6D0C//+FwA++RQhZdQaD4N+D6Addw/9KBHgJiwoPtgFBiQrDUuhvsf//WcOL/1WL7FOLVQj/Buja////i9iD+/90Dg+2w1Do+wL//1mFwHXhi8NbXcOL/1WL7IHsAAIAAKHwsk0AM8WJRfyLTRSLRQhWi3UMVzP/iY0Y/v//jY18/v//iYVc/v//iY1Q/v//x4Uk/v//XgEAAIm9MP7//4m9FP7//4m9bP7//zv3dRjoGA7//8cAFgAAAOjlmP//g8j/6YQPAAA7x3Tk9kAMQFN1clDokPX+/1m6ULZNAIP4/3Qbg/j+dBaLyIPhH4vYwfsFweEGAwydoNRNAOsCi8r2QSR/dSaD+P90GYP4/nQUi8iD4B/B+QXB4AYDBI2g1E0A6wKLwvZAJIB0GOibDf//xwAWAAAA6GiY//+DyP/pBg8AAP91EI2NBP7//+iT/v7/igbGhVv+//8Aib10/v//ib00/v//hMAPhMIOAACL/g+2wFDozAH//1mFwHQ//7Vc/v///410/v//jbV0/v//6JX+//9Zg/j/dA7/tVz+//9Q6CwZ//9ZWUcPtgdQ6JIB//9ZhcB18enrDQAAigc8JQ+Faw0AADhHAQ+EWA0AADPAiYUc/v//iIUv/v//iYVU/v//iYVI/v//iYVk/v//iIVY/v//iIVZ/v//iIVj/v//iIVz/v//iIVa/v//iIVr/v//xoV7/v//AYmFKP7//zP2Rw+2Hw+2w1DoEAD//1mFwHQei4Vk/v///4VI/v//a8AKjUQY0ImFZP7//+nFAAAAg/tOD4+DAAAAD4S2AAAAg/sqdHCD+0YPhKgAAACD+0l0EIP7THV0/oV7/v//6ZMAAACKTwGA+TZ1Ho1HAoA4NHUW/4Uo/v//i/iJtTj+//+JtTz+///rbYD5M3UMjUcCgDgydQSL+OtcgPlkdFeA+Wl0UoD5b3RNgPl4dEiA+Vh1GetB/oVj/v//6zmD+2h0KIP7bHQNg/t3dBb+hXP+///rIo1HAYA4bHSX/oV7/v///oVr/v//6wz+jXv+///+jWv+//+AvXP+//8AD4T+/v//gL1j/v//AIm9RP7//3UZi4UY/v//izCJhQD+//+DwASJhRj+///rAjP2gL1r/v//AIm1QP7//8aFc/7//wB1GIoHPFN0C8aFa/7///88Q3UHxoVr/v//AQ+2H4PLIImdTP7//4P7bnRKg/tjdBmD+3t0FP+1XP7//421dP7//+iB/P//WesRi5Vc/v///4V0/v//6Ff8//+JhWz+//+D+P8PhBwMAACLtUD+//+LvUT+//+LjUj+//+FyXQNg71k/v//AA+ExQsAAIP7bw+PhAUAAA+EXwgAAIP7Yw+EFQQAAGpkWDvYD4RLCAAAD46OBQAAg/tnfkeD+2l0IYP7bg+FewUAAIC9Y/7//wCLvXT+//8PhKkKAADp0AoAAImFTP7//4udbP7//4P7LQ+FhgYAAMaFWf7//wHpfwYAADPbg71s/v//LXUMi4VQ/v//xgAtQ+sJg71s/v//K3Ud/41k/v//i5Vc/v///4V0/v//6Hn7//+JhWz+//+DvUj+//8AdQeDjWT+////D7aFbP7//+tri4Vk/v///41k/v//hcB0ZoqFbP7//4uNUP7///+FVP7//4gEC42FMP7//1CNhXz+//9QQ1ONvVD+//+NtST+///onfr//4PEDIXAD4TdCgAAi5Vc/v///4V0/v//6Pj6//+JhWz+//8PtsBQ6BX9/v9ZhcB1iouFBP7//4uAvAAAAIsAigCIhVj+//86hWz+//8PheUAAACLhWT+////jWT+//+FwA+E0QAAAIuVXP7///+FdP7//+id+v//i41Q/v//iYVs/v//ioVY/v//iAQLjYUw/v//UI2FfP7//1BDU429UP7//421JP7//+jw+f//g8QMhcAPhDAKAAAPtoVs/v//62uLhWT+////jWT+//+FwHRmi4VQ/v//io1s/v///4VU/v//iAwDjYUw/v//UI2FfP7//1BDU429UP7//421JP7//+iW+f//g8QMhcAPhNYJAACLlVz+////hXT+///o8fn//4mFbP7//w+2wFDoDvz+/1mFwHWKg71U/v//AA+EXwEAAIO9bP7//2V0DYO9bP7//0UPhUkBAACLhWT+////jWT+//+FwA+ENQEAAIuFUP7//8YEA2WNhTD+//9QjYV8/v//UENTjb1Q/v//jbUk/v//6AT5//+DxAyFwA+ERAkAAIuVXP7///+FdP7//+hf+f//iYVs/v//g/gtdSyLhVD+///GBAMtjYUw/v//UI2FfP7//1BDU+i++P//g8QMhcAPhP4IAADrCYO9bP7//yt1L4uFZP7///+NZP7//4XAdQghhWT+///rF4uVXP7///+FdP7//+j2+P//iYVs/v//D7aFbP7//+tri4Vk/v///41k/v//hcB0ZouFUP7//4qNbP7///+FVP7//4gMA42FMP7//1CNhXz+//9QQ1ONvVD+//+NtST+///oKvj//4PEDIXAD4RqCAAAi5Vc/v///4V0/v//6IX4//+JhWz+//8PtsBQ6KL6/v9ZhcB1iv+NdP7//4O9bP7///90E/+1XP7///+1bP7//+gQE///WVmDvVT+//8AD4QWCAAAgL1j/v//AA+FNAcAAIuFUP7///+FNP7//42NBP7//1FQ/7VA/v//xgQDAA++hXv+//9IUP817LdNAP8V6OBFAP/Qg8QQ6fcGAACFyXUQ/4Vk/v//x4VI/v//AQAAAIC9a/7//wB+B8aFWv7//wH/jXT+//+DvWz+////i/50E/+1XP7///+1bP7//+hxEv//WVmDvUj+//8AdBSLhWT+////jWT+//+FwA+EigMAAIuVXP7///+FdP7//+iC9///iYVs/v//g/j/D4RRAwAAg/tjdEyD+3N1E4P4CXwJg/gND445AwAAg/ggdTSD+3sPhSsDAAAPvp1Y/v//M9KLyIPhB0LT4ovIwfkDD75MDdwzy4udTP7//4XRD4QAAwAAgL1j/v//AA+F7QIAAIC9Wv7//wAPhNICAACIhSD+//8PtsBQ6FJLAABZhcB0F4uVXP7///+FdP7//+jj9v//iIUh/v//jYUE/v//UIuFBP7//8eFFP7//z8AAAD/sKwAAACNhSD+//9QjYUU/v//UOjklQAAZouFFP7//4PEEGaJBoPGAullAgAAi8OD6HAPhM8CAACD6AMPhKD+//9ISA+ExQIAAIPoAw+EqPr//4PoA3QzD7YHO4Vs/v//D4X/BQAA/o1b/v//gL1j/v//AA+FSwUAAIuFAP7//4mFGP7//+k6BQAAgL1r/v//AH4HxoVa/v//AYB/AV6NdwF1Co13AsaFWP7///9qII1F3GoAUOit8/7/g8QMgD5ddQyyXUbGRecg6Z4AAACKlS/+///pkwAAAEY8LXVxhNJ0bYoOgPlddGZGOtFzCIiNe/7//+sIiJV7/v//itE6lXv+//9zLIqFe/7//yrCD7b6D7bQi8+D4QeLx7MB0uPB6AONRAXcCBhHSnXoi51M/v//D7aNe/7//4vBg+EHsgHS4sHoA41EBdwIEDLS6x0PtsiK0IvBg+EHswHS48HoA41EBdwIGIudTP7//4oGPF0PhWP///+EwA+EGwUAAIm1RP7//4u1QP7//+li/f//g/srdS7/jWT+//91DYXJdAnGhXP+//8B6xmLlVz+////hXT+///oC/X//4vYiZ1s/v//g/swD4WKAQAAi5Vc/v///4V0/v//6On0//+L2ImdbP7//4D7eHRfgPtYdFqDvUz+//94x4VU/v//AQAAAHQmg71I/v//AHQO/41k/v//dQb+hXP+///HhUz+//9vAAAA6S4BAAD/jXT+//+D+/90Dv+1XP7//1PoRg///1lZajBb6QcBAACLlVz+////hXT+///obPT//4O9SP7//wCL2ImdbP7//3QWg61k/v//AoO9ZP7//wF9Bv6Fc/7//8eFTP7//3gAAADpxgAAAIgGRom1QP7//+l4/P//R+ly/P///410/v//g/j/dA7/tVz+//9Q6MoO//9ZWTv+D4TVAwAAgL1j/v//AA+F8wIAAP+FNP7//4P7Yw+E5AIAAIC9Wv7//wB0EIuNQP7//zPAZokB6csCAACLhUD+///GAADpvQIAAMaFe/7//wGLnWz+//+D+y11CcaFWf7//wHrBYP7K3Uu/41k/v//dQ2FyXQJxoVz/v//AesZi5Vc/v///4V0/v//6Hjz//+L2ImdbP7//4O9KP7//wAPhDwBAACAvXP+//8AD4X4AAAAg71M/v//eHRdg71M/v//cHRUD7bDUOhn9f7/WYXAD4S7AAAAg71M/v//b3Ueg/s4D42pAAAAi7U4/v//i708/v//D6T3A8HmA+tLagBqCv+1PP7///+1OP7//+hodf//i/CL+uswD7bDUOiX9f7/WYXAdGuLtTj+//+LvTz+//8PpPcEU8HmBOip8v//i9hZiZ1s/v///4VU/v//jUPQmQPwE/qDvUj+//8AibU4/v//ib08/v//dAj/jWT+//90N4uVXP7///+FdP7/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GAEAAFBqTlONRfRqAlDoxlv//wv4jYYcAQAAUGpPU2oCjUX0UOivW///C/iNhiABAABQajhTjUX0agJQ6Jhb//8L+I2GJAEAAFBqOVONRfRqAlDogVv//4PEUAv4jYYoAQAAUGo6U41F9GoCUOhnW///C/iNhiwBAABQajtTjUX0agJQ6FBb//8L+I2GMAEAAFBqPFONRfRqAlDoOVv//wv4jYY0AQAAUGo9U41F9GoCUOgiW///g8RQC/iNhjgBAABQaj5TjUX0agJQ6Ahb//8L+I2GPAEAAFBqP1ONRfRqAlDo8Vr//wv4jYZAAQAAUGpAU41F9GoCUOjaWv//C/iNhkQBAABQakFTjUX0agJQ6MNa//+DxFAL+I2GSAEAAFBqQlONRfRqAlDoqVr//wv4jYZMAQAAUGpDU41F9GoCUOiSWv//C/iNhlABAABQaihTjUX0agJQ6Hta//8L+I2GVAEAAFBqKVNqAluNRfRTUOhiWv//g8RQC/iNhlgBAABQah//dfyNRfRTUOhHWv//C/iNhlwBAABQaiD/dfyNRfRTUOgvWv//gcZgAQAAVmgDEAAA/3X8C/iNRfRTUOgUWv//g8Q8C8dfXlvJw4v/VYvsVot1CIX2D4RjAwAA/3YE6CSH/v//dgjoHIf+//92DOgUh/7//3YQ6AyH/v//dhToBIf+//92GOj8hv7//zbo9Yb+//92IOjthv7//3Yk6OWG/v//dijo3Yb+//92LOjVhv7//3Yw6M2G/v//djToxYb+//92HOi9hv7//3Y46LWG/v//djzorYb+/4PEQP92QOiihv7//3ZE6JqG/v//dkjokob+//92TOiKhv7//3ZQ6IKG/v//dlToeob+//92WOhyhv7//3Zc6GqG/v//dmDoYob+//92ZOhahv7//3Zo6FKG/v//dmzoSob+//92cOhChv7//3Z06DqG/v//dnjoMob+//92fOgqhv7/g8RA/7aAAAAA6ByG/v//toQAAADoEYb+//+2iAAAAOgGhv7//7aMAAAA6PuF/v//tpAAAADo8IX+//+2lAAAAOjlhf7//7aYAAAA6NqF/v//tpwAAADoz4X+//+2oAAAAOjEhf7//7akAAAA6LmF/v//tqgAAADoroX+//+2vAAAAOijhf7//7bAAAAA6JiF/v//tsQAAADojYX+//+2yAAA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3zFAADTlRQAWO0AALOVFAIg2QAAk5UUAeDlAABzlRQDJOkAAAAAAAAAAAAAU5UUACOVFAADlRQD45EUA8ORFAMg+QADo5EUA8T1AABTlRQBbP0AA4ORFAPk8QADY5EUAID9AANDkRQBCP0AAAAAAAAAAAAAndG9zdHJpbmcnIG11c3QgcmV0dXJuIGEgc3RyaW5nIHRvICdwcmludCcAAAkAAAAAAAAAAADwQWJhc2Ugb3V0IG9mIHJhbmdlAAAAX19tZXRhdGFibGUAY2Fubm90IGNoYW5nZSBhIHByb3RlY3RlZCBtZXRhdGFibGUAbmlsIG9yIHRhYmxlIGV4cGVjdGVkAAAAbm8gZnVuY3Rpb24gZW52aXJvbm1lbnQgZm9yIHRhaWwgY2FsbCBhdCBsZXZlbCAlZAAAAGYAAABpbnZhbGlkIGxldmVsAAAAbGV2ZWwgbXVzdCBiZSBub24tbmVnYXRpdmUAACdzZXRmZW52JyBjYW5ub3QgY2hhbmdlIGVudmlyb25tZW50IG9mIGdpdmVuIG9iamVjdAAAAAAAAAAAAAAAUD9yZWFkZXIgZnVuY3Rpb24gbXVzdCByZXR1cm4gYSBzdHJpbmcAAAAAdG9vIG1hbnkgbmVzdGVkIGZ1bmN0aW9ucwAAAD0obG9hZCkAJXMAAGFzc2VydGlvbiBmYWlsZWQhAAAAdG9vIG1hbnkgcmVzdWx0cyB0byB1bnBhY2sAAGluZGV4IG91dCBvZiByYW5nZQAAbmlsAGZhbHNlAAAAdHJ1ZQAAAAAlczogJXAAAF9fdG9zdHJpbmcAAGJvb2xlYW4gb3IgcHJveHkgZXhwZWN0ZWQAAABjb3JvdXRpbmUgZXhwZWN0ZWQAAHRvbyBtYW55IHJlc3VsdHMgdG8gcmVzdW1lAABjYW5ub3QgcmVzdW1lICVzIGNvcm91dGluZQAAdG9vIG1hbnkgYXJndW1lbnRzIHRvIHJlc3VtZQAAAABMdWEgZnVuY3Rpb24gZXhwZWN0ZWQAAABuZXdwcm94eQAAAABfX21vZGUAAGt2AABwYWlycwAAAGlwYWlycwAAX1ZFUlNJT04AAAAATHVhIDUuMQBfRwAAY29yb3V0aW5lAAAAY29udHJvbCBzdHJ1Y3R1cmUgdG9vIGxvbmcAAGZ1bmN0aW9uIG9yIGV4cHJlc3Npb24gdG9vIGNvbXBsZXgAAGNvbnN0YW50IHRhYmxlIG92ZXJmbG93AGNvZGUgc2l6ZSBvdmVyZmxvdwAAc2V0dXB2YWx1ZQAAc2V0bG9jYWwAAAAAc2V0aG9vawBnZXR1cHZhbHVlAABnZXRyZWdpc3RyeQBnZXRsb2NhbAAAAABnZXRpbmZvAGdldGhvb2sAdGFpbCByZXR1cm4AbGluZQAAAAByZXR1cm4AAGNhbGwAAAAAAAAAAGgAAABM60UAROtFADzrRQAg5kUAMOtFADzjRQByWkAAyOVFAPpSQAAo60UAq1lAACDrRQDUU0AAFOtFAOFVQAAI60UAbVJAALjlRQCEUkAA/OpFAKJXQABc5UUADlNAAPTqRQDtWEAA6OpFAJNWQABM5UUAsFJAANzqRQC0V0AAMONFAJ1bQAAAAAAAAAAAAGZ1bmN0aW9uIG9yIGxldmVsIGV4cGVjdGVkAABmdW5jAAAAAGFjdGl2ZWxpbmVzAG5hbWV3aGF0AAAAAG5hbWUAAAAAbnVwcwAAAABjdXJyZW50bGluZQB3aGF0AAAAAGxhc3RsaW5lZGVmaW5lZABsaW5lZGVmaW5lZABzaG9ydF9zcmMAAABzb3VyY2UAAGludmFsaWQgb3B0aW9uAAA+JXMAZmxuU3UAAABsZXZlbCBvdXQgb2YgcmFuZ2UAAGV4dGVybmFsIGhvb2sAAAA9KGRlYnVnIGNvbW1hbmQpAAAAAGNvbnQKAAAAbHVhX2RlYnVnPiAAID8AACBpbiBmdW5jdGlvbiA8JXM6JWQ+AAAAACBpbiBtYWluIGNodW5rAAAgaW4gZnVuY3Rpb24gJyVzJwAAACVkOgAlczoAU25sAAoJAAAKCS4uLgAAAHN0YWNrIHRyYWNlYmFjazoAAAAAKCp0ZW1wb3JhcnkpAAAAAEx1YQBtYWluAAAAAEMAAAA9W0NdAAAAAHRhaWwAAAAAPSh0YWlsIGNhbGwpAAAAAHVwdmFsdWUAZ2xvYmFsAABmaWVsZAAAAGxvY2FsAAAAbWV0aG9kAAAlczolZDogJXMAAABhdHRlbXB0IHRvICVzIGEgJXMgdmFsdWUAAAAAYXR0ZW1wdCB0byAlcyAlcyAnJXMnIChhICVzIHZhbHVlKQAAY29uY2F0ZW5hdGUAcGVyZm9ybSBhcml0aG1ldGljIG9uAAAA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b24gY2FsbCB4IG5ldyBzdGF0ZW1lbnQpAAAAAGZ1bmN0aW9uIGFyZ3VtZW50cyBleHBlY3RlZAB1bmV4cGVjdGVkIHN5bWJvbAAAAGNhbm5vdCB1c2UgJy4uLicgb3V0c2lkZSBhIHZhcmFyZyBmdW5jdGlvbgAAdmFyaWFibGVzIGluIGFzc2lnbm1lbnQAc3ludGF4IGVycm9yAAAAAG5vIGxvb3AgdG8gYnJlYWsAAAAAKGZvciBzdGVwKQAAKGZvciBsaW1pdCkAKGZvciBpbmRleCkAKGZvciBjb250cm9sKQAAAChmb3Igc3RhdGUpAChmb3IgZ2VuZXJhdG9yKQAnPScgb3IgJ2luJyBleHBlY3RlZAAAAAB1cHBlcgAAAHN1YgByZXZlcnNlAHJlcABsb3dlcgAAAGxlbgBnc3ViAAAAAGdtYXRjaAAAZ2ZpbmQAAABmb3JtYXQAAGZpbmQAAAAAZHVtcAAAAABjaGFyAAAAAGJ5dGUAAAAAMAFGAB7pQAAoAUYA4ulAACABRgCp6kAAGAFGAHPzQAAQAUYAf/lAAAgBRgC09EAAAAFGAHP0QAD4AEYASvZAAPQARgAa5kAA7ABGAG7nQAC84kUAg/NAAOgARgCk6EAA4ABGANHmQADcAEYAP+ZAANQARgAJ6EAAAAAAAAAAAABzdHJpbmcgc2xpY2UgdG9vIGxvbmcAAABpbnZhbGlkIHZhbHVlAAAAdW5hYmxlIHRvIGR1bXAgZ2l2ZW4gZnVuY3Rpb24AAABpbnZhbGlkIGNhcHR1cmUgaW5kZXgAAABpbnZhbGlkIHBhdHRlcm4gY2FwdHVyZQBtYWxmb3JtZWQgcGF0dGVybiAoZW5kcyB3aXRoICclJScpAABtYWxmb3JtZWQgcGF0dGVybiAobWlzc2luZyAnXScpAHVuYmFsYW5jZWQgcGF0dGVybgAAdG9vIG1hbnkgY2FwdHVyZXMAAABtaXNzaW5nICdbJyBhZnRlciAnJSVmJyBpbiBwYXR0ZXJuAAB1bmZpbmlzaGVkIGNhcHR1cmUAAF4kKis/LihbJS0AACdzdHJpbmcuZ2ZpbmQnIHdhcyByZW5hbWVkIHRvICdzdHJpbmcuZ21hdGNoJwAAAGludmFsaWQgcmVwbGFjZW1lbnQgdmFsdWUgKGEgJXMpAAAAAHN0cmluZy9mdW5jdGlvbi90YWJsZSBleHBlY3RlZAAAXDAwMAAAAABccgAAaW52YWxpZCBmb3JtYXQgKHdpZHRoIG9yIHByZWNpc2lvbiB0b28gbG9uZykAAAAAaW52YWxpZCBmb3JtYXQgKHJlcGVhdGVkIGZsYWdzKQAtKyAjMAAAAGludmFsaWQgb3B0aW9uICclJSVjJyB0byAnZm9ybWF0JwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGludmFsaWQga2V5IHRvICduZXh0JwAAAHRhYmxlIG92ZXJmbG93AAB0YWJsZSBpbmRleCBpcyBOYU4AAHRhYmxlIGluZGV4IGlzIG5pbAAAc29ydAAAAABzZXRuAAAAAGluc2VydAAAbWF4bgAAAABnZXRuAAAAAGZvcmVhY2hpAAAAAGZvcmVhY2gAY29uY2F0AAAAAAAAjARGAL4JQQCEBEYABQdBAHgERgCHBkEAcARGAAgIQQBoBEYAgwdBAGAERgBgCEEAyPxFAO4IQQBYBEYAMghBAFAERgBKDUEAAAAAAAAAAAAnc2V0bicgaXMgb2Jzb2xldGUAAHdyb25nIG51bWJlciBvZiBhcmd1bWVudHMgdG8gJ2luc2VydCcAAABpbnZhbGlkIHZhbHVlICglcykgYXQgaW5kZXggJWQgaW4gdGFibGUgZm9yICdjb25jYXQnAAAAAGludmFsaWQgb3JkZXIgZnVuY3Rpb24gZm9yIHNvcnRpbmcAAF9fY2FsbAAAX19jb25jYXQAAAAAX19sZQAAAABfX2x0AAAAAF9fbGVuAAAAX191bm0AAABfX3BvdwAAAF9fbW9kAAAAX19kaXYAAABfX211bAAAAF9fc3ViAAAAX19hZGQAAABfX2VxAAAAAF9fbmV3aW5kZXgAAHVwdmFsAAAAcHJvdG8AAAB0aHJlYWQAAG51bWJlcgAAdXNlcmRhdGEAAAAAYm9vbGVhbgAAAAAAXOlFACQGRgAYBkYAEAZGAMTiRQAk70UAaPJFABgGRgAIBkYAAAZGAPgFRgAAAAAA2PFFAOwFRgDU4kUAMOpFAOQFRgDcBUYA1AVGAMwFRgDEBUYAvAVGALQFRgCsBUYApAVGAJwFRgCUBUYAiAVGAIAFRgAlczogJXMgaW4gcHJlY29tcGlsZWQgY2h1bmsAdW5leHBlY3RlZCBlbmQAAGJhZCBpbnRlZ2VyAGJhZCBjb25zdGFudAAAAABiYWQgY29kZQAAAABjb2RlIHRvbyBkZWVwAAAAYmFkIGhlYWRlcgAAPT8AAGJpbmFyeSBzdHJpbmcAAABsb29wIGluIGdldHRhYmxlAAAAAGluZGV4AAAAbG9vcCBpbiBzZXR0YWJsZQAAAABzdHJpbmcgbGVuZ3RoIG92ZXJmbG93AAAnZm9yJyBzdGVwIG11c3QgYmUgYSBudW1iZXIAJ2ZvcicgbGltaXQgbXVzdCBiZSBhIG51bWJlcgAAAAAnZm9yJyBpbml0aWFsIHZhbHVlIG11c3QgYmUgYSBudW1iZXIAAAAAZ2V0IGxlbmd0aCBvZgAAACVzOiVkOiAAU2wAAHN0YWNrIG92ZXJmbG93ICglcykAY2Fubm90ICVzICVzOiAlcwAAAABAJXMAcmVvcGVuAAByYgAAUEFOSUM6IHVucHJvdGVjdGVkIGVycm9yIGluIGNhbGwgdG8gTHVhIEFQSSAoJXMpCgAAAF9TQ1JJUFRfRElSAF9TQ1JJUFQAYmFkIGFyZ3VtZW50ICMlZCB0byAnJXMnICglcykAAABjYWxsaW5nICclcycgb24gYmFkIHNlbGYgKCVzKQAAAG4AAABiYWQgYXJndW1lbnQgIyVkICglcykAAAAlcyBleHBlY3RlZCwgZ290ICVzAHZhbHVlIGV4cGVjdGVkAAA6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkAY2Fubm90IG9wZW4gAAAAAGludmFsaWQgb3B0aW9uICclcycAdW5hYmxlIHRvIHN3aXRjaCB0byBkaXJlY3RvcnkgJyVzJwAAdW5hYmxlIHRvIHNldCBtb2RlICVvIG9uICclcycsIGVycm5vICVkIDogJXMAAAAAdW5hYmxlIHRvIHdyaXRlIHRvICclcycAVW5hYmxlIHRvIGNvbXBpbGUgJyVzJzogJXMAAChlcnJvciB3aXRoIG5vIG1lc3NhZ2UpAHVuYWJsZSB0byBjb3B5IGZpbGUgdG8gJyVzJwBrZXJuZWwzMgAAAABHZXROYXRpdmVTeXN0ZW1JbmZvAFdpbmRvd3MAV2luZG93cyA4LjEAV2luZG93cyBTZXJ2ZXIgMjAxMiBSMgAAV2luZG93cyA4AAAAV2luZG93cyBTZXJ2ZXIgMjAxMgBXaW5kb3dzIDcAAABXaW5kb3dzIFNlcnZlciAyMDA4IFIyAABXaW5kb3dzIFNlcnZlciAyMDA4AFdpbmRvd3MgVmlzdGEAAABXaW5kb3dzIFNlcnZlciAyMDAzIFIyAABXaW5kb3dzIFNlcnZlciAyMDAzAFdpbmRvd3MgSG9tZSBTZXJ2ZXIAV2luZG93cyBYUCBQcm9mZXNzaW9uYWwgeDY0AFdpbmRvd3MgWFAAAFdpbmRvd3MgMjAwMAAAAABkZXNjcmlwdGlvbgByZXZpc2lvbgAAAABtaW5vcnZlcnNpb24AAAAAbWFqb3J2ZXJzaW9uAAAAAElzV293NjRQcm9jZXNzAAAvAAAAJC8AAHByZW1ha2UAdW5hYmxlIHRvIGNyZWF0ZSBkaXJlY3RvcnkgJyVzJwB1bmFibGUgdG8gZmV0Y2ggcmVhbCBwYXRoIG9mICclcycsIGVycm5vICVkIDogJXMAAAAAdW5hYmxlIHRvIHJlbW92ZSBkaXJlY3RvcnkgJyVzJwBzaXplAAAAAG10aW1lAAAAJyVzJyB3YXMgbm90IGZvdW5kAAAnJXMnIGNvdWxkIG5vdCBiZSBhY2Nlc3NlZAAAQW4gIHVua25vd24gZXJyb3IgJWQgb2NjdXJlZCB3aGlsZSBhY2Nlc3NpbmcgJyVzJwAAACUwMlglMDJYJTAyWCUwMlgtJTAyWCUwMlgtJTAyWCUwMlgtJTAyWCUwMlgtJTAyWCUwMlglMDJYJTAyWCUwMlglMDJYAAAAAHVuYWJsZSB0byB3cml0ZSBmaWxlIHRvICclcycAAAAALi4vACoqAAAuLwAAbm9ybWFsaXplAAAAV2lsZGNhcmRzIGV4cGFuc2lvbiB0b28gYmlnLgAAAABleHRyYWN0AGRvd25sb2FkAAAAAGdldAB3cml0ZWxuAG5ldwBzdGFydHN3aXRoAABzaGExAAAAAGhhc2gAAAAAZW5kc3dpdGgAAAAAY29tcGlsZQB3cml0ZWZpbGVfaWZub3RlcXVhbAAAAAB1dWlkAAAAAHN0YXQAAAAAcm1kaXIAAAByZWFscGF0aAAAAABwYXRoc2VhcmNoAABta2RpcgAAAG1hdGNoc3RhcnQAAG1hdGNobmV4dAAAAG1hdGNobmFtZQAAAG1hdGNoaXNmaWxlAG1hdGNoZG9uZQAAAGxvY2F0ZQAAaXNsaW5rAABpc2ZpbGUAAGdldHZlcnNpb24AAGdldGN3ZAAAaXNkaXIAAABfaXM2NGJpdAAAAABjb3B5ZmlsZQAAAABjaG1vZAAAAGNoZGlyAAAAd2lsZGNhcmRzAAAAdHJhbnNsYXRlAAAAam9pbgAAAABpc2Fic29sdXRlAABnZXRyZWxhdGl2ZQBnZXRhYnNvbHV0ZQBwcm9tcHQAAG1hdGNoZXMAX2RlbGV0ZQBfY29tcGlsZQAAAAAAAAAAkA5GACwWQACIDkYAqhJAAIAORgA8FEAAAAAAAAAAAAB4DkYApxpAAAAAAAAAAAAAbA5GADJOQQBgDkYARE9BAFQORgB6UUEATA5GAKBRQQDMDEYA2FRBAEAORgBvVkEANA5GAK5XQQAAAAAAAAAAACwORgCvPEEAJA5GAPw8QQAYDkYAnT5BAAwORgAMQkEABA5GAFpCQQD8DUYAKD9BAPANRgBFQUEA6A1GAPdCQQDgDUYAHUNBANgNRgCYQ0EAzA1GALZEQQDADUYAA0VBALQNRgDiREEAqA1GACxFQQCcDUYAbkRBAJQNRgBLRkEAiA1GAFNHQQB8DUYAt0dBAHQNRgBVSEEAbA1GAKJIQQBkDUYAe0lBAEwNRgCGS0EARA1GALg9QQAAAAAAAAAAADgNRgCYX0EAMA1GAFtgQQAoDUYAEWNBABwNRgDDY0EAAAAAAAAAAAAYDUYAABBAAJDvRQCdEEAAEA1GANEQQAA05UUAQRFAAMjvRQAbEUAAAAAAAAAAAAAMDUYAcB5AAAANRgBzH0AAAAAAAAAAAAD4DEYAbGhBAAAAAAAAAAAAX1dPUktJTkdfRElSAAAAAF9VU0VSX0hPTUVfRElSAAB+AAAAVVNFUlBST0ZJTEUASE9NRQAAAABfT1MAd2luZG93cwBfUFJFTUFLRV9VUkwAAAAAaHR0cHM6Ly9naXRodWIuY29tL3ByZW1ha2UvcHJlbWFrZS1jb3JlL3dpa2kAAAAAX1BSRU1BS0VfQ09QWVJJR0hUAABDb3B5cmlnaHQgKEMpIDIwMDItMjAxNiBKYXNvbiBQZXJraW5zIGFuZCB0aGUgUHJlbWFrZSBQcm9qZWN0AAAAX1BSRU1BS0VfVkVSU0lPTgAAAAA1LjAuMC1hbHBoYTgAAAAAX0NPUFlSSUdIVAAAQ29weXJpZ2h0IChDKSAxOTk0LTIwMDggTHVhLm9yZywgUFVDLVJpbwAAAAB6aXAAaHR0cAAAAABidWZmZXJlZAAAAABjcml0ZXJpYQAAAABQQVRIAAAAADsvdXNyL2xvY2FsL3NoYXJlL3ByZW1ha2U7L3Vzci9zaGFyZS9wcmVtYWtlAAAAAC8ucHJlbWFrZQAAAFBSRU1BS0VfUEFUSAAAAAA7AAAAX0FSR1YAAAAtLXNjcmlwdHM9AAAvc2NyaXB0cz0AAABfcHJlbWFrZV9tYWluAAAARXJyb3I6ICVzCgAAX1BSRU1BS0VfQ09NTUFORAAAAABzcmMvX3ByZW1ha2VfbWFpbi5sdWEAAAAwMTIzNDU2Nzg5QUJDREVGAAAAAEVycm9yIGNyZWF0aW5nIGZpbGU6CiAgJXMKAAAgIFdyaXRpbmcgZGF0YSB0byAlcyBmYWlsZWQKICAgJWQgYnl0ZXMgd2VyZSB3cml0dGVuCiAgICAlZCBieXRlcyB3ZXJlIGF0dGVtcHRlZCB0byBiZSB3cml0dGVuCiAgICBGaWxlIG1heSBiZSBjb3JydXB0CgAgIEZhaWxlZCB0byBjcmVhdGUgc3ltYm9saWMgbGluayBbJXMtPiVzXQoAACVzLyVzAAAAJXMgZG9lcyBub3QgZXhpc3QKAABzcmMvX21vZHVsZXMubHVhAAAAAHNyYy9fbWFuaWZlc3QubHVhAAAAeGNvZGUveGNvZGVfcHJvamVjdC5sdWEAeGNvZGUveGNvZGVfY29tbW9uLmx1YQAAeGNvZGUveGNvZGU0X3dvcmtzcGFjZS5sdWEAAHhjb2RlL3hjb2RlLmx1YQB4Y29kZS9fcHJlbG9hZC5sdWEAAG1vbm9kZXZlbG9wL21vbm9kZXZlbG9wX2Nwcm9qLmx1YQAAAG1vbm9kZXZlbG9wL21vbm9kZXZlbG9wLmx1YQBtb25vZGV2ZWxvcC9fcHJlbG9hZC5sdWEAAAAAZC90b29scy9sZGMubHVhAGQvdG9vbHMvZ2RjLmx1YQBkL3Rvb2xzL2RtZC5sdWEAZC9hY3Rpb25zL3ZzdHVkaW8ubHVhAAAAZC9hY3Rpb25zL21vbm9kZXYubHVhAAAAZC9hY3Rpb25zL2dtYWtlLmx1YQBkL2QubHVhAGQvX3ByZWxvYWQubHVhAABjb2RlbGl0ZS9jb2RlbGl0ZV9wcm9qZWN0Lmx1YQAAAGNvZGVsaXRlL2NvZGVsaXRlX3dvcmtzcGFjZS5sdWEAY29kZWxpdGUvY29kZWxpdGUubHVhAAAAY29kZWxpdGUvX3ByZWxvYWQubHVhAAAAc3JjL19wcmVtYWtlX2luaXQubHVhAAAAc3JjL2FjdGlvbnMvY2xlYW4vX2NsZWFuLmx1YQAAAABzcmMvYWN0aW9ucy92c3R1ZGlvL3ZzMjAxNS5sdWEAAHNyYy9hY3Rpb25zL3ZzdHVkaW8vdnMyMDEzLmx1YQAAc3JjL2FjdGlvbnMvdnN0dWRpby92czIwMTIubHVhAABzcmMvYWN0aW9ucy92c3R1ZGlvL3ZzMjAxMF9ydWxlc194bWwubHVhAAAAAHNyYy9hY3Rpb25zL3ZzdHVkaW8vdnMyMDEwX3J1bGVzX3RhcmdldHMubHVhAAAAAHNyYy9hY3Rpb25zL3ZzdHVkaW8vdnMyMDEwX3J1bGVzX3Byb3BzLmx1YQAAc3JjL2FjdGlvbnMvdnN0dWRpby92czIwMTBfdmN4cHJval9maWx0ZXJzLmx1YQAAc3JjL2FjdGlvbnMvdnN0dWRpby92czIwMTBfdmN4cHJval91c2VyLmx1YQBzcmMvYWN0aW9ucy92c3R1ZGlvL3ZzMjAxMF92Y3hwcm9qLmx1YQAAc3JjL2FjdGlvbnMvdnN0dWRpby92czIwMTAubHVhAABzcmMvYWN0aW9ucy92c3R1ZGlvL3ZzMjAwNV9jc3Byb2pfdXNlci5sdWEAAHNyYy9hY3Rpb25zL3ZzdHVkaW8vdnMyMDA1X2NzcHJvai5sdWEAAABzcmMvYWN0aW9ucy92c3R1ZGlvL3ZzMjAwNV9zb2x1dGlvbi5sdWEAc3JjL2FjdGlvbnMvdnN0dWRpby92czIwMHhfdmNwcm9qX3VzZXIubHVhAABzcmMvYWN0aW9ucy92c3R1ZGlvL3ZzMjAweF92Y3Byb2oubHVhAAAAc3JjL2FjdGlvbnMvdnN0dWRpby92czIwMDgubHVhAABzcmMvYWN0aW9ucy92c3R1ZGlvL3ZzMjAwNS5sdWEAAHNyYy9hY3Rpb25zL3ZzdHVkaW8vX3ZzdHVkaW8ubHVhAAAAAHNyYy9hY3Rpb25zL21ha2UvbWFrZV9tYWtlZmlsZS5sdWEAAHNyYy9hY3Rpb25zL21ha2UvbWFrZV91dGlsaXR5Lmx1YQAAAHNyYy9hY3Rpb25zL21ha2UvbWFrZV9jc2hhcnAubHVhAAAAAHNyYy9hY3Rpb25zL21ha2UvbWFrZV9jcHAubHVhAAAAc3JjL2FjdGlvbnMvbWFrZS9tYWtlX3dvcmtzcGFjZS5sdWEAc3JjL2FjdGlvbnMvbWFrZS9fbWFrZS5sdWEAAHNyYy90b29scy9jbGFuZy5sdWEAc3JjL3Rvb2xzL3NuYy5sdWEAAABzcmMvdG9vbHMvbXNjLmx1YQAAAHNyYy90b29scy9nY2MubHVhAAAAc3JjL3Rvb2xzL2RvdG5ldC5sdWEAAAAAc3JjL2Jhc2UvaGVscC5sdWEAAABzcmMvYmFzZS9wcmVtYWtlLmx1YQAAAABzcmMvYmFzZS92YWxpZGF0aW9uLmx1YQBzcmMvYmFzZS9vdmVuLmx1YQAAAHNyYy9iYXNlL3J1bGUubHVhAAAAc3JjL2Jhc2UvZmlsZWNvbmZpZy5sdWEAc3JjL2Jhc2UvY29uZmlnLmx1YQBzcmMvYmFzZS9wcm9qZWN0Lmx1YQAAAABzcmMvYmFzZS9ncm91cC5sdWEAAHNyYy9iYXNlL3dvcmtzcGFjZS5sdWEAAHNyYy9iYXNlL2dsb2JhbC5sdWEAc3JjL2Jhc2UvYXBpLmx1YQAAAABzcmMvYmFzZS9hY3Rpb24ubHVhAHNyYy9iYXNlL29wdGlvbi5sdWEAc3JjL2Jhc2UvY29udGFpbmVyLmx1YQAAc3JjL2Jhc2UvY29udGV4dC5sdWEAAAAAc3JjL2Jhc2UvY29uZmlnc2V0Lmx1YQAAc3JjL2Jhc2UvZGV0b2tlbi5sdWEAAAAAc3JjL2Jhc2UvY3JpdGVyaWEubHVhAAAAc3JjL2Jhc2UvZmllbGQubHVhAABzcmMvYmFzZS9zZW12ZXIubHVhAHNyYy9iYXNlL2dsb2JhbHMubHVhAAAAAHNyYy9iYXNlL3RyZWUubHVhAAAAc3JjL2Jhc2UvdG9vbHMubHVhAABzcmMvYmFzZS9pby5sdWEAc3JjL2Jhc2Uvb3MubHVhAHNyYy9iYXNlL3BhdGgubHVhAAAAc3JjL2Jhc2UvdGFibGUubHVhAABzcmMvYmFzZS9zdHJpbmcubHVhAHNyYy9iYXNlL19mb3VuZGF0aW9uLmx1YQAAAABwcmVtYWtlID0gcHJlbWFrZSBvciB7fQpwcmVtYWtlLl9WRVJTSU9OID0gX1BSRU1BS0VfVkVSU0lPTgpwYWNrYWdlLmxvYWRlZFsicHJlbWFrZSJdID0gcHJlbWFrZQpwcmVtYWtlLm1vZHVsZXMgPSB7fQpwcmVtYWtlLmV4dGVuc2lvbnMgPSBwcmVtYWtlLm1vZHVsZXMKbG9jYWwgc2VtdmVyID0gZG9maWxlKCdzZW12ZXIubHVhJykKbG9jYWwgcCA9IHByZW1ha2UKbG9jYWwgX3dhcm5pbmdzID0ge30KbG9jYWwgX2FsaWFzZXMgPSB7fQpwcmVtYWtlLkMgICAgICAgICAgID0gIkMiCnByZW1ha2UuQzcgICAgICAgICAgPSAiYzciCnByZW1ha2UuQ0xBTkcgICAgICAgPSAiY2xhbmciCnByZW1ha2UuQ09OU09MRUFQUCAgPSAiQ29uc29sZUFwcCIKcHJlbWFrZS5DUFAgICAgICAgICA9ICJDKysiCnByZW1ha2UuQ1NIQVJQICAgICAgPSAiQyMiCnByZW1ha2UuR0NDICAgICAgICAgPSAiZ2NjIgpwcmVtYWtlLkhBSUtVICAgICAgID0gImhhaWt1IgpwcmVtYWtlLkxJTlVYICAgICAgID0gImxpbnV4IgpwcmVtYWtlLk1BQ09TWCAgICAgID0gIm1hY29zeCIKcHJlbWFrZS5NQUtFRklMRSAgICA9ICJNYWtlZmlsZSIKcHJlbWFrZS5NQkNTICAgICAgICA9ICJNQkNTIgpwcmVtYWtlLk5PTkUgICAgICAgID0gIk5vbmUiCnByZW1ha2UuREVGQVVMVCAgICAgPSAiRGVmYXVsdCIKcHJlbWFrZS5PTiAgICAgICAgICA9ICJPbiIKcHJlbWFrZS5PRkYgICAgICAgICA9ICJPZmYiCnByZW1ha2UuUE9TSVggICAgICAgPSAicG9zaXgiCnByZW1ha2UuUFMzICAgICAgICAgPSAicHMzIgpwcmVtYWtlLlNIQVJFRExJQiAgID0gIlNoYXJlZExpYiIKcHJlbWFrZS5TVEFUSUNMSUIgICA9ICJTdGF0aWNMaWIiCnByZW1ha2UuVU5JQ09ERSAgICAgPSAiVW5pY29kZSIKcHJlbWFrZS5VTklWRVJTQUwgICA9ICJ1bml2ZXJzYWwiCnByZW1ha2UuVVRJTElUWSAgICAgPSAiVXRpbGl0eSIKcHJlbWFrZS5XSU5ET1dFREFQUCA9ICJXaW5kb3dlZEFwcCIKcHJlbWFrZS5XSU5ET1dTICAgICA9ICJ3aW5kb3dzIgpwcmVtYWtlLlg4NiAgICAgICAgID0gIng4NiIKcHJlbWFrZS5YODZfNjQgICAgICA9ICJ4ODZfNjQiCnByZW1ha2UuWEJPWDM2MCAgICAgPSAieGJveDM2MCIKZnVuY3Rpb24gcC5hbGlhcyhzY29wZSwgY2Fub25pY2FsLCBhbGlhcykKc2NvcGUsIGNhbm9uaWNhbCA9IHAucmVzb2x2ZUFsaWFzKHNjb3BlLCBjYW5vbmljYWwpCmlmIG5vdCBzY29wZVtjYW5vbmljYWxdIHRoZW4KZXJyb3IoInVuYWJsZSB0byBhbGlhcyAnIiAuLiBjYW5vbmljYWwgLi4gIic7IG5vIHN1Y2ggZnVuY3Rpb24iLCAyKQplbmQKX2FsaWFzZXNbc2NvcGVdID0gX2FsaWFzZXNbc2NvcGVdIG9yIHt9Cl9hbGlhc2VzW3Njb3BlXVthbGlhc10gPSBjYW5vbmljYWwKc2NvcGVbYWxpYXNdID0gZnVuY3Rpb24oLi4uKQpyZXR1cm4gc2NvcGVbY2Fub25pY2FsXSguLi4pCmVuZAplbmQKZnVuY3Rpb24gcHJlbWFrZS5jYWxsQXJyYXkoZnVuY3MsIC4uLikKaWYgdHlwZShmdW5jcykgPT0gImZ1bmN0aW9uIiB0aGVuCmZ1bmNzID0gZnVuY3MoLi4uKQplbmQKZm9yIGkgPSAxLCAjZnVuY3MgZG8KZnVuY3NbaV0oLi4uKQplbmQKZW5kCmZ1bmN0aW9uIHByZW1ha2UuY2FsbGFycmF5KG5hbWVzcGFjZSwgYXJyYXksIC4uLikKbG9jYWwgbiA9ICNhcnJheQpmb3IgaSA9IDEsIG4gZG8KbG9jYWwgZm4gPSBuYW1lc3BhY2VbYXJyYXlbaV1dCmlmIG5vdCBmbiB0aGVuCmVycm9yKHN0cmluZy5mb3JtYXQoIlVuYWJsZSB0byBmaW5kIGZ1bmN0aW9uICclcyciLCBhcnJheVtpXSkpCmVuZApmbiguLi4pCmVuZAplbmQKZnVuY3Rpb24gcC5jaGVja1ZlcnNpb24odmVyc2lvbiwgY2hlY2tzKQppZiBub3QgdmVyc2lvbiB0aGVuCnJldHVybiBmYWxzZQplbmQKbG9jYWwgZnVuY3Rpb24gZXEoYSwgYikgcmV0dXJuIGEgPT0gYiBlbmQKbG9jYWwgZnVuY3Rpb24gbGUoYSwgYikgcmV0dXJuIGEgPD0gYiBlbmQKbG9jYWwgZnVuY3Rpb24gbHQoYSwgYikgcmV0dXJuIGEgPCBiICBlbmQKbG9jYWwgZnVuY3Rpb24gZ2UoYSwgYikgcmV0dXJuIGEgPj0gYiBlbmQKbG9jYWwgZnVuY3Rpb24gZ3QoYSwgYikgcmV0dXJuIGEgPiBiICBlbmQKbG9jYWwgZnVuY3Rpb24gY29tcGF0KGEsIGIpIHJldHVybiBhIF4gYiAgZW5kCnZlcnNpb24gPSBzZW12ZXIodmVyc2lvbikKY2hlY2tzID0gc3RyaW5nLmV4cGxvZGUoY2hlY2tzLCAiICIsIHRydWUpCmZvciBpID0gMSwgI2NoZWNrcyBkbwpsb2NhbCBjaGVjayA9IGNoZWNrc1tpXQpsb2NhbCBmdW5jCmlmIGNoZWNrOnN0YXJ0c3dpdGgoIj49IikgdGhlbgpmdW5jID0gZ2UKY2hlY2sgPSBjaGVjazpzdWIoMykKZWxzZWlmIGNoZWNrOnN0YXJ0c3dpdGgoIj4iKSB0aGVuCmZ1bmMgPSBndApjaGVjayA9IGNoZWNrOnN1YigyKQplbHNlaWYgY2hlY2s6c3RhcnRzd2l0aCgiPD0iKSB0aGVuCmZ1bmMgPSBsZQpjaGVjayA9IGNoZWNrOnN1YigzKQplbHNlaWYgY2hlY2s6c3RhcnRzd2l0aCgiPCIpIHRoZW4KZnVuYyA9IGx0CmNoZWNrID0gY2hlY2s6c3ViKDIpCmVsc2VpZiBjaGVjazpzdGFydHN3aXRoKCI9IikgdGhlbgpmdW5jID0gZXEKY2hlY2sgPSBjaGVjazpzdWIoMikKZWxzZWlmIGNoZWNrOnN0YXJ0c3dpdGgoIl4iKSB0aGVuCmZ1bmMgPSBjb21wYXQKY2hlY2sgPSBjaGVjazpzdWIoMikKZWxzZQpmdW5jID0gZ2UKZW5kCmNoZWNrID0gc2VtdmVyKGNoZWNrKQppZiBub3QgZnVuYyh2ZXJzaW9uLCBjaGVjaykgdGhlbgpyZXR1cm4gZmFsc2UKZW5kCmVuZApyZXR1cm4gdHJ1ZQplbmQKZnVuY3Rpb24gcHJlbWFrZS5jbGVhcldhcm5pbmdzKCkKX3dhcm5pbmdzID0ge30KZW5kCmZ1bmN0aW9uIHByZW1ha2UuZXJyb3IobWVzc2FnZSwgLi4uKQplcnJvcihzdHJpbmcuZm9ybWF0KCIqKiBFcnJvcjogIiAuLiBtZXNzYWdlLCAuLi4pLCAwKQplbmQKZnVuY3Rpb24gcHJlbWFrZS5maW5kUHJvamVjdFNjcmlwdChmbmFtZSkKcmV0dXJuIG9zLmxvY2F0ZShmbmFtZSwgZm5hbWUgLi4gIi5sdWEiLCBwYXRoLmpvaW4oZm5hbWUsICJwcmVtYWtlNS5sdWEiKSwgcGF0aC5qb2luKGZuYW1lLCAicHJlbWFrZTQubHVhIikpCmVuZApmdW5jdGlvbiBpaWYoY29uZGl0aW9uLCB0cnVlVmFsdWUsIGZhbHNlVmFsdWUpCmlmIGNvbmRpdGlvbiB0aGVuCnJldHVybiB0cnVlVmFsdWUKZWxzZQpyZXR1cm4gZmFsc2VWYWx1ZQplbmQKZW5kCmZ1bmN0aW9uIHByZW1ha2Uub3ZlcnJpZGUoc2NvcGUsIG5hbWUsIHJlcGwpCnNjb3BlLCBuYW1lID0gcC5yZXNvbHZlQWxpYXMoc2NvcGUsIG5hbWUpCmxvY2FsIG9yaWdpbmFsID0gc2NvcGVbbmFtZV0KaWYgbm90IG9yaWdpbmFsIHRoZW4KZXJyb3IoInVuYWJsZSB0byBvdmVycmlkZSAnIiAuLiBuYW1lIC4uICInOyBubyBzdWNoIGZ1bmN0aW9uIiwgMikKZW5kCnNjb3BlW25hbWVdID0gZnVuY3Rpb24oLi4uKQpyZXR1cm4gcmVwbChvcmlnaW5hbCwgLi4uKQplbmQKaWYgc2NvcGUgPT0gcHJlbWFrZS5tYWluIHRoZW4KdGFibGUucmVwbGFjZShwcmVtYWtlLm1haW4uZWxlbWVudHMsIG9yaWdpbmFsLCBzY29wZVtuYW1lXSkKZW5kCmVuZApmdW5jdGlvbiBwLnJlc29sdmVBbGlhcyhzY29wZSwgbmFtZSkKbG9jYWwgYWxpYXNlcyA9IF9hbGlhc2VzW3Njb3BlXQppZiBhbGlhc2VzIHRoZW4Kd2hpbGUgYWxpYXNlc1tuYW1lXSBkbwpuYW1lID0gYWxpYXNlc1tuYW1lXQplbmQKZW5kCnJldHVybiBzY29wZSwgbmFtZQplbmQKZnVuY3Rpb24gcHJlbWFrZS53YXJuKG1lc3NhZ2UsIC4uLikKbWVzc2FnZSA9IHN0cmluZy5mb3JtYXQobWVzc2FnZSwgLi4uKQppZiBfT1BUSU9OUy5mYXRhbCB0aGVuCmVycm9yKG1lc3NhZ2UpCmVsc2UKaW8uc3RkZXJyOndyaXRlKHN0cmluZy5mb3JtYXQoIioqIFdhcm5pbmc6ICIgLi4gbWVzc2FnZSAuLiAiXG4iLCAuLi4pKQplbmQKZW5kCmZ1bmN0aW9uIHByZW1ha2Uud2Fybk9uY2Uoa2V5LCBtZXNzYWdlLCAuLi4pCmlmIG5vdCBfd2FybmluZ3Nba2V5XSB0aGVuCl93YXJuaW5nc1trZXldID0gdHJ1ZQpwcmVtYWtlLndhcm4obWVzc2FnZSwgLi4uKQplbmQKZW5kCmZ1bmN0aW9uIHByaW50Zihtc2csIC4uLikKcHJpbnQoc3RyaW5nLmZvcm1hdChtc2csIC4uLikpCmVuZApmdW5jdGlvbiB2ZXJib3NlZihtc2csIC4uLikKaWYgX09QVElPTlMudmVyYm9zZSB0aGVuCnByaW50KHN0cmluZy5mb3JtYXQobXNnLCAuLi4pKQplbmQKZW5kCgAAAAAAAABmdW5jdGlvbiBzdHJpbmcuY2FwaXRhbGl6ZWQoc2VsZikKcmV0dXJuIHNlbGY6Z3N1YigiXiVsIiwgc3RyaW5nLnVwcGVyKQplbmQKZnVuY3Rpb24gc3RyaW5nLmNvbnRhaW5zKHMsIG1hdGNoKQpyZXR1cm4gc3RyaW5nLmZpbmQocywgbWF0Y2gsIDEsIHRydWUpIH49IG5pbAplbmQKZnVuY3Rpb24gc3RyaW5nLmV4cGxvZGUocywgcGF0dGVybiwgcGxhaW4sIG1heFRva2VucykKaWYgKHBhdHRlcm4gPT0gJycpIHRoZW4gcmV0dXJuIGZhbHNlIGVuZApsb2NhbCBwb3MgPSAwCmxvY2FsIGFyciA9IHsgfQpmb3Igc3Qsc3AgaW4gZnVuY3Rpb24oKSByZXR1cm4gczpmaW5kKHBhdHRlcm4sIHBvcywgcGxhaW4pIGVuZCBkbwp0YWJsZS5pbnNlcnQoYXJyLCBzOnN1Yihwb3MsIHN0LTEpKQpwb3MgPSBzcCArIDEKaWYgbWF4VG9rZW5zIH49IG5pbCBhbmQgbWF4VG9rZW5zID4gMCB0aGVuCm1heFRva2VucyA9IG1heFRva2VucyAtIDEKaWYgbWF4VG9rZW5zID09IDAgdGhlbgpicmVhawplbmQKZW5kCmVuZAp0YWJsZS5pbnNlcnQoYXJyLCBzOnN1Yihwb3MpKQpyZXR1cm4gYXJyCmVuZApmdW5jdGlvbiBzdHJpbmcuZmluZGxhc3QocywgcGF0dGVybiwgcGxhaW4pCmxvY2FsIGN1cnIgPSAwCnJlcGVhdApsb2NhbCBuZXh0ID0gczpmaW5kKHBhdHRlcm4sIGN1cnIgKyAxLCBwbGFpbikKaWYgKG5leHQpIHRoZW4gY3VyciA9IG5leHQgZW5kCnVudGlsIChub3QgbmV4dCkKaWYgKGN1cnIgPiAwKSB0aGVuCnJldHVybiBjdXJyCmVuZAplbmQKZnVuY3Rpb24gc3RyaW5nLmxpbmVzKHMpCmxvY2FsIHRyYWlsaW5nLCBuID0gczpnc3ViKCcuLVxuJywgJycpCmlmICN0cmFpbGluZyA+IDAgdGhlbgpuID0gbiArIDEKZW5kCnJldHVybiBuCmVuZApmdW5jdGlvbiBzdHJpbmc6cGx1cmFsKCkKaWYgc2VsZjplbmRzd2l0aCgieSIpIHRoZW4KcmV0dXJuIHNlbGY6c3ViKDEsICNzZWxmIC0gMSkgLi4gImllcyIKZWxzZQpyZXR1cm4gc2VsZiAuLiAicyIKZW5kCmVuZAoAAGZ1bmN0aW9uIHRhYmxlLmFycmF5Y29weShvYmplY3QpCmxvY2FsIHJlc3VsdCA9IHt9CmZvciBpLCB2YWx1ZSBpbiBpcGFpcnMob2JqZWN0KSBkbwpyZXN1bHRbaV0gPSB2YWx1ZQplbmQKcmV0dXJuIHJlc3VsdAplbmQKZnVuY3Rpb24gdGFibGUuY29udGFpbnModCwgdmFsdWUpCmZvciBfLHYgaW4gcGFpcnModCkgZG8KaWYgKHYgPT0gdmFsdWUpIHRoZW4KcmV0dXJuIHRydWUKZW5kCmVuZApyZXR1cm4gZmFsc2UKZW5kCmZ1bmN0aW9uIHRhYmxlLmRlZXBjb3B5KG9iamVjdCkKbG9jYWwgc2VlbiA9IHt9CmxvY2FsIGZ1bmN0aW9uIGNvcHkob2JqZWN0KQppZiB0eXBlKG9iamVjdCkgfj0gInRhYmxlIiB0aGVuCnJldHVybiBvYmplY3QKZWxzZWlmIHNlZW5bb2JqZWN0XSB0aGVuCnJldHVybiBzZWVuW29iamVjdF0KZW5kCmxvY2FsIGNsb25lID0ge30Kc2VlbltvYmplY3RdID0gY2xvbmUKZm9yIGtleSwgdmFsdWUgaW4gcGFpcnMob2JqZWN0KSBkbwpjbG9uZVtrZXldID0gY29weSh2YWx1ZSkKZW5kCnJldHVybiBjbG9uZQplbmQKcmV0dXJuIGNvcHkob2JqZWN0KQplbmQKZnVuY3Rpb24gdGFibGUuZXh0cmFjdChhcnIsIGZuYW1lKQpsb2NhbCByZXN1bHQgPSB7IH0KZm9yIF8sdiBpbiBpcGFpcnMoYXJyKSBkbwp0YWJsZS5pbnNlcnQocmVzdWx0LCB2W2ZuYW1lXSkKZW5kCnJldHVybiByZXN1bHQKZW5kCmZ1bmN0aW9uIHRhYmxlLmZpbHRlcihhcnIsIGZuKQpsb2NhbCByZXN1bHQgPSB7IH0KdGFibGUuZm9yZWFjaGkoYXJyLCBmdW5jdGlvbih2YWwpCmlmIGZuKHZhbCkgdGhlbgp0YWJsZS5pbnNlcnQocmVzdWx0LCB2YWwpCmVuZAplbmQpCnJldHVybiByZXN1bHQKZW5kCmZ1bmN0aW9uIHRhYmxlLmZsYXR0ZW4oYXJyKQpsb2NhbCByZXN1bHQgPSB7fQpsb2NhbCBmdW5jdGlvbiBmbGF0dGVuKGFycikKbG9jYWwgbiA9ICNhcnIKZm9yIGkgPSAxLCBuIGRvCmxvY2FsIHYgPSBhcnJbaV0KaWYgdHlwZSh2KSA9PSAidGFibGUiIHRoZW4KZmxhdHRlbih2KQplbHNlaWYgdiB0aGVuCnRhYmxlLmluc2VydChyZXN1bHQsIHYpCmVuZAplbmQKZW5kCmZsYXR0ZW4oYXJyKQpyZXR1cm4gcmVzdWx0CmVuZApmdW5jdGlvbiB0YWJsZS5mb3JlYWNoaShhcnIsIGZ1bmMpCmlmIGFyciB0aGVuCmxvY2FsIG4gPSAjYXJyCmZvciBpID0gMSwgbiBkbwpsb2NhbCB2ID0gYXJyW2ldCmlmIHYgdGhlbgpmdW5jKHYpCmVuZAplbmQKZW5kCmVuZApmdW5jdGlvbiB0YWJsZS5mb2xkKGxpc3QxLCBsaXN0MikKbG9jYWwgcmVzdWx0ID0ge30KZm9yIF8sIGl0ZW0xIGluIGlwYWlycyhsaXN0MSBvciB7fSkgZG8KaWYgbGlzdDIgYW5kICNsaXN0MiA+IDAgdGhlbgpmb3IgXywgaXRlbTIgaW4gaXBhaXJzKGxpc3QyKSBkbwp0YWJsZS5pbnNlcnQocmVzdWx0LCB7IGl0ZW0xLCBpdGVtMiB9KQplbmQKZWxzZQp0YWJsZS5pbnNlcnQocmVzdWx0LCB7IGl0ZW0xIH0pCmVuZAplbmQKcmV0dXJuIHJlc3VsdAplbmQKZnVuY3Rpb24gdGFibGUuaW1wbG9kZShhcnIsIGJlZm9yZSwgYWZ0ZXIsIGJldHdlZW4pCmxvY2FsIHJlc3VsdCA9ICIiCmZvciBfLHYgaW4gaXBhaXJzKGFycikgZG8KaWYgKHJlc3VsdCB+PSAiIiBhbmQgYmV0d2VlbikgdGhlbgpyZXN1bHQgPSByZXN1bHQgLi4gYmV0d2VlbgplbmQKcmVzdWx0ID0gcmVzdWx0IC4uIGJlZm9yZSAuLiB2IC4uIGFmdGVyCmVuZApyZXR1cm4gcmVzdWx0CmVuZApmdW5jdGlvbiB0YWJsZS5pbmRleG9mKHRibCwgb2JqKQpmb3IgaywgdiBpbiBwYWlycyh0YmwpIGRvCmlmIHYgPT0gb2JqIHRoZW4KcmV0dXJuIGsKZW5kCmVuZAplbmQKZnVuY3Rpb24gdGFibGUuaW5zZXJ0YWZ0ZXIodGJsLCBhZnRlciwgdmFsdWUpCmxvY2FsIGkgPSB0YWJsZS5pbmRleG9mKHRibCwgYWZ0ZXIpCmlmIGkgdGhlbgp0YWJsZS5pbnNlcnQodGJsLCBpICsgMSwgdmFsdWUpCmVsc2UKdGFibGUuaW5zZXJ0KHRibCwgdmFsdWUpCmVuZAplbmQKZnVuY3Rpb24gdGFibGUuaW5zZXJ0ZmxhdCh0YmwsIHZhbHVlcykKaWYgdmFsdWVzID09IG5pbCB0aGVuCnJldHVybgplbHNlaWYgdHlwZSh2YWx1ZXMpID09ICJ0YWJsZSIgdGhlbgpmb3IgXywgdmFsdWUgaW4gaXBhaXJzKHZhbHVlcykgZG8KdGFibGUuaW5zZXJ0ZmxhdCh0YmwsIHZhbHVlKQplbmQKZWxzZQp0YWJsZS5pbnNlcnQodGJsLCB2YWx1ZXMpCmVuZApyZXR1cm4gdGJsCmVuZApmdW5jdGlvbiB0YWJsZS5pbnNlcnRrZXllZCh0YmwsIHBvcywgdmFsdWUpCmlmIHZhbHVlID09IG5pbCB0aGVuCnZhbHVlID0gcG9zCnBvcyA9ICN0YmwgKyAxCmVuZAp0YWJsZS5pbnNlcnQodGJsLCBwb3MsIHZhbHVlKQp0YmxbdmFsdWVdID0gdmFsdWUKZW5kCmZ1bmN0aW9uIHRhYmxlLmluc2VydHNvcnRlZCh0YmwsIHZhbHVlLCBmbikKaWYgdmFsdWUgPT0gbmlsIHRoZW4KcmV0dXJuCmVsc2UKZm4gPSBmbiBvciBmdW5jdGlvbihhLCBiKSByZXR1cm4gYSA8IGIgZW5kCmxvY2FsIG1pbmluZGV4ID0gMQpsb2NhbCBtYXhpbmRleCA9ICN0YmwgKyAxCndoaWxlIG1pbmluZGV4IDwgbWF4aW5kZXggZG8KbG9jYWwgaW5kZXggPSBtaW5pbmRleCArIGJpdDMyLmFyc2hpZnQobWF4aW5kZXggLSBtaW5pbmRleCwgMSkKbG9jYWwgdGVzdCA9IHRibFtpbmRleF0KaWYgZm4odmFsdWUsIHRlc3QpIHRoZW4KbWF4aW5kZXggPSBpbmRleAplbHNlCm1pbmluZGV4ID0gaW5kZXggKyAxCmlmIG5vdCBmbih0ZXN0LCB2YWx1ZSkgdGhlbgpicmVhawplbmQKZW5kCmVuZAp0YWJsZS5pbnNlcnQodGJsLCBtaW5pbmRleCwgdmFsdWUpCmVuZApyZXR1cm4gdGJsCmVuZApmdW5jdGlvbiB0YWJsZS5pc2VtcHR5KHQpCnJldHVybiBuZXh0KHQpID09IG5pbAplbmQKZnVuY3Rpb24gdGFibGUuam9pbiguLi4pCmxvY2FsIHJlc3VsdCA9IHsgfQpsb2NhbCBhcmcgPSB7Li4ufQpmb3IgXyx0IGluIGlwYWlycyhhcmcpIGRvCmlmIHR5cGUodCkgPT0gInRhYmxlIiB0aGVuCmZvciBfLHYgaW4gaXBhaXJzKHQpIGRvCnRhYmxlLmluc2VydChyZXN1bHQsIHYpCmVuZAplbHNlCnRhYmxlLmluc2VydChyZXN1bHQsIHQpCmVuZAplbmQKcmV0dXJuIHJlc3VsdAplbmQKZnVuY3Rpb24gdGFibGUua2V5cyh0YmwpCmxvY2FsIGtleXMgPSB7fQpmb3IgaywgXyBpbiBwYWlycyh0YmwpIGRvCnRhYmxlLmluc2VydChrZXlzLCBrKQplbmQKcmV0dXJuIGtleXMKZW5kCmZ1bmN0aW9uIHRhYmxlLm1lcmdlKC4uLikKbG9jYWwgcmVzdWx0ID0ge30KbG9jYWwgYXJnID0gey4uLn0KZm9yIF8sdCBpbiBpcGFpcnMoYXJnKSBkbwppZiB0eXBlKHQpID09ICJ0YWJsZSIgdGhlbgpmb3Igayx2IGluIHBhaXJzKHQpIGRvCmlmIHR5cGUocmVzdWx0W2tdKSA9PSAidGFibGUiIGFuZCB0eXBlKHYpID09ICJ0YWJsZSIgdGhlbgpyZXN1bHRba10gPSB0YWJsZS5tZXJnZShyZXN1bHRba10sIHYpCmVsc2UKcmVzdWx0W2tdID0gdgplbmQKZW5kCmVsc2UKZXJyb3IoImludmFsaWQgdmFsdWUiKQplbmQKZW5kCnJldHVybiByZXN1bHQKZW5kCmZ1bmN0aW9uIHRhYmxlLnJlcGxhY2Uoc2VsZiwgdmFsdWUsIHJlcGxhY2VtZW50KQpmb3IgaSA9IDEsICNzZWxmIGRvCmlmIHNlbGZbaV0gPT0gdmFsdWUgdGhlbgpzZWxmW2ldID0gcmVwbGFjZW1lbnQKZW5kCmVuZAplbmQKZnVuY3Rpb24gdGFibGUudHJhbnNsYXRlKGFyciwgdHJhbnNsYXRpb24pCmlmIG5vdCB0cmFuc2xhdGlvbiB0aGVuIHJldHVybiB7fSBlbmQKbG9jYWwgcmVzdWx0ID0ge30KZm9yIF8sIHZhbHVlIGluIGlwYWlycyhhcnIpIGRvCmxvY2FsIHR2YWx1ZQppZiB0eXBlKHRyYW5zbGF0aW9uKSA9PSAiZnVuY3Rpb24iIHRoZW4KdHZhbHVlID0gdHJhbnNsYXRpb24odmFsdWUpCmVsc2UKdHZhbHVlID0gdHJhbnNsYXRpb25bdmFsdWVdCmVuZAppZiAodHZhbHVlKSB0aGVuCnRhYmxlLmluc2VydChyZXN1bHQsIHR2YWx1ZSkKZW5kCmVuZApyZXR1cm4gcmVzdWx0CmVuZApmdW5jdGlvbiB0YWJsZS50b3N0cmluZyh0YWIsIHJlY3Vyc2UsIGluZGVudCkKbG9jYWwgcmVzID0gJycKaWYgbm90IGluZGVudCB0aGVuCmluZGVudCA9IDAKZW5kCmxvY2FsIGZvcm1hdF92YWx1ZSA9IGZ1bmN0aW9uKGssIHYsIGkpCmZvcm1hdHRpbmcgPSBzdHJpbmcucmVwKCJcdCIsIGkpCmlmIGsgdGhlbgppZiB0eXBlKGspID09ICJ0YWJsZSIgdGhlbgprID0gJ1t0YWJsZV0nCmVuZApmb3JtYXR0aW5nID0gZm9ybWF0dGluZyAuLiBrIC4uICI6ICIKZW5kCmlmIG5vdCB2IHRoZW4KcmV0dXJuIGZvcm1hdHRpbmcgLi4gJyhuaWwpJwplbHNlaWYgdHlwZSh2KSA9PSAidGFibGUiIHRoZW4KaWYgcmVjdXJzZSB0aGVuCnJldHVybiBmb3JtYXR0aW5nIC4uICdcbicgLi4gdGFibGUudG9zdHJpbmcodiwgcmVjdXJzZSwgaSsxKQplbHNlCnJldHVybiBmb3JtYXR0aW5nIC4uICI8dGFibGU+IgplbmQKZWxzZWlmIHR5cGUodikgPT0gImZ1bmN0aW9uIiB0aGVuCnJldHVybiBmb3JtYXR0aW5nIC4uIHRvc3RyaW5nKHYpCmVsc2VpZiB0eXBlKHYpID09ICJ1c2VyZGF0YSIgdGhlbgpyZXR1cm4gZm9ybWF0dGluZyAuLiAiPHVzZXJkYXRhPiIKZWxzZWlmIHR5cGUodikgPT0gImJvb2xlYW4iIHRoZW4KaWYgdiB0aGVuCnJldHVybiBmb3JtYXR0aW5nIC4uICd0cnVlJwplbHNlCnJldHVybiBmb3JtYXR0aW5nIC4uICdmYWxzZScKZW5kCmVsc2UKcmV0dXJuIGZvcm1hdHRpbmcgLi4gdgplbmQKZW5kCmlmIHR5cGUodGFiKSA9PSAidGFibGUiIHRoZW4KbG9jYWwgZmlyc3QgPSB0cnVlCmZvciBrLCB2IGluIHBhaXJzKHRhYikgZG8KaWYgbm90IGZpcnN0IHRoZW4KcmVzID0gcmVzIC4uICdcbicKZW5kCnJlcyA9IHJlcyAuLiBmb3JtYXRfdmFsdWUoaywgdiwgaW5kZW50KQpmaXJzdCA9IGZhbHNlCmVuZAplbHNlCnJlcyA9IHJlcyAuLiBmb3JtYXRfdmFsdWUobmlsLCB0YWIsIGluZGVudCkKZW5kCnJldHVybiByZXMKZW5kCmZ1bmN0aW9uIHRhYmxlLnVuaXF1ZSh0YWIpCmxvY2FsIGVsZW1zID0geyB9CmxvY2FsIHJlc3VsdCA9IHsgfQp0YWJsZS5mb3JlYWNoaSh0YWIsIGZ1bmN0aW9uKGVsZW0pCmlmIG5vdCBlbGVtc1tlbGVtXSB0aGVuCnRhYmxlLmluc2VydChyZXN1bHQsIGVsZW0pCmVsZW1zW2VsZW1dID0gdHJ1ZQplbmQKZW5kKQpyZXR1cm4gcmVzdWx0CmVuZApmdW5jdGlvbiB0YWJsZS5maWx0ZXJlbXB0eShkaXJzKQpyZXR1cm4gdGFibGUudHJhbnNsYXRlKGRpcnMsIGZ1bmN0aW9uKHZhbCkKaWYgdmFsIGFuZCAjdmFsID4gMCB0aGVuCnJldHVybiB2YWwKZWxzZQpyZXR1cm4gbmlsCmVuZAplbmQpCmVuZAoAAAAAAGZ1bmN0aW9uIHBhdGguYXBwZW5kRXh0ZW5zaW9uKHAsIGV4dCkKaWYgbm90IGV4dCBvciBleHQgPT0gIiIgdGhlbgpyZXR1cm4gcAplbmQKbG9jYWwgZW5kcXVvdGUKaWYgcDplbmRzd2l0aCgnIicpIHRoZW4KcCA9IHA6c3ViKDEsIC0yKQplbmRxdW90ZSA9ICciJwplbmQKaWYgbm90IHBhdGguaGFzZXh0ZW5zaW9uKHAsIGV4dCkgdGhlbgpwID0gcCAuLiBleHQKZW5kCmlmIGVuZHF1b3RlIHRoZW4KcCA9IHAgLi4gZW5kcXVvdGUKZW5kCnJldHVybiBwCmVuZApwYXRoLmFwcGVuZGV4dGVuc2lvbiA9IHBhdGguYXBwZW5kRXh0ZW5zaW9uCmZ1bmN0aW9uIHBhdGguZ2V0YmFzZW5hbWUocCkKbG9jYWwgbmFtZSA9IHBhdGguZ2V0bmFtZShwKQpsb2NhbCBpID0gbmFtZTpmaW5kbGFzdCgiLiIsIHRydWUpCmlmIChpKSB0aGVuCnJldHVybiBuYW1lOnN1YigxLCBpIC0gMSkKZWxzZQpyZXR1cm4gbmFtZQplbmQKZW5kCmZ1bmN0aW9uIHBhdGguZ2V0ZGlyZWN0b3J5KHApCmxvY2FsIGkgPSBwOmZpbmRsYXN0KCIvIiwgdHJ1ZSkKaWYgKGkpIHRoZW4KaWYgaSA+IDEgdGhlbiBpID0gaSAtIDEgZW5kCnJldHVybiBwOnN1YigxLCBpKQplbHNlCnJldHVybiAiLiIKZW5kCmVuZApmdW5jdGlvbiBwYXRoLmdldGRyaXZlKHApCmxvY2FsIGNoMSA9IHA6c3ViKDEsMSkKbG9jYWwgY2gyID0gcDpzdWIoMiwyKQppZiBjaDIgPT0gIjoiIHRoZW4KcmV0dXJuIGNoMQplbmQKZW5kCmZ1bmN0aW9uIHBhdGguZ2V0ZXh0ZW5zaW9uKHApCmxvY2FsIGkgPSBwOmZpbmRsYXN0KCIuIiwgdHJ1ZSkKaWYgKGkpIHRoZW4KcmV0dXJuIHA6c3ViKGkpCmVsc2UKcmV0dXJuICIiCmVuZAplbmQKZnVuY3Rpb24gcGF0aC5nZXRuYW1lKHApCmxvY2FsIGkgPSBwOmZpbmRsYXN0KCJbL1xcXSIpCmlmIChpKSB0aGVuCnJldHVybiBwOnN1YihpICsgMSkKZWxzZQpyZXR1cm4gcAplbmQKZW5kCmZ1bmN0aW9uIHBhdGguaGFzZXh0ZW5zaW9uKGZuYW1lLCBleHRlbnNpb25zKQpsb2NhbCBmZXh0ID0gcGF0aC5nZXRleHRlbnNpb24oZm5hbWUpOmxvd2VyKCkKaWYgdHlwZShleHRlbnNpb25zKSA9PSAidGFibGUiIHRoZW4KZm9yIF8sIGV4dGVuc2lvbiBpbiBwYWlycyhleHRlbnNpb25zKSBkbwppZiBmZXh0ID09IGV4dGVuc2lvbiB0aGVuCnJldHVybiB0cnVlCmVuZAplbmQKcmV0dXJuIGZhbHNlCmVsc2UKcmV0dXJuIChmZXh0ID09IGV4dGVuc2lvbnMpCmVuZAplbmQKZnVuY3Rpb24gcGF0aC5pc2NmaWxlKGZuYW1lKQpyZXR1cm4gcGF0aC5oYXNleHRlbnNpb24oZm5hbWUsIHsgIi5jIiwgIi5zIiwgIi5tIiB9KQplbmQKZnVuY3Rpb24gcGF0aC5pc2NwcGZpbGUoZm5hbWUpCnJldHVybiBwYXRoLmhhc2V4dGVuc2lvbihmbmFtZSwgeyAiLmNjIiwgIi5jcHAiLCAiLmN4eCIsICIuYyIsICIucyIsICIubSIsICIubW0iIH0pCmVuZApmdW5jdGlvbiBwYXRoLmlzY3BwaGVhZGVyKGZuYW1lKQpyZXR1cm4gcGF0aC5oYXNleHRlbnNpb24oZm5hbWUsIHsgIi5oIiwgIi5oaCIsICIuaHBwIiwgIi5oeHgiIH0pCmVuZApmdW5jdGlvbiBwYXRoLmlzZnJhbWV3b3JrKGZuYW1lKQpyZXR1cm4gcGF0aC5oYXNleHRlbnNpb24oZm5hbWUsICIuZnJhbWV3b3JrIikKZW5kCmZ1bmN0aW9uIHBhdGguaXNsaW5rYWJsZShmbmFtZSkKcmV0dXJuIHBhdGguaGFzZXh0ZW5zaW9uKGZuYW1lLCB7ICIubyIsICIub2JqIiwgIi5hIiwgIi5saWIiLCAiLnNvIiB9KQplbmQKZnVuY3Rpb24gcGF0aC5pc29iamVjdGZpbGUoZm5hbWUpCnJldHVybiBwYXRoLmhhc2V4dGVuc2lvbihmbmFtZSwgeyAiLm8iLCAiLm9iaiIgfSkKZW5kCmZ1bmN0aW9uIHBhdGguaXNyZXNvdXJjZWZpbGUoZm5hbWUpCnJldHVybiBwYXRoLmhhc2V4dGVuc2lvbihmbmFtZSwgIi5yYyIpCmVuZApmdW5jdGlvbiBwYXRoLmlzaWRsZmlsZShmbmFtZSkKcmV0dXJuIHBhdGguaGFzZXh0ZW5zaW9uKGZuYW1lLCAiLmlkbCIpCmVuZApmdW5jdGlvbiBwYXRoLnJlYmFzZShwLCBvbGRiYXNlLCBuZXdiYXNlKQpwID0gcGF0aC5nZXRhYnNvbHV0ZShwYXRoLmpvaW4ob2xkYmFzZSwgcCkpCnAgPSBwYXRoLmdldHJlbGF0aXZlKG5ld2Jhc2UsIHApCnJldHVybiBwCmVuZApmdW5jdGlvbiBwYXRoLnJlcGxhY2VleHRlbnNpb24ocCwgbmV3ZXh0KQpsb2NhbCBleHQgPSBwYXRoLmdldGV4dGVuc2lvbihwKQppZiBub3QgZXh0IHRoZW4KcmV0dXJuIHAKZW5kCmlmIG5vdCBuZXdleHQ6ZmluZGxhc3QoIi4iLCB0cnVlKSB0aGVuCm5ld2V4dCA9ICIuIi4ubmV3ZXh0CmVuZApyZXR1cm4gcDptYXRjaCgiXiguKikiLi5leHQuLiIkIikuLm5ld2V4dAplbmQKAABwcmVtYWtlLm92ZXJyaWRlKG9zLCAiZXhlY3V0ZSIsIGZ1bmN0aW9uKGJhc2UsIGNtZCkKY21kID0gcGF0aC5ub3JtYWxpemUoY21kKQpjbWQgPSBvcy50cmFuc2xhdGVDb21tYW5kcyhjbWQpCnJldHVybiBiYXNlKGNtZCkKZW5kKQpmdW5jdGlvbiBvcy5leGVjdXRlZihjbWQsIC4uLikKY21kID0gc3RyaW5nLmZvcm1hdChjbWQsIC4uLikKcmV0dXJuIG9zLmV4ZWN1dGUoY21kKQplbmQKbG9jYWwgZnVuY3Rpb24gcGFyc2VfbGRfc29fY29uZihjb25mX2ZpbGUpCmxvY2FsIGZpcnN0LCBsYXN0CmxvY2FsIGRpcnMgPSB7IH0KZm9yIGxpbmUgaW4gaW8ubGluZXMoY29uZl9maWxlKSBkbwpmaXJzdCA9IGxpbmU6ZmluZCgiIyIsIDEsIHRydWUpCmlmIGZpcnN0IH49IG5pbCB0aGVuCmxpbmUgPSBsaW5lOnN1YigxLCBmaXJzdCAtIDEpCmVuZAppZiBsaW5lIH49ICIiIHRoZW4KZmlyc3QsIGxhc3QgPSBsaW5lOmZpbmQoImluY2x1ZGUlcysiKQppZiBmaXJzdCB+PSBuaWwgdGhlbgpsb2NhbCBpbmNsdWRlX2dsb2IgPSBsaW5lOnN1YihsYXN0ICsgMSkKbG9jYWwgaW5jbHVkZXMgPSBvcy5tYXRjaGZpbGVzKGluY2x1ZGVfZ2xvYikKZm9yIF8sIHYgaW4gaXBhaXJzKGluY2x1ZGVzKSBkbwpkaXJzID0gdGFibGUuam9pbihkaXJzLCBwYXJzZV9sZF9zb19jb25mKHYpKQplbmQKZWxzZQp0YWJsZS5pbnNlcnQoZGlycywgbGluZSkKZW5kCmVuZAplbmQKcmV0dXJuIGRpcnMKZW5kCmZ1bmN0aW9uIG9zLmZpbmRsaWIobGlibmFtZSwgbGliZGlycykKbG9jYWwgcGF0aCwgZm9ybWF0cwppZiBvcy5pcygid2luZG93cyIpIHRoZW4KZm9ybWF0cyA9IHsgIiVzLmRsbCIsICIlcyIgfQpwYXRoID0gb3MuZ2V0ZW52KCJQQVRIIikgb3IgIiIKZWxzZWlmIG9zLmlzKCJoYWlrdSIpIHRoZW4KZm9ybWF0cyA9IHsgImxpYiVzLnNvIiwgIiVzLnNvIiB9CnBhdGggPSBvcy5nZXRlbnYoIkxJQlJBUllfUEFUSCIpIG9yICIiCmVsc2UKaWYgb3MuaXMoIm1hY29zeCIpIHRoZW4KZm9ybWF0cyA9IHsgImxpYiVzLmR5bGliIiwgIiVzLmR5bGliIiB9CnBhdGggPSBvcy5nZXRlbnYoIkRZTERfTElCUkFSWV9QQVRIIikgb3IgIiIKZWxzZQpmb3JtYXRzID0geyAibGliJXMuc28iLCAiJXMuc28iIH0KcGF0aCA9IG9zLmdldGVudigiTERfTElCUkFSWV9QQVRIIikgb3IgIiIKZm9yIF8sIHByZWZpeCBpbiBpcGFpcnMoeyIiLCAiL29wdCJ9KSBkbwpsb2NhbCBjb25mX2ZpbGUgPSBwcmVmaXggLi4gIi9ldGMvbGQuc28uY29uZiIKaWYgb3MuaXNmaWxlKGNvbmZfZmlsZSkgdGhlbgpmb3IgXywgdiBpbiBpcGFpcnMocGFyc2VfbGRfc29fY29uZihjb25mX2ZpbGUpKSBkbwppZiAoI3BhdGggPiAwKSB0aGVuCnBhdGggPSBwYXRoIC4uICI6IiAuLiB2CmVsc2UKcGF0aCA9IHYKZW5kCmVuZAplbmQKZW5kCmVuZAp0YWJsZS5pbnNlcnQoZm9ybWF0cywgIiVzIikKcGF0aCA9IHBhdGggb3IgIiIKbG9jYWwgYXJjaHBhdGggPSAiL2xpYjovdXNyL2xpYjovdXNyL2xvY2FsL2xpYiIKaWYgb3MuaXM2NGJpdCgpIGFuZCBub3Qgb3MuaXMoIm1hY29zeCIpIHRoZW4KYXJjaHBhdGggPSAiL2xpYjY0Oi91c3IvbGliNjQvOnVzci9sb2NhbC9saWI2NCIgLi4gIjoiIC4uIGFyY2hwYXRoCmVuZAppZiAoI3BhdGggPiAwKSB0aGVuCnBhdGggPSBwYXRoIC4uICI6IiAuLiBhcmNocGF0aAplbHNlCnBhdGggPSBhcmNocGF0aAplbmQKZW5kCmxvY2FsIHVzZXJwYXRoID0gIiIKaWYgdHlwZShsaWJkaXJzKSA9PSAic3RyaW5nIiB0aGVuCnVzZXJwYXRoID0gbGliZGlycwplbHNlaWYgdHlwZShsaWJkaXJzKSA9PSAidGFibGUiIHRoZW4KdXNlcnBhdGggPSB0YWJsZS5pbXBsb2RlKGxpYmRpcnMsICIiLCAiIiwgIjoiKQplbmQKaWYgKCN1c2VycGF0aCA+IDApIHRoZW4KaWYgKCNwYXRoID4gMCkgdGhlbgpwYXRoID0gdXNlcnBhdGggLi4gIjoiIC4uIHBhdGgKZWxzZQpwYXRoID0gdXNlcnBhdGgKZW5kCmVuZApmb3IgXywgZm10IGluIGlwYWlycyhmb3JtYXRzKSBkbwpsb2NhbCBuYW1lID0gc3RyaW5nLmZvcm1hdChmbXQsIGxpYm5hbWUpCmxvY2FsIHJlc3VsdCA9IG9zLnBhdGhzZWFyY2gobmFtZSwgcGF0aCkKaWYgcmVzdWx0IHRoZW4gcmV0dXJuIHJlc3VsdCBlbmQKZW5kCmVuZApmdW5jdGlvbiBvcy5nZXQoKQpyZXR1cm4gX09QVElPTlMub3Mgb3IgX09TCmVuZApmdW5jdGlvbiBvcy5pcyhpZCkKcmV0dXJuIChvcy5nZXQoKTpsb3dlcigpID09IGlkOmxvd2VyKCkpCmVuZApwcmVtYWtlLm92ZXJyaWRlKG9zLCAiaXNkaXIiLCBmdW5jdGlvbihiYXNlLCBwKQpwID0gcGF0aC5ub3JtYWxpemUocCkKcmV0dXJuIGJhc2UocCkKZW5kKQpwcmVtYWtlLm92ZXJyaWRlKG9zLCAiaXNmaWxlIiwgZnVuY3Rpb24oYmFzZSwgcCkKcCA9IHBhdGgubm9ybWFsaXplKHApCnJldHVybiBiYXNlKHApCmVuZCkKbG9jYWwgX2lzNjRiaXQKbG9jYWwgXzY0Qml0SG9zdFR5cGVzID0gewoieDg2XzY0IiwKImlhNjQiLAoiYW1kNjQiLAoicHBjNjQiLAoicG93ZXJwYzY0IiwKInNwYXJjNjQiCn0KZnVuY3Rpb24gb3MuaXM2NGJpdCgpCmlmIF9pczY0Yml0IH49IG5pbCB0aGVuCnJldHVybiBfaXM2NGJpdAplbmQKX2lzNjRiaXQgPSBmYWxzZQppZiAob3MuX2lzNjRiaXQoKSkgdGhlbgpfaXM2NGJpdCA9IHRydWUKZWxzZQpsb2NhbCBhcmNoCmlmIF9PUyA9PSAid2luZG93cyIgdGhlbgphcmNoID0gb3MuZ2V0ZW52KCJQUk9DRVNTT1JfQVJDSElURUNUVVJFIikKZWxzZWlmIF9PUyA9PSAibWFjb3N4IiB0aGVuCmFyY2ggPSBvcy5vdXRwdXRvZigiZWNobyAkSE9TVFRZUEUiKQplbHNlCmFyY2ggPSBvcy5vdXRwdXRvZigidW5hbWUgLW0iKQplbmQKYXJjaCA9IGFyY2g6bG93ZXIoKQpmb3IgXywgaG9zdHR5cGUgaW4gaXBhaXJzKF82NEJpdEhvc3RUeXBlcykgZG8KaWYgYXJjaDpmaW5kKGhvc3R0eXBlKSB0aGVuCl9pczY0Yml0ID0gdHJ1ZQplbmQKZW5kCmVuZApyZXR1cm4gX2lzNjRiaXQKZW5kCmZ1bmN0aW9uIG9zLm1hdGNoKG1hc2spCm1hc2sgPSBwYXRoLm5vcm1hbGl6ZShtYXNrKQpsb2NhbCBzdGFycG9zID0gbWFzazpmaW5kKCIlKiIpCmxvY2FsIGJlZm9yZSA9IHBhdGguZ2V0ZGlyZWN0b3J5KHN0YXJwb3MgYW5kIG1hc2s6c3ViKDEsIHN0YXJwb3MgLSAxKSBvciBtYXNrKQpsb2NhbCBzbGFzaHBvcyA9IHN0YXJwb3MgYW5kIG1hc2s6ZmluZCgiLyIsIHN0YXJwb3MpCmxvY2FsIGFmdGVyID0gc2xhc2hwb3MgYW5kIG1hc2s6c3ViKHNsYXNocG9zICsgMSkKbG9jYWwgcmVjdXJzZSA9IHN0YXJwb3MgYW5kCm1hc2s6c3ViKHN0YXJwb3MgKyAxLCBzdGFycG9zICsgMSkgPT0gJyonIGFuZAooc3RhcnBvcyA9PSAxIG9yIG1hc2s6c3ViKHN0YXJwb3MgLSAxLCBzdGFycG9zIC0gMSkgPT0gJy8nKQpsb2NhbCByZXN1bHRzID0geyB9CmlmIHJlY3Vyc2UgdGhlbgpsb2NhbCBzdWJtYXNrID0gbWFzazpzdWIoMSwgc3RhcnBvcykgLi4gbWFzazpzdWIoc3RhcnBvcyArIDIpCnJlc3VsdHMgPSBvcy5tYXRjaChzdWJtYXNrKQpsb2NhbCBwYXR0ZXJuID0gbWFzazpzdWIoMSwgc3RhcnBvcykKbG9jYWwgbSA9IG9zLm1hdGNoc3RhcnQocGF0dGVybikKd2hpbGUgb3MubWF0Y2huZXh0KG0pIGRvCmlmIG5vdCBvcy5tYXRjaGlzZmlsZShtKSB0aGVuCmxvY2FsIG1hdGNocGF0aCA9IHBhdGguam9pbihiZWZvcmUsIG9zLm1hdGNobmFtZShtKSwgbWFzazpzdWIoc3RhcnBvcykpCnJlc3VsdHMgPSB0YWJsZS5qb2luKHJlc3VsdHMsIG9zLm1hdGNoKG1hdGNocGF0aCwgYWZ0ZXIpKQplbmQKZW5kCm9zLm1hdGNoZG9uZShtKQplbHNlCmxvY2FsIHBhdHRlcm4gPSBtYXNrOnN1YigxLCBzbGFzaHBvcyBhbmQgc2xhc2hwb3MgLSAxKQpsb2NhbCBtID0gb3MubWF0Y2hzdGFydChwYXR0ZXJuKQp3aGlsZSBvcy5tYXRjaG5leHQobSkgZG8KaWYgbm90IChzbGFzaHBvcyBhbmQgb3MubWF0Y2hpc2ZpbGUobSkpIHRoZW4KbG9jYWwgbWF0Y2hwYXRoID0gcGF0aC5qb2luKGJlZm9yZSwgbWF0Y2hwYXRoLCBvcy5tYXRjaG5hbWUobSkpCmlmIGFmdGVyIHRoZW4KcmVzdWx0cyA9IHRhYmxlLmpvaW4ocmVzdWx0cywgb3MubWF0Y2gocGF0aC5qb2luKG1hdGNocGF0aCwgYWZ0ZXIpKSkKZWxzZQp0YWJsZS5pbnNlcnQocmVzdWx0cywgbWF0Y2hwYXRoKQplbmQKZW5kCmVuZApvcy5tYXRjaGRvbmUobSkKZW5kCnJldHVybiByZXN1bHRzCmVuZApmdW5jdGlvbiBvcy5tYXRjaGRpcnMobWFzaykKbG9jYWwgcmVzdWx0cyA9IG9zLm1hdGNoKG1hc2spCmZvciBpID0gI3Jlc3VsdHMsIDEsIC0xIGRvCmlmIG5vdCBvcy5pc2RpcihyZXN1bHRzW2ldKSB0aGVuCnRhYmxlLnJlbW92ZShyZXN1bHRzLCBpKQplbmQKZW5kCnJldHVybiByZXN1bHRzCmVuZApmdW5jdGlvbiBvcy5tYXRjaGZpbGVzKG1hc2spCmxvY2FsIHJlc3VsdHMgPSBvcy5tYXRjaChtYXNrKQpmb3IgaSA9ICNyZXN1bHRzLCAxLCAtMSBkbwppZiBub3Qgb3MuaXNmaWxlKHJlc3VsdHNbaV0pIHRoZW4KdGFibGUucmVtb3ZlKHJlc3VsdHMsIGkpCmVuZAplbmQKcmV0dXJuIHJlc3VsdHMKZW5kCmxvY2FsIGJ1aWx0aW5fbWtkaXIgPSBvcy5ta2RpcgpmdW5jdGlvbiBvcy5ta2RpcihwKQpwID0gcGF0aC5ub3JtYWxpemUocCkKbG9jYWwgZGlyID0gaWlmKHA6c3RhcnRzd2l0aCgiLyIpLCAiLyIsICIiKQpmb3IgcGFydCBpbiBwOmdtYXRjaCgiW14vXSsiKSBkbwpkaXIgPSBkaXIgLi4gcGFydAppZiAocGFydCB+PSAiIiBhbmQgbm90IHBhdGguaXNhYnNvbHV0ZShwYXJ0KSBhbmQgbm90IG9zLmlzZGlyKGRpcikpIHRoZW4KbG9jYWwgb2ssIGVyciA9IGJ1aWx0aW5fbWtkaXIoZGlyKQppZiAobm90IG9rKSB0aGVuCnJldHVybiBuaWwsIGVycgplbmQKZW5kCmRpciA9IGRpciAuLiAiLyIKZW5kCnJldHVybiB0cnVlCmVuZApmdW5jdGlvbiBvcy5vdXRwdXRvZihjbWQpCmNtZCA9IHBhdGgubm9ybWFsaXplKGNtZCkKbG9jYWwgcGlwZSA9IGlvLnBvcGVuKGNtZCkKbG9jYWwgcmVzdWx0ID0gcGlwZTpyZWFkKCcqYScpCmxvY2FsIGIsIGV4aXRjb2RlID0gcGlwZTpjbG9zZSgpCmlmIG5vdCBiIHRoZW4KZXhpdGNvZGUgPSAtMQplbmQKaWYgcmVzdWx0IHRoZW4KcmVzdWx0ID0gc3RyaW5nLmdzdWIocmVzdWx0LCAiW1xyXG5dKyQiLCAiIikKZW5kCnJldHVybiByZXN1bHQsIGV4aXRjb2RlCmVuZApsb2NhbCBidWlsdGluX3JlbW92ZSA9IG9zLnJlbW92ZQpmdW5jdGlvbiBvcy5yZW1vdmUoZikKaWYgdHlwZShmKSA9PSAic3RyaW5nIiB0aGVuCmxvY2FsIHAgPSBvcy5tYXRjaGZpbGVzKGYpCmZvciBfLCB2IGluIHBhaXJzKHApIGRvCmxvY2FsIG9rLCBlcnIgPSBidWlsdGluX3JlbW92ZSh2KQppZiBub3Qgb2sgdGhlbgpyZXR1cm4gb2ssIGVycgplbmQKZW5kCmVsc2VpZiB0eXBlKGYpID09ICJ0YWJsZSIgdGhlbgpmb3IgXywgdiBpbiBwYWlycyhmKSBkbwpsb2NhbCBvaywgZXJyID0gb3MucmVtb3ZlKHYpCmlmIG5vdCBvayB0aGVuCnJldHVybiBvaywgZXJyCmVuZAplbmQKZW5kCmVuZApsb2NhbCBidWlsdGluX3JtZGlyID0gb3Mucm1kaXIKZnVuY3Rpb24gb3Mucm1kaXIocCkKbG9jYWwgZGlycyA9IG9zLm1hdGNoZGlycyhwIC4uICIvKiIpCmZvciBfLCBkbmFtZSBpbiBpcGFpcnMoZGlycykgZG8Kb3Mucm1kaXIoZG5hbWUpCmVuZApsb2NhbCBmaWxlcyA9IG9zLm1hdGNoZmlsZXMocCAuLiAiLyoiKQpmb3IgXywgZm5hbWUgaW4gaXBhaXJzKGZpbGVzKSBkbwpvcy5yZW1vdmUoZm5hbWUpCmVuZApidWlsdGluX3JtZGlyKHApCmVuZApwcmVtYWtlLm92ZXJyaWRlKG9zLCAic3RhdCIsIGZ1bmN0aW9uKGJhc2UsIHApCnAgPSBwYXRoLm5vcm1hbGl6ZShwKQpyZXR1cm4gYmFzZShwKQplbmQpCm9zLmNvbW1hbmRUb2tlbnMgPSB7Cl8gPSB7CmNoZGlyID0gZnVuY3Rpb24odikKcmV0dXJuICJjZCAiIC4uIHYKZW5kLApjb3B5ID0gZnVuY3Rpb24odikKcmV0dXJuICJjcCAtcmYgIiAuLiB2CmVuZCwKZGVsZXRlID0gZnVuY3Rpb24odikKcmV0dXJuICJybSAtZiAiIC4uIHYKZW5kLAplY2hvID0gZnVuY3Rpb24odikKcmV0dXJuICJlY2hvICIgLi4gdgplbmQsCm1rZGlyID0gZnVuY3Rpb24odikKcmV0dXJuICJta2RpciAtcCAiIC4uIHYKZW5kLAptb3ZlID0gZnVuY3Rpb24odikKcmV0dXJuICJtdiAtZiAiIC4uIHYKZW5kLApybWRpciA9IGZ1bmN0aW9uKHYpCnJldHVybiAicm0gLXJmICIgLi4gdgplbmQsCnRvdWNoID0gZnVuY3Rpb24odikKcmV0dXJuICJ0b3VjaCAiIC4uIHYKZW5kLAp9LAp3aW5kb3dzID0gewpjaGRpciA9IGZ1bmN0aW9uKHYpCnJldHVybiAiY2hkaXIgIiAuLiBwYXRoLnRyYW5zbGF0ZSh2KQplbmQsCmNvcHkgPSBmdW5jdGlvbih2KQp2ID0gcGF0aC50cmFuc2xhdGUodikKbG9jYWwgc3JjID0gc3RyaW5nLm1hdGNoKHYsICdeIi4tIicpIG9yIHN0cmluZy5tYXRjaCh2LCAnXi4tICcpIG9yIHYKc3JjID0gc3RyaW5nLm1hdGNoKHNyYywgJ14uKiVTJykKcmV0dXJuICJJRiBFWElTVCAiIC4uIHNyYyAuLiAiXFwgKHhjb3B5IC9RIC9FIC9ZIC9JICIgLi4gdiAuLiAiID4gbnVsKSBFTFNFICh4Y29weSAvUSAvWSAvSSAiIC4uIHYgLi4gIiA+IG51bCkiCmVuZCwKZGVsZXRlID0gZnVuY3Rpb24odikKcmV0dXJuICJkZWwgIiAuLiBwYXRoLnRyYW5zbGF0ZSh2KQplbmQsCmVjaG8gPSBmdW5jdGlvbih2KQpyZXR1cm4gImVjaG8gIiAuLiB2CmVuZCwKbWtkaXIgPSBmdW5jdGlvbih2KQpyZXR1cm4gIm1rZGlyICIgLi4gcGF0aC50cmFuc2xhdGUodikKZW5kLAptb3ZlID0gZnVuY3Rpb24odikKcmV0dXJuICJtb3ZlIC9ZICIgLi4gcGF0aC50cmFuc2xhdGUodikKZW5kLApybWRpciA9IGZ1bmN0aW9uKHYpCnJldHVybiAicm1kaXIgL1MgL1EgIiAuLiBwYXRoLnRyYW5zbGF0ZSh2KQplbmQsCnRvdWNoID0gZnVuY3Rpb24odikKdiA9IHBhdGgudHJhbnNsYXRlKHYpCnJldHVybiBzdHJpbmcuZm9ybWF0KCJ0eXBlIG51bCA+PiAlcyAmJiBjb3B5IC9iICVzKywsICVzIiwgdiwgdiwgdikKZW5kLAp9Cn0KZnVuY3Rpb24gb3MudHJhbnNsYXRlQ29tbWFuZHMoY21kLCBtYXApCm1hcCA9IG1hcCBvciBvcy5nZXQoKQppZiB0eXBlKG1hcCkgPT0gInN0cmluZyIgdGhlbgptYXAgPSBvcy5jb21tYW5kVG9rZW5zW21hcF0gb3Igb3MuY29tbWFuZFRva2Vuc1siXyJdCmVuZApsb2NhbCBwcm9jZXNzT25lID0gZnVuY3Rpb24oY21kKQpsb2NhbCB0b2tlbiA9IGNtZDptYXRjaCgiXnsuK30iKQppZiB0b2tlbiB0aGVuCnRva2VuID0gdG9rZW46c3ViKDIsICN0b2tlbiAtIDEpOmxvd2VyKCkKbG9jYWwgYXJncyA9IGNtZDpzdWIoI3Rva2VuICsgNCkKbG9jYWwgZnVuYyA9IG1hcFt0b2tlbl0gb3Igb3MuY29tbWFuZFRva2Vuc1siXyJdW3Rva2VuXQppZiBmdW5jIHRoZW4KY21kID0gZnVuYyhhcmdzKQplbmQKZW5kCnJldHVybiBjbWQKZW5kCmlmIHR5cGUoY21kKSA9PSAidGFibGUiIHRoZW4KbG9jYWwgcmVzdWx0ID0ge30KZm9yIGkgPSAxLCAjY21kIGRvCnJlc3VsdFtpXSA9IHByb2Nlc3NPbmUoY21kW2ldKQplbmQKcmV0dXJuIHJlc3VsdAplbHNlCnJldHVybiBwcm9jZXNzT25lKGNtZCkKZW5kCmVuZApvcy5fdXVpZHMgPSB7fQpsb2NhbCBidWlsdGluX3V1aWQgPSBvcy51dWlkCmZ1bmN0aW9uIG9zLnV1aWQobmFtZSkKbG9jYWwgaWQgPSBidWlsdGluX3V1aWQobmFtZSkKaWYgbmFtZSB0aGVuCmlmIG9zLl91dWlkc1tpZF0gYW5kIG9zLl91dWlkc1tpZF0gfj0gbmFtZSB0aGVuCnByZW1ha2Uud2Fybk9uY2UoaWQsICJVVUlEIGNsYXNoIGJldHdlZW4gJXMgYW5kICVzIiwgb3MuX3V1aWRzW2lkXSwgbmFtZSkKZW5kCm9zLl91dWlkc1tpZF0gPSBuYW1lCmVuZApyZXR1cm4gaWQKZW5kCgBwcmVtYWtlLm92ZXJyaWRlKGlvLCAib3BlbiIsIGZ1bmN0aW9uKGJhc2UsIGZuYW1lLCBtb2RlKQppZiBtb2RlIGFuZCAobW9kZTpmaW5kKCJ3Iikgb3IgbW9kZTpmaW5kKCJhIikpICB0aGVuCmxvY2FsIGRpciA9IHBhdGguZ2V0ZGlyZWN0b3J5KGZuYW1lKQpvaywgZXJyID0gb3MubWtkaXIoZGlyKQppZiBub3Qgb2sgdGhlbgplcnJvcihlcnIsIDApCmVuZAplbmQKcmV0dXJuIGJhc2UoZm5hbWUsIG1vZGUpCmVuZCkKAABsb2NhbCBwID0gcHJlbWFrZQpwLnRvb2xzID0ge30KZnVuY3Rpb24gcC50b29scy5jYW5vbmljYWwoaWRlbnRpZmllcikKbG9jYWwgcGFydHMKaWYgaWRlbnRpZmllcjpzdGFydHN3aXRoKCJ2IikgdGhlbiAtLSBUT0RPOiB0aGlzIHNob3VsZCBiZSBkZXByZWNhdGVkPwpwYXJ0cyA9IHsgIm1zYyIsIGlkZW50aWZpZXIgfQplbHNlCnBhcnRzID0gaWRlbnRpZmllcjpleHBsb2RlKCItIiwgdHJ1ZSwgMSkKaWYgcGFydHNbMl0gfj0gbmlsIHRoZW4KaWYgcGFydHNbMV0gPT0gIm1zYyIgYW5kIHRvbnVtYmVyKHBhcnRzWzJdOnN1YigxLDMpKSB+PSBuaWwgdGhlbgpwYXJ0c1syXSA9ICJ2IiAuLiBwYXJ0c1syXQplbmQKaWYgcGFydHNbMl06c3RhcnRzd2l0aCgibGx2bS12cyIpIHRoZW4KcGFydHNbMl0gPSAiTExWTS0iIC4uIHBhcnRzWzJdOnN1Yig2KQplbmQKZW5kCmVuZApyZXR1cm4gcC50b29sc1twYXJ0c1sxXV0sIHBhcnRzWzJdCmVuZAoAAABwcmVtYWtlLnRyZWUgPSB7fQpsb2NhbCB0cmVlID0gcHJlbWFrZS50cmVlCmZ1bmN0aW9uIHRyZWUubmV3KG4pCmxvY2FsIHQgPSB7Cm5hbWUgPSBuLApjaGlsZHJlbiA9IHt9Cn0KcmV0dXJuIHQKZW5kCmZ1bmN0aW9uIHRyZWUuYWRkKHRyLCBwLCBleHRyYUZpZWxkcykKaWYgcCA9PSAiLiIgb3IgcCA9PSAiLyIgdGhlbgpyZXR1cm4gdHIKZW5kCmxvY2FsIHBhcmVudG5vZGUgPSB0cmVlLmFkZCh0ciwgcGF0aC5nZXRkaXJlY3RvcnkocCksIGV4dHJhRmllbGRzKQpsb2NhbCBjaGlsZG5hbWUgPSBwYXRoLmdldG5hbWUocCkKbG9jYWwgY2hpbGRub2RlID0gcGFyZW50bm9kZS5jaGlsZHJlbltjaGlsZG5hbWVdCmlmIG5vdCBjaGlsZG5vZGUgb3IgY2hpbGRub2RlLnBhdGggfj0gcCB0aGVuCmNoaWxkbm9kZSA9IHRyZWUuaW5zZXJ0KHBhcmVudG5vZGUsIHRyZWUubmV3KGNoaWxkbmFtZSkpCmNoaWxkbm9kZS5wYXRoID0gcAppZiBleHRyYUZpZWxkcyB0aGVuCmZvciBrLHYgaW4gcGFpcnMoZXh0cmFGaWVsZHMpIGRvCmNoaWxkbm9kZVtrXSA9IHYKZW5kCmVuZAplbmQKcmV0dXJuIGNoaWxkbm9kZQplbmQKZnVuY3Rpb24gdHJlZS5pbnNlcnQocGFyZW50LCBjaGlsZCkKdGFibGUuaW5zZXJ0KHBhcmVudC5jaGlsZHJlbiwgY2hpbGQpCmlmIGNoaWxkLm5hbWUgdGhlbgpwYXJlbnQuY2hpbGRyZW5bY2hpbGQubmFtZV0gPSBjaGlsZAplbmQKY2hpbGQucGFyZW50ID0gcGFyZW50CnJldHVybiBjaGlsZAplbmQKZnVuY3Rpb24gdHJlZS5nZXRsb2NhbHBhdGgobm9kZSkKaWYgbm9kZS5wYXJlbnQucGF0aCB0aGVuCnJldHVybiBub2RlLm5hbWUKZWxzZWlmIG5vZGUuY2ZnIHRoZW4KcmV0dXJuIG5vZGUuY2ZnLm5hbWUKZWxzZQpyZXR1cm4gbm9kZS5wYXRoCmVuZAplbmQKZnVuY3Rpb24gdHJlZS5oYXNicmFuY2hlcyh0cikKbG9jYWwgbiA9ICN0ci5jaGlsZHJlbgppZiBuID4gMCB0aGVuCmZvciBpID0gMSwgbiBkbwppZiAjdHIuY2hpbGRyZW5baV0uY2hpbGRyZW4gPiAwIHRoZW4KcmV0dXJuIHRydWUKZW5kCmVuZAplbmQKcmV0dXJuIGZhbHNlCmVuZApmdW5jdGlvbiB0cmVlLmlzcGFyZW50KG4sIGNoaWxkKQpsb2NhbCBwID0gY2hpbGQucGFyZW50CndoaWxlIHAgZG8KaWYgcCA9PSBuIHRoZW4KcmV0dXJuIHRydWUKZW5kCnAgPSBwLnBhcmVudAplbmQKcmV0dXJuIGZhbHNlCmVuZApmdW5jdGlvbiB0cmVlLnJlbW92ZShub2RlKQpsb2NhbCBjaGlsZHJlbiA9IG5vZGUucGFyZW50LmNoaWxkcmVuCmZvciBpID0gMSwgI2NoaWxkcmVuIGRvCmlmIGNoaWxkcmVuW2ldID09IG5vZGUgdGhlbgp0YWJsZS5yZW1vdmUoY2hpbGRyZW4sIGkpCmVuZAplbmQKbm9kZS5jaGlsZHJlbiA9IHt9CmVuZApmdW5jdGlvbiB0cmVlLnNvcnQodHIsIGZuKQppZiBub3QgZm4gdGhlbgpmbiA9IGZ1bmN0aW9uKGEsYikgcmV0dXJuIGEubmFtZSA8IGIubmFtZSBlbmQKZW5kCnRyZWUudHJhdmVyc2UodHIsIHsKb25ub2RlID0gZnVuY3Rpb24obm9kZSkKdGFibGUuc29ydChub2RlLmNoaWxkcmVuLCBmbikKZW5kCn0sIHRydWUpCmVuZApmdW5jdGlvbiB0cmVlLnRyYXZlcnNlKHQsIGZuLCBpbmNsdWRlcm9vdCwgaW5pdGlhbGRlcHRoKQpsb2NhbCBkb25vZGUsIGRvY2hpbGRyZW4KZG9ub2RlID0gZnVuY3Rpb24obm9kZSwgZm4sIGRlcHRoKQppZiBub2RlLmlzcmVtb3ZlZCB0aGVuCnJldHVybgplbmQKaWYgZm4ub25ub2RlIHRoZW4KZm4ub25ub2RlKG5vZGUsIGRlcHRoKQplbmQKaWYgI25vZGUuY2hpbGRyZW4gPiAwIHRoZW4KaWYgZm4ub25icmFuY2hlbnRlciB0aGVuCmZuLm9uYnJhbmNoZW50ZXIobm9kZSwgZGVwdGgpCmVuZAppZiBmbi5vbmJyYW5jaCB0aGVuCmZuLm9uYnJhbmNoKG5vZGUsIGRlcHRoKQplbmQKZG9jaGlsZHJlbihub2RlLCBmbiwgZGVwdGggKyAxKQppZiBmbi5vbmJyYW5jaGV4aXQgdGhlbgpmbi5vbmJyYW5jaGV4aXQobm9kZSwgZGVwdGgpCmVuZAplbHNlCmlmIGZuLm9ubGVhZiB0aGVuCmZuLm9ubGVhZihub2RlLCBkZXB0aCkKZW5kCmVuZAplbmQKZG9jaGlsZHJlbiA9IGZ1bmN0aW9uKHBhcmVudCwgZm4sIGRlcHRoKQpsb2NhbCBpID0gMQp3aGlsZSBpIDw9ICNwYXJlbnQuY2hpbGRyZW4gZG8KbG9jYWwgbm9kZSA9IHBhcmVudC5jaGlsZHJlbltpXQpkb25vZGUobm9kZSwgZm4sIGRlcHRoKQppZiBub2RlID09IHBhcmVudC5jaGlsZHJlbltpXSB0aGVuCmkgPSBpICsgMQplbmQKZW5kCmVuZAppZiBub3QgaW5pdGlhbGRlcHRoIHRoZW4KaW5pdGlhbGRlcHRoID0gMAplbmQKaWYgaW5jbHVkZXJvb3QgdGhlbgpkb25vZGUodCwgZm4sIGluaXRpYWxkZXB0aCkKZWxzZQpkb2NoaWxkcmVuKHQsIGZuLCBpbml0aWFsZGVwdGgpCmVuZAplbmQKZnVuY3Rpb24gdHJlZS50cmltcm9vdCh0cikKbG9jYWwgdHJpbW1lZAp3aGlsZSAjdHIuY2hpbGRyZW4gPT0gMSBkbwpsb2NhbCBub2RlID0gdHIuY2hpbGRyZW5bMV0KaWYgI25vZGUuY2hpbGRyZW4gPT0gMCBvciBub2RlLnRyaW0gPT0gZmFsc2UgdGhlbgpicmVhawplbmQKdHJpbW1lZCA9IHRydWUKbG9jYWwgbnVtQ2hpbGRyZW4gPSAjbm9kZS5jaGlsZHJlbgpmb3IgaSA9IDEsIG51bUNoaWxkcmVuIGRvCmxvY2FsIGNoaWxkID0gbm9kZS5jaGlsZHJlbltpXQpjaGlsZC5wYXJlbnQgPSBub2RlLnBhcmVudAp0ci5jaGlsZHJlbltpXSA9IGNoaWxkCmVuZAplbmQKbG9jYWwgZG90ZG90CmxvY2FsIGNvdW50ID0gI3RyLmNoaWxkcmVuCnJlcGVhdApkb3Rkb3QgPSBmYWxzZQpmb3IgaSA9IDEsIGNvdW50IGRvCmxvY2FsIG5vZGUgPSB0ci5jaGlsZHJlbltpXQppZiBub2RlLm5hbWUgPT0gIi4uIiBhbmQgI25vZGUuY2hpbGRyZW4gPT0gMSB0aGVuCmxvY2FsIGNoaWxkID0gbm9kZS5jaGlsZHJlblsxXQpjaGlsZC5wYXJlbnQgPSBub2RlLnBhcmVudAp0ci5jaGlsZHJlbltpXSA9IGNoaWxkCnRyaW1tZWQgPSB0cnVlCmRvdGRvdCA9IHRydWUKZW5kCmVuZAp1bnRpbCBub3QgZG90ZG90CmlmIHRyaW1tZWQgdGhlbgp0cmVlLnRyYXZlcnNlKHRyLCB7Cm9ubm9kZSA9IGZ1bmN0aW9uKG5vZGUpCmlmIG5vZGUucGFyZW50LnBhdGggdGhlbgpub2RlLnBhdGggPSBwYXRoLmpvaW4obm9kZS5wYXJlbnQucGF0aCwgbm9kZS5uYW1lKQplbHNlCm5vZGUucGF0aCA9IG5vZGUubmFtZQplbmQKZW5kCn0sIGZhbHNlKQplbmQKZW5kCgAAZnVuY3Rpb24gZG9maWxlb3B0KGZuYW1lKQppZiB0eXBlKGZuYW1lKSA9PSAic3RyaW5nIiB0aGVuIGZuYW1lID0ge2ZuYW1lfSBlbmQKZm9yIGkgPSAxLCAjZm5hbWUgZG8KbG9jYWwgZm91bmQgPSBvcy5sb2NhdGUoZm5hbWVbaV0pCmlmIG5vdCBmb3VuZCB0aGVuCmZvdW5kID0gb3MubG9jYXRlKGZuYW1lW2ldIC4uICIubHVhIikKZW5kCmlmIGZvdW5kIHRoZW4KZG9maWxlKGZvdW5kKQpyZXR1cm4gdHJ1ZQplbmQKZW5kCmVuZAppby5faW5jbHVkZWRGaWxlcyA9IHt9CmZ1bmN0aW9uIGluY2x1ZGUoZm5hbWUpCmxvY2FsIGZ1bGxQYXRoID0gcHJlbWFrZS5maW5kUHJvamVjdFNjcmlwdChmbmFtZSkKZm5hbWUgPSBmdWxsUGF0aCBvciBmbmFtZQppZiBub3QgaW8uX2luY2x1ZGVkRmlsZXNbZm5hbWVdIHRoZW4KaW8uX2luY2x1ZGVkRmlsZXNbZm5hbWVdID0gdHJ1ZQpyZXR1cm4gZG9maWxlKGZuYW1lKQplbmQKZW5kCnByZW1ha2Uub3ZlcnJpZGUoX0csICJyZXF1aXJlIiwgZnVuY3Rpb24oYmFzZSwgbW9kbmFtZSwgdmVyc2lvbnMpCmxvY2FsIHJlc3VsdCwgbW9kID0gcGNhbGwoYmFzZSxtb2RuYW1lKQppZiBub3QgcmVzdWx0IHRoZW4KZXJyb3IoIG1vZCwgMyApCmVuZAppZiBtb2QgYW5kIHZlcnNpb25zIGFuZCBub3QgcHJlbWFrZS5jaGVja1ZlcnNpb24obW9kLl9WRVJTSU9OLCB2ZXJzaW9ucykgdGhlbgplcnJvcihzdHJpbmcuZm9ybWF0KCJtb2R1bGUgJXMgJXMgZG9lcyBub3QgbWVldCB2ZXJzaW9uIGNyaXRlcmlhICVzIiwKbW9kbmFtZSwgbW9kLl9WRVJTSU9OIG9yICIobm9uZSkiLCB2ZXJzaW9ucyksIDMpCmVuZApyZXR1cm4gbW9kCmVuZCkKAAAAAGxvY2FsIHNlbXZlciA9IHsKICBfVkVSU0lPTiAgICAgPSAnMS4yLjAnLAogIF9ERVNDUklQVElPTiA9ICdzZW12ZXIgZm9yIEx1YScsCiAgX1VSTCAgICAgICAgID0gJ2h0dHBzOi8vZ2l0aHViLmNvbS9raWtpdG8vc2VtdmVyLmx1YScsCiAgX0xJQ0VOU0UgICAgID0gW1sKICAgIE1JVCBMSUNFTlNFCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgRW5yaXF1ZSBHYXJjw61hIENvdGEKICAgIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCiAgICBjb3B5IG9mIHRvdGhlciBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKICAgICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKICAgIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKICAgIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0bwogICAgcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCiAgICB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CiAgICBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdG90aGVyIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCiAgICBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KICAgIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTCiAgICBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCiAgICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCiAgICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQogICAgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKICAgIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCiAgICBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KICBdXQp9CmxvY2FsIGZ1bmN0aW9uIGNoZWNrUG9zaXRpdmVJbnRlZ2VyKG51bWJlciwgbmFtZSkKICBhc3NlcnQobnVtYmVyID49IDAsIG5hbWUgLi4gJyBtdXN0IGJlIGEgdmFsaWQgcG9zaXRpdmUgbnVtYmVyJykKICBhc3NlcnQobWF0aC5mbG9vcihudW1iZXIpID09IG51bWJlciwgbmFtZSAuLiAnIG11c3QgYmUgYW4gaW50ZWdlcicpCmVuZApsb2NhbCBmdW5jdGlvbiBwcmVzZW50KHZhbHVlKQogIHJldHVybiB2YWx1ZSBhbmQgdmFsdWUgfj0gJycKZW5kCmxvY2FsIGZ1bmN0aW9uIHNwbGl0QnlEb3Qoc3RyKQogIHN0ciA9IHN0ciBvciAiIgogIGxvY2FsIHQsIGNvdW50ID0ge30sIDAKICBzdHI6Z3N1YigiKFteJS5dKykiLCBmdW5jdGlvbihjKQogICAgY291bnQgPSBjb3VudCArIDEKICAgIHRbY291bnRdID0gYwogIGVuZCkKICByZXR1cm4gdAplbmQKbG9jYWwgZnVuY3Rpb24gcGFyc2VQcmVyZWxlYXNlQW5kQnVpbGRXaXRoU2lnbihzdHIpCiAgbG9jYWwgcHJlcmVsZWFzZVdpdGhTaWduLCBidWlsZFdpdGhTaWduID0gc3RyOm1hdGNoKCJeKC1bXitdKykoKy4rKSQiKQogIGlmIG5vdCAocHJlcmVsZWFzZVdpdGhTaWduIGFuZCBidWlsZFdpdGhTaWduKSB0aGVuCiAgICBwcmVyZWxlYXNlV2l0aFNpZ24gPSBzdHI6bWF0Y2goIl4oLS4rKSQiKQogICAgYnVpbGRXaXRoU2lnbiAgICAgID0gc3RyOm1hdGNoKCJeKCsuKykkIikKICBlbmQKICBhc3NlcnQocHJlcmVsZWFzZVdpdGhTaWduIG9yIGJ1aWxkV2l0aFNpZ24sICgiVGhlIHBhcmFtZXRlciAlcSBtdXN0IGJlZ2luIHdpdGggKyBvciAtIHRvIGRlbm90ZSBhIHByZXJlbGVhc2Ugb3IgYSBidWlsZCIpOmZvcm1hdChzdHIpKQogIHJldHVybiBwcmVyZWxlYXNlV2l0aFNpZ24sIGJ1aWxkV2l0aFNpZ24KZW5kCmxvY2FsIGZ1bmN0aW9uIHBhcnNlUHJlcmVsZWFzZShwcmVyZWxlYXNlV2l0aFNpZ24pCiAgaWYgcHJlcmVsZWFzZVdpdGhTaWduIHRoZW4KICAgIGxvY2FsIHByZXJlbGVhc2UgPSBwcmVyZWxlYXNlV2l0aFNpZ246bWF0Y2goIl4tKCV3WyUuJXctXSopJCIpCiAgICBhc3NlcnQocHJlcmVsZWFzZSwgKCJUaGUgcHJlcmVsZWFzZSAlcSBpcyBub3QgYSBzbGFzaCBmb2xsb3dlZCBieSBhbHBoYW51bWVyaWNzLCBkb3RzIGFuZCBzbGFzaGVzIik6Zm9ybWF0KHByZXJlbGVhc2VXaXRoU2lnbikpCiAgICByZXR1cm4gcHJlcmVsZWFzZQogIGVuZAplbmQKbG9jYWwgZnVuY3Rpb24gcGFyc2VCdWlsZChidWlsZFdpdGhTaWduKQogIGlmIGJ1aWxkV2l0aFNpZ24gdGhlbgogICAgbG9jYWwgYnVpbGQgPSBidWlsZFdpdGhTaWduOm1hdGNoKCJeJSsoJXdbJS4ldy1dKikkIikKICAgIGFzc2VydChidWlsZCwgKCJUaGUgYnVpbGQgJXEgaXMgbm90IGEgKyBzaWduIGZvbGxvd2VkIGJ5IGFscGhhbnVtZXJpY3MsIGRvdHMgYW5kIHNsYXNoZXMiKTpmb3JtYXQoYnVpbGRXaXRoU2lnbikpCiAgICByZXR1cm4gYnVpbGQKICBlbmQKZW5kCmxvY2FsIGZ1bmN0aW9uIHBhcnNlUHJlcmVsZWFzZUFuZEJ1aWxkKHN0cikKICBpZiBub3QgcHJlc2VudChzdHIpIHRoZW4gcmV0dXJuIG5pbCwgbmlsIGVuZAogIGxvY2FsIHByZXJlbGVhc2VXaXRoU2lnbiwgYnVpbGRXaXRoU2lnbiA9IHBhcnNlUHJlcmVsZWFzZUFuZEJ1aWxkV2l0aFNpZ24oc3RyKQogIGxvY2FsIHByZXJlbGVhc2UgPSBwYXJzZVByZXJlbGVhc2UocHJlcmVsZWFzZVdpdGhTaWduKQogIGxvY2FsIGJ1aWxkID0gcGFyc2VCdWlsZChidWlsZFdpdGhTaWduKQogIHJldHVybiBwcmVyZWxlYXNlLCBidWlsZAplbmQKbG9jYWwgZnVuY3Rpb24gcGFyc2VWZXJzaW9uKHN0cikKICBsb2NhbCBzTWFqb3IsIHNNaW5vciwgc1BhdGNoLCBzUHJlcmVsZWFzZUFuZEJ1aWxkID0gc3RyOm1hdGNoKCJeKCVkKyklLj8oJWQqKSUuPyglZCopKC4tKSQiKQogIGFzc2VydCh0eXBlKHNNYWpvcikgPT0gJ3N0cmluZycsICgiQ291bGQgbm90IGV4dHJhY3QgdmVyc2lvbiBudW1iZXIocykgZnJvbSAlcSIpOmZvcm1hdChzdHIpKQogIGxvY2FsIG1ham9yLCBtaW5vciwgcGF0Y2ggPSB0b251bWJlcihzTWFqb3IpLCB0b251bWJlcihzTWlub3IpLCB0b251bWJlcihzUGF0Y2gpCiAgbG9jYWwgcHJlcmVsZWFzZSwgYnVpbGQgPSBwYXJzZVByZXJlbGVhc2VBbmRCdWlsZChzUHJlcmVsZWFzZUFuZEJ1aWxkKQogIHJldHVybiBtYWpvciwgbWlub3IsIHBhdGNoLCBwcmVyZWxlYXNlLCBidWlsZAplbmQKbG9jYWwgZnVuY3Rpb24gY29tcGFyZShhLGIpCiAgcmV0dXJuIGEgPT0gYiBhbmQgMCBvciBhIDwgYiBhbmQgLTEgb3IgMQplbmQKbG9jYWwgZnVuY3Rpb24gY29tcGFyZUlkcyhteUlkLCBvdGhlcklkKQogIGlmIG15SWQgPT0gb3RoZXJJZCB0aGVuIHJldHVybiAgMAogIGVsc2VpZiBub3QgbXlJZCAgICB0aGVuIHJldHVybiAtMQogIGVsc2VpZiBub3Qgb3RoZXJJZCB0aGVuIHJldHVybiAgMQogIGVuZAogIGxvY2FsIHNlbGZOdW1iZXIsIG90aGVyTnVtYmVyID0gdG9udW1iZXIobXlJZCksIHRvbnVtYmVyKG90aGVySWQpCiAgaWYgc2VsZk51bWJlciBhbmQgb3RoZXJOdW1iZXIgdGhlbiAtLSBudW1lcmljYWwgY29tcGFyaXNvbgogICAgcmV0dXJuIGNvbXBhcmUoc2VsZk51bWJlciwgb3RoZXJOdW1iZXIpCiAgLS0gbnVtZXJpY2FscyBhcmUgYWx3YXlzIHNtYWxsZXIgdGhhbiBhbHBoYW51bXMKICBlbHNlaWYgc2VsZk51bWJlciB0aGVuCiAgICByZXR1cm4gLTEKICBlbHNlaWYgb3RoZXJOdW1iZXIgdGhlbgogICAgcmV0dXJuIDEKICBlbHNlCiAgICByZXR1cm4gY29tcGFyZShteUlkLCBvdGhlcklkKSAtLSBhbHBoYW51bWVyaWNhbCBjb21wYXJpc29uCiAgZW5kCmVuZApsb2NhbCBmdW5jdGlvbiBzbWFsbGVySWRMaXN0KG15SWRzLCBvdGhlcklkcykKICBsb2NhbCBteUxlbmd0aCA9ICNteUlkcwogIGxvY2FsIGNvbXBhcmlzb24KICBmb3IgaT0xLCBteUxlbmd0aCBkbwogICAgY29tcGFyaXNvbiA9IGNvbXBhcmVJZHMobXlJZHNbaV0sIG90aGVySWRzW2ldKQogICAgaWYgY29tcGFyaXNvbiB+PSAwIHRoZW4KICAgICAgcmV0dXJuIGNvbXBhcmlzb24gPT0gLTEKICAgIGVuZAogICAgLS0gaWYgY29tcGFyaXNvbiA9PSAwLCBjb250aW51ZSBsb29wCiAgZW5kCiAgcmV0dXJuIG15TGVuZ3RoIDwgI290aGVySWRzCmVuZApsb2NhbCBmdW5jdGlvbiBzbWFsbGVyUHJlcmVsZWFzZShtaW5lLCBvdGhlcikKICBpZiBtaW5lID09IG90aGVyIG9yIG5vdCBtaW5lIHRoZW4gcmV0dXJuIGZhbHNlCiAgZWxzZWlmIG5vdCBvdGhlciB0aGVuIHJldHVybiB0cnVlCiAgZW5kCiAgcmV0dXJuIHNtYWxsZXJJZExpc3Qoc3BsaXRCeURvdChtaW5lKSwgc3BsaXRCeURvdChvdGhlcikpCmVuZApsb2NhbCBtZXRob2RzID0ge30KZnVuY3Rpb24gbWV0aG9kczpuZXh0TWFqb3IoKQogIHJldHVybiBzZW12ZXIoc2VsZi5tYWpvciArIDEsIDAsIDApCmVuZApmdW5jdGlvbiBtZXRob2RzOm5leHRNaW5vcigpCiAgcmV0dXJuIHNlbXZlcihzZWxmLm1ham9yLCBzZWxmLm1pbm9yICsgMSwgMCkKZW5kCmZ1bmN0aW9uIG1ldGhvZHM6bmV4dFBhdGNoKCkKICByZXR1cm4gc2VtdmVyKHNlbGYubWFqb3IsIHNlbGYubWlub3IsIHNlbGYucGF0Y2ggKyAxKQplbmQKbG9jYWwgbXQgPSB7IF9faW5kZXggPSBtZXRob2RzIH0KZnVuY3Rpb24gbXQ6X19lcShvdGhlcikKICByZXR1cm4gc2VsZi5tYWpvciA9PSBvdGhlci5tYWpvciBhbmQKICAgICAgICAgc2VsZi5taW5vciA9PSBvdGhlci5taW5vciBhbmQKICAgICAgICAgc2VsZi5wYXRjaCA9PSBvdGhlci5wYXRjaCBhbmQKICAgICAgICAgc2VsZi5wcmVyZWxlYXNlID09IG90aGVyLnByZXJlbGVhc2UKICAgICAgICAgLS0gbm90aWNlIHRoYXQgYnVpbGQgaXMgaWdub3JlZCBmb3IgcHJlY2VkZW5jZSBpbiBzZW12ZXIgMi4wLjAKZW5kCmZ1bmN0aW9uIG10Ol9fbHQob3RoZXIpCiAgaWYgc2VsZi5tYWpvciB+PSBvdGhlci5tYWpvciB0aGVuIHJldHVybiBzZWxmLm1ham9yIDwgb3RoZXIubWFqb3IgZW5kCiAgaWYgc2VsZi5taW5vciB+PSBvdGhlci5taW5vciB0aGVuIHJldHVybiBzZWxmLm1pbm9yIDwgb3RoZXIubWlub3IgZW5kCiAgaWYgc2VsZi5wYXRjaCB+PSBvdGhlci5wYXRjaCB0aGVuIHJldHVybiBzZWxmLnBhdGNoIDwgb3RoZXIucGF0Y2ggZW5kCiAgcmV0dXJuIHNtYWxsZXJQcmVyZWxlYXNlKHNlbGYucHJlcmVsZWFzZSwgb3RoZXIucHJlcmVsZWFzZSkKICAtLSBub3RpY2UgdGhhdCBidWlsZCBpcyBpZ25vcmVkIGZvciBwcmVjZWRlbmNlIGluIHNlbXZlciAyLjAuMAplbmQKZnVuY3Rpb24gbXQ6X19wb3cob3RoZXIpCiAgcmV0dXJuIHNlbGYubWFqb3IgPT0gb3RoZXIubWFqb3IgYW5kCiAgICAgICAgIHNlbGYubWlub3IgPD0gb3RoZXIubWlub3IKZW5kCmZ1bmN0aW9uIG10Ol9fdG9zdHJpbmcoKQogIGxvY2FsIGJ1ZmZlciA9IHsgKCIlZC4lZC4lZCIpOmZvcm1hdChzZWxmLm1ham9yLCBzZWxmLm1pbm9yLCBzZWxmLnBhdGNoKSB9CiAgaWYgc2VsZi5wcmVyZWxlYXNlIHRoZW4gdGFibGUuaW5zZXJ0KGJ1ZmZlciwgIi0iIC4uIHNlbGYucHJlcmVsZWFzZSkgZW5kCiAgaWYgc2VsZi5idWlsZCAgICAgIHRoZW4gdGFibGUuaW5zZXJ0KGJ1ZmZlciwgIisiIC4uIHNlbGYuYnVpbGQpIGVuZAogIHJldHVybiB0YWJsZS5jb25jYXQoYnVmZmVyKQplbmQKbG9jYWwgZnVuY3Rpb24gbmV3KG1ham9yLCBtaW5vciwgcGF0Y2gsIHByZXJlbGVhc2UsIGJ1aWxkKQogIGFzc2VydChtYWpvciwgIkF0IGxlYXN0IG9uZSBwYXJhbWV0ZXIgaXMgbmVlZGVkIikKICBpZiB0eXBlKG1ham9yKSA9PSAnc3RyaW5nJyB0aGVuCiAgICBtYWpvcixtaW5vcixwYXRjaCxwcmVyZWxlYXNlLGJ1aWxkID0gcGFyc2VWZXJzaW9uKG1ham9yKQogIGVuZAogIHBhdGNoID0gcGF0Y2ggb3IgMAogIG1pbm9yID0gbWlub3Igb3IgMAogIGNoZWNrUG9zaXRpdmVJbnRlZ2VyKG1ham9yLCAibWFqb3IiKQogIGNoZWNrUG9zaXRpdmVJbnRlZ2VyKG1pbm9yLCAibWlub3IiKQogIGNoZWNrUG9zaXRpdmVJbnRlZ2VyKHBhdGNoLCAicGF0Y2giKQogIGxvY2FsIHJlc3VsdCA9IHttYWpvcj1tYWpvciwgbWlub3I9bWlub3IsIHBhdGNoPXBhdGNoLCBwcmVyZWxlYXNlPXByZXJlbGVhc2UsIGJ1aWxkPWJ1aWxkfQogIHJldHVybiBzZXRtZXRhdGFibGUocmVzdWx0LCBtdCkKZW5kCnNldG1ldGF0YWJsZShzZW12ZXIsIHsgX19jYWxsID0gZnVuY3Rpb24oXywgLi4uKSByZXR1cm4gbmV3KC4uLikgZW5kIH0pCnNlbXZlci5fVkVSU0lPTj0gc2VtdmVyKHNlbXZlci5fVkVSU0lPTikKcmV0dXJuIHNlbXZlcgoAAAAAAHByZW1ha2UuZmllbGQgPSB7fQpsb2NhbCBmaWVsZCA9IHByZW1ha2UuZmllbGQKZmllbGQuX2xpc3QgPSB7fQpmaWVsZC5fbG93ZXJlZExpc3QgPSB7fQpmaWVsZC5fc29ydGVkTGlzdCA9IG5pbApmaWVsZC5fa2luZHMgPSB7fQpwcmVtYWtlLmZpZWxkcyA9IGZpZWxkLl9saXN0CmZpZWxkLl9hY2Nlc3NvcnMgPSB7fQpmdW5jdGlvbiBmaWVsZC5uZXcoZikKaWYgZi5raW5kOnN0YXJ0c3dpdGgoImtleS0iKSB0aGVuCmYua2luZCA9IGYua2luZDpzdWIoNSkKZi5rZXllZCA9IHRydWUKZW5kCmlmIGYua2luZDplbmRzd2l0aCgiLWxpc3QiKSB0aGVuCmYua2luZCA9IGYua2luZDpzdWIoMSwgLTYpCmYubGlzdCA9IHRydWUKZW5kCmxvY2FsIGtpbmQgPSBmLmtpbmQKaWYga2luZCA9PSAib2JqZWN0IiBvciBraW5kID09ICJhcnJheSIgdGhlbgpraW5kID0gInRhYmxlIgplbmQKaWYgZi5saXN0IHRoZW4Ka2luZCA9ICJsaXN0OiIgLi4ga2luZAplbmQKaWYgZi5rZXllZCB0aGVuCmtpbmQgPSAia2V5ZWQ6IiAuLiBraW5kCmVuZApmLl9raW5kID0ga2luZAppZiB0eXBlKGYuc2NvcGUpID09ICJ0YWJsZSIgdGhlbgpmLnNjb3BlcyA9IGYuc2NvcGUKZWxzZQpmLnNjb3BlcyA9IHsgZi5zY29wZSB9CmVuZAppZiBub3QgZmllbGQuYWNjZXNzb3IoZiwgInN0b3JlIikgdGhlbgpyZXR1cm4gbmlsLCAiaW52YWxpZCBmaWVsZCBraW5kICciIC4uIGYuX2tpbmQgLi4gIiciCmVuZApmaWVsZC5fbGlzdFtmLm5hbWVdID0gZgpmaWVsZC5fbG93ZXJlZExpc3RbZi5uYW1lOmxvd2VyKCldID0gZgpmaWVsZC5fc29ydGVkTGlzdCA9IG5pbApyZXR1cm4gZgplbmQKZnVuY3Rpb24gZmllbGQudW5yZWdpc3RlcihmKQpmaWVsZC5fbGlzdFtmLm5hbWVdID0gbmlsCmZpZWxkLl9sb3dlcmVkTGlzdFtmLm5hbWU6bG93ZXIoKV0gPSBuaWwKZmllbGQuX3NvcnRlZExpc3QgPSBuaWwKZW5kCmZ1bmN0aW9uIGZpZWxkLmVhY2goKQpsb2NhbCBpbmRleApyZXR1cm4gZnVuY3Rpb24gKCkKaW5kZXggPSBuZXh0KGZpZWxkLl9saXN0LCBpbmRleCkKcmV0dXJuIGZpZWxkLl9saXN0W2luZGV4XQplbmQKZW5kCmZ1bmN0aW9uIGZpZWxkLmVhY2hPcmRlcmVkKCkKaWYgbm90IGZpZWxkLl9zb3J0ZWRMaXN0IHRoZW4KbG9jYWwga2V5cyA9IHRhYmxlLmtleXMoZmllbGQuX2xpc3QpCnRhYmxlLnNvcnQoa2V5cykKZmllbGQuX3NvcnRlZExpc3QgPSB7fQpmb3IgaSA9IDEsICNrZXlzIGRvCmZpZWxkLl9zb3J0ZWRMaXN0W2ldID0gZmllbGQuX2xpc3Rba2V5c1tpXV0KZW5kCmVuZApsb2NhbCBpID0gMApyZXR1cm4gZnVuY3Rpb24gKCkKaSA9IGkgKyAxCnJldHVybiBmaWVsZC5fc29ydGVkTGlzdFtpXQplbmQKZW5kCmZ1bmN0aW9uIGZpZWxkLmtpbmQodGFnLCBzZXR0aW5ncykKaWYgc2V0dGluZ3MgdGhlbgpmaWVsZC5fa2luZHNbdGFnXSA9IHNldHRpbmdzCmVuZApyZXR1cm4gZmllbGQuX2tpbmRzW3RhZ10KZW5kCmZ1bmN0aW9uIGZpZWxkLmFjY2Vzc29yKGYsIG1ldGhvZCkKZmllbGQuX2FjY2Vzc29yc1ttZXRob2RdID0gZmllbGQuX2FjY2Vzc29yc1ttZXRob2RdIG9yIHt9CmxvY2FsIGNhY2hlID0gZmllbGQuX2FjY2Vzc29yc1ttZXRob2RdCmxvY2FsIGZ1bmN0aW9uIGFjY2Vzc29yRm9yS2luZChraW5kKQppZiBraW5kID09ICIiIHRoZW4KcmV0dXJuIG5pbAplbmQKaWYgY2FjaGVba2luZF0gdGhlbgpyZXR1cm4gY2FjaGVba2luZF0KZW5kCmxvY2FsIHRoaXNLaW5kID0ga2luZDptYXRjaCgnKC4tKTonKSBvciBraW5kCmxvY2FsIG5leHRLaW5kID0ga2luZDpzdWIoI3RoaXNLaW5kICsgMikKbG9jYWwgZnVuY3Rpb25zID0gZmllbGQuX2tpbmRzW3RoaXNLaW5kXQppZiBub3QgZnVuY3Rpb25zIHRoZW4KcmV0dXJuIG5pbCwgIkludmFsaWQgZmllbGQga2luZCAnIiAuLiB0aGlzS2luZCAuLiAiJyIKZW5kCmxvY2FsIHByb2Nlc3NvciA9IGZ1bmN0aW9uc1ttZXRob2RdCmlmIG5vdCBwcm9jZXNzb3IgdGhlbgpyZXR1cm4gbmlsCmVuZApsb2NhbCBuZXh0QWNjZXNzb3IgPSBhY2Nlc3NvckZvcktpbmQobmV4dEtpbmQpCmFjY2Vzc29yID0gZnVuY3Rpb24oZiwgY3VycmVudCwgdmFsdWUpCnJldHVybiBwcm9jZXNzb3IoZiwgY3VycmVudCwgdmFsdWUsIG5leHRBY2Nlc3NvcikKZW5kCmNhY2hlW2tpbmRdID0gYWNjZXNzb3IKcmV0dXJuIGFjY2Vzc29yCmVuZApyZXR1cm4gYWNjZXNzb3JGb3JLaW5kKGYuX2tpbmQpCmVuZApmdW5jdGlvbiBmaWVsZC5jb21wYXJlKGYsIGEsIGIpCmxvY2FsIHByb2Nlc3NvciA9IGZpZWxkLmFjY2Vzc29yKGYsICJjb21wYXJlIikKaWYgcHJvY2Vzc29yIHRoZW4KcmV0dXJuIHByb2Nlc3NvcihmLCBhLCBiKQplbHNlCnJldHVybiAoYSA9PSBiKQplbmQKZW5kCmZ1bmN0aW9uIGZpZWxkLmdldChuYW1lKQpyZXR1cm4gZmllbGQuX2xpc3RbbmFtZV0gb3IgZmllbGQuX2xvd2VyZWRMaXN0W25hbWU6bG93ZXIoKV0KZW5kCmZ1bmN0aW9uIGZpZWxkLm1lcmdlKGYsIGN1cnJlbnQsIHZhbHVlKQpsb2NhbCBwcm9jZXNzb3IgPSBmaWVsZC5hY2Nlc3NvcihmLCAibWVyZ2UiKQppZiBwcm9jZXNzb3IgdGhlbgpyZXR1cm4gcHJvY2Vzc29yKGYsIGN1cnJlbnQsIHZhbHVlKQplbHNlCnJldHVybiB2YWx1ZQplbmQKZW5kCmZ1bmN0aW9uIGZpZWxkLm1lcmdlcyhmKQpyZXR1cm4gKGZpZWxkLmFjY2Vzc29yKGYsICJtZXJnZSIpIH49IG5pbCkKZW5kCmZ1bmN0aW9uIGZpZWxkLnByb3BlcnR5KGYsIHRhZykKbG9jYWwga2luZHMgPSBzdHJpbmcuZXhwbG9kZShmLl9raW5kLCAiOiIsIHRydWUpCmZvciBpLCBraW5kIGluIGlwYWlycyhraW5kcykgZG8KbG9jYWwgdmFsdWUgPSBmaWVsZC5fa2luZHNba2luZF1bdGFnXQppZiB2YWx1ZSB+PSBuaWwgdGhlbgpyZXR1cm4gdmFsdWUKZW5kCmVuZAplbmQKZnVuY3Rpb24gZmllbGQub3ZlcnJpZGUoZmllbGROYW1lLCBhY2Nlc3Nvck5hbWUsIGZ1bmMpCmxvY2FsIGtpbmQgPSBmaWVsZC5raW5kKGZpZWxkTmFtZSkKcHJlbWFrZS5vdmVycmlkZShraW5kLCBhY2Nlc3Nvck5hbWUsIGZ1bmMpCmZpZWxkLl9hY2Nlc3NvcnMgPSB7fQplbmQKZnVuY3Rpb24gZmllbGQucmVtb3ZlKGYsIGN1cnJlbnQsIHZhbHVlKQpsb2NhbCBwcm9jZXNzb3IgPSBmaWVsZC5hY2Nlc3NvcihmLCAicmVtb3ZlIikKaWYgcHJvY2Vzc29yIHRoZW4KcmV0dXJuIHByb2Nlc3NvcihmLCBjdXJyZW50LCB2YWx1ZSkKZWxzZQpyZXR1cm4gdmFsdWUKZW5kCmVuZApmdW5jdGlvbiBmaWVsZC5yZW1vdmVzKGYpCnJldHVybiAoZmllbGQuYWNjZXNzb3IoZiwgIm1lcmdlIikgfj0gbmlsIGFuZCBmaWVsZC5hY2Nlc3NvcihmLCAicmVtb3ZlIikgfj0gbmlsKQplbmQKZnVuY3Rpb24gZmllbGQuc3RvcmUoZiwgY3VycmVudCwgdmFsdWUpCmxvY2FsIHByb2Nlc3NvciA9IGZpZWxkLmFjY2Vzc29yKGYsICJzdG9yZSIpCmlmIHByb2Nlc3NvciB0aGVuCnJldHVybiBwcm9jZXNzb3IoZiwgY3VycmVudCwgdmFsdWUpCmVsc2UKcmV0dXJuIHZhbHVlCmVuZAplbmQKZnVuY3Rpb24gZmllbGQudHJhbnNsYXRlKGYsIHZhbHVlKQpsb2NhbCBwcm9jZXNzb3IgPSBmaWVsZC5hY2Nlc3NvcihmLCAidHJhbnNsYXRlIikKaWYgcHJvY2Vzc29yIHRoZW4KcmV0dXJuIHByb2Nlc3NvcihmLCB2YWx1ZSwgbmlsKVsxXQplbHNlCnJldHVybiB2YWx1ZQplbmQKZW5kCmZ1bmN0aW9uIGZpZWxkLnRyYW5zbGF0ZXMoZikKcmV0dXJuIChmaWVsZC5hY2Nlc3NvcihmLCAidHJhbnNsYXRlIikgfj0gbmlsKQplbmQKAAAAAABsb2NhbCBwID0gcHJlbWFrZQpwLmNyaXRlcmlhID0gY3JpdGVyaWEgIC0tIGNyaXRlcmlhIG5hbWVzcGFjZSBpcyBkZWZpbmVkIGluIEMgaG9zdApsb2NhbCBjcml0ZXJpYSA9IHAuY3JpdGVyaWEKY3JpdGVyaWEuX3ZhbGlkUHJlZml4ZXMgPSB7Cl9hY3Rpb24gPSB0cnVlLAphY3Rpb24gPSB0cnVlLAphcmNoaXRlY3R1cmUgPSB0cnVlLApjb25maWd1cmF0aW9ucyA9IHRydWUsCmZpbGVzID0gdHJ1ZSwKa2luZCA9IHRydWUsCmxhbmd1YWdlID0gdHJ1ZSwKX29wdGlvbnMgPSB0cnVlLApvcHRpb25zID0gdHJ1ZSwKcGxhdGZvcm1zID0gdHJ1ZSwKc3lzdGVtID0gdHJ1ZSwKfQpmdW5jdGlvbiBjcml0ZXJpYS5uZXcodGVybXMsIHVucHJlZml4ZWQpCnRlcm1zID0gdGFibGUuZmxhdHRlbih0ZXJtcykKbG9jYWwgcGF0dGVybnMgPSB7fQpmb3IgaSwgdGVybSBpbiBpcGFpcnModGVybXMpIGRvCnRlcm0gPSB0ZXJtOmxvd2VyKCkKbG9jYWwgcGF0dGVybiA9IHt9CmxvY2FsIHByZWZpeCA9IGlpZih1bnByZWZpeGVkLCBuaWwsICJjb25maWd1cmF0aW9ucyIpCmxvY2FsIHdvcmRzID0gdGVybTpleHBsb2RlKCIgb3IgIikKZm9yIF8sIHdvcmQgaW4gaXBhaXJzKHdvcmRzKSBkbwp3b3JkLCBwcmVmaXggPSBjcml0ZXJpYS5fd29yZCh3b3JkLCBwcmVmaXgpCmlmIHByZWZpeCBhbmQgbm90IGNyaXRlcmlhLl92YWxpZFByZWZpeGVzW3ByZWZpeF0gdGhlbgpyZXR1cm4gbmlsLCBzdHJpbmcuZm9ybWF0KCJJbnZhbGlkIGZpZWxkIHByZWZpeCAnJXMnIiwgcHJlZml4KQplbmQKaWYgcHJlZml4IHRoZW4KbG9jYWwgZmxkID0gcC5maWVsZC5nZXQocHJlZml4KQppZiBmbGQgYW5kIGZsZC5hbGlhc2VzIHRoZW4Kd29yZFsxXSA9IGZsZC5hbGlhc2VzW3dvcmRbMV1dIG9yIHdvcmRbMV0KZW5kCmVuZAp0YWJsZS5pbnNlcnQocGF0dGVybiwgd29yZCkKZW5kCnRhYmxlLmluc2VydChwYXR0ZXJucywgcGF0dGVybikKZW5kCmxvY2FsIGNyaXQgPSB7fQpjcml0LnBhdHRlcm5zID0gcGF0dGVybnMKY3JpdC5kYXRhID0gY3JpdGVyaWEuX2NvbXBpbGUocGF0dGVybnMpCnJldHVybiBjcml0CmVuZApmdW5jdGlvbiBjcml0ZXJpYS5fd29yZCh3b3JkLCBwcmVmaXgpCmxvY2FsIHdpbGRjYXJkCmxvY2FsIGFzc2VydGlvbiA9IHRydWUKd2hpbGUgKHRydWUpIGRvCmlmIHdvcmQ6c3RhcnRzd2l0aCgibm90ICIpIHRoZW4KYXNzZXJ0aW9uID0gbm90IGFzc2VydGlvbgp3b3JkID0gd29yZDpzdWIoNSkKZWxzZQpsb2NhbCBpID0gd29yZDpmaW5kKCI6IiwgMSwgdHJ1ZSkKaWYgcHJlZml4IGFuZCBpIHRoZW4KcHJlZml4ID0gd29yZDpzdWIoMSwgaSAtIDEpCndvcmQgPSB3b3JkOnN1YihpICsgMSkKZWxzZQp3aWxkY2FyZCA9ICh3b3JkOmZpbmQoIioiLCAxLCB0cnVlKSB+PSBuaWwpCmlmIHdpbGRjYXJkIHRoZW4Kd29yZCA9IHBhdGgud2lsZGNhcmRzKHdvcmQpCmVuZApicmVhawplbmQKZW5kCmVuZApyZXR1cm4geyB3b3JkLCBwcmVmaXgsIGFzc2VydGlvbiwgd2lsZGNhcmQgfSwgcHJlZml4CmVuZApmdW5jdGlvbiBjcml0ZXJpYS5hbGxvd1ByZWZpeChwcmVmaXgpCmNyaXRlcmlhLl92YWxpZFByZWZpeGVzW3ByZWZpeDpsb3dlcigpXSA9IHRydWUKZW5kCgBwcmVtYWtlLmRldG9rZW4gPSB7fQpsb2NhbCBwID0gcHJlbWFrZQpsb2NhbCBkZXRva2VuID0gcC5kZXRva2VuCmZ1bmN0aW9uIGRldG9rZW4uZXhwYW5kKHZhbHVlLCBlbnZpcm9uLCBmaWVsZCwgYmFzZWRpcikKZmllbGQgPSBmaWVsZCBvciB7fQpsb2NhbCB2YXJNYXAgPSB7fQppZiBmaWVsZC5wYXRoVmFycyB0aGVuCmxvY2FsIGFjdGlvbiA9IHAuYWN0aW9uLmN1cnJlbnQoKQppZiBhY3Rpb24gdGhlbgp2YXJNYXAgPSBhY3Rpb24ucGF0aFZhcnMgb3Ige30KZW5kCmVuZApzZXRtZXRhdGFibGUoZW52aXJvbiwge19faW5kZXggPSBfR30pCmZ1bmN0aW9uIGV4cGFuZHRva2VuKHRva2VuLCBlKQpsb2NhbCBmdW5jLCBlcnIgPSBsb2Fkc3RyaW5nKCJyZXR1cm4gIiAuLiB0b2tlbikKaWYgbm90IGZ1bmMgdGhlbgpyZXR1cm4gbmlsLCAibG9hZCBlcnJvcjogIiAuLiBlcnIKZW5kCnNldGZlbnYoZnVuYywgZSkKbG9jYWwgc3VjY2VzcywgcmVzdWx0ID0gcGNhbGwoZnVuYykKaWYgbm90IHN1Y2Nlc3MgdGhlbgplcnIgICAgPSByZXN1bHQKcmVzdWx0ID0gbmlsCmVsc2UKZXJyICAgID0gbmlsCmVuZApsb2NhbCBpc0FicyA9IGZhbHNlCmlmIHJlc3VsdCB+PSBuaWwgdGhlbgppc0FicyA9IHBhdGguaXNhYnNvbHV0ZShyZXN1bHQpCmlmIGlzQWJzIGFuZCBub3QgZmllbGQucGF0aHMgYW5kIGJhc2VkaXIgdGhlbgpyZXN1bHQgPSBwYXRoLmdldHJlbGF0aXZlKGJhc2VkaXIsIHJlc3VsdCkKZW5kCmVuZAppZiB2YXJNYXBbdG9rZW5dIHRoZW4KZXJyICAgID0gbmlsCnJlc3VsdCA9IHZhck1hcFt0b2tlbl0KaWYgdHlwZShyZXN1bHQpID09ICJmdW5jdGlvbiIgdGhlbgpzdWNjZXNzLCByZXN1bHQgPSBwY2FsbChyZXN1bHQsIGUpCmlmIG5vdCBzdWNjZXNzIHRoZW4KcmV0dXJuIG5pbCwgcmVzdWx0CmVuZAplbmQKaWYgKHR5cGUocmVzdWx0KSA9PSAidGFibGUiKSB0aGVuCmlzQWJzICA9IHJlc3VsdC5hYnNvbHV0ZQpyZXN1bHQgPSByZXN1bHQudG9rZW4KZWxzZQppc0FicyA9IHBhdGguaXNhYnNvbHV0ZShyZXN1bHQpCmVuZAplbmQKaWYgcmVzdWx0IH49IG5pbCBhbmQgaXNBYnMgYW5kIGZpZWxkLnBhdGhzIHRoZW4KcmVzdWx0ID0gIlwwIiAuLiByZXN1bHQKZW5kCnJldHVybiByZXN1bHQsIGVycgplbmQKZnVuY3Rpb24gZXhwYW5kdmFsdWUodmFsdWUsIGUpCmlmIHR5cGUodmFsdWUpIH49ICJzdHJpbmciIHRoZW4KcmV0dXJuIHZhbHVlCmVuZApsb2NhbCBjb3VudApyZXBlYXQKdmFsdWUsIGNvdW50ID0gdmFsdWU6Z3N1YigiJSV7KC4tKX0iLCBmdW5jdGlvbih0b2tlbikKbG9jYWwgcmVzdWx0LCBlcnIgPSBleHBhbmR0b2tlbih0b2tlbjpnc3ViKCJcXCIsICJcXFxcIiksIGUpCmlmIGVyciB0aGVuCmVycm9yKGVyciAuLiAiIGluIHRva2VuOiAiIC4uIHRva2VuLCAwKQplbmQKaWYgbm90IHJlc3VsdCB0aGVuCmVycm9yKCJUb2tlbiByZXR1cm5lZCBuaWwsIGl0IG1heSBub3QgZXhpc3Q6ICIgLi4gdG9rZW4sIDApCmVuZApyZXR1cm4gcmVzdWx0CmVuZCkKdW50aWwgY291bnQgPT0gMAppZiBmaWVsZC5wYXRocyB0aGVuCmxvY2FsIGksIGoKcmVwZWF0CmksIGogPSB2YWx1ZTpmaW5kKCJcMCIpCmlmIGkgdGhlbgp2YWx1ZSA9IHZhbHVlOnN1YihpICsgMSkKZW5kCnVudGlsIG5vdCBpCmVuZApyZXR1cm4gdmFsdWUKZW5kCmZ1bmN0aW9uIHJlY3Vyc2UodmFsdWUsIGUpCmlmIHR5cGUodmFsdWUpID09ICJ0YWJsZSIgdGhlbgpsb2NhbCByZXNfdGFibGUgPSB7fQpmb3IgaywgdiBpbiBwYWlycyh2YWx1ZSkgZG8KaWYgdG9udW1iZXIoaykgfj0gbmlsIHRoZW4KcmVzX3RhYmxlW2tdID0gcmVjdXJzZSh2LCBlKQplbHNlCmxvY2FsIG5rID0gcmVjdXJzZShrLCBlKTsKcmVzX3RhYmxlW25rXSA9IHJlY3Vyc2UodiwgZSkKZW5kCmVuZApyZXR1cm4gcmVzX3RhYmxlCmVsc2UKcmV0dXJuIGV4cGFuZHZhbHVlKHZhbHVlLCBlKQplbmQKZW5kCnJldHVybiByZWN1cnNlKHZhbHVlLCBlbnZpcm9uKQplbmQKAAAAAABsb2NhbCBwID0gcHJlbWFrZQpwLmNvbmZpZ3NldCA9IHt9CmxvY2FsIGNvbmZpZ3NldCA9IHAuY29uZmlnc2V0CmxvY2FsIGNyaXRlcmlhID0gcC5jcml0ZXJpYQpmdW5jdGlvbiBjb25maWdzZXQubmV3KHBhcmVudCkKbG9jYWwgY3NldCA9IHt9CmNzZXQucGFyZW50ID0gcGFyZW50CmNzZXQuYmxvY2tzID0ge30KY3NldC5jdXJyZW50ID0gbmlsCmNzZXQuY29tcGlsZWQgPSBmYWxzZQpyZXR1cm4gY3NldAplbmQKZnVuY3Rpb24gY29uZmlnc2V0LmZldGNoKGNzZXQsIGZpZWxkLCBmaWx0ZXIsIGN0eCwgb3JpZ2luKQpmaWx0ZXIgPSBmaWx0ZXIgb3Ige30KY3R4ID0gY3R4IG9yIHt9CmlmIHAuZmllbGQubWVyZ2VzKGZpZWxkKSB0aGVuCnJldHVybiBjb25maWdzZXQuX2ZldGNoTWVyZ2VkKGNzZXQsIGZpZWxkLCBmaWx0ZXIsIGN0eCwgb3JpZ2luKQplbHNlCnJldHVybiBjb25maWdzZXQuX2ZldGNoRGlyZWN0KGNzZXQsIGZpZWxkLCBmaWx0ZXIsIGN0eCwgb3JpZ2luKQplbmQKZW5kCmZ1bmN0aW9uIGNvbmZpZ3NldC5fZmV0Y2hEaXJlY3QoY3NldCwgZmllbGQsIGZpbHRlciwgY3R4LCBvcmlnaW4pCmlmIG9yaWdpbiBhbmQgb3JpZ2luIH49IGNzZXQgYW5kIG5vdCBvcmlnaW4uY29tcGlsZWQgdGhlbgpyZXR1cm4gY29uZmlnc2V0Ll9mZXRjaERpcmVjdChvcmlnaW4sIGZpZWxkLCBmaWx0ZXIsIGN0eCwgb3JpZ2luKQplbmQKbG9jYWwgYWJzcGF0aCA9IGZpbHRlci5maWxlcwpsb2NhbCBiYXNlZGlyCmxvY2FsIGtleSA9IGZpZWxkLm5hbWUKbG9jYWwgYmxvY2tzID0gY3NldC5ibG9ja3MKbG9jYWwgbiA9ICNibG9ja3MKZm9yIGkgPSBuLCAxLCAtMSBkbwpsb2NhbCBibG9jayA9IGJsb2Nrc1tpXQppZiBub3Qgb3JpZ2luIG9yIGJsb2NrLl9vcmlnaW4gPT0gb3JpZ2luIHRoZW4KbG9jYWwgdmFsdWUgPSBibG9ja1trZXldCmlmIHZhbHVlIH49IG5pbCBhbmQgYWJzcGF0aCBhbmQgbm90IGNzZXQuY29tcGlsZWQgYW5kIGJsb2NrLl9iYXNlZGlyIGFuZCBibG9jay5fYmFzZWRpciB+PSBiYXNlZGlyIHRoZW4KYmFzZWRpciA9IGJsb2NrLl9iYXNlZGlyCmZpbHRlci5maWxlcyA9IHBhdGguZ2V0cmVsYXRpdmUoYmFzZWRpciwgYWJzcGF0aCkKZW5kCmlmIHZhbHVlIH49IG5pbCBhbmQgKGNzZXQuY29tcGlsZWQgb3IgY3JpdGVyaWEubWF0Y2hlcyhibG9jay5fY3JpdGVyaWEsIGZpbHRlcikpIHRoZW4KaWYgdHlwZSh2YWx1ZSkgPT0gInRhYmxlIiB0aGVuCnZhbHVlID0gdGFibGUuZGVlcGNvcHkodmFsdWUpCmVuZAppZiBmaWVsZC50b2tlbnMgYW5kIGN0eC5lbnZpcm9uIHRoZW4KdmFsdWUgPSBwLmRldG9rZW4uZXhwYW5kKHZhbHVlLCBjdHguZW52aXJvbiwgZmllbGQsIGN0eC5fYmFzZWRpcikKZW5kCnJldHVybiB2YWx1ZQplbmQKZW5kCmVuZApmaWx0ZXIuZmlsZXMgPSBhYnNwYXRoCmlmIGNzZXQucGFyZW50IHRoZW4KcmV0dXJuIGNvbmZpZ3NldC5fZmV0Y2hEaXJlY3QoY3NldC5wYXJlbnQsIGZpZWxkLCBmaWx0ZXIsIGN0eCwgb3JpZ2luKQplbmQKZW5kCmZ1bmN0aW9uIGNvbmZpZ3NldC5fZmV0Y2hNZXJnZWQoY3NldCwgZmllbGQsIGZpbHRlciwgY3R4LCBvcmlnaW4pCmlmIG9yaWdpbiBhbmQgb3JpZ2luIH49IGNzZXQgYW5kIG5vdCBvcmlnaW4uY29tcGlsZWQgdGhlbgpyZXR1cm4gY29uZmlnc2V0Ll9mZXRjaE1lcmdlZChvcmlnaW4sIGZpZWxkLCBmaWx0ZXIsIGN0eCwgb3JpZ2luKQplbmQKbG9jYWwgcmVzdWx0ID0ge30KbG9jYWwgZnVuY3Rpb24gcmVtb3ZlKHBhdHRlcm5zKQpmb3IgXywgcGF0dGVybiBpbiBpcGFpcnMocGF0dGVybnMpIGRvCmlmIGZpZWxkLnRva2VucyBhbmQgY3R4LmVudmlyb24gdGhlbgpwYXR0ZXJuID0gcC5kZXRva2VuLmV4cGFuZChwYXR0ZXJuLCBjdHguZW52aXJvbiwgZmllbGQsIGN0eC5fYmFzZWRpcikKZW5kCnBhdHRlcm4gPSBwYXRoLndpbGRjYXJkcyhwYXR0ZXJuKTpsb3dlcigpCmxvY2FsIGogPSAxCndoaWxlIGogPD0gI3Jlc3VsdCBkbwpsb2NhbCB2YWx1ZSA9IHJlc3VsdFtqXTpsb3dlcigpCmlmIHZhbHVlOm1hdGNoKHBhdHRlcm4pID09IHZhbHVlIHRoZW4KcmVzdWx0W3Jlc3VsdFtqXV0gPSBuaWwKdGFibGUucmVtb3ZlKHJlc3VsdCwgaikKZWxzZQpqID0gaiArIDEKZW5kCmVuZAplbmQKZW5kCmlmIGNzZXQucGFyZW50IHRoZW4KcmVzdWx0ID0gY29uZmlnc2V0Ll9mZXRjaE1lcmdlZChjc2V0LnBhcmVudCwgZmllbGQsIGZpbHRlciwgY3R4LCBvcmlnaW4pCmVuZApsb2NhbCBhYnNwYXRoID0gZmlsdGVyLmZpbGVzCmxvY2FsIGJhc2VkaXIKbG9jYWwga2V5ID0gZmllbGQubmFtZQpsb2NhbCBibG9ja3MgPSBjc2V0LmJsb2Nrcwpsb2NhbCBuID0gI2Jsb2Nrcwpmb3IgaSA9IDEsIG4gZG8KbG9jYWwgYmxvY2sgPSBibG9ja3NbaV0KaWYgbm90IG9yaWdpbiBvciBibG9jay5fb3JpZ2luID09IG9yaWdpbiB0aGVuCmlmIGFic3BhdGggYW5kIGJsb2NrLl9iYXNlZGlyIGFuZCBibG9jay5fYmFzZWRpciB+PSBiYXNlZGlyIGFuZCBub3QgY3NldC5jb21waWxlZCB0aGVuCmJhc2VkaXIgPSBibG9jay5fYmFzZWRpcgpmaWx0ZXIuZmlsZXMgPSBwYXRoLmdldHJlbGF0aXZlKGJhc2VkaXIsIGFic3BhdGgpCmVuZAppZiBjc2V0LmNvbXBpbGVkIG9yIGNyaXRlcmlhLm1hdGNoZXMoYmxvY2suX2NyaXRlcmlhLCBmaWx0ZXIpIHRoZW4KaWYgYmxvY2suX3JlbW92ZXMgYW5kIGJsb2NrLl9yZW1vdmVzW2tleV0gdGhlbgpyZW1vdmUoYmxvY2suX3JlbW92ZXNba2V5XSkKZW5kCmxvY2FsIHZhbHVlID0gYmxvY2tba2V5XQppZiB0eXBlKHZhbHVlKSA9PSAidGFibGUiIHRoZW4KdmFsdWUgPSB0YWJsZS5kZWVwY29weSh2YWx1ZSkKZW5kCmlmIHZhbHVlIHRoZW4KaWYgZmllbGQudG9rZW5zIGFuZCBjdHguZW52aXJvbiB0aGVuCnZhbHVlID0gcC5kZXRva2VuLmV4cGFuZCh2YWx1ZSwgY3R4LmVudmlyb24sIGZpZWxkLCBjdHguX2Jhc2VkaXIpCmVuZAppZiBmaWVsZCBhbmQgcC5maWVsZC50cmFuc2xhdGVzKGZpZWxkKSB0aGVuCnZhbHVlID0gcC5maWVsZC50cmFuc2xhdGUoZmllbGQsIHZhbHVlKQplbmQKcmVzdWx0ID0gcC5maWVsZC5tZXJnZShmaWVsZCwgcmVzdWx0LCB2YWx1ZSkKZW5kCmVuZAplbmQKZW5kCmZpbHRlci5maWxlcyA9IGFic3BhdGgKcmV0dXJuIHJlc3VsdAplbmQKZnVuY3Rpb24gY29uZmlnc2V0Lm1ldGF0YWJsZShjc2V0KQpyZXR1cm4gewpfX25ld2luZGV4ID0gZnVuY3Rpb24odGJsLCBrZXksIHZhbHVlKQpsb2NhbCBmID0gcC5maWVsZC5nZXQoa2V5KQppZiBmIHRoZW4KbG9jYWwgc3RhdHVzLCBlcnIgPSBjb25maWdzZXQuc3RvcmUoY3NldCwgZiwgdmFsdWUpCmlmIGVyciB0aGVuCmVycm9yKGVyciwgMikKZW5kCmVsc2UKcmF3c2V0KHRibCwga2V5LCB2YWx1ZSkKcmV0dXJuIHZhbHVlCmVuZAplbmQsCl9faW5kZXggPSBmdW5jdGlvbih0YmwsIGtleSkKbG9jYWwgZiA9IHAuZmllbGQuZ2V0KGtleSkKaWYgZiB0aGVuCnJldHVybiBjb25maWdzZXQuZmV0Y2goY3NldCwgZikKZWxzZQpyZXR1cm4gbmlsCmVuZAplbmQKfQplbmQKZnVuY3Rpb24gY29uZmlnc2V0LmFkZGJsb2NrKGNzZXQsIHRlcm1zLCBiYXNlZGlyKQpjb25maWdzZXQuYWRkRmlsdGVyKGNzZXQsIHRlcm1zLCBiYXNlZGlyLCB0cnVlKQpyZXR1cm4gY3NldC5jdXJyZW50CmVuZApmdW5jdGlvbiBjb25maWdzZXQuYWRkRmlsdGVyKGNzZXQsIHRlcm1zLCBiYXNlZGlyLCB1bnByZWZpeGVkKQpsb2NhbCBjcml0LCBlcnIgPSBjcml0ZXJpYS5uZXcodGVybXMsIHVucHJlZml4ZWQpCmlmIG5vdCBjcml0IHRoZW4KcmV0dXJuIG5pbCwgZXJyCmVuZApsb2NhbCBibG9jayA9IHt9CmJsb2NrLl9jcml0ZXJpYSA9IGNyaXQKYmxvY2suX29yaWdpbiA9IGNzZXQKaWYgYmFzZWRpciB0aGVuCmJsb2NrLl9iYXNlZGlyID0gYmFzZWRpcjpsb3dlcigpCmVuZAp0YWJsZS5pbnNlcnQoY3NldC5ibG9ja3MsIGJsb2NrKQpjc2V0LmN1cnJlbnQgPSBibG9jawpyZXR1cm4gdHJ1ZQplbmQKZnVuY3Rpb24gY29uZmlnc2V0LmdldEZpbHRlcihjc2V0KQpyZXR1cm4gewpfY3JpdGVyaWEgPSBjc2V0LmN1cnJlbnQuX2NyaXRlcmlhLApfYmFzZWRpciA9IGNzZXQuY3VycmVudC5fYmFzZWRpcgp9CmVuZApmdW5jdGlvbiBjb25maWdzZXQuc2V0RmlsdGVyKGNzZXQsIGZpbHRlcikKbG9jYWwgYmxvY2sgPSB7fQpibG9jay5fY3JpdGVyaWEgPSBmaWx0ZXIuX2NyaXRlcmlhCmJsb2NrLl9iYXNlZGlyID0gZmlsdGVyLl9iYXNlZGlyCmJsb2NrLl9vcmlnaW4gPSBjc2V0CnRhYmxlLmluc2VydChjc2V0LmJsb2NrcywgYmxvY2spCmNzZXQuY3VycmVudCA9IGJsb2NrOwplbmQKZnVuY3Rpb24gY29uZmlnc2V0LnN0b3JlKGNzZXQsIGZpZWxkLCB2YWx1ZSkKaWYgbm90IGNzZXQuY3VycmVudCB0aGVuCmNvbmZpZ3NldC5hZGRibG9jayhjc2V0LCB7fSkKZW5kCmxvY2FsIGtleSA9IGZpZWxkLm5hbWUKbG9jYWwgY3VycmVudCA9IGNzZXQuY3VycmVudApsb2NhbCBzdGF0dXMsIHJlc3VsdCA9IHBjYWxsKGZ1bmN0aW9uICgpCmN1cnJlbnRba2V5XSA9IHAuZmllbGQuc3RvcmUoZmllbGQsIGN1cnJlbnRba2V5XSwgdmFsdWUpCmVuZCkKaWYgbm90IHN0YXR1cyB0aGVuCmlmIHR5cGUocmVzdWx0KSA9PSAidGFibGUiIHRoZW4KcmVzdWx0ID0gcmVzdWx0Lm1zZwplbmQKcmV0dXJuIG5pbCwgcmVzdWx0CmVuZApyZXR1cm4gdHJ1ZQplbmQKZnVuY3Rpb24gY29uZmlnc2V0LnJlbW92ZShjc2V0LCBmaWVsZCwgdmFsdWVzKQpsb2NhbCBibG9jayA9IHt9CmJsb2NrLl9iYXNlZGlyID0gY3NldC5jdXJyZW50Ll9iYXNlZGlyCmJsb2NrLl9jcml0ZXJpYSA9IGNzZXQuY3VycmVudC5fY3JpdGVyaWEKYmxvY2suX29yaWdpbiA9IGNzZXQKdGFibGUuaW5zZXJ0KGNzZXQuYmxvY2tzLCBibG9jaykKY3NldC5jdXJyZW50ID0gYmxvY2sKdmFsdWVzID0gcC5maWVsZC5yZW1vdmUoZmllbGQsIHt9LCB2YWx1ZXMpCmN1cnJlbnQgPSBjc2V0LmN1cnJlbnQKY3VycmVudC5fcmVtb3ZlcyA9IHt9CmN1cnJlbnQuX3JlbW92ZXNbZmllbGQubmFtZV0gPSB2YWx1ZXMKZW5kCmZ1bmN0aW9uIGNvbmZpZ3NldC5lbXB0eShjc2V0KQpyZXR1cm4gKCNjc2V0LmJsb2NrcyA9PSAwKQplbmQKZnVuY3Rpb24gY29uZmlnc2V0LmNvbXBpbGUoY3NldCwgZmlsdGVyKQpsb2NhbCByZXN1bHQKaWYgY3NldC5wYXJlbnQgdGhlbgpyZXN1bHQgPSBjb25maWdzZXQuY29tcGlsZShjc2V0LnBhcmVudCwgZmlsdGVyKQplbHNlCnJlc3VsdCA9IGNvbmZpZ3NldC5uZXcoKQplbmQKbG9jYWwgYmxvY2tzID0gY3NldC5ibG9ja3MKbG9jYWwgbiA9ICNibG9ja3MKbG9jYWwgYWJzcGF0aCA9IGZpbHRlci5maWxlcwpsb2NhbCBiYXNlZGlyCmZvciBpID0gMSwgbiBkbwpsb2NhbCBibG9jayA9IGJsb2Nrc1tpXQppZiBibG9jay5fb3JpZ2luID09IGNzZXQgdGhlbgpibG9jay5fb3JpZ2luID0gcmVzdWx0CmVuZAppZiBhYnNwYXRoIGFuZCBibG9jay5fYmFzZWRpciBhbmQgYmxvY2suX2Jhc2VkaXIgfj0gYmFzZWRpciB0aGVuCmJhc2VkaXIgPSBibG9jay5fYmFzZWRpcgpmaWx0ZXIuZmlsZXMgPSBwYXRoLmdldHJlbGF0aXZlKGJhc2VkaXIsIGFic3BhdGgpCmVuZAppZiBjcml0ZXJpYS5tYXRjaGVzKGJsb2NrLl9jcml0ZXJpYSwgZmlsdGVyKSB0aGVuCnRhYmxlLmluc2VydChyZXN1bHQuYmxvY2tzLCBibG9jaykKZW5kCmVuZApmaWx0ZXIuZmlsZXMgPSBhYnNwYXRoCnJlc3VsdC5jb21waWxlZCA9IHRydWUKcmV0dXJuIHJlc3VsdAplbmQKAAAAbG9jYWwgcCA9IHByZW1ha2UKcC5jb250ZXh0ID0ge30KbG9jYWwgY29udGV4dCA9IHAuY29udGV4dApsb2NhbCBjb25maWdzZXQgPSBwLmNvbmZpZ3NldApmdW5jdGlvbiBjb250ZXh0Lm5ldyhjZmdzZXQsIGVudmlyb24pCmxvY2FsIGN0eCA9IHt9CmN0eC5fY2Znc2V0ID0gY2Znc2V0CmN0eC5lbnZpcm9uID0gZW52aXJvbiBvciB7fQpjdHgudGVybXMgPSB7fQpjdHguX2Jhc2VkaXIgPSBvcy5nZXRjd2QoKQpzZXRtZXRhdGFibGUoY3R4LCBjb250ZXh0Ll9fbXQpCnJldHVybiBjdHgKZW5kCmZ1bmN0aW9uIGNvbnRleHQuYWRkRmlsdGVyKGN0eCwga2V5LCB2YWx1ZSkKaWYgdHlwZSh2YWx1ZSkgPT0gInRhYmxlIiB0aGVuCmZvciBpID0gMSwgI3ZhbHVlIGRvCnZhbHVlW2ldID0gdmFsdWVbaV06bG93ZXIoKQplbmQKZWxzZWlmIHZhbHVlIHRoZW4KdmFsdWUgPSB2YWx1ZTpsb3dlcigpCmVuZApjdHgudGVybXNba2V5Omxvd2VyKCldID0gdmFsdWUKZW5kCmZ1bmN0aW9uIGNvbnRleHQuY29weUZpbHRlcnMoY3R4LCBzcmMpCmN0eC50ZXJtcyA9IHRhYmxlLmRlZXBjb3B5KHNyYy50ZXJtcykKZW5kCmZ1bmN0aW9uIGNvbnRleHQubWVyZ2VGaWx0ZXJzKGN0eCwgc3JjKQpsb2NhbCBmdW5jdGlvbiBtZXJnZVRhYmxlKGRlc3QsIHNyYykKZm9yIGssdiBpbiBwYWlycyhzcmMpIGRvCmlmIHR5cGUodikgPT0gInRhYmxlIiB0aGVuCmlmIHR5cGUoZGVzdFtrXSkgPT0gInRhYmxlIiB0aGVuCmRlc3Rba10gPSBtZXJnZVRhYmxlKGRlc3Rba10sIHYpCmVsc2UKZGVzdFtrXSA9IHRhYmxlLmRlZXBjb3B5KHYpCmVuZAplbHNlCmRlc3Rba10gPSB2CmVuZAplbmQKZW5kCm1lcmdlVGFibGUoY3R4LnRlcm1zLCBzcmMudGVybXMpCmVuZApmdW5jdGlvbiBjb250ZXh0LmJhc2VkaXIoY3R4LCBiYXNlZGlyKQpjdHguX2Jhc2VkaXIgPSBiYXNlZGlyIG9yIGN0eC5fYmFzZWRpcgpyZXR1cm4gY3R4Ll9iYXNlZGlyCmVuZApmdW5jdGlvbiBjb250ZXh0LmNvbXBpbGUoY3R4KQpjdHguX2NmZ3NldCA9IGNvbmZpZ3NldC5jb21waWxlKGN0eC5fY2Znc2V0LCBjdHgudGVybXMpCmVuZApmdW5jdGlvbiBjb250ZXh0LmVtcHR5KGN0eCkKcmV0dXJuIGNvbmZpZ3NldC5lbXB0eShjdHguX2NmZ3NldCkKZW5kCmZ1bmN0aW9uIGNvbnRleHQuZmV0Y2h2YWx1ZShjdHgsIGtleSwgb25seWxvY2FsKQppZiBub3Qgb25seWxvY2FsIHRoZW4KbG9jYWwgdmFsdWUgPSByYXdnZXQoY3R4LCBrZXkpCmlmIHZhbHVlIH49IG5pbCB0aGVuCnJldHVybiB2YWx1ZQplbmQKZW5kCmxvY2FsIGZpZWxkID0gcC5maWVsZC5nZXQoa2V5KQppZiBub3QgZmllbGQgdGhlbgpyZXR1cm4gbmlsCmVuZApsb2NhbCB2YWx1ZSA9IGNvbmZpZ3NldC5mZXRjaChjdHguX2NmZ3NldCwgZmllbGQsIGN0eC50ZXJtcywgY3R4LCBvbmx5bG9jYWwgYW5kIGN0eC5fY2Znc2V0KQppZiB2YWx1ZSB0aGVuCmN0eFtrZXldID0gdmFsdWUKZW5kCnJldHVybiB2YWx1ZQplbmQKY29udGV4dC5fX210ID0gewpfX2luZGV4ID0gY29udGV4dC5mZXRjaHZhbHVlCn0KAGxvY2FsIHAgPSBwcmVtYWtlCnAuY29udGFpbmVyID0ge30KbG9jYWwgY29udGFpbmVyID0gcC5jb250YWluZXIKY29udGFpbmVyLmNsYXNzZXMgPSB7fQpmdW5jdGlvbiBjb250YWluZXIubmV3Q2xhc3MobmFtZSwgcGFyZW50LCBleHRyYVNjb3BlcykKbG9jYWwgY2xhc3MgPSBwLmNvbmZpZ3NldC5uZXcocGFyZW50KQpjbGFzcy5uYW1lID0gbmFtZQpjbGFzcy5wbHVyYWxOYW1lID0gbmFtZTpwbHVyYWwoKQpjbGFzcy5jb250YWluZWRDbGFzc2VzID0ge30KY2xhc3MuZXh0cmFTY29wZXMgPSBleHRyYVNjb3BlcwppZiBwYXJlbnQgdGhlbgp0YWJsZS5pbnNlcnQocGFyZW50LmNvbnRhaW5lZENsYXNzZXMsIGNsYXNzKQplbmQKY29udGFpbmVyLmNsYXNzZXNbbmFtZV0gPSBjbGFzcwpyZXR1cm4gY2xhc3MKZW5kCmZ1bmN0aW9uIGNvbnRhaW5lci5uZXcoY2xhc3MsIG5hbWUpCmxvY2FsIHNlbGYgPSBwLmNvbmZpZ3NldC5uZXcoKQpzZXRtZXRhdGFibGUoc2VsZiwgcC5jb25maWdzZXQubWV0YXRhYmxlKHNlbGYpKQpzZWxmLmNsYXNzID0gY2xhc3MKc2VsZi5uYW1lID0gbmFtZQpzZWxmLmZpbGVuYW1lID0gbmFtZQpzZWxmLnNjcmlwdCA9IF9TQ1JJUFQKc2VsZi5iYXNlZGlyID0gb3MuZ2V0Y3dkKCkKc2VsZi5leHRlcm5hbCA9IGZhbHNlCmZvciBjaGlsZENsYXNzIGluIGNvbnRhaW5lci5lYWNoQ2hpbGRDbGFzcyhjbGFzcykgZG8Kc2VsZltjaGlsZENsYXNzLnBsdXJhbE5hbWVdID0ge30KZW5kCnJldHVybiBzZWxmCmVuZApmdW5jdGlvbiBjb250YWluZXIuYWRkQ2hpbGQoc2VsZiwgY2hpbGQpCmxvY2FsIGNoaWxkcmVuID0gc2VsZltjaGlsZC5jbGFzcy5wbHVyYWxOYW1lXQp0YWJsZS5pbnNlcnQoY2hpbGRyZW4sIGNoaWxkKQpjaGlsZHJlbltjaGlsZC5uYW1lXSA9IGNoaWxkCmNoaWxkLnBhcmVudCA9IHNlbGYKY2hpbGRbc2VsZi5jbGFzcy5uYW1lXSA9IHNlbGYKaWYgc2VsZi5jbGFzcy5hbGlhcyB0aGVuCmNoaWxkW3NlbGYuY2xhc3MuYWxpYXNdID0gc2VsZgplbmQKZW5kCmZ1bmN0aW9uIGNvbnRhaW5lci5iYWtlKHNlbGYpCmlmIHNlbGYuX2lzQmFrZWQgdGhlbgpyZXR1cm4gc2VsZgplbmQKc2VsZi5faXNCYWtlZCA9IHRydWUKbG9jYWwgY3R4ID0gcC5jb250ZXh0Lm5ldyhzZWxmKQpmb3Iga2V5LCB2YWx1ZSBpbiBwYWlycyhzZWxmKSBkbwpjdHhba2V5XSA9IHZhbHVlCmVuZApsb2NhbCBwYXJlbnQgPSBzZWxmLnBhcmVudApjdHhbcGFyZW50LmNsYXNzLm5hbWVdID0gcGFyZW50CmZvciBjbGFzcyBpbiBjb250YWluZXIuZWFjaENoaWxkQ2xhc3Moc2VsZi5jbGFzcykgZG8KZm9yIGNoaWxkIGluIGNvbnRhaW5lci5lYWNoQ2hpbGQoc2VsZiwgY2xhc3MpIGRvCmNoaWxkLnBhcmVudCA9IGN0eApjaGlsZFtzZWxmLmNsYXNzLm5hbWVdID0gY3R4CmVuZAplbmQKaWYgdHlwZShzZWxmLmNsYXNzLmJha2UpID09ICJmdW5jdGlvbiIgdGhlbgpzZWxmLmNsYXNzLmJha2UoY3R4KQplbmQKcmV0dXJuIGN0eAplbmQKZnVuY3Rpb24gY29udGFpbmVyLmJha2VDaGlsZHJlbihzZWxmKQpmb3IgY2xhc3MgaW4gY29udGFpbmVyLmVhY2hDaGlsZENsYXNzKHNlbGYuY2xhc3MpIGRvCmxvY2FsIGNoaWxkcmVuID0gc2VsZltjbGFzcy5wbHVyYWxOYW1lXQpmb3IgaSA9IDEsICNjaGlsZHJlbiBkbwpsb2NhbCBjdHggPSBjb250YWluZXIuYmFrZShjaGlsZHJlbltpXSkKY2hpbGRyZW5baV0gPSBjdHgKY2hpbGRyZW5bY3R4Lm5hbWVdID0gY3R4CmVuZAplbmQKZW5kCmZ1bmN0aW9uIGNvbnRhaW5lci5jbGFzc0NhbkNvbnRhaW4oY2xhc3MsIHNjb3BlKQppZiB0eXBlKHNjb3BlKSA9PSAidGFibGUiIHRoZW4KZm9yIGkgPSAxLCAjc2NvcGUgZG8KaWYgY29udGFpbmVyLmNsYXNzQ2FuQ29udGFpbihjbGFzcywgc2NvcGVbaV0pIHRoZW4KcmV0dXJuIHRydWUKZW5kCmVuZApyZXR1cm4gZmFsc2UKZW5kCmZvciBjaGlsZCBpbiBjb250YWluZXIuZWFjaENoaWxkQ2xhc3MoY2xhc3MpIGRvCmlmIChjb250YWluZXIuY2xhc3NDYW5Db250YWluKGNoaWxkLCBzY29wZSkpIHRoZW4KcmV0dXJuIHRydWUKZW5kCmVuZAppZiBjbGFzcy5uYW1lID09IHNjb3BlIG9yIGNsYXNzLmFsaWFzID09IHNjb3BlIHRoZW4KcmV0dXJuIHRydWUKZW5kCmlmIGNsYXNzLmV4dHJhU2NvcGVzIGFuZCB0YWJsZS5jb250YWlucyhjbGFzcy5leHRyYVNjb3Blcywgc2NvcGUpIHRoZW4KcmV0dXJuIHRydWUKZW5kCnJldHVybiBmYWxzZQplbmQKZnVuY3Rpb24gY29udGFpbmVyLmNsYXNzSXNBKGNsYXNzLCBzY29wZSkKd2hpbGUgY2xhc3MgZG8KaWYgY2xhc3MubmFtZSA9PSBzY29wZSBvciBjbGFzcy5hbGlhcyA9PSBzY29wZSB0aGVuCnJldHVybiB0cnVlCmVuZApjbGFzcyA9IGNsYXNzLnBhcmVudAplbmQKcmV0dXJuIGZhbHNlCmVuZApmdW5jdGlvbiBjb250YWluZXIuZWFjaENoaWxkQ2xhc3MoY2xhc3MpCmxvY2FsIGNoaWxkcmVuID0gY2xhc3MuY29udGFpbmVkQ2xhc3Nlcwpsb2NhbCBpID0gMApyZXR1cm4gZnVuY3Rpb24gKCkKaSA9IGkgKyAxCmlmIGkgPD0gI2NoaWxkcmVuIHRoZW4KcmV0dXJuIGNoaWxkcmVuW2ldCmVuZAplbmQKZW5kCmZ1bmN0aW9uIGNvbnRhaW5lci5lYWNoQ2hpbGQoc2VsZiwgY2xhc3MpCmxvY2FsIGNoaWxkcmVuID0gc2VsZltjbGFzcy5wbHVyYWxOYW1lXQpsb2NhbCBpID0gMApyZXR1cm4gZnVuY3Rpb24gKCkKaSA9IGkgKyAxCmlmIGkgPD0gI2NoaWxkcmVuIHRoZW4KcmV0dXJuIGNoaWxkcmVuW2ldCmVuZAplbmQKZW5kCmZ1bmN0aW9uIGNvbnRhaW5lci5nZXRDaGlsZChzZWxmLCBjbGFzcywgbmFtZSkKbG9jYWwgY2hpbGRyZW4gPSBzZWxmW2NsYXNzLnBsdXJhbE5hbWVdCnJldHVybiBjaGlsZHJlbltuYW1lXQplbmQKZnVuY3Rpb24gY29udGFpbmVyLmdldENsYXNzKG5hbWUpCnJldHVybiBjb250YWluZXIuY2xhc3Nlc1tuYW1lXQplbmQKZnVuY3Rpb24gY29udGFpbmVyLmhhc0NoaWxkKHNlbGYsIGNsYXNzLCBmdW5jKQpmb3IgY2hpbGQgaW4gY29udGFpbmVyLmVhY2hDaGlsZChzZWxmLCBjbGFzcykgZG8KaWYgZnVuYyhjaGlsZCkgdGhlbgpyZXR1cm4gdHJ1ZQplbmQKZW5kCmVuZApmdW5jdGlvbiBjb250YWluZXIudmFsaWRhdGUoc2VsZikKaWYgdHlwZShzZWxmLmNsYXNzLnZhbGlkYXRlKSA9PSAiZnVuY3Rpb24iIHRoZW4Kc2VsZi5jbGFzcy52YWxpZGF0ZShzZWxmKQplbmQKZW5kCmZ1bmN0aW9uIGNvbnRhaW5lci52YWxpZGF0ZUNoaWxkcmVuKHNlbGYpCmZvciBjbGFzcyBpbiBjb250YWluZXIuZWFjaENoaWxkQ2xhc3Moc2VsZi5jbGFzcykgZG8KbG9jYWwgY2hpbGRyZW4gPSBzZWxmW2NsYXNzLnBsdXJhbE5hbWVdCmZvciBpID0gMSwgI2NoaWxkcmVuIGRvCmNvbnRhaW5lci52YWxpZGF0ZShjaGlsZHJlbltpXSkKZW5kCmVuZAplbmQKAAAAAHByZW1ha2Uub3B0aW9uID0ge30KbG9jYWwgbSA9IHByZW1ha2Uub3B0aW9uCmxvY2FsIF9PUFRJT05TX21ldGF0YWJsZSA9IHsKX19pbmRleCA9IGZ1bmN0aW9uKHRibCwga2V5KQppZiB0eXBlKGtleSkgPT0gInN0cmluZyIgdGhlbgprZXkgPSBrZXk6bG93ZXIoKQplbmQKcmV0dXJuIHJhd2dldCh0YmwsIGtleSkKZW5kLApfX25ld2luZGV4ID0gZnVuY3Rpb24odGJsLCBrZXksIHZhbHVlKQppZiB0eXBlKGtleSkgPT0gInN0cmluZyIgdGhlbgprZXkgPSBrZXk6bG93ZXIoKQplbmQKcmF3c2V0KHRibCwga2V5LCB2YWx1ZSkKZW5kCn0KX09QVElPTlMgPSB7fQpzZXRtZXRhdGFibGUoX09QVElPTlMsIF9PUFRJT05TX21ldGF0YWJsZSkKZm9yIGksIGFyZyBpbiBpcGFpcnMoX0FSR1YpIGRvCmxvY2FsIGtleSwgdmFsdWUKbG9jYWwgaSA9IGFyZzpmaW5kKCI9IiwgMSwgdHJ1ZSkKaWYgaSB0aGVuCmtleSA9IGFyZzpzdWIoMSwgaSAtIDEpCnZhbHVlID0gYXJnOnN1YihpICsgMSkKZWxzZQprZXkgPSBhcmcKdmFsdWUgPSAiIgplbmQKaWYga2V5OnN0YXJ0c3dpdGgoIi8iKSB0aGVuCl9PUFRJT05TW2tleTpzdWIoMildID0gdmFsdWUKZWxzZWlmIGtleTpzdGFydHN3aXRoKCItLSIpIHRoZW4KX09QVElPTlNba2V5OnN1YigzKV0gPSB2YWx1ZQplbmQKZW5kCm0ubGlzdCA9IHt9CmZ1bmN0aW9uIG0uYWRkKG9wdCkKbG9jYWwgbWlzc2luZwpmb3IgXywgZmllbGQgaW4gaXBhaXJzKHsgImRlc2NyaXB0aW9uIiwgInRyaWdnZXIiIH0pIGRvCmlmIChub3Qgb3B0W2ZpZWxkXSkgdGhlbgptaXNzaW5nID0gZmllbGQKZW5kCmVuZAppZiAobWlzc2luZykgdGhlbgplcnJvcigib3B0aW9uIG5lZWRzIGEgIiAuLiBtaXNzaW5nLCAzKQplbmQKcHJlbWFrZS5vcHRpb24ubGlzdFtvcHQudHJpZ2dlcjpsb3dlcigpXSA9IG9wdAppZiBvcHQuZGVmYXVsdCBhbmQgbm90IF9PUFRJT05TW29wdC50cmlnZ2VyXSB0aGVuCl9PUFRJT05TW29wdC50cmlnZ2VyXSA9IG9wdC5kZWZhdWx0CmVuZAplbmQKZnVuY3Rpb24gbS5nZXQobmFtZSkKcmV0dXJuIHByZW1ha2Uub3B0aW9uLmxpc3RbbmFtZV0KZW5kCmZ1bmN0aW9uIG0uZWFjaCgpCmxvY2FsIGtleXMgPSB7IH0KZm9yIF8sIG9wdGlvbiBpbiBwYWlycyhwcmVtYWtlLm9wdGlvbi5saXN0KSBkbwp0YWJsZS5pbnNlcnQoa2V5cywgb3B0aW9uLnRyaWdnZXIpCmVuZAp0YWJsZS5zb3J0KGtleXMpCmxvY2FsIGkgPSAwCnJldHVybiBmdW5jdGlvbigpCmkgPSBpICsgMQpyZXR1cm4gcHJlbWFrZS5vcHRpb24ubGlzdFtrZXlzW2ldXQplbmQKZW5kCmZ1bmN0aW9uIG0udmFsaWRhdGUodmFsdWVzKQpmb3Iga2V5LCB2YWx1ZSBpbiBwYWlycyh2YWx1ZXMpIGRvCmxvY2FsIG9wdCA9IHByZW1ha2Uub3B0aW9uLmdldChrZXkpCmlmIChub3Qgb3B0KSB0aGVuCnJldHVybiBmYWxzZSwgImludmFsaWQgb3B0aW9uICciIC4uIGtleSAuLiAiJyIKZW5kCmlmIChvcHQudmFsdWUgYW5kIHZhbHVlID09ICIiKSB0aGVuCnJldHVybiBmYWxzZSwgIm5vIHZhbHVlIHNwZWNpZmllZCBmb3Igb3B0aW9uICciIC4uIGtleSAuLiAiJyIKZW5kCmlmIG9wdC5hbGxvd2VkIHRoZW4KbG9jYWwgZm91bmQgPSBmYWxzZQpmb3IgXywgbWF0Y2ggaW4gaXBhaXJzKG9wdC5hbGxvd2VkKSBkbwppZiBtYXRjaFsxXSA9PSB2YWx1ZSB0aGVuCmZvdW5kID0gdHJ1ZQpicmVhawplbmQKZW5kCmlmIG5vdCBmb3VuZCB0aGVuCnJldHVybiBmYWxzZSwgc3RyaW5nLmZvcm1hdCgiaW52YWxpZCB2YWx1ZSAnJXMnIGZvciBvcHRpb24gJyVzJyIsIHZhbHVlLCBrZXkpCmVuZAplbmQKZW5kCnJldHVybiB0cnVlCmVuZApsb2NhbCBwID0gcHJlbWFrZQpwLmFjdGlvbiA9IHt9CmxvY2FsIGFjdGlvbiA9IHByZW1ha2UuYWN0aW9uCl9BQ1RJT04gPSBuaWwKX0FSR1MgPSB7fQpmb3IgaSwgYXJnIGluIGlwYWlycyhfQVJHVikgZG8KaWYgbm90IGFyZzpzdGFydHN3aXRoKCIvIikgYW5kIG5vdCBhcmc6c3RhcnRzd2l0aCgiLS0iKSB0aGVuCmlmIG5vdCBfQUNUSU9OIHRoZW4KX0FDVElPTiA9IGFyZwplbHNlCnRhYmxlLmluc2VydChfQVJHUywgYXJnKQpfQVJHU1thcmddID0gYXJnCmVuZAplbmQKZW5kCmFjdGlvbi5fbGlzdCA9IHt9CmZ1bmN0aW9uIGFjdGlvbi5hZGQoYWN0KQpsb2NhbCBtaXNzaW5nCmZvciBfLCBmaWVsZCBpbiBpcGFpcnMoeyJkZXNjcmlwdGlvbiIsICJ0cmlnZ2VyIn0pIGRvCmlmIG5vdCBhY3RbZmllbGRdIHRoZW4KbWlzc2luZyA9IGZpZWxkCmVuZAplbmQKaWYgbWlzc2luZyB0aGVuCmxvY2FsIG5hbWUgPSBhY3QudHJpZ2dlciBvciAiIgplcnJvcihzdHJpbmcuZm9ybWF0KCdhY3Rpb24gIiVzIiBuZWVkcyBhICAlcycsIG5hbWUsIG1pc3NpbmcpLCAzKQplbmQKYWN0aW9uLl9saXN0W2FjdC50cmlnZ2VyXSA9IGFjdAplbmQKZnVuY3Rpb24gYWN0aW9uLmNhbGwobmFtZSkKbG9jYWwgYSA9IGFjdGlvbi5fbGlzdFtuYW1lXQppZiBhLm9uU3RhcnQgdGhlbgphLm9uU3RhcnQoKQplbmQKZm9yIHdrcyBpbiBwLmdsb2JhbC5lYWNoV29ya3NwYWNlKCkgZG8KbG9jYWwgb25Xb3Jrc3BhY2UgPSBhLm9uV29ya3NwYWNlIG9yIGEub25Tb2x1dGlvbiBvciBhLm9uc29sdXRpb24KaWYgb25Xb3Jrc3BhY2UgYW5kIG5vdCB3a3MuZXh0ZXJuYWwgdGhlbgpvbldvcmtzcGFjZSh3a3MpCmVuZApmb3IgcHJqIGluIHAud29ya3NwYWNlLmVhY2hwcm9qZWN0KHdrcykgZG8KbG9jYWwgb25Qcm9qZWN0ID0gYS5vblByb2plY3Qgb3IgYS5vbnByb2plY3QKaWYgb25Qcm9qZWN0IGFuZCBub3QgcHJqLmV4dGVybmFsIHRoZW4Kb25Qcm9qZWN0KHByaikKZW5kCmVuZAplbmQKZm9yIHJ1bGUgaW4gcC5nbG9iYWwuZWFjaFJ1bGUoKSBkbwpsb2NhbCBvblJ1bGUgPSBhLm9uUnVsZSBvciBhLm9ucnVsZQppZiBvblJ1bGUgYW5kIG5vdCBydWxlLmV4dGVybmFsIHRoZW4Kb25SdWxlKHJ1bGUpCmVuZAplbmQKaWYgYS5leGVjdXRlIHRoZW4KYS5leGVjdXRlKCkKZW5kCmlmIGEub25FbmQgdGhlbgphLm9uRW5kKCkKZW5kCmVuZApmdW5jdGlvbiBhY3Rpb24uY3VycmVudCgpCnJldHVybiBhY3Rpb24uZ2V0KF9BQ1RJT04pCmVuZApmdW5jdGlvbiBhY3Rpb24uZ2V0KG5hbWUpCmlmIG5hbWUgYW5kIG5hbWU6ZW5kc3dpdGgoIm5nIikgdGhlbgpuYW1lID0gbmFtZTpzdWIoMSwgLTMpCmVuZApyZXR1cm4gYWN0aW9uLl9saXN0W25hbWVdCmVuZApmdW5jdGlvbiBhY3Rpb24uZWFjaCgpCmxvY2FsIGtleXMgPSB7IH0KZm9yIF8sIGFjdCBpbiBwYWlycyhhY3Rpb24uX2xpc3QpIGRvCnRhYmxlLmluc2VydChrZXlzLCBhY3QudHJpZ2dlcikKZW5kCnRhYmxlLnNvcnQoa2V5cykKbG9jYWwgaSA9IDAKcmV0dXJuIGZ1bmN0aW9uKCkKaSA9IGkgKyAxCnJldHVybiBhY3Rpb24uX2xpc3Rba2V5c1tpXV0KZW5kCmVuZApmdW5jdGlvbiBhY3Rpb24uaXNDb25maWd1cmFibGUoc2VsZikKaWYgbm90IHNlbGYgdGhlbgpzZWxmID0gYWN0aW9uLmN1cnJlbnQoKSBvciB7fQplbmQKaWYgc2VsZi5vblNvbHV0aW9uIG9yIHNlbGYub25zb2x1dGlvbiB0aGVuCnJldHVybiB0cnVlCmVuZAppZiBzZWxmLm9uUHJvamVjdCBvciBzZWxmLm9ucHJvamVjdCB0aGVuCnJldHVybiB0cnVlCmVuZApyZXR1cm4gZmFsc2UKZW5kCmZ1bmN0aW9uIGFjdGlvbi5zZXQobmFtZSkKX0FDVElPTiA9IG5hbWUKbG9jYWwgYWN0ID0gYWN0aW9uLmdldChuYW1lKQppZiBhY3QgdGhlbgpfT1MgPSBhY3Qub3Mgb3IgX09TCmVuZAppZiBhY3QgYW5kIGFjdC5tb2R1bGUgdGhlbgpyZXF1aXJlKGFjdC5tb2R1bGUpCmVuZAplbmQKZnVuY3Rpb24gYWN0aW9uLnN1cHBvcnRzKGZlYXR1cmUpCmlmIG5vdCBmZWF0dXJlIHRoZW4KcmV0dXJuIHRydWUKZW5kCmxvY2FsIHNlbGYgPSBhY3Rpb24uY3VycmVudCgpCmlmIG5vdCBzZWxmIHRoZW4KcmV0dXJuIGZhbHNlCmVuZAppZiBub3Qgc2VsZi52YWxpZF9sYW5ndWFnZXMgYW5kIG5vdCBzZWxmLnZhbGlkX2tpbmRzIHRoZW4KcmV0dXJuIHRydWUKZW5kCmlmIHNlbGYudmFsaWRfbGFuZ3VhZ2VzIHRoZW4KaWYgdGFibGUuY29udGFpbnMoc2VsZi52YWxpZF9sYW5ndWFnZXMsIGZlYXR1cmUpIHRoZW4KcmV0dXJuIHRydWUKZW5kCmVuZAppZiBzZWxmLnZhbGlkX2tpbmRzIHRoZW4KaWYgdGFibGUuY29udGFpbnMoc2VsZi52YWxpZF9raW5kcywgZmVhdHVyZSkgdGhlbgpyZXR1cm4gdHJ1ZQplbmQKZW5kCnJldHVybiBmYWxzZQplbmQKZnVuY3Rpb24gcHJlbWFrZS5hY3Rpb24uc3VwcG9ydHNjb25maWcoYWN0aW9uLCBjZmcpCmlmIG5vdCBhY3Rpb24gdGhlbgpyZXR1cm4gZmFsc2UKZW5kCmlmIGFjdGlvbi5zdXBwb3J0c2NvbmZpZyB0aGVuCnJldHVybiBhY3Rpb24uc3VwcG9ydHNjb25maWcoY2ZnKQplbmQKcmV0dXJuIHRydWUKZW5kCmxvY2FsIHAgPSBwcmVtYWtlCnAuYXBpID0ge30KbG9jYWwgYXBpID0gcHJlbWFrZS5hcGkKbG9jYWwgY29uZmlnc2V0ID0gcC5jb25maWdzZXQKYXBpLnNjb3BlID0ge30KZnVuY3Rpb24gYXBpLmNvbnRhaW5lcihjb250YWluZXJOYW1lLCBwYXJlbnRDb250YWluZXIsIGV4dHJhU2NvcGVzKQpsb2NhbCBjbGFzcywgZXJyID0gcC5jb250YWluZXIubmV3Q2xhc3MoY29udGFpbmVyTmFtZSwgcGFyZW50Q29udGFpbmVyLCBleHRyYVNjb3BlcykKaWYgbm90IGNsYXNzIHRoZW4KZXJyb3IoZXJyLCAyKQplbmQKX0dbY29udGFpbmVyTmFtZV0gPSBmdW5jdGlvbihuYW1lKQpsb2NhbCBjID0gYXBpLl9zZXRDb250YWluZXIoY2xhc3MsIG5hbWUpCmlmIGFwaS5faXNJbmNsdWRpbmdFeHRlcm5hbCB0aGVuCmMuZXh0ZXJuYWwgPSB0cnVlCmVuZApyZXR1cm4gYwplbmQKX0dbImV4dGVybmFsIiAuLiBjb250YWluZXJOYW1lXSA9IGZ1bmN0aW9uKG5hbWUpCmxvY2FsIGMgPSBfR1tjb250YWluZXJOYW1lXShuYW1lKQpjLmV4dGVybmFsID0gdHJ1ZQpyZXR1cm4gYwplbmQKcC5hbGlhcyhfRywgImV4dGVybmFsIiAuLiBjb250YWluZXJOYW1lLCAiZXh0ZXJuYWwiIC4uIGNvbnRhaW5lck5hbWU6Y2FwaXRhbGl6ZWQoKSkKcmV0dXJuIGNsYXNzCmVuZApmdW5jdGlvbiBpbmNsdWRlZXh0ZXJuYWwoZm5hbWUpCmxvY2FsIGZ1bGxQYXRoID0gcHJlbWFrZS5maW5kUHJvamVjdFNjcmlwdChmbmFtZSkKYXBpLl9pc0luY2x1ZGluZ0V4dGVybmFsID0gdHJ1ZQpmbmFtZSA9IGZ1bGxQYXRoIG9yIGZuYW1lCmRvZmlsZShmbmFtZSkKYXBpLl9pc0luY2x1ZGluZ0V4dGVybmFsID0gbmlsCmVuZApwLmFsaWFzKF9HLCAiaW5jbHVkZWV4dGVybmFsIiwgImluY2x1ZGVFeHRlcm5hbCIpCmZ1bmN0aW9uIGFwaS5yb290Q29udGFpbmVyKCkKcmV0dXJuIGFwaS5zY29wZS5nbG9iYWwKZW5kCmZ1bmN0aW9uIGFwaS5fc2V0Q29udGFpbmVyKGNsYXNzLCBuYW1lKQpsb2NhbCBpbnN0YW5jZQppZiBuYW1lID09ICIqIiB0aGVuCnJldHVybiBhcGkuX3NldENvbnRhaW5lcihjbGFzcy5wYXJlbnQpCmVuZAppZiBub3QgbmFtZSB0aGVuCmluc3RhbmNlID0gYXBpLnNjb3BlW2NsYXNzLm5hbWVdCmlmIG5vdCBpbnN0YW5jZSB0aGVuCmVycm9yKCJubyAiIC4uIGNsYXNzLm5hbWUgLi4gIiBpbiBzY29wZSIsIDMpCmVuZAplbmQKbG9jYWwgcGFyZW50CmlmIG5vdCBpbnN0YW5jZSBhbmQgY2xhc3MucGFyZW50IHRoZW4KcGFyZW50ID0gYXBpLnNjb3BlW2NsYXNzLnBhcmVudC5uYW1lXQppZiBub3QgcGFyZW50IHRoZW4KZXJyb3IoIm5vICIgLi4gY2xhc3MucGFyZW50Lm5hbWUgLi4gIiBpbiBzY29wZSIsIDMpCmVuZAppbnN0YW5jZSA9IHAuY29udGFpbmVyLmdldENoaWxkKHBhcmVudCwgY2xhc3MsIG5hbWUpCmVuZAppZiBpbnN0YW5jZSB0aGVuCmNvbmZpZ3NldC5hZGRGaWx0ZXIoaW5zdGFuY2UsIHt9LCBvcy5nZXRjd2QoKSkKZW5kCmlmIG5vdCBpbnN0YW5jZSB0aGVuCmluc3RhbmNlID0gY2xhc3MubmV3KG5hbWUpCmlmIHBhcmVudCB0aGVuCnAuY29udGFpbmVyLmFkZENoaWxkKHBhcmVudCwgaW5zdGFuY2UpCmVuZAplbmQKYXBpLl9jbGVhckNvbnRhaW5lckNoaWxkcmVuKGNsYXNzKQppZiBub3QgY2xhc3MucGxhY2Vob2xkZXIgdGhlbgphcGkuc2NvcGUuY3VycmVudCA9IGluc3RhbmNlCmVuZAp3aGlsZSBpbnN0YW5jZSBkbwphcGkuc2NvcGVbaW5zdGFuY2UuY2xhc3MubmFtZV0gPSBpbnN0YW5jZQppZiBpbnN0YW5jZS5jbGFzcy5hbGlhcyB0aGVuCmFwaS5zY29wZVtpbnN0YW5jZS5jbGFzcy5hbGlhc10gPSBpbnN0YW5jZQplbmQKaW5zdGFuY2UgPSBpbnN0YW5jZS5wYXJlbnQKZW5kCnJldHVybiBhcGkuc2NvcGUuY3VycmVudAplbmQKZnVuY3Rpb24gYXBpLl9jbGVhckNvbnRhaW5lckNoaWxkcmVuKGNsYXNzKQpmb3IgY2hpbGRDbGFzcyBpbiBwLmNvbnRhaW5lci5lYWNoQ2hpbGRDbGFzcyhjbGFzcykgZG8KYXBpLnNjb3BlW2NoaWxkQ2xhc3MubmFtZV0gPSBuaWwKaWYgY2hpbGRDbGFzcy5hbGlhcyB0aGVuCmFwaS5zY29wZVtjaGlsZENsYXNzLmFsaWFzXSA9IG5pbAplbmQKYXBpLl9jbGVhckNvbnRhaW5lckNoaWxkcmVuKGNoaWxkQ2xhc3MpCmVuZAplbmQKZnVuY3Rpb24gYXBpLnJlZ2lzdGVyKGZpZWxkKQpsb2NhbCBuYW1lID0gZmllbGQubmFtZQppZiBub3QgbmFtZSB0aGVuCmVycm9yKCJtaXNzaW5nIG5hbWUiLCAyKQplbmQKaWYgcmF3Z2V0KF9HLCBuYW1lKSB0aGVuCmVycm9yKCJuYW1lICciIC4uIG5hbWUgLi4gIicgaW4gdXNlIiwgMikKZW5kCmZpZWxkLCBlcnIgPSBwcmVtYWtlLmZpZWxkLm5ldyhmaWVsZCkKaWYgbm90IGZpZWxkIHRoZW4KZXJyb3IoZXJyKQplbmQKZmllbGQucGF0aHMgPSBwcmVtYWtlLmZpZWxkLnByb3BlcnR5KGZpZWxkLCAicGF0aHMiKQppZiB0eXBlKGZpZWxkLmFsbG93ZWQpID09ICJ0YWJsZSIgdGhlbgpmb3IgaSwgaXRlbSBpbiBpcGFpcnMoZmllbGQuYWxsb3dlZCkgZG8KZmllbGQuYWxsb3dlZFtpdGVtOmxvd2VyKCldID0gaXRlbQplbmQKZW5kCmlmIHR5cGUoZmllbGQuYWxpYXNlcykgPT0gInRhYmxlIiB0aGVuCmxvY2FsIGtleXMgPSB0YWJsZS5rZXlzKGZpZWxkLmFsaWFzZXMpCmZvciBpLCBrZXkgaW4gaXBhaXJzKGtleXMpIGRvCmZpZWxkLmFsaWFzZXNba2V5Omxvd2VyKCldID0gZmllbGQuYWxpYXNlc1trZXldCmVuZAplbmQKX0dbbmFtZV0gPSBmdW5jdGlvbih2YWx1ZSkKcmV0dXJuIGFwaS5zdG9yZUZpZWxkKGZpZWxkLCB2YWx1ZSkKZW5kCmlmIHByZW1ha2UuZmllbGQucmVtb3ZlcyhmaWVsZCkgdGhlbgpfR1sicmVtb3ZlIiAuLiBuYW1lXSA9IGZ1bmN0aW9uKHZhbHVlKQpyZXR1cm4gYXBpLnJlbW92ZShmaWVsZCwgdmFsdWUpCmVuZAplbmQKcmV0dXJuIGZpZWxkCmVuZApmdW5jdGlvbiBhcGkudW5yZWdpc3RlcihmaWVsZCkKaWYgdHlwZShmaWVsZCkgPT0gInN0cmluZyIgdGhlbgpmaWVsZCA9IHByZW1ha2UuZmllbGQuZ2V0KGZpZWxkKQplbmQKcHJlbWFrZS5maWVsZC51bnJlZ2lzdGVyKGZpZWxkKQpfR1tmaWVsZC5uYW1lXSA9IG5pbApfR1sicmVtb3ZlIiAuLiBmaWVsZC5uYW1lXSA9IG5pbAplbmQKICAgICBmdW5jdGlvbiBhcGkuYWxpYXMob3JpZ2luYWwsIGFsaWFzKQogICAgIHAuYWxpYXMoX0csIG9yaWdpbmFsLCBhbGlhcykKICAgICBpZiBfR1sicmVtb3ZlIiAuLiBvcmlnaW5hbF0gdGhlbgogICAgIHAuYWxpYXMoX0csICJyZW1vdmUiIC4uIG9yaWdpbmFsLCAicmVtb3ZlIiAuLiBhbGlhcykKICAgICBlbmQKICAgICBlbmQKZnVuY3Rpb24gYXBpLmFkZEFsbG93ZWQoZmllbGROYW1lLCB2YWx1ZSkKbG9jYWwgZmllbGQgPSBwcmVtYWtlLmZpZWxkLmdldChmaWVsZE5hbWUpCmlmIG5vdCBmaWVsZCB0aGVuCmVycm9yKCJObyBzdWNoIGZpZWxkOiAiIC4uIGZpZWxkTmFtZSwgMikKZW5kCmlmIHR5cGUodmFsdWUpID09ICJ0YWJsZSIgdGhlbgpmb3IgaSwgaXRlbSBpbiBpcGFpcnModmFsdWUpIGRvCmFwaS5hZGRBbGxvd2VkKGZpZWxkTmFtZSwgaXRlbSkKZW5kCmVsc2UKZmllbGQuYWxsb3dlZCA9IGZpZWxkLmFsbG93ZWQgb3Ige30KdGFibGUuaW5zZXJ0KGZpZWxkLmFsbG93ZWQsIHZhbHVlKQpmaWVsZC5hbGxvd2VkW3ZhbHVlOmxvd2VyKCldID0gdmFsdWUKZW5kCmVuZApmdW5jdGlvbiBhcGkuYWRkQWxpYXNlcyhmaWVsZE5hbWUsIHZhbHVlKQpsb2NhbCBmaWVsZCA9IHByZW1ha2UuZmllbGQuZ2V0KGZpZWxkTmFtZSkKaWYgbm90IGZpZWxkIHRoZW4KZXJyb3IoIk5vIHN1Y2ggZmllbGQ6ICIgLi4gZmllbGROYW1lLCAyKQplbmQKZmllbGQuYWxpYXNlcyA9IGZpZWxkLmFsaWFzZXMgb3Ige30KZm9yIGssIHYgaW4gcGFpcnModmFsdWUpIGRvCmZpZWxkLmFsaWFzZXNba10gPSB2CmZpZWxkLmFsaWFzZXNbazpsb3dlcigpXSA9IHYKZW5kCmVuZApmdW5jdGlvbiBhcGkuZGVwcmVjYXRlRmllbGQobmFtZSwgbWVzc2FnZSwgaGFuZGxlcikKcHJlbWFrZS5maWVsZHNbbmFtZV0uZGVwcmVjYXRlZCA9IHsKaGFuZGxlciA9IGhhbmRsZXIsCm1lc3NhZ2UgPSBtZXNzYWdlCn0KZW5kCmZ1bmN0aW9uIGFwaS5kZXByZWNhdGVWYWx1ZShuYW1lLCB2YWx1ZSwgbWVzc2FnZSwgYWRkSGFuZGxlciwgcmVtb3ZlSGFuZGxlcikKaWYgdHlwZSh2YWx1ZSkgPT0gInRhYmxlIiB0aGVuCmZvciBfLCB2IGluIHBhaXJzKHZhbHVlKSBkbwphcGkuZGVwcmVjYXRlVmFsdWUobmFtZSwgdiwgbWVzc2FnZSwgYWRkSGFuZGxlciwgcmVtb3ZlSGFuZGxlcikKZW5kCmVsc2UKbG9jYWwgZmllbGQgPSBwcmVtYWtlLmZpZWxkc1tuYW1lXQpmaWVsZC5kZXByZWNhdGVkID0gZmllbGQuZGVwcmVjYXRlZCBvciB7fQpmaWVsZC5kZXByZWNhdGVkW3ZhbHVlXSA9IHsKYWRkID0gYWRkSGFuZGxlciwKcmVtb3ZlID0gcmVtb3ZlSGFuZGxlciwKbWVzc2FnZSA9IG1lc3NhZ2UKfQplbmQKZW5kCmZ1bmN0aW9uIGFwaS5kZXByZWNhdGlvbnModmFsdWUpCnZhbHVlID0gdmFsdWU6bG93ZXIoKQppZiBub3QgdGFibGUuY29udGFpbnMoeyAib24iLCAib2ZmIiwgImVycm9yIn0sIHZhbHVlKSB0aGVuCmVycm9yKCJJbnZhbGlkIHZhbHVlOiAiIC4uIHZhbHVlLCAyKQplbmQKYXBpLl9kZXByZWNhdGlvbnMgPSB2YWx1ZTpsb3dlcigpCmVuZAphcGkuX2RlcHJlY2F0aW9ucyA9ICJvbiIKZnVuY3Rpb24gYXBpLnRhcmdldChmaWVsZCkKaWYgcC5jb250YWluZXIuY2xhc3NDYW5Db250YWluKGFwaS5zY29wZS5jdXJyZW50LmNsYXNzLCBmaWVsZC5zY29wZSkgdGhlbgpyZXR1cm4gYXBpLnNjb3BlLmN1cnJlbnQKZW5kCnJldHVybiBuaWwKZW5kCmZ1bmN0aW9uIGFwaS5zdG9yZUZpZWxkKGZpZWxkLCB2YWx1ZSkKaWYgdmFsdWUgPT0gbmlsIHRoZW4KcmV0dXJuCmVuZAppZiBmaWVsZC5kZXByZWNhdGVkIGFuZCB0eXBlKGZpZWxkLmRlcHJlY2F0ZWQuaGFuZGxlcikgPT0gImZ1bmN0aW9uIiB0aGVuCmZpZWxkLmRlcHJlY2F0ZWQuaGFuZGxlcih2YWx1ZSkKaWYgZmllbGQuZGVwcmVjYXRlZC5tZXNzYWdlIGFuZCBhcGkuX2RlcHJlY2F0aW9ucyB+PSAib2ZmIiB0aGVuCnByZW1ha2Uud2Fybk9uY2UoZmllbGQubmFtZSwgInRoZSBmaWVsZCAlcyBoYXMgYmVlbiBkZXByZWNhdGVkLlxuICAgJXMiLCBmaWVsZC5uYW1lLCBmaWVsZC5kZXByZWNhdGVkLm1lc3NhZ2UpCmlmIGFwaS5fZGVwcmVjYXRpb25zID09ICJlcnJvciIgdGhlbiBlcnJvcigiZGVwcmVjYXRpb24gZXJyb3JzIGVuYWJsZWQiLCAzKSBlbmQKZW5kCmVuZApsb2NhbCB0YXJnZXQgPSBhcGkudGFyZ2V0KGZpZWxkKQppZiBub3QgdGFyZ2V0IHRoZW4KbG9jYWwgZXJyID0gc3RyaW5nLmZvcm1hdCgidW5hYmxlIHRvIHNldCAlcyBpbiAlcyBzY29wZSwgc2hvdWxkIGJlICVzIiwgZmllbGQubmFtZSwgYXBpLnNjb3BlLmN1cnJlbnQuY2xhc3MubmFtZSwgdGFibGUuY29uY2F0KGZpZWxkLnNjb3BlcywgIiwgIikpCmVycm9yKGVyciwgMykKZW5kCmxvY2FsIHN0YXR1cywgZXJyID0gY29uZmlnc2V0LnN0b3JlKHRhcmdldCwgZmllbGQsIHZhbHVlKQppZiBlcnIgdGhlbgplcnJvcihlcnIsIDMpCmVuZAplbmQKZnVuY3Rpb24gYXBpLnJlbW92ZShmaWVsZCwgdmFsdWUpCmlmIHZhbHVlID09IG5pbCB0aGVuIHJldHVybiBlbmQKbG9jYWwgdGFyZ2V0ID0gYXBpLnRhcmdldChmaWVsZCkKaWYgbm90IHRhcmdldCB0aGVuCmxvY2FsIGVyciA9IHN0cmluZy5mb3JtYXQoInVuYWJsZSB0byByZW1vdmUgJXMgZnJvbSAlcyBzY29wZSwgc2hvdWxkIGJlICVzIiwgZmllbGQubmFtZSwgYXBpLnNjb3BlLmN1cnJlbnQuY2xhc3MubmFtZSwgdGFibGUuY29uY2F0KGZpZWxkLnNjb3BlcywgIiwgIikpCmVycm9yKGVyciwgMykKZW5kCmxvY2FsIGhhc0RlcHJlY2F0ZWRWYWx1ZXMgPSAodHlwZShmaWVsZC5kZXByZWNhdGVkKSA9PSAidGFibGUiKQpsb2NhbCByZW1vdmVzID0ge30KZnVuY3Rpb24gY2hlY2sodmFsdWUpCmlmIGZpZWxkLmRlcHJlY2F0ZWRbdmFsdWVdIHRoZW4KbG9jYWwgaGFuZGxlciA9IGZpZWxkLmRlcHJlY2F0ZWRbdmFsdWVdCmlmIGhhbmRsZXIucmVtb3ZlIHRoZW4gaGFuZGxlci5yZW1vdmUodmFsdWUpIGVuZAppZiBoYW5kbGVyLm1lc3NhZ2UgYW5kIGFwaS5fZGVwcmVjYXRpb25zIH49ICJvZmYiIHRoZW4KbG9jYWwga2V5ID0gZmllbGQubmFtZSAuLiAiXyIgLi4gdmFsdWUKcHJlbWFrZS53YXJuT25jZShrZXksICJ0aGUgJXMgdmFsdWUgJXMgaGFzIGJlZW4gZGVwcmVjYXRlZC5cbiAgICVzIiwgZmllbGQubmFtZSwgdmFsdWUsIGhhbmRsZXIubWVzc2FnZSkKaWYgYXBpLl9kZXByZWNhdGlvbnMgPT0gImVycm9yIiB0aGVuCmVycm9yIHsgbXNnPSJkZXByZWNhdGlvbiBlcnJvcnMgZW5hYmxlZCIgfQplbmQKZW5kCmVuZAplbmQKbG9jYWwgZnVuY3Rpb24gcmVjdXJzZSh2YWx1ZSkKaWYgdHlwZSh2YWx1ZSkgPT0gInRhYmxlIiB0aGVuCnRhYmxlLmZvcmVhY2hpKHZhbHVlLCByZWN1cnNlKQplbHNlaWYgaGFzRGVwcmVjYXRlZFZhbHVlcyBhbmQgdmFsdWU6Y29udGFpbnMoIioiKSB0aGVuCmxvY2FsIGN1cnJlbnQgPSBjb25maWdzZXQuZmV0Y2godGFyZ2V0LCBmaWVsZCkKbG9jYWwgbWFzayA9IHBhdGgud2lsZGNhcmRzKHZhbHVlKQpmb3IgXywgaXRlbSBpbiBpcGFpcnMoY3VycmVudCkgZG8KaWYgaXRlbTptYXRjaChtYXNrKSA9PSBpdGVtIHRoZW4KcmVjdXJzZShpdGVtKQplbmQKZW5kCnRhYmxlLmluc2VydChyZW1vdmVzLCB2YWx1ZSkKZWxzZQpsb2NhbCB2YWx1ZSwgZXJyLCBhZGRpdGlvbmFsID0gYXBpLmNoZWNrVmFsdWUoZmllbGQsIHZhbHVlKQppZiBlcnIgdGhlbgplcnJvciB7IG1zZz1lcnIgfQplbmQKaWYgZmllbGQuZGVwcmVjYXRlZCB0aGVuCmNoZWNrKHZhbHVlKQplbmQKdGFibGUuaW5zZXJ0KHJlbW92ZXMsIHZhbHVlKQppZiBhZGRpdGlvbmFsIHRoZW4KdGFibGUuaW5zZXJ0KHJlbW92ZXMsIGFkZGl0aW9uYWwpCmVuZAplbmQKZW5kCmxvY2FsIG9rLCBlcnIgPSBwY2FsbChmdW5jdGlvbiAoKQpyZWN1cnNlKHZhbHVlKQplbmQpCmlmIG5vdCBvayB0aGVuCmlmIHR5cGUoZXJyKSA9PSAidGFibGUiIHRoZW4KZXJyID0gZXJyLm1zZwplbmQKZXJyb3IoZXJyLCAzKQplbmQKY29uZmlnc2V0LnJlbW92ZSh0YXJnZXQsIGZpZWxkLCByZW1vdmVzKQplbmQKZnVuY3Rpb24gYXBpLmNoZWNrVmFsdWUoZmllbGQsIHZhbHVlLCBraW5kKQppZiBub3QgZmllbGQuYWxsb3dlZCB0aGVuCnJldHVybiB2YWx1ZQplbmQKbG9jYWwgY2Fub25pY2FsLCByZXN1bHQKbG9jYWwgbG93ZXJWYWx1ZSA9IHZhbHVlOmxvd2VyKCkKaWYgZmllbGQuYWxpYXNlcyB0aGVuCmNhbm9uaWNhbCA9IGZpZWxkLmFsaWFzZXNbbG93ZXJWYWx1ZV0KZW5kCmlmIG5vdCBjYW5vbmljYWwgdGhlbgppZiB0eXBlKGZpZWxkLmFsbG93ZWQpID09ICJmdW5jdGlvbiIgdGhlbgpjYW5vbmljYWwgPSBmaWVsZC5hbGxvd2VkKHZhbHVlLCBraW5kIG9yICJzdHJpbmciKQplbHNlCmNhbm9uaWNhbCA9IGZpZWxkLmFsbG93ZWRbbG93ZXJWYWx1ZV0KZW5kCmVuZAppZiBub3QgY2Fub25pY2FsIHRoZW4KcmV0dXJuIG5pbCwgImludmFsaWQgdmFsdWUgJyIgLi4gdmFsdWUgLi4gIicgZm9yICIgLi4gZmllbGQubmFtZQplbmQKaWYgZmllbGQuZGVwcmVjYXRlZCBhbmQgZmllbGQuZGVwcmVjYXRlZFtjYW5vbmljYWxdIHRoZW4KbG9jYWwgaGFuZGxlciA9IGZpZWxkLmRlcHJlY2F0ZWRbY2Fub25pY2FsXQpoYW5kbGVyLmFkZChjYW5vbmljYWwpCmlmIGhhbmRsZXIubWVzc2FnZSBhbmQgYXBpLl9kZXByZWNhdGlvbnMgfj0gIm9mZiIgdGhlbgpsb2NhbCBrZXkgPSBmaWVsZC5uYW1lIC4uICJfIiAuLiB2YWx1ZQpwcmVtYWtlLndhcm5PbmNlKGtleSwgInRoZSAlcyB2YWx1ZSAlcyBoYXMgYmVlbiBkZXByZWNhdGVkLlxuICAgJXMiLCBmaWVsZC5uYW1lLCBjYW5vbmljYWwsIGhhbmRsZXIubWVzc2FnZSkKaWYgYXBpLl9kZXByZWNhdGlvbnMgPT0gImVycm9yIiB0aGVuCnJldHVybiBuaWwsICJkZXByZWNhdGlvbiBlcnJvcnMgZW5hYmxlZCIKZW5kCmVuZAplbmQKcmV0dXJuIGNhbm9uaWNhbAplbmQKZnVuY3Rpb24gYXBpLnJlc2V0KCkKZm9yIGNvbnRhaW5lckNsYXNzIGluIHAuY29udGFpbmVyLmVhY2hDaGlsZENsYXNzKHAuZ2xvYmFsKSBkbwphcGkuc2NvcGUuZ2xvYmFsW2NvbnRhaW5lckNsYXNzLnBsdXJhbE5hbWVdID0ge30KZW5kCmVuZApwcmVtYWtlLmZpZWxkLmtpbmQoImFycmF5IiwgewpzdG9yZSA9IGZ1bmN0aW9uKGZpZWxkLCBjdXJyZW50LCB2YWx1ZSwgcHJvY2Vzc29yKQppZiB0eXBlKHZhbHVlKSB+PSAidGFibGUiIHRoZW4KdmFsdWUgPSB7IHZhbHVlIH0KZW5kCmZvciBpLCBpdGVtIGluIGlwYWlycyh2YWx1ZSkgZG8KdmFsdWVbaV0gPSBwcm9jZXNzb3IoZmllbGQsIG5pbCwgdmFsdWVbaV0pCmVuZApyZXR1cm4gdmFsdWUKZW5kLApjb21wYXJlID0gZnVuY3Rpb24oZmllbGQsIGEsIGIsIHByb2Nlc3NvcikKaWYgYSA9PSBuaWwgb3IgYiA9PSBuaWwgb3IgI2Egfj0gI2IgdGhlbgpyZXR1cm4gZmFsc2UKZW5kCmZvciBpID0gMSwgI2EgZG8KaWYgbm90IHByb2Nlc3NvcihmaWVsZCwgYVtpXSwgYltpXSkgdGhlbgpyZXR1cm4gZmFsc2UKZW5kCmVuZApyZXR1cm4gdHJ1ZQplbmQKfSkKcHJlbWFrZS5maWVsZC5raW5kKCJib29sZWFuIiwgewpzdG9yZSA9IGZ1bmN0aW9uKGZpZWxkLCBjdXJyZW50LCB2YWx1ZSwgcHJvY2Vzc29yKQpsb2NhbCBtYXBwaW5nID0gewpbImZhbHNlIl0gPSBmYWxzZSwKWyJubyJdID0gZmFsc2UsClsib2ZmIl0gPSBmYWxzZSwKWyJvbiJdID0gdHJ1ZSwKWyJ0cnVlIl0gPSB0cnVlLApbInllcyJdID0gdHJ1ZSwKfQppZiB0eXBlKHZhbHVlKSA9PSAic3RyaW5nIiB0aGVuCnZhbHVlID0gbWFwcGluZ1t2YWx1ZTpsb3dlcigpXQppZiB2YWx1ZSA9PSBuaWwgdGhlbgplcnJvciB7IG1zZz0iZXhwZWN0ZWQgYm9vbGVhbjsgZ290ICIgLi4gdmFsdWUgfQplbmQKcmV0dXJuIHZhbHVlCmVuZAppZiB0eXBlKHZhbHVlKSA9PSAiYm9vbGVhbiIgdGhlbgpyZXR1cm4gdmFsdWUKZW5kCmlmIHR5cGUodmFsdWUpID09ICJudW1iZXIiIHRoZW4KcmV0dXJuICh2YWx1ZSB+PSAwKQplbmQKcmV0dXJuICh2YWx1ZSB+PSBuaWwpCmVuZCwKY29tcGFyZSA9IGZ1bmN0aW9uKGZpZWxkLCBhLCBiLCBwcm9jZXNzb3IpCnJldHVybiAoYSA9PSBiKQplbmQKfSkKcHJlbWFrZS5maWVsZC5raW5kKCJkaXJlY3RvcnkiLCB7CnBhdGhzID0gdHJ1ZSwKc3RvcmUgPSBmdW5jdGlvbihmaWVsZCwgY3VycmVudCwgdmFsdWUsIHByb2Nlc3NvcikKcmV0dXJuIHBhdGguZ2V0YWJzb2x1dGUodmFsdWUpCmVuZCwKcmVtb3ZlID0gZnVuY3Rpb24oZmllbGQsIGN1cnJlbnQsIHZhbHVlLCBwcm9jZXNzb3IpCnJldHVybiBwYXRoLmdldGFic29sdXRlKHZhbHVlKQplbmQsCmNvbXBhcmUgPSBmdW5jdGlvbihmaWVsZCwgYSwgYiwgcHJvY2Vzc29yKQpyZXR1cm4gKGEgPT0gYikKZW5kLAp0cmFuc2xhdGUgPSBmdW5jdGlvbihmaWVsZCwgY3VycmVudCwgXywgcHJvY2Vzc29yKQppZiBjdXJyZW50OmZpbmQoIioiKSB0aGVuCnJldHVybiBvcy5tYXRjaGRpcnMoY3VycmVudCkKZW5kCnJldHVybiB7IGN1cnJlbnQgfQplbmQKfSkKcHJlbWFrZS5maWVsZC5raW5kKCJmaWxlIiwgewpwYXRocyA9IHRydWUsCnN0b3JlID0gZnVuY3Rpb24oZmllbGQsIGN1cnJlbnQsIHZhbHVlLCBwcm9jZXNzb3IpCnJldHVybiBwYXRoLmdldGFic29sdXRlKHZhbHVlKQplbmQsCnJlbW92ZSA9IGZ1bmN0aW9uKGZpZWxkLCBjdXJyZW50LCB2YWx1ZSwgcHJvY2Vzc29yKQpyZXR1cm4gcGF0aC5nZXRhYnNvbHV0ZSh2YWx1ZSkKZW5kLApjb21wYXJlID0gZnVuY3Rpb24oZmllbGQsIGEsIGIsIHByb2Nlc3NvcikKcmV0dXJuIChhID09IGIpCmVuZCwKdHJhbnNsYXRlID0gZnVuY3Rpb24oZmllbGQsIGN1cnJlbnQsIF8sIHByb2Nlc3NvcikKaWYgY3VycmVudDpmaW5kKCIqIikgdGhlbgpyZXR1cm4gb3MubWF0Y2hmaWxlcyhjdXJyZW50KQplbmQKcmV0dXJuIHsgY3VycmVudCB9CmVuZAp9KQpwcmVtYWtlLmZpZWxkLmtpbmQoImZ1bmN0aW9uIiwgewpzdG9yZSA9IGZ1bmN0aW9uKGZpZWxkLCBjdXJyZW50LCB2YWx1ZSwgcHJvY2Vzc29yKQpsb2NhbCB0ID0gdHlwZSh2YWx1ZSkKaWYgdCB+PSAiZnVuY3Rpb24iIHRoZW4KZXJyb3IgeyBtc2c9ImV4cGVjdGVkIGZ1bmN0aW9uOyBnb3QgIiAuLiB0IH0KZW5kCnJldHVybiB2YWx1ZQplbmQsCmNvbXBhcmUgPSBmdW5jdGlvbihmaWVsZCwgYSwgYiwgcHJvY2Vzc29yKQpyZXR1cm4gKGEgPT0gYikKZW5kCn0pCnByZW1ha2UuZmllbGQua2luZCgiaW50ZWdlciIsIHsKc3RvcmUgPSBmdW5jdGlvbihmaWVsZCwgY3VycmVudCwgdmFsdWUsIHByb2Nlc3NvcikKbG9jYWwgdCA9IHR5cGUodmFsdWUpCmlmIHQgfj0gIm51bWJlciIgdGhlbgplcnJvciB7IG1zZz0iZXhwZWN0ZWQgbnVtYmVyOyBnb3QgIiAuLiB0IH0KZW5kCmlmIG1hdGguZmxvb3IodmFsdWUpIH49IHZhbHVlIHRoZW4KZXJyb3IgeyBtc2c9ImV4cGVjdGVkIGludGVnZXI7IGdvdCAiIC4uIHRvc3RyaW5nKHZhbHVlKSB9CmVuZApyZXR1cm4gdmFsdWUKZW5kLApjb21wYXJlID0gZnVuY3Rpb24oZmllbGQsIGEsIGIsIHByb2Nlc3NvcikKcmV0dXJuIChhID09IGIpCmVuZAp9KQpsb2NhbCBmdW5jdGlvbiBzdG9yZUtleWVkKGZpZWxkLCBjdXJyZW50LCB2YWx1ZSwgcHJvY2Vzc29yKQpjdXJyZW50ID0gY3VycmVudCBvciB7fQpmb3IgaywgdiBpbiBwYWlycyh2YWx1ZSkgZG8KaWYgcHJvY2Vzc29yIHRoZW4KdiA9IHByb2Nlc3NvcihmaWVsZCwgY3VycmVudFtrXSwgdikKZW5kCmN1cnJlbnRba10gPSB2CmVuZApyZXR1cm4gY3VycmVudAplbmQKbG9jYWwgZnVuY3Rpb24gbWVyZ2VLZXllZChmaWVsZCwgY3VycmVudCwgdmFsdWUsIHByb2Nlc3NvcikKdmFsdWUgPSB2YWx1ZSBvciB7fQpmb3IgaywgdiBpbiBwYWlycyh2YWx1ZSkgZG8KY3VycmVudFtrXSA9IHYKZW5kCnJldHVybiBjdXJyZW50CmVuZApwcmVtYWtlLmZpZWxkLmtpbmQoImtleWVkIiwgewpzdG9yZSA9IHN0b3JlS2V5ZWQsCm1lcmdlID0gbWVyZ2VLZXllZCwKY29tcGFyZSA9IGZ1bmN0aW9uKGZpZWxkLCBhLCBiLCBwcm9jZXNzb3IpCmlmIGEgPT0gbmlsIG9yIGIgPT0gbmlsIHRoZW4KcmV0dXJuIGZhbHNlCmVuZApmb3IgayBpbiBwYWlycyhhKSBkbwppZiBub3QgcHJvY2Vzc29yKGZpZWxkLCBhW2tdLCBiW2tdKSB0aGVuCnJldHVybiBmYWxzZQplbmQKZW5kCnJldHVybiB0cnVlCmVuZCwKdHJhbnNsYXRlID0gZnVuY3Rpb24oZmllbGQsIGN1cnJlbnQsIF8sIHByb2Nlc3NvcikKaWYgbm90IHByb2Nlc3NvciB0aGVuCnJldHVybiB7IGN1cnJlbnQgfQplbmQKZm9yIGssIHYgaW4gcGFpcnMoY3VycmVudCkgZG8KY3VycmVudFtrXSA9IHByb2Nlc3NvcihmaWVsZCwgdiwgbmlsKVsxXQplbmQKcmV0dXJuIHsgY3VycmVudCB9CmVuZAp9KQpsb2NhbCBmdW5jdGlvbiBzdG9yZUxpc3RJdGVtKGN1cnJlbnQsIGl0ZW0pCmlmIGN1cnJlbnRbaXRlbV0gdGhlbgp0YWJsZS5yZW1vdmUoY3VycmVudCwgdGFibGUuaW5kZXhvZihjdXJyZW50LCBpdGVtKSkKZW5kCnRhYmxlLmluc2VydChjdXJyZW50LCBpdGVtKQpjdXJyZW50W2l0ZW1dID0gaXRlbQplbmQKbG9jYWwgZnVuY3Rpb24gc3RvcmVMaXN0KGZpZWxkLCBjdXJyZW50LCB2YWx1ZSwgcHJvY2Vzc29yKQppZiB0eXBlKHZhbHVlKSA9PSAidGFibGUiIHRoZW4KaWYgI3ZhbHVlID4gMCB0aGVuCmZvciBpID0gMSwgI3ZhbHVlIGRvCmN1cnJlbnQgPSBzdG9yZUxpc3QoZmllbGQsIGN1cnJlbnQsIHZhbHVlW2ldLCBwcm9jZXNzb3IpCmVuZApyZXR1cm4gY3VycmVudAplbmQKaWYgdGFibGUuaXNlbXB0eSh2YWx1ZSkgdGhlbgpyZXR1cm4gY3VycmVudAplbmQKZW5kCmN1cnJlbnQgPSBjdXJyZW50IG9yIHt9CmlmIHByb2Nlc3NvciB0aGVuCnZhbHVlID0gcHJvY2Vzc29yKGZpZWxkLCBuaWwsIHZhbHVlKQplbmQKaWYgdHlwZSh2YWx1ZSkgPT0gInRhYmxlIiB0aGVuCmlmICN2YWx1ZSA+IDAgdGhlbgpmb3IgaSA9IDEsICN2YWx1ZSBkbwpzdG9yZUxpc3RJdGVtKGN1cnJlbnQsIHZhbHVlW2ldKQplbmQKZWxzZWlmIG5vdCB0YWJsZS5pc2VtcHR5KHZhbHVlKSB0aGVuCnN0b3JlTGlzdEl0ZW0oY3VycmVudCwgdmFsdWUpCmVuZAplbHNlaWYgdmFsdWUgdGhlbgpzdG9yZUxpc3RJdGVtKGN1cnJlbnQsIHZhbHVlKQplbmQKcmV0dXJuIGN1cnJlbnQKZW5kCmxvY2FsIGZ1bmN0aW9uIG1lcmdlTGlzdChmaWVsZCwgY3VycmVudCwgdmFsdWUsIHByb2Nlc3NvcikKdmFsdWUgPSB2YWx1ZSBvciB7fQpmb3IgaSA9IDEsICN2YWx1ZSBkbwpzdG9yZUxpc3RJdGVtKGN1cnJlbnQsIHZhbHVlW2ldKQplbmQKcmV0dXJuIGN1cnJlbnQKZW5kCnByZW1ha2UuZmllbGQua2luZCgibGlzdCIsIHsKc3RvcmUgPSBzdG9yZUxpc3QsCnJlbW92ZSA9IHN0b3JlTGlzdCwKbWVyZ2UgPSBtZXJnZUxpc3QsCmNvbXBhcmUgPSBmdW5jdGlvbihmaWVsZCwgYSwgYiwgcHJvY2Vzc29yKQppZiBhID09IG5pbCBvciBiID09IG5pbCBvciAjYSB+PSAjYiB0aGVuCnJldHVybiBmYWxzZQplbmQKZm9yIGkgPSAxLCAjYSBkbwppZiBub3QgcHJvY2Vzc29yKGZpZWxkLCBhW2ldLCBiW2ldKSB0aGVuCnJldHVybiBmYWxzZQplbmQKZW5kCnJldHVybiB0cnVlCmVuZCwKdHJhbnNsYXRlID0gZnVuY3Rpb24oZmllbGQsIGN1cnJlbnQsIF8sIHByb2Nlc3NvcikKaWYgbm90IHByb2Nlc3NvciB0aGVuCnJldHVybiB7IGN1cnJlbnQgfQplbmQKbG9jYWwgcmV0ID0ge30KZm9yIF8sIHZhbHVlIGluIGlwYWlycyhjdXJyZW50KSBkbwpmb3IgXywgcHJvY2Vzc2VkIGluIGlwYWlycyhwcm9jZXNzb3IoZmllbGQsIHZhbHVlLCBuaWwpKSBkbwp0YWJsZS5pbnNlcnQocmV0LCBwcm9jZXNzZWQpCmVuZAplbmQKcmV0dXJuIHsgcmV0IH0KZW5kCn0pCnByZW1ha2UuZmllbGQua2luZCgibWl4ZWQiLCB7CnBhdGhzID0gdHJ1ZSwKc3RvcmUgPSBmdW5jdGlvbihmaWVsZCwgY3VycmVudCwgdmFsdWUsIHByb2Nlc3NvcikKaWYgdHlwZSh2YWx1ZSkgPT0gInN0cmluZyIgYW5kIHZhbHVlOmZpbmQoJy8nLCBuaWwsIHRydWUpIHRoZW4KaWYgc3RyaW5nLnN1Yih2YWx1ZSwgMSwgMikgfj0gIiV7IiB0aGVuCnZhbHVlID0gcGF0aC5nZXRhYnNvbHV0ZSh2YWx1ZSkKZW5kCmVuZApyZXR1cm4gdmFsdWUKZW5kLApjb21wYXJlID0gZnVuY3Rpb24oZmllbGQsIGEsIGIsIHByb2Nlc3NvcikKcmV0dXJuIChhID09IGIpCmVuZAp9KQpwcmVtYWtlLmZpZWxkLmtpbmQoIm51bWJlciIsIHsKc3RvcmUgPSBmdW5jdGlvbihmaWVsZCwgY3VycmVudCwgdmFsdWUsIHByb2Nlc3NvcikKbG9jYWwgdCA9IHR5cGUodmFsdWUpCmlmIHQgfj0gIm51bWJlciIgdGhlbgplcnJvciB7IG1zZz0iZXhwZWN0ZWQgbnVtYmVyOyBnb3QgIiAuLiB0IH0KZW5kCnJldHVybiB2YWx1ZQplbmQsCmNvbXBhcmUgPSBmdW5jdGlvbihmaWVsZCwgYSwgYiwgcHJvY2Vzc29yKQpyZXR1cm4gKGEgPT0gYikKZW5kCn0pCnByZW1ha2UuZmllbGQua2luZCgicGF0aCIsIHsKcGF0aHMgPSB0cnVlLApzdG9yZSA9IGZ1bmN0aW9uKGZpZWxkLCBjdXJyZW50LCB2YWx1ZSwgcHJvY2Vzc29yKQppZiBzdHJpbmcuc3ViKHZhbHVlLCAxLCAyKSA9PSAiJXsiIHRoZW4KcmV0dXJuIHZhbHVlCmVuZApyZXR1cm4gcGF0aC5nZXRhYnNvbHV0ZSh2YWx1ZSkKZW5kLApjb21wYXJlID0gZnVuY3Rpb24oZmllbGQsIGEsIGIsIHByb2Nlc3NvcikKcmV0dXJuIChhID09IGIpCmVuZAp9KQpwcmVtYWtlLmZpZWxkLmtpbmQoInN0cmluZyIsIHsKc3RvcmUgPSBmdW5jdGlvbihmaWVsZCwgY3VycmVudCwgdmFsdWUsIHByb2Nlc3NvcikKaWYgdHlwZSh2YWx1ZSkgPT0gInRhYmxlIiB0aGVuCmVycm9yIHsgbXNnPSJleHBlY3RlZCBzdHJpbmc7IGdvdCB0YWJsZSIgfQplbmQKaWYgdmFsdWUgfj0gbmlsIHRoZW4KbG9jYWwgZXJyCnZhbHVlLCBlcnIgPSBhcGkuY2hlY2tWYWx1ZShmaWVsZCwgdmFsdWUpCmlmIGVyciB0aGVuCmVycm9yIHsgbXNnPWVyciB9CmVuZAplbmQKcmV0dXJuIHZhbHVlCmVuZCwKY29tcGFyZSA9IGZ1bmN0aW9uKGZpZWxkLCBhLCBiLCBwcm9jZXNzb3IpCnJldHVybiAoYSA9PSBiKQplbmQKfSkKcHJlbWFrZS5maWVsZC5raW5kKCJ0YWJsZSIsIHsKc3RvcmUgPSBmdW5jdGlvbihmaWVsZCwgY3VycmVudCwgdmFsdWUsIHByb2Nlc3NvcikKaWYgdHlwZSh2YWx1ZSkgfj0gInRhYmxlIiB0aGVuCnZhbHVlID0geyB2YWx1ZSB9CmVuZApyZXR1cm4gdmFsdWUKZW5kLApjb21wYXJlID0gZnVuY3Rpb24oZmllbGQsIGEsIGIsIHByb2Nlc3NvcikKcmV0dXJuIHRydWUKZW5kCn0pCmZ1bmN0aW9uIGNvbmZpZ3VyYXRpb24odGVybXMpCmlmIHRlcm1zIHRoZW4KaWYgKHR5cGUodGVybXMpID09ICJ0YWJsZSIgYW5kICN0ZXJtcyA9PSAxIGFuZCB0ZXJtc1sxXSA9PSAiKiIpIG9yCiAgICh0ZXJtcyA9PSAiKiIpCnRoZW4KdGVybXMgPSBuaWwKZW5kCmNvbmZpZ3NldC5hZGRibG9jayhhcGkuc2NvcGUuY3VycmVudCwge3Rlcm1zfSwgb3MuZ2V0Y3dkKCkpCmVuZApyZXR1cm4gYXBpLnNjb3BlLmN1cnJlbnQKZW5kCmZ1bmN0aW9uIGZpbHRlcih0ZXJtcykKaWYgdGVybXMgdGhlbgppZiAodHlwZSh0ZXJtcykgPT0gInRhYmxlIiBhbmQgI3Rlcm1zID09IDEgYW5kIHRlcm1zWzFdID09ICIqIikgb3IKICAgKHRlcm1zID09ICIqIikKdGhlbgp0ZXJtcyA9IG5pbAplbmQKbG9jYWwgb2ssIGVyciA9IGNvbmZpZ3NldC5hZGRGaWx0ZXIoYXBpLnNjb3BlLmN1cnJlbnQsIHt0ZXJtc30sIG9zLmdldGN3ZCgpKQppZiBub3Qgb2sgdGhlbgplcnJvcihlcnIsIDIpCmVuZAplbmQKZW5kCmZ1bmN0aW9uIG5ld2FjdGlvbihhKQpwcmVtYWtlLmFjdGlvbi5hZGQoYSkKZW5kCmZ1bmN0aW9uIG5ld29wdGlvbihvcHQpCnByZW1ha2Uub3B0aW9uLmFkZChvcHQpCmVuZAoAAABsb2NhbCBwID0gcHJlbWFrZQpwLmdsb2JhbCA9IHAuYXBpLmNvbnRhaW5lcigiZ2xvYmFsIikKbG9jYWwgZ2xvYmFsID0gcC5nbG9iYWwKZnVuY3Rpb24gZ2xvYmFsLm5ldyhuYW1lKQpyZXR1cm4gcC5jb250YWluZXIubmV3KHAuZ2xvYmFsLCBuYW1lKQplbmQKZnVuY3Rpb24gZ2xvYmFsLmVhY2hSdWxlKCkKbG9jYWwgcm9vdCA9IHAuYXBpLnJvb3RDb250YWluZXIoKQpyZXR1cm4gcC5jb250YWluZXIuZWFjaENoaWxkKHJvb3QsIHAucnVsZSkKZW5kCmZ1bmN0aW9uIGdsb2JhbC5lYWNoV29ya3NwYWNlKCkKbG9jYWwgcm9vdCA9IHAuYXBpLnJvb3RDb250YWluZXIoKQpyZXR1cm4gcC5jb250YWluZXIuZWFjaENoaWxkKHJvb3QsIHAud29ya3NwYWNlKQplbmQKcC5hbGlhcyhnbG9iYWwsICJlYWNoV29ya3NwYWNlIiwgImVhY2hTb2x1dGlvbiIpCmZ1bmN0aW9uIGdsb2JhbC5nZXRSdWxlKGtleSkKbG9jYWwgcm9vdCA9IHAuYXBpLnJvb3RDb250YWluZXIoKQpyZXR1cm4gcm9vdC5ydWxlc1trZXldCmVuZApmdW5jdGlvbiBnbG9iYWwuZ2V0UnVsZUZvckZpbGUoZm5hbWUsIHJ1bGVzKQpsb2NhbCBleHQgPSBwYXRoLmdldGV4dGVuc2lvbihmbmFtZSk6bG93ZXIoKQpmb3IgcnVsZSBpbiBnbG9iYWwuZWFjaFJ1bGUoKSBkbwppZiBub3QgcnVsZXMgb3IgdGFibGUuY29udGFpbnMocnVsZXMsIHJ1bGUubmFtZSkgdGhlbgppZiBydWxlLmZpbGVleHRlbnNpb24gPT0gZXh0IHRoZW4KcmV0dXJuIHJ1bGUKZW5kCmVuZAplbmQKZW5kCmZ1bmN0aW9uIGdsb2JhbC5nZXRXb3Jrc3BhY2Uoa2V5KQpsb2NhbCByb290ID0gcC5hcGkucm9vdENvbnRhaW5lcigpCnJldHVybiByb290LndvcmtzcGFjZXNba2V5XQplbmQKcC5hbGlhcyhnbG9iYWwsICJnZXRXb3Jrc3BhY2UiLCAiZ2V0U29sdXRpb24iKQoAbG9jYWwgcCA9IHByZW1ha2UKcC53b3Jrc3BhY2UgPSBwLmFwaS5jb250YWluZXIoIndvcmtzcGFjZSIsIHAuZ2xvYmFsKQpsb2NhbCB3b3Jrc3BhY2UgPSBwLndvcmtzcGFjZQpwLnNvbHV0aW9uID0gd29ya3NwYWNlCndvcmtzcGFjZS5hbGlhcyA9ICJzb2x1dGlvbiIKcC5hbGlhcyhfRywgIndvcmtzcGFjZSIsICJzb2x1dGlvbiIpCnAuYWxpYXMoX0csICJleHRlcm5hbHdvcmtzcGFjZSIsICJleHRlcm5hbHNvbHV0aW9uIikKZnVuY3Rpb24gd29ya3NwYWNlLm5ldyhuYW1lKQpsb2NhbCB3a3MgPSBwLmNvbnRhaW5lci5uZXcod29ya3NwYWNlLCBuYW1lKQpyZXR1cm4gd2tzCmVuZApmdW5jdGlvbiB3b3Jrc3BhY2UuZWFjaGNvbmZpZyhzZWxmKQpzZWxmID0gcC5vdmVuLmJha2VXb3Jrc3BhY2Uoc2VsZikKbG9jYWwgaSA9IDAKcmV0dXJuIGZ1bmN0aW9uKCkKaSA9IGkgKyAxCmlmIGkgPiAjc2VsZi5jb25maWdzIHRoZW4KcmV0dXJuIG5pbAplbHNlCnJldHVybiBzZWxmLmNvbmZpZ3NbaV0KZW5kCmVuZAplbmQKZnVuY3Rpb24gd29ya3NwYWNlLmVhY2hwcm9qZWN0KHNlbGYpCmxvY2FsIGkgPSAwCnJldHVybiBmdW5jdGlvbiAoKQppID0gaSArIDEKaWYgaSA8PSAjc2VsZi5wcm9qZWN0cyB0aGVuCnJldHVybiBwLndvcmtzcGFjZS5nZXRwcm9qZWN0KHNlbGYsIGkpCmVuZAplbmQKZW5kCmZ1bmN0aW9uIHdvcmtzcGFjZS5maW5kcHJvamVjdChzZWxmLCBuYW1lKQpuYW1lID0gbmFtZTpsb3dlcigpCmZvciBfLCBwcmogaW4gaXBhaXJzKHNlbGYucHJvamVjdHMpIGRvCmlmIG5hbWUgPT0gcHJqLm5hbWU6bG93ZXIoKSB0aGVuCnJldHVybiBwcmoKZW5kCmVuZApyZXR1cm4gbmlsCmVuZApmdW5jdGlvbiB3b3Jrc3BhY2UuZ3JvdXB0cmVlKHNlbGYpCmlmIHNlbGYuZ3JvdXB0cmVlIHRoZW4KcmV0dXJuIHNlbGYuZ3JvdXB0cmVlCmVuZApsb2NhbCB0ciA9IHAudHJlZS5uZXcoKQpmb3IgcHJqIGluIHdvcmtzcGFjZS5lYWNocHJvamVjdChzZWxmKSBkbwpsb2NhbCBwcmpwYXRoID0gcGF0aC5qb2luKHByai5ncm91cCwgcHJqLm5hbWUpCmxvY2FsIG5vZGUgPSBwLnRyZWUuYWRkKHRyLCBwcmpwYXRoKQpub2RlLnByb2plY3QgPSBwcmoKZW5kCnAudHJlZS50cmF2ZXJzZSh0ciwgewpvbm5vZGUgPSBmdW5jdGlvbihub2RlKQpub2RlLnV1aWQgPSBvcy51dWlkKG5vZGUucGF0aCkKZW5kCn0pCnNlbGYuZ3JvdXB0cmVlID0gdHIKcmV0dXJuIHRyCmVuZApmdW5jdGlvbiB3b3Jrc3BhY2UuZ2V0cHJvamVjdChzZWxmLCBpZHgpCnNlbGYgPSBwLm92ZW4uYmFrZVdvcmtzcGFjZShzZWxmKQpyZXR1cm4gc2VsZi5wcm9qZWN0c1tpZHhdCmVuZApmdW5jdGlvbiB3b3Jrc3BhY2UuaGFzUHJvamVjdChzZWxmLCBmdW5jKQpyZXR1cm4gcC5jb250YWluZXIuaGFzQ2hpbGQoc2VsZiwgcC5wcm9qZWN0LCBmdW5jKQplbmQKZnVuY3Rpb24gd29ya3NwYWNlLmdldHJlbGF0aXZlKHNlbGYsIGZpbGVuYW1lKQppZiB0eXBlKGZpbGVuYW1lKSA9PSAidGFibGUiIHRoZW4KbG9jYWwgcmVzdWx0ID0ge30KZm9yIGksIG5hbWUgaW4gaXBhaXJzKGZpbGVuYW1lKSBkbwppZiBuYW1lIGFuZCAjbmFtZSA+IDAgdGhlbgp0YWJsZS5pbnNlcnQocmVzdWx0LCB3b3Jrc3BhY2UuZ2V0cmVsYXRpdmUoc2VsZiwgbmFtZSkpCmVuZAplbmQKcmV0dXJuIHJlc3VsdAplbHNlCmlmIGZpbGVuYW1lIHRoZW4KcmV0dXJuIHBhdGguZ2V0cmVsYXRpdmUoc2VsZi5sb2NhdGlvbiwgZmlsZW5hbWUpCmVuZAplbmQKZW5kCmxvY2FsIHAgPSBwcmVtYWtlCnAuZ3JvdXAgPSBwLmFwaS5jb250YWluZXIoImdyb3VwIiwgcC53b3Jrc3BhY2UpCmxvY2FsIGdyb3VwID0gcC5ncm91cApncm91cC5wbGFjZWhvbGRlciA9IHRydWUKZnVuY3Rpb24gZ3JvdXAubmV3KG5hbWUpCnJldHVybiBwLmNvbnRhaW5lci5uZXcoZ3JvdXAsIG5hbWUpCmVuZAoAAAAAAABsb2NhbCBwID0gcHJlbWFrZQpwLnByb2plY3QgPSBwLmFwaS5jb250YWluZXIoInByb2plY3QiLCBwLndvcmtzcGFjZSwgeyAiY29uZmlnIiB9KQpsb2NhbCBwcm9qZWN0ID0gcC5wcm9qZWN0CmxvY2FsIHRyZWUgPSBwLnRyZWUKZXh0ZXJuYWwgPSBleHRlcm5hbHByb2plY3QKZnVuY3Rpb24gcHJvamVjdC5uZXcobmFtZSkKbG9jYWwgcHJqID0gcC5jb250YWluZXIubmV3KHByb2plY3QsIG5hbWUpCnByai51dWlkID0gb3MudXVpZChuYW1lKQppZiBwLmFwaS5zY29wZS5ncm91cCB0aGVuCnByai5ncm91cCA9IHAuYXBpLnNjb3BlLmdyb3VwLm5hbWUKZWxzZQpwcmouZ3JvdXAgPSAiIgplbmQKcmV0dXJuIHByagplbmQKZnVuY3Rpb24gcHJvamVjdC5lYWNoY29uZmlnKHByaikKbG9jYWwgY29uZmlncyA9IHByai5fY2ZnbGlzdApsb2NhbCBjb3VudCA9ICNjb25maWdzCmxvY2FsIHNlZW4gPSB7fQpsb2NhbCBpID0gMApyZXR1cm4gZnVuY3Rpb24gKCkKaSA9IGkgKyAxCmlmIGkgPD0gY291bnQgdGhlbgpsb2NhbCBjZmcgPSBwcm9qZWN0LmdldGNvbmZpZyhwcmosIGNvbmZpZ3NbaV1bMV0sIGNvbmZpZ3NbaV1bMl0pCmlmIG5vdCBzZWVuW2NmZ10gdGhlbgpzZWVuW2NmZ10gPSB0cnVlCnJldHVybiBjZmcKZWxzZQppID0gaSArIDEKZW5kCmVuZAplbmQKZW5kCmZ1bmN0aW9uIHByb2plY3QuZmluZENsb3Nlc3RNYXRjaChwcmosIGJ1aWxkY2ZnLCBwbGF0Zm9ybSkKYnVpbGRjZmcgPSBwcm9qZWN0Lm1hcGNvbmZpZyhwcmosIGJ1aWxkY2ZnKVsxXQpwbGF0Zm9ybSA9IHByb2plY3QubWFwY29uZmlnKHByaiwgcGxhdGZvcm0pWzFdCmlmIG5vdCB0YWJsZS5jb250YWlucyhwcmouY29uZmlndXJhdGlvbnMsIGJ1aWxkY2ZnKSB0aGVuCmJ1aWxkY2ZnID0gcHJqLmNvbmZpZ3VyYXRpb25zWzFdCmVuZAppZiBub3QgdGFibGUuY29udGFpbnMocHJqLnBsYXRmb3JtcywgcGxhdGZvcm0pIHRoZW4KcGxhdGZvcm0gPSBwcmoucGxhdGZvcm1zWzFdCmVuZApyZXR1cm4gcHJvamVjdC5nZXRjb25maWcocHJqLCBidWlsZGNmZywgcGxhdGZvcm0pCmVuZApmdW5jdGlvbiBwcm9qZWN0LmdldGNvbmZpZyhwcmosIGJ1aWxkY2ZnLCBwbGF0Zm9ybSkKaWYgbm90IGJ1aWxkY2ZnIHRoZW4KcmV0dXJuIHByagplbmQKbG9jYWwgcGFpcmluZyA9IHByb2plY3QubWFwY29uZmlnKHByaiwgYnVpbGRjZmcsIHBsYXRmb3JtKQpidWlsZGNmZyA9IHBhaXJpbmdbMV0KcGxhdGZvcm0gPSBwYWlyaW5nWzJdCmxvY2FsIGtleSA9IChidWlsZGNmZyBvciAiKiIpIC4uIChwbGF0Zm9ybSBvciAiIikKcmV0dXJuIHByai5jb25maWdzW2tleV0KZW5kCmZ1bmN0aW9uIHByb2plY3QuZ2V0ZGVwZW5kZW5jaWVzKHByaiwgbW9kZSkKaWYgbm90IHByai5kZXBlbmRlbmNpZXMgdGhlbgpwcmouZGVwZW5kZW5jaWVzID0ge30KZW5kCmxvY2FsIG0gPSBtb2RlIG9yICdhbGwnCmxvY2FsIHJlc3VsdCA9IHByai5kZXBlbmRlbmNpZXNbbV0KaWYgcmVzdWx0IHRoZW4KcmV0dXJuIHJlc3VsdAplbmQKbG9jYWwgZnVuY3Rpb24gYWRkX3RvX3Byb2plY3RfbGlzdChjZmcsIGRlcHByb2osIHJlc3VsdCkKbG9jYWwgZGVwID0gcC53b3Jrc3BhY2UuZmluZHByb2plY3QoY2ZnLndvcmtzcGFjZSwgZGVwcHJvaikKaWYgZGVwIGFuZCBub3QgdGFibGUuY29udGFpbnMocmVzdWx0LCBkZXApIHRoZW4KdGFibGUuaW5zZXJ0KHJlc3VsdCwgZGVwKQplbmQKZW5kCmxvY2FsIGxpbmtPbmx5ID0gbSA9PSAnbGlua09ubHknCmxvY2FsIGRlcHNPbmx5ID0gbSA9PSAnZGVwZW5kT25seScKcmVzdWx0ID0ge30KZm9yIGNmZyBpbiBwcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwppZiBub3QgZGVwc09ubHkgdGhlbgpmb3IgXywgbGluayBpbiBpcGFpcnMoY2ZnLmxpbmtzKSBkbwogICAgaWYgbGluayB+PSBwcmoubmFtZSB0aGVuCiAgICBhZGRfdG9fcHJvamVjdF9saXN0KGNmZywgbGluaywgcmVzdWx0KQogICAgZW5kCmVuZAplbmQKaWYgbm90IGxpbmtPbmx5IHRoZW4KZm9yIF8sIGRlcHByb2ogaW4gaXBhaXJzKGNmZy5kZXBlbmRzb24pIGRvCmFkZF90b19wcm9qZWN0X2xpc3QoY2ZnLCBkZXBwcm9qLCByZXN1bHQpCmVuZAplbmQKZW5kCnByai5kZXBlbmRlbmNpZXNbbV0gPSByZXN1bHQKcmV0dXJuIHJlc3VsdAplbmQKZnVuY3Rpb24gcHJvamVjdC5nZXRmaXJzdGNvbmZpZyhwcmopCmxvY2FsIGl0ZXIgPSBwcm9qZWN0LmVhY2hjb25maWcocHJqKQpsb2NhbCBmaXJzdCA9IGl0ZXIoKQpyZXR1cm4gZmlyc3QKZW5kCmZ1bmN0aW9uIHByb2plY3QuZ2V0cmVsYXRpdmUocHJqLCBmaWxlbmFtZSkKaWYgdHlwZShmaWxlbmFtZSkgPT0gInRhYmxlIiB0aGVuCmxvY2FsIHJlc3VsdCA9IHt9CmZvciBpLCBuYW1lIGluIGlwYWlycyhmaWxlbmFtZSkgZG8KcmVzdWx0W2ldID0gcHJvamVjdC5nZXRyZWxhdGl2ZShwcmosIG5hbWUpCmVuZApyZXR1cm4gcmVzdWx0CmVsc2UKaWYgZmlsZW5hbWUgdGhlbgpyZXR1cm4gcGF0aC5nZXRyZWxhdGl2ZShwcmoubG9jYXRpb24sIGZpbGVuYW1lKQplbmQKZW5kCmVuZApmdW5jdGlvbiBwcm9qZWN0LmdldHNvdXJjZXRyZWUocHJqLCBzb3J0ZXIpCmlmIHByai5fLnNvdXJjZXRyZWUgdGhlbgpyZXR1cm4gcHJqLl8uc291cmNldHJlZQplbmQKbG9jYWwgdHIgPSB0cmVlLm5ldyhwcmoubmFtZSkKdGFibGUuZm9yZWFjaGkocHJqLl8uZmlsZXMsIGZ1bmN0aW9uKGZjZmcpCmxvY2FsIGZsYWdzCmlmIGZjZmcudnBhdGggfj0gZmNmZy5yZWxwYXRoIHRoZW4KZmxhZ3MgPSB7IHRyaW0gPSBmYWxzZSB9CmVuZApsb2NhbCBwYXJlbnQgPSB0cmVlLmFkZCh0ciwgcGF0aC5nZXRkaXJlY3RvcnkoZmNmZy52cGF0aCksIGZsYWdzKQpsb2NhbCBub2RlID0gdHJlZS5pbnNlcnQocGFyZW50LCB0cmVlLm5ldyhwYXRoLmdldG5hbWUoZmNmZy52cGF0aCkpKQpzZXRtZXRhdGFibGUobm9kZSwgeyBfX2luZGV4ID0gZmNmZyB9KQplbmQpCnRyZWUudHJpbXJvb3QodHIpCnRyZWUuc29ydCh0ciwgc29ydGVyKQpwcmouXy5zb3VyY2V0cmVlID0gdHIKcmV0dXJuIHRyCmVuZApmdW5jdGlvbiBwcm9qZWN0LmdldHZwYXRoKHByaiwgYWJzcGF0aCkKbG9jYWwgdnBhdGggPSBhYnNwYXRoCmxvY2FsIGZuYW1lID0gcGF0aC5nZXRuYW1lKGFic3BhdGgpCmxvY2FsIG1heCA9IGFic3BhdGg6bGVuKCkgLSBmbmFtZTpsZW4oKQpmb3IgXywgdnBhdGhzIGluIGlwYWlycyhwcmoudnBhdGhzKSBkbwpmb3IgcmVwbGFjZW1lbnQsIHBhdHRlcm5zIGluIHBhaXJzKHZwYXRocykgZG8KZm9yIF8sIHBhdHRlcm4gaW4gaXBhaXJzKHBhdHRlcm5zKSBkbwpsb2NhbCBpID0gYWJzcGF0aDpmaW5kKHBhdGgud2lsZGNhcmRzKHBhdHRlcm4pKQppZiBpID09IDEgdGhlbgppID0gcGF0dGVybjpmaW5kKCIqIiwgMSwgdHJ1ZSkgb3IgKHBhdHRlcm46bGVuKCkgKyAxKQpsb2NhbCBsZWFmCmlmIGkgPCBtYXggdGhlbgpsZWFmID0gYWJzcGF0aDpzdWIoaSkKZWxzZQpsZWFmID0gZm5hbWUKZW5kCmlmIGxlYWY6c3RhcnRzd2l0aCgiLyIpIHRoZW4KbGVhZiA9IGxlYWY6c3ViKDIpCmVuZApsb2NhbCBzdGVtID0gIiIKaWYgcmVwbGFjZW1lbnQ6bGVuKCkgPiAwIHRoZW4Kc3RlbSwgc3RhcnMgPSByZXBsYWNlbWVudDpnc3ViKCIlKiIsICIiKQppZiBzdGFycyA9PSAwIHRoZW4KbGVhZiA9IHBhdGguZ2V0bmFtZShsZWFmKQplbmQKZWxzZQpsZWFmID0gcGF0aC5nZXRuYW1lKGxlYWYpCmVuZAp2cGF0aCA9IHBhdGguam9pbihzdGVtLCBsZWFmKQpyZXR1cm4gdnBhdGgKZW5kCmVuZAplbmQKZW5kCnJldHVybiB2cGF0aAplbmQKZnVuY3Rpb24gcHJvamVjdC5oYXNDb25maWcocHJqLCBmdW5jKQpmb3IgY2ZnIGluIHByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCmlmIGZ1bmMoY2ZnKSB0aGVuCnJldHVybiB0cnVlCmVuZAplbmQKZW5kCmZ1bmN0aW9uIHByb2plY3QuaGFzZmlsZShwcmosIGZpbGVuYW1lKQpyZXR1cm4gKHByai5fLmZpbGVzW2ZpbGVuYW1lXSB+PSBuaWwpCmVuZApmdW5jdGlvbiBwcm9qZWN0LmlzYyhwcmopCnJldHVybiBwcmoubGFuZ3VhZ2UgPT0gcHJlbWFrZS5DCmVuZApmdW5jdGlvbiBwcm9qZWN0LmlzY3BwKHByaikKcmV0dXJuIHByai5sYW5ndWFnZSA9PSBwcmVtYWtlLkMgb3IgcHJqLmxhbmd1YWdlID09IHByZW1ha2UuQ1BQCmVuZApmdW5jdGlvbiBwcm9qZWN0LmlzZG90bmV0KHByaikKcmV0dXJuIHByai5sYW5ndWFnZSA9PSBwcmVtYWtlLkNTSEFSUAplbmQKZnVuY3Rpb24gcHJvamVjdC5pc25hdGl2ZShwcmopCnJldHVybiBwcm9qZWN0LmlzY3BwKHByaikKZW5kCmZ1bmN0aW9uIHByb2plY3QubWFwY29uZmlnKHByaiwgYnVpbGRjZmcsIHBsYXRmb3JtKQpsb2NhbCBwYWlyaW5nID0geyBidWlsZGNmZywgcGxhdGZvcm0gfQpsb2NhbCB0ZXN0cGF0dGVybiA9IGZ1bmN0aW9uKHBhdHRlcm4sIHBhaXJpbmcsIGkpCmxvY2FsIGogPSAxCndoaWxlIGkgPD0gI3BhaXJpbmcgYW5kIGogPD0gI3BhdHRlcm4gZG8KaWYgcGFpcmluZ1tpXSB+PSBwYXR0ZXJuW2pdIHRoZW4KcmV0dXJuIGZhbHNlCmVuZAppID0gaSArIDEKaiA9IGogKyAxCmVuZApyZXR1cm4gdHJ1ZQplbmQKbG9jYWwgbWFwcyA9IHByai5jb25maWdtYXAgb3Ige30KZm9yIG1pID0gMSwgI21hcHMgZG8KZm9yIHBhdHRlcm4sIHJlcGxhY2VtZW50cyBpbiBwYWlycyhtYXBzW21pXSkgZG8KaWYgdHlwZShwYXR0ZXJuKSB+PSAidGFibGUiIHRoZW4KcGF0dGVybiA9IHsgcGF0dGVybiB9CmVuZApmb3IgaSA9IDEsICNwYWlyaW5nIGRvCmlmIHRlc3RwYXR0ZXJuKHBhdHRlcm4sIHBhaXJpbmcsIGkpIHRoZW4KaWYgI3BhdHRlcm4gPT0gMSBhbmQgI3JlcGxhY2VtZW50cyA9PSAxIHRoZW4KcGFpcmluZ1tpXSA9IHJlcGxhY2VtZW50c1sxXQplbHNlCnBhaXJpbmcgPSB7IHJlcGxhY2VtZW50c1sxXSwgcmVwbGFjZW1lbnRzWzJdIH0KZW5kCmVuZAplbmQKZW5kCmVuZApyZXR1cm4gcGFpcmluZwplbmQKAAAAbG9jYWwgcCA9IHByZW1ha2UKcC5jb25maWcgPSB7fQpsb2NhbCBwcm9qZWN0ID0gcC5wcm9qZWN0CmxvY2FsIGNvbmZpZyA9IHAuY29uZmlnCmZ1bmN0aW9uIGNvbmZpZy5idWlsZHRhcmdldGluZm8oY2ZnLCBraW5kLCBmaWVsZCkKbG9jYWwgYmFzZWRpciA9IGNmZy5wcm9qZWN0LmxvY2F0aW9uCmxvY2FsIHRhcmdldGRpcgppZiBjZmcucGxhdGZvcm0gdGhlbgp0YXJnZXRkaXIgPSBwYXRoLmpvaW4oYmFzZWRpciwgJ2JpbicsIGNmZy5wbGF0Zm9ybSwgY2ZnLmJ1aWxkY2ZnKQplbHNlCnRhcmdldGRpciA9IHBhdGguam9pbihiYXNlZGlyLCAnYmluJywgY2ZnLmJ1aWxkY2ZnKQplbmQKbG9jYWwgZGlyZWN0b3J5ID0gY2ZnW2ZpZWxkLi4iZGlyIl0gb3IgY2ZnLnRhcmdldGRpciBvciB0YXJnZXRkaXIKbG9jYWwgYmFzZW5hbWUgPSBjZmdbZmllbGQuLiJuYW1lIl0gb3IgY2ZnLnRhcmdldG5hbWUgb3IgY2ZnLnByb2plY3QubmFtZQpsb2NhbCBwcmVmaXggPSBjZmdbZmllbGQuLiJwcmVmaXgiXSBvciBjZmcudGFyZ2V0cHJlZml4IG9yICIiCmxvY2FsIHN1ZmZpeCA9IGNmZ1tmaWVsZC4uInN1ZmZpeCJdIG9yIGNmZy50YXJnZXRzdWZmaXggb3IgIiIKbG9jYWwgZXh0ZW5zaW9uID0gY2ZnW2ZpZWxkLi4iZXh0ZW5zaW9uIl0gb3IgY2ZnLnRhcmdldGV4dGVuc2lvbiBvciAiIgpsb2NhbCBidW5kbGVuYW1lID0gIiIKbG9jYWwgYnVuZGxlcGF0aCA9ICIiCmlmIGNmZy5zeXN0ZW0gPT0gcHJlbWFrZS5NQUNPU1ggYW5kIGtpbmQgPT0gcHJlbWFrZS5XSU5ET1dFREFQUCB0aGVuCmJ1bmRsZW5hbWUgPSBiYXNlbmFtZSAuLiAiLmFwcCIKYnVuZGxlcGF0aCA9IHBhdGguam9pbihidW5kbGVuYW1lLCAiQ29udGVudHMvTWFjT1MiKQplbmQKbG9jYWwgaW5mbyA9IHt9CmluZm8uZGlyZWN0b3J5ICA9IGRpcmVjdG9yeQppbmZvLmJhc2VuYW1lICAgPSBiYXNlbmFtZSAuLiBzdWZmaXgKaW5mby5uYW1lICAgICAgID0gcHJlZml4IC4uIGluZm8uYmFzZW5hbWUgLi4gZXh0ZW5zaW9uCmluZm8uZXh0ZW5zaW9uICA9IGV4dGVuc2lvbgppbmZvLmFic3BhdGggICAgPSBwYXRoLmpvaW4oZGlyZWN0b3J5LCBpbmZvLm5hbWUpCmluZm8uZnVsbHBhdGggICA9IGluZm8uYWJzcGF0aAppbmZvLmJ1bmRsZW5hbWUgPSBidW5kbGVuYW1lCmluZm8uYnVuZGxlcGF0aCA9IHBhdGguam9pbihkaXJlY3RvcnksIGJ1bmRsZXBhdGgpCmluZm8ucHJlZml4ICAgICA9IHByZWZpeAppbmZvLnN1ZmZpeCAgICAgPSBzdWZmaXgKcmV0dXJuIGluZm8KZW5kCmZ1bmN0aW9uIGNvbmZpZy5jYW5MaW5rKGNmZywgdGFyZ2V0LCBsaW5rYWdlKQppZiB0eXBlKHRhcmdldCkgfj0gInN0cmluZyIgdGhlbgppZiB0YXJnZXQua2luZCB+PSAiU2hhcmVkTGliIiBhbmQgdGFyZ2V0LmtpbmQgfj0gIlN0YXRpY0xpYiIgdGhlbgpyZXR1cm4gZmFsc2UKZW5kCmxvY2FsIGNmZ01hbmFnZWQgPSBwcm9qZWN0LmlzZG90bmV0KGNmZy5wcm9qZWN0KSBvciAoY2ZnLmNsciB+PSBwLk9GRikKbG9jYWwgdGd0TWFuYWdlZCA9IHByb2plY3QuaXNkb3RuZXQodGFyZ2V0LnByb2plY3QpIG9yICh0YXJnZXQuY2xyIH49IHAuT0ZGKQpyZXR1cm4gKGNmZ01hbmFnZWQgPT0gdGd0TWFuYWdlZCkKZW5kCmlmIHByb2plY3QuaXNkb3RuZXQoY2ZnLnByb2plY3QpIHRoZW4KcmV0dXJuIHRydWUKZW5kCmxvY2FsIGlzTWFuYWdlZCA9IChwYXRoLmdldGV4dGVuc2lvbih0YXJnZXQpID09ICIuZGxsIikKaWYgaXNNYW5hZ2VkIGFuZCBjZmcuY2xyID09IHAuT0ZGIHRoZW4KcmV0dXJuIGZhbHNlCmVuZApyZXR1cm4gKGlzTWFuYWdlZCkgPT0gKGxpbmthZ2UgPT0gIm1hbmFnZWQiKQplbmQKZnVuY3Rpb24gY29uZmlnLmNhbkxpbmtJbmNyZW1lbnRhbChjZmcpCmlmIGNmZy5raW5kID09ICJTdGF0aWNMaWIiCm9yIGNvbmZpZy5pc09wdGltaXplZEJ1aWxkKGNmZykKb3IgY2ZnLmZsYWdzLk5vSW5jcmVtZW50YWxMaW5rIHRoZW4KcmV0dXJuIGZhbHNlCmVuZApyZXR1cm4gdHJ1ZQplbmQKZnVuY3Rpb24gY29uZmlnLmZpbmRmaWxlKGNmZywgZXh0KQpmb3IgXywgZm5hbWUgaW4gaXBhaXJzKGNmZy5maWxlcykgZG8KaWYgZm5hbWU6ZW5kc3dpdGgoZXh0KSB0aGVuCnJldHVybiBwcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCBmbmFtZSkKZW5kCmVuZAplbmQKZnVuY3Rpb24gY29uZmlnLmdldGxpbmtpbmZvKGNmZykKbG9jYWwga2luZCA9IGNmZy5raW5kCmlmIHByb2plY3QuaXNjcHAoY2ZnLnByb2plY3QpIHRoZW4KaWYgY2ZnLnN5c3RlbSA9PSBwcmVtYWtlLldJTkRPV1MgYW5kIGtpbmQgPT0gcHJlbWFrZS5TSEFSRURMSUIgYW5kIG5vdCBjZmcuZmxhZ3MuTm9JbXBvcnRMaWIgdGhlbgpraW5kID0gcHJlbWFrZS5TVEFUSUNMSUIKZW5kCmVuZApyZXR1cm4gY29uZmlnLmJ1aWxkdGFyZ2V0aW5mbyhjZmcsIGtpbmQsICJpbXBsaWIiKQplbmQKIGZ1bmN0aW9uIGNvbmZpZy5nZXRsaW5rcyhjZmcsIGtpbmQsIHBhcnQsIGxpbmthZ2UpCmxvY2FsIHJlc3VsdCA9IHt9CmlmIHBhcnQgPT0gImRpcmVjdG9yeSIgdGhlbgp0YWJsZS5mb3JlYWNoaShjZmcubGliZGlycywgZnVuY3Rpb24oZGlyKQp0YWJsZS5pbnNlcnQocmVzdWx0LCBwcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCBkaXIpKQplbmQpCmVuZApmb3IgaSA9IDEsICNjZmcubGlua3MgZG8KbG9jYWwgbGluayA9IGNmZy5saW5rc1tpXQpsb2NhbCBpdGVtCmxvY2FsIHByaiA9IHAud29ya3NwYWNlLmZpbmRwcm9qZWN0KGNmZy53b3Jrc3BhY2UsIGxpbmspCmlmIHByaiBhbmQga2luZCB+PSAic3lzdGVtIiB0aGVuCmxvY2FsIHByamNmZyA9IHByb2plY3QuZ2V0Y29uZmlnKHByaiwgY2ZnLmJ1aWxkY2ZnLCBjZmcucGxhdGZvcm0pCmlmIHByamNmZyBhbmQgKGtpbmQgPT0gImRlcGVuZGVuY2llcyIgb3IgY29uZmlnLmNhbkxpbmsoY2ZnLCBwcmpjZmcpKSB0aGVuCmlmIHBhcnQgPT0gIm9iamVjdCIgdGhlbgppdGVtID0gcHJqY2ZnCmVsc2UKaXRlbSA9IHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIHByamNmZy5saW5rdGFyZ2V0LmZ1bGxwYXRoKQplbmQKZW5kCmVsc2VpZiBub3QgcHJqIGFuZCAoa2luZCA9PSAic3lzdGVtIiBvciBraW5kID09ICJhbGwiKSB0aGVuCmlmIGNvbmZpZy5jYW5MaW5rKGNmZywgbGluaywgbGlua2FnZSkgdGhlbgppdGVtID0gbGluawppZiBpdGVtOmZpbmQoIi8iLCBuaWwsIHRydWUpIHRoZW4KaXRlbSA9IHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGl0ZW0pCmVuZAplbmQKZW5kCmlmIGl0ZW0gYW5kIGl0ZW0gfj0gY2ZnIHRoZW4KaWYgcGFydCA9PSAiZGlyZWN0b3J5IiB0aGVuCml0ZW0gPSBwYXRoLmdldGRpcmVjdG9yeShpdGVtKQppZiBpdGVtID09ICIuIiB0aGVuCml0ZW0gPSBuaWwKZW5kCmVsc2VpZiBwYXJ0ID09ICJuYW1lIiB0aGVuCml0ZW0gPSBwYXRoLmdldG5hbWUoaXRlbSkKZWxzZWlmIHBhcnQgPT0gImJhc2VuYW1lIiB0aGVuCml0ZW0gPSBwYXRoLmdldGJhc2VuYW1lKGl0ZW0pCmVsc2VpZiB0eXBlKHBhcnQpID09ICJmdW5jdGlvbiIgdGhlbgpwYXJ0KGxpbmssIGl0ZW0pCmVuZAplbmQKaWYgaXRlbSBhbmQgbm90IHRhYmxlLmNvbnRhaW5zKHJlc3VsdCwgaXRlbSkgdGhlbgp0YWJsZS5pbnNlcnQocmVzdWx0LCBpdGVtKQplbmQKZW5kCnJldHVybiByZXN1bHQKZW5kCmZ1bmN0aW9uIGNvbmZpZy5nZXRydW50aW1lKGNmZykKbG9jYWwgbGlua2FnZSA9IGlpZihjZmcuZmxhZ3MuU3RhdGljUnVudGltZSwgIlN0YXRpYyIsICJTaGFyZWQiKQppZiBub3QgY2ZnLnJ1bnRpbWUgdGhlbgpyZXR1cm4gbGlua2FnZSAuLiBpaWYoY29uZmlnLmlzRGVidWdCdWlsZChjZmcpLCAiRGVidWciLCAiUmVsZWFzZSIpCmVsc2UKcmV0dXJuIGxpbmthZ2UgLi4gY2ZnLnJ1bnRpbWUKZW5kCmVuZApmdW5jdGlvbiBjb25maWcuZ2V0dGFyZ2V0aW5mbyhjZmcpCnJldHVybiBjb25maWcuYnVpbGR0YXJnZXRpbmZvKGNmZywgY2ZnLmtpbmQsICJ0YXJnZXQiKQplbmQKZnVuY3Rpb24gY29uZmlnLmhhc0ZpbGUoc2VsZiwgdGVzdGZuKQpsb2NhbCBmaWxlcyA9IHNlbGYuZmlsZXMKZm9yIGkgPSAxLCAjZmlsZXMgZG8KaWYgdGVzdGZuKGZpbGVzW2ldKSB0aGVuCnJldHVybiB0cnVlCmVuZAplbmQKcmV0dXJuIGZhbHNlCmVuZApmdW5jdGlvbiBjb25maWcuaXNDb3B5TG9jYWwoY2ZnLCBsaW5rbmFtZSwgZGVmYXVsdCkKaWYgY2ZnLmZsYWdzLk5vQ29weUxvY2FsIHRoZW4KcmV0dXJuIGZhbHNlCmVuZAppZiAjY2ZnLmNvcHlsb2NhbCA+IDAgdGhlbgpyZXR1cm4gdGFibGUuY29udGFpbnMoY2ZnLmNvcHlsb2NhbCwgbGlua25hbWUpCmVuZApyZXR1cm4gZGVmYXVsdAplbmQKZnVuY3Rpb24gY29uZmlnLmlzRGVidWdCdWlsZChjZmcpCnJldHVybiBjZmcuZmxhZ3MuU3ltYm9scyBhbmQgbm90IGNvbmZpZy5pc09wdGltaXplZEJ1aWxkKGNmZykKZW5kCmZ1bmN0aW9uIGNvbmZpZy5pc09wdGltaXplZEJ1aWxkKGNmZykKcmV0dXJuIGNmZy5vcHRpbWl6ZSB+PSBuaWwgYW5kIGNmZy5vcHRpbWl6ZSB+PSBwLk9GRiBhbmQgY2ZnLm9wdGltaXplIH49ICJEZWJ1ZyIKZW5kCmZ1bmN0aW9uIGNvbmZpZy5saW5rc1RvUHJvamVjdChjZmcsIHByak5hbWUpCnByak5hbWUgPSBwcmpOYW1lOmxvd2VyKCkKbG9jYWwgbiA9ICNjZmcubGlua3MKZm9yIGkgPSAxLG4gZG8KaWYgY2ZnLmxpbmtzW2ldOmxvd2VyKCkgPT0gcHJqTmFtZSB0aGVuCnJldHVybiB0cnVlCmVuZAplbmQKZW5kCmZ1bmN0aW9uIGNvbmZpZy5tYXBGbGFncyhjZmcsIG1hcHBpbmdzKQpsb2NhbCBmbGFncyA9IHt9CmxvY2FsIGZ1bmN0aW9uIGFkZChyZXBsYWNlbWVudCkKaWYgdHlwZShyZXBsYWNlbWVudCkgPT0gImZ1bmN0aW9uIiB0aGVuCnJlcGxhY2VtZW50ID0gcmVwbGFjZW1lbnQoY2ZnKQplbmQKdGFibGUuaW5zZXJ0ZmxhdChmbGFncywgcmVwbGFjZW1lbnQpCmVuZApmb3IgZmllbGQgaW4gcC5maWVsZC5lYWNoT3JkZXJlZCgpIGRvCmxvY2FsIG1hcCA9IG1hcHBpbmdzW2ZpZWxkLm5hbWVdCmlmIG1hcCB0aGVuCmxvY2FsIHZhbHVlcyA9IGNmZ1tmaWVsZC5uYW1lXQppZiB0eXBlKHZhbHVlcykgfj0gInRhYmxlIiB0aGVuCnZhbHVlcyA9IHsgdmFsdWVzIH0KZW5kCmxvY2FsIGZvdW5kVmFsdWUgPSBmYWxzZQp0YWJsZS5mb3JlYWNoaSh2YWx1ZXMsIGZ1bmN0aW9uKHZhbHVlKQpsb2NhbCByZXBsYWNlbWVudCA9IG1hcFt2YWx1ZV0KaWYgcmVwbGFjZW1lbnQgfj0gbmlsIHRoZW4KZm91bmRWYWx1ZSA9IHRydWUKYWRkKHJlcGxhY2VtZW50KQplbmQKZW5kKQppZiBub3QgZm91bmRWYWx1ZSB0aGVuCmFkZChtYXAuXykKZW5kCmZvciBrZXksIHJlcGxhY2VtZW50IGluIHBhaXJzKG1hcCkgZG8KaWYgI2tleSA+IDEgYW5kIGtleTpzdGFydHN3aXRoKCJfIikgdGhlbgprZXkgPSBrZXk6c3ViKDIpCmlmIHZhbHVlc1trZXldID09IG5pbCB0aGVuCmFkZChyZXBsYWNlbWVudCkKZW5kCmVuZAplbmQKZW5kCmVuZApyZXR1cm4gZmxhZ3MKZW5kCmZ1bmN0aW9uIGNvbmZpZy5ub3JtYWxpemUoY2ZnKQppZiBjZmcgYW5kIGNmZy5jb25maWcgfj0gbmlsIHRoZW4KcmV0dXJuIGNmZy5jb25maWcsIGNmZwplbHNlCnJldHVybiBjZmcsIG5pbAplbmQKZW5kCmZ1bmN0aW9uIGNvbmZpZy50b29sc2V0KGNmZykKaWYgY2ZnLnRvb2xzZXQgdGhlbgpyZXR1cm4gcC50b29scy5jYW5vbmljYWwoY2ZnLnRvb2xzZXQpCmVuZAplbmQKcHJlbWFrZS5maWxlY29uZmlnID0ge30KbG9jYWwgcCA9IHByZW1ha2UKbG9jYWwgZmlsZWNvbmZpZyA9IHAuZmlsZWNvbmZpZwpsb2NhbCBjb250ZXh0ID0gcC5jb250ZXh0CmxvY2FsIHByb2plY3QgPSBwLnByb2plY3QKZmlsZWNvbmZpZy5mY2ZnX210ID0ge30KZmlsZWNvbmZpZy5mc3ViX210ID0ge30KZnVuY3Rpb24gZmlsZWNvbmZpZy5uZXcoZm5hbWUsIHByaikKbG9jYWwgZW52aXJvbiA9IHsgfQpsb2NhbCBmY2ZnID0gY29udGV4dC5uZXcocHJqLCBlbnZpcm9uKQpjb250ZXh0LmNvcHlGaWx0ZXJzKGZjZmcsIHByaikKY29udGV4dC5hZGRGaWx0ZXIoZmNmZywgImZpbGVzIiwgZm5hbWU6bG93ZXIoKSkKZm9yIGtleSwgdmFsdWUgaW4gcGFpcnMocHJqLmVudmlyb24pIGRvCmVudmlyb25ba2V5XSA9IHZhbHVlCmVuZAplbnZpcm9uLmZpbGUgPSBmY2ZnCmNvbnRleHQuY29tcGlsZShmY2ZnKQpmY2ZnLnByb2plY3QgPSBwcmoKZmNmZy5jb25maWdzID0ge30KZmNmZy5hYnNwYXRoID0gZm5hbWUKY29udGV4dC5iYXNlZGlyKGZjZmcsIHByai5sb2NhdGlvbikKc2V0bWV0YXRhYmxlKGZjZmcsIGZpbGVjb25maWcuZmNmZ19tdCkKbG9jYWwgdnBhdGggPSBwcm9qZWN0LmdldHZwYXRoKHByaiwgZm5hbWUpCmlmIHZwYXRoIH49IGZjZmcuYWJzcGF0aCB0aGVuCmZjZmcudnBhdGggPSB2cGF0aAplbmQKcmV0dXJuIGZjZmcKZW5kCmZ1bmN0aW9uIGZpbGVjb25maWcuYWRkY29uZmlnKGZjZmcsIGNmZykKbG9jYWwgcHJqID0gY2ZnLnByb2plY3QKbG9jYWwgZW52aXJvbiA9IHt9CmxvY2FsIGZzdWIgPSBjb250ZXh0Lm5ldyhwcmosIGVudmlyb24pCmNvbnRleHQuY29weUZpbHRlcnMoZnN1YiwgY2ZnKQpjb250ZXh0Lm1lcmdlRmlsdGVycyhmc3ViLCBmY2ZnKQpmY2ZnLmNvbmZpZ3NbY2ZnXSA9IGZzdWIKZm9yIGtleSwgdmFsdWUgaW4gcGFpcnMoY2ZnLmVudmlyb24pIGRvCmVudmlyb25ba2V5XSA9IHZhbHVlCmVuZApmb3Iga2V5LCB2YWx1ZSBpbiBwYWlycyhmY2ZnLmVudmlyb24pIGRvCmVudmlyb25ba2V5XSA9IHZhbHVlCmVuZApjb250ZXh0LmNvbXBpbGUoZnN1YikKZnN1Yi5hYnNwYXRoID0gZmNmZy5hYnNwYXRoCmZzdWIudnBhdGggPSBmY2ZnLnZwYXRoCmZzdWIuY29uZmlnID0gY2ZnCmZzdWIucHJvamVjdCA9IHByagpjb250ZXh0LmJhc2VkaXIoZnN1YiwgcHJqLmxvY2F0aW9uKQpzZXRtZXRhdGFibGUoZnN1YiwgZmlsZWNvbmZpZy5mc3ViX210KQplbmQKZnVuY3Rpb24gZmlsZWNvbmZpZy5nZXRjb25maWcoZmNmZywgY2ZnKQpyZXR1cm4gZmNmZy5jb25maWdzW2NmZ10KZW5kCmZ1bmN0aW9uIGZpbGVjb25maWcuaGFzQ3VzdG9tQnVpbGRSdWxlKGZjZmcpCnJldHVybiBmY2ZnIGFuZCAoI2ZjZmcuYnVpbGRjb21tYW5kcyA+IDApIGFuZCAoI2ZjZmcuYnVpbGRvdXRwdXRzID4gMCkKZW5kCmZ1bmN0aW9uIGZpbGVjb25maWcuaGFzRmlsZVNldHRpbmdzKGZjZmcpCmZvciBrZXksIGZpZWxkIGluIHBhaXJzKHByZW1ha2UuZmllbGRzKSBkbwppZiBmaWVsZC5zY29wZXNbMV0gPT0gImNvbmZpZyIgdGhlbgpsb2NhbCB2YWx1ZSA9IGZjZmdbZmllbGQubmFtZV0KaWYgdmFsdWUgdGhlbgppZiB0eXBlKHZhbHVlKSA9PSAidGFibGUiIHRoZW4KaWYgI3ZhbHVlID4gMCB0aGVuCnJldHVybiB0cnVlCmVuZAplbHNlCnJldHVybiB0cnVlCmVuZAplbmQKZW5kCmVuZApyZXR1cm4gZmFsc2UKZW5kCmxvY2FsIGZjZmdfbXQgPSBmaWxlY29uZmlnLmZjZmdfbXQKZmNmZ19tdC5fX2luZGV4ID0gZnVuY3Rpb24oZmNmZywga2V5KQppZiB0eXBlKGZjZmdfbXRba2V5XSkgPT0gImZ1bmN0aW9uIiB0aGVuCnJldHVybiBmY2ZnX210W2tleV0oZmNmZykKZW5kCnJldHVybiBjb250ZXh0Ll9fbXQuX19pbmRleChmY2ZnLCBrZXkpCmVuZApmaWxlY29uZmlnLmZzdWJfbXQuX19pbmRleCA9IGZ1bmN0aW9uKGZzdWIsIGtleSkKaWYgdHlwZShmY2ZnX210W2tleV0pID09ICJmdW5jdGlvbiIgdGhlbgpyZXR1cm4gZmNmZ19tdFtrZXldKGZzdWIpCmVuZApyZXR1cm4gY29udGV4dC5fX210Ll9faW5kZXgoZnN1Yiwga2V5KQplbmQKZnVuY3Rpb24gZmNmZ19tdC5iYXNlbmFtZShmY2ZnKQpyZXR1cm4gcGF0aC5nZXRiYXNlbmFtZShmY2ZnLmFic3BhdGgpCmVuZApmdW5jdGlvbiBmY2ZnX210LmRpcmVjdG9yeShmY2ZnKQpyZXR1cm4gcGF0aC5nZXRkaXJlY3RvcnkoZmNmZy5hYnNwYXRoKQplbmQKZnVuY3Rpb24gZmNmZ19tdC5uYW1lKGZjZmcpCnJldHVybiBwYXRoLmdldG5hbWUoZmNmZy5hYnNwYXRoKQplbmQKZnVuY3Rpb24gZmNmZ19tdC5vYmpuYW1lKGZjZmcpCmlmIGZjZmcuc2VxdWVuY2Ugfj0gbmlsIGFuZCBmY2ZnLnNlcXVlbmNlID4gMCB0aGVuCnJldHVybiBmY2ZnLmJhc2VuYW1lIC4uIGZjZmcuc2VxdWVuY2UKZWxzZQpyZXR1cm4gZmNmZy5iYXNlbmFtZQplbmQKZW5kCmZ1bmN0aW9uIGZjZmdfbXQucGF0aChmY2ZnKQpyZXR1cm4gZmNmZy5yZWxwYXRoCmVuZApmdW5jdGlvbiBmY2ZnX210LnJlbHBhdGgoZmNmZykKcmV0dXJuIHByb2plY3QuZ2V0cmVsYXRpdmUoZmNmZy5wcm9qZWN0LCBmY2ZnLmFic3BhdGgpCmVuZApmdW5jdGlvbiBmY2ZnX210LnZwYXRoKGZjZmcpCnJldHVybiBmY2ZnLnJlbHBhdGgKZW5kCgAAAABsb2NhbCBwID0gcHJlbWFrZQpwLnJ1bGUgPSBwLmFwaS5jb250YWluZXIoInJ1bGUiLCBwLmdsb2JhbCkKbG9jYWwgcnVsZSA9IHAucnVsZQpmdW5jdGlvbiBydWxlLm5ldyhuYW1lKQpsb2NhbCBzZWxmID0gcC5jb250YWluZXIubmV3KHJ1bGUsIG5hbWUpCl9HW25hbWUgLi4gIlZhcnMiXSA9IGZ1bmN0aW9uKHZhcnMpCnJ1bGUuc2V0VmFycyhzZWxmLCB2YXJzKQplbmQKbG9jYWwgbG93ZXJOYW1lID0gIG5hbWU6Z3N1YigiXiV1KyIsIHN0cmluZy5sb3dlcikKX0dbbG93ZXJOYW1lIC4uICJWYXJzIl0gPSBfR1tuYW1lIC4uICJWYXJzIl0KcmV0dXJuIHNlbGYKZW5kCmZ1bmN0aW9uIHJ1bGUuZWFjaFByb3BlcnR5KHNlbGYpCmxvY2FsIHByb3BzID0gc2VsZi5wcm9wZXJ0eWRlZmluaXRpb24KbG9jYWwgaSA9IDAKcmV0dXJuIGZ1bmN0aW9uICgpCmkgPSBpICsgMQppZiBpIDw9ICNwcm9wcyB0aGVuCnJldHVybiBwcm9wc1tpXQplbmQKZW5kCmVuZApmdW5jdGlvbiBydWxlLmdldFByb3BlcnR5KHNlbGYsIG5hbWUpCmxvY2FsIHByb3BzID0gc2VsZi5wcm9wZXJ0eWRlZmluaXRpb24KZm9yIGkgPSAxLCAjcHJvcHMgZG8KbG9jYWwgcHJvcCA9IHByb3BzW2ldCmlmIHByb3AubmFtZSA9PSBuYW1lIHRoZW4KcmV0dXJuIHByb3AKZW5kCmVuZAplbmQKZnVuY3Rpb24gcnVsZS5nZXRQcm9wZXJ0eUZpZWxkKHNlbGYsIHByb3ApCmlmIHByb3AuX2ZpZWxkIHRoZW4KcmV0dXJuIHByb3AuX2ZpZWxkCmVuZApsb2NhbCBraW5kID0gcHJvcC5raW5kIG9yICJzdHJpbmciCmlmIGtpbmQgPT0gImxpc3QiIHRoZW4Ka2luZCA9ICJsaXN0OnN0cmluZyIKZW5kCmxvY2FsIGZsZCA9IHAuZmllbGQubmV3IHsKbmFtZSA9ICJfcnVsZV8iIC4uIHNlbGYubmFtZSAuLiAiXyIgLi4gcHJvcC5uYW1lLApzY29wZSA9ICJjb25maWciLApraW5kID0ga2luZCwKdG9rZW5zID0gdHJ1ZSwKfQpwcm9wLl9maWVsZCA9IGZsZApyZXR1cm4gZmxkCmVuZApmdW5jdGlvbiBydWxlLmdldFByb3BlcnR5U3RyaW5nKHNlbGYsIHByb3AsIHZhbHVlKQppZiB0eXBlKHZhbHVlKSA9PSAidGFibGUiIHRoZW4KbG9jYWwgc2VwID0gcHJvcC5zZXBhcmF0b3Igb3IgIiAiCnJldHVybiB0YWJsZS5jb25jYXQodmFsdWUsIHNlcCkKZW5kCmlmIHByb3AudmFsdWVzIHRoZW4KbG9jYWwgaSA9IHRhYmxlLmluZGV4b2YocHJvcC52YWx1ZXMsIHZhbHVlKQpyZXR1cm4gdG9zdHJpbmcoaSkKZW5kCnZhbHVlID0gdG9zdHJpbmcodmFsdWUpCmlmICN2YWx1ZSA+IDAgdGhlbgpyZXR1cm4gdmFsdWUKZWxzZQpyZXR1cm4gbmlsCmVuZAplbmQKZnVuY3Rpb24gcnVsZS5zZXRWYXJzKHNlbGYsIHZhcnMpCmZvciBrZXksIHZhbHVlIGluIHBhaXJzKHZhcnMpIGRvCmxvY2FsIHByb3AgPSBydWxlLmdldFByb3BlcnR5KHNlbGYsIGtleSkKaWYgbm90IHByb3AgdGhlbgplcnJvciAoc3RyaW5nLmZvcm1hdCgicnVsZSAnJXMnIGRvZXMgbm90IGhhdmUgcHJvcGVydHkgJyVzJyIsIHNlbGYubmFtZSwga2V5KSkKZW5kCmxvY2FsIGZsZCA9IHJ1bGUuZ2V0UHJvcGVydHlGaWVsZChzZWxmLCBwcm9wKQpwLmFwaS5zdG9yZUZpZWxkKGZsZCwgdmFsdWUpCmVuZAplbmQKAAAAAGxvY2FsIHAgPSBwcmVtYWtlCnAub3ZlbiA9IHt9CmxvY2FsIG92ZW4gPSBwLm92ZW4KbG9jYWwgY29udGV4dCA9IHAuY29udGV4dApwLm92ZW4uYnViYmxlZEZpZWxkcyA9IHsKY29uZmlnbWFwID0gdHJ1ZSwKdnBhdGhzID0gdHJ1ZQp9CmZ1bmN0aW9uIG92ZW4uYmFrZSgpCnAuY29udGFpbmVyLmJha2VDaGlsZHJlbihwLmFwaS5yb290Q29udGFpbmVyKCkpCmVuZApmdW5jdGlvbiBvdmVuLmJha2VXb3Jrc3BhY2Uod2tzKQpyZXR1cm4gcC5jb250YWluZXIuYmFrZSh3a3MpCmVuZApwLmFsaWFzKG92ZW4sICJiYWtlV29ya3NwYWNlIiwgImJha2VTb2x1dGlvbiIpCmZ1bmN0aW9uIHAud29ya3NwYWNlLmJha2Uoc2VsZikKY29udGV4dC5hZGRGaWx0ZXIoc2VsZiwgIl9BQ1RJT04iLCBfQUNUSU9OKQpjb250ZXh0LmFkZEZpbHRlcihzZWxmLCAiYWN0aW9uIiwgX0FDVElPTikKc2VsZi5zeXN0ZW0gPSBzZWxmLnN5c3RlbSBvciBwLmFjdGlvbi5jdXJyZW50KCkub3Mgb3Igb3MuZ2V0KCkKY29udGV4dC5hZGRGaWx0ZXIoc2VsZiwgInN5c3RlbSIsIHNlbGYuc3lzdGVtKQpsb2NhbCBvcHRpb25zID0ge30KZm9yIGtleSwgdmFsdWUgaW4gcGFpcnMoX09QVElPTlMpIGRvCmxvY2FsIHRlcm0gPSBrZXkKaWYgdmFsdWUgfj0gIiIgdGhlbgp0ZXJtID0gdGVybSAuLiAiPSIgLi4gdmFsdWUKZW5kCnRhYmxlLmluc2VydChvcHRpb25zLCB0ZXJtKQplbmQKY29udGV4dC5hZGRGaWx0ZXIoc2VsZiwgIl9PUFRJT05TIiwgb3B0aW9ucykKY29udGV4dC5hZGRGaWx0ZXIoc2VsZiwgIm9wdGlvbnMiLCBvcHRpb25zKQpzZWxmLmVudmlyb24gPSB7CndrcyA9IHNlbGYsCnNsbiA9IHNlbGYsCn0KY29udGV4dC5jb21waWxlKHNlbGYpCnNlbGYubG9jYXRpb24gPSBzZWxmLmxvY2F0aW9uIG9yIHNlbGYuYmFzZWRpcgpjb250ZXh0LmJhc2VkaXIoc2VsZiwgc2VsZi5sb2NhdGlvbikKcC5jb250YWluZXIuYmFrZUNoaWxkcmVuKHNlbGYpCm92ZW4uYmFrZU9iakRpcnMoc2VsZikKc2VsZi5jb25maWdzID0gb3Zlbi5iYWtlQ29uZmlncyhzZWxmKQplbmQKZnVuY3Rpb24gcC5wcm9qZWN0LmJha2Uoc2VsZikKdmVyYm9zZWYoJyAgICBCYWtpbmcgJXMuLi4nLCBzZWxmLm5hbWUpCnNlbGYuc29sdXRpb24gPSBzZWxmLndvcmtzcGFjZQpsb2NhbCB3a3MgPSBzZWxmLndvcmtzcGFjZQpjb250ZXh0LmNvcHlGaWx0ZXJzKHNlbGYsIHdrcykKc2VsZi5zeXN0ZW0gPSBzZWxmLnN5c3RlbSBvciBwLmFjdGlvbi5jdXJyZW50KCkub3Mgb3Igb3MuZ2V0KCkKY29udGV4dC5hZGRGaWx0ZXIoc2VsZiwgInN5c3RlbSIsIHNlbGYuc3lzdGVtKQpjb250ZXh0LmFkZEZpbHRlcihzZWxmLCAiYXJjaGl0ZWN0dXJlIiwgc2VsZi5hcmNoaXRlY3R1cmUpCmNvbnRleHQuYWRkRmlsdGVyKHNlbGYsICJraW5kIiwgc2VsZi5raW5kKQpzZWxmLnByb2plY3QgPSBzZWxmCnNlbGYuZW52aXJvbiA9IHsKd2tzID0gd2tzLApzbG4gPSB3a3MsCnByaiA9IHNlbGYsCn0KY29udGV4dC5jb21waWxlKHNlbGYpCnAuY29udGFpbmVyLmJha2VDaGlsZHJlbihzZWxmKQpzZWxmLmxvY2F0aW9uID0gc2VsZi5sb2NhdGlvbiBvciB3a3MubG9jYXRpb24gb3Igc2VsZi5iYXNlZGlyCmNvbnRleHQuYmFzZWRpcihzZWxmLCBzZWxmLmxvY2F0aW9uKQpsb2NhbCBjZmdzID0gdGFibGUuZm9sZChzZWxmLmNvbmZpZ3VyYXRpb25zIG9yIHt9LCBzZWxmLnBsYXRmb3JtcyBvciB7fSkKb3Zlbi5idWJibGVGaWVsZHMoc2VsZiwgc2VsZiwgY2ZncykKc2VsZi5fY2ZnbGlzdCA9IG92ZW4uYmFrZUNvbmZpZ0xpc3Qoc2VsZiwgY2ZncykKc2VsZi5zeXN0ZW0gPSBuaWwKc2VsZi5jb25maWdzID0ge30KZm9yIF8sIHBhaXJpbmcgaW4gaXBhaXJzKHNlbGYuX2NmZ2xpc3QpIGRvCmxvY2FsIGJ1aWxkY2ZnID0gcGFpcmluZ1sxXQpsb2NhbCBwbGF0Zm9ybSA9IHBhaXJpbmdbMl0KbG9jYWwgY2ZnID0gb3Zlbi5iYWtlQ29uZmlnKHdrcywgc2VsZiwgYnVpbGRjZmcsIHBsYXRmb3JtKQppZiBwcmVtYWtlLmFjdGlvbi5zdXBwb3J0c2NvbmZpZyhwcmVtYWtlLmFjdGlvbi5jdXJyZW50KCksIGNmZykgdGhlbgpzZWxmLmNvbmZpZ3NbKGJ1aWxkY2ZnIG9yICIqIikgLi4gKHBsYXRmb3JtIG9yICIiKV0gPSBjZmcKZW5kCmVuZApzZWxmLl8gPSB7fQpzZWxmLl8uZmlsZXMgPSBvdmVuLmJha2VGaWxlcyhzZWxmKQppZiBwLnByb2plY3QuaXNjcHAoc2VsZikgdGhlbgpvdmVuLmFzc2lnbk9iamVjdFNlcXVlbmNlcyhzZWxmKQplbmQKZW5kCmZ1bmN0aW9uIHAucnVsZS5iYWtlKHIpCnRhYmxlLnNvcnQoci5wcm9wZXJ0eWRlZmluaXRpb24sIGZ1bmN0aW9uIChhLCBiKQpyZXR1cm4gYS5uYW1lIDwgYi5uYW1lCmVuZCkKZW5kCmZ1bmN0aW9uIG92ZW4uYmFrZU9iakRpcnMod2tzKQpsb2NhbCBmdW5jdGlvbiBnZXRvYmpkaXJzKGNmZykKbG9jYWwgb2JqZGlyID0gY2ZnLm9iamRpciBvciAib2JqIgpsb2NhbCBpID0gb2JqZGlyOmZpbmQoIiEiLCAxLCB0cnVlKQppZiBpIHRoZW4KY2ZnLm9iamRpciA9IG9iamRpcjpzdWIoMSwgaSAtIDEpIC4uIG9iamRpcjpzdWIoaSArIDEpCnJldHVybiBuaWwKZW5kCmxvY2FsIGRpcnMgPSB7fQpsb2NhbCBkaXIgPSBwYXRoLmdldGFic29sdXRlKHBhdGguam9pbihjZmcucHJvamVjdC5sb2NhdGlvbiwgb2JqZGlyKSkKdGFibGUuaW5zZXJ0KGRpcnMsIGRpcikKaWYgY2ZnLnBsYXRmb3JtIHRoZW4KZGlyID0gcGF0aC5qb2luKGRpciwgY2ZnLnBsYXRmb3JtKQp0YWJsZS5pbnNlcnQoZGlycywgZGlyKQplbmQKZGlyID0gcGF0aC5qb2luKGRpciwgY2ZnLmJ1aWxkY2ZnKQp0YWJsZS5pbnNlcnQoZGlycywgZGlyKQpkaXIgPSBwYXRoLmpvaW4oZGlyLCBjZmcucHJvamVjdC5uYW1lKQp0YWJsZS5pbnNlcnQoZGlycywgZGlyKQpyZXR1cm4gZGlycwplbmQKbG9jYWwgY291bnRzID0ge30KbG9jYWwgY29uZmlncyA9IHt9CmZvciBwcmogaW4gcC53b3Jrc3BhY2UuZWFjaHByb2plY3Qod2tzKSBkbwpmb3IgY2ZnIGluIHAucHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KbG9jYWwgZGlycyA9IGdldG9iamRpcnMoY2ZnKQppZiBkaXJzIHRoZW4KY29uZmlnc1tjZmddID0gZGlycwpmb3IgXywgZGlyIGluIGlwYWlycyhkaXJzIG9yIHt9KSBkbwpjb3VudHNbZGlyXSA9IChjb3VudHNbZGlyXSBvciAwKSArIDEKZW5kCmVuZAplbmQKZW5kCmZvciBjZmcsIGRpcnMgaW4gcGFpcnMoY29uZmlncykgZG8KZm9yIF8sIGRpciBpbiBpcGFpcnMoZGlycykgZG8KaWYgY291bnRzW2Rpcl0gPT0gMSB0aGVuCmNmZy5vYmpkaXIgPSBkaXIKYnJlYWsKZW5kCmVuZAplbmQKZW5kCmZ1bmN0aW9uIG92ZW4uYmFrZUNvbmZpZ3Mod2tzKQpsb2NhbCBidWlsZGNmZ3MgPSB3a3MuY29uZmlndXJhdGlvbnMgb3Ige30KbG9jYWwgcGxhdGZvcm1zID0gd2tzLnBsYXRmb3JtcyBvciB7fQpsb2NhbCBjb25maWdzID0ge30KbG9jYWwgcGFpcmluZ3MgPSB0YWJsZS5mb2xkKGJ1aWxkY2ZncywgcGxhdGZvcm1zKQpmb3IgXywgcGFpcmluZyBpbiBpcGFpcnMocGFpcmluZ3MpIGRvCmxvY2FsIGNmZyA9IG92ZW4uYmFrZUNvbmZpZyh3a3MsIG5pbCwgcGFpcmluZ1sxXSwgcGFpcmluZ1syXSkKaWYgcHJlbWFrZS5hY3Rpb24uc3VwcG9ydHNjb25maWcocHJlbWFrZS5hY3Rpb24uY3VycmVudCgpLCBjZmcpIHRoZW4KdGFibGUuaW5zZXJ0KGNvbmZpZ3MsIGNmZykKZW5kCmVuZApyZXR1cm4gY29uZmlncwplbmQKZnVuY3Rpb24gb3Zlbi5idWJibGVGaWVsZHMoY3R4LCBjc2V0LCBjZmdzKQpsb2NhbCBjb25maWd1cmF0aW9ucyA9IHt9CmxvY2FsIHBsYXRmb3JtcyA9IHt9CmZvciBfLCBjZmcgaW4gaXBhaXJzKGNmZ3MpIGRvCmlmIGNmZ1sxXSB0aGVuCnRhYmxlLmluc2VydChjb25maWd1cmF0aW9ucywgY2ZnWzFdOmxvd2VyKCkpCmVuZAppZiBjZmdbMl0gdGhlbgp0YWJsZS5pbnNlcnQocGxhdGZvcm1zLCBjZmdbMl06bG93ZXIoKSkKZW5kCmVuZApsb2NhbCB0ZXJtcyA9IHRhYmxlLmRlZXBjb3B5KGN0eC50ZXJtcykKdGVybXMuY29uZmlndXJhdGlvbnMgPSBjb25maWd1cmF0aW9ucwp0ZXJtcy5wbGF0Zm9ybXMgPSBwbGF0Zm9ybXMKZm9yIGtleSBpbiBwYWlycyhvdmVuLmJ1YmJsZWRGaWVsZHMpIGRvCmxvY2FsIGZpZWxkID0gcC5maWVsZC5nZXQoa2V5KQppZiBub3QgZmllbGQgdGhlbgpjdHhba2V5XSA9IHJhd2dldChjdHgsIGtleSkKZWxzZQpsb2NhbCB2YWx1ZSA9IHAuY29uZmlnc2V0LmZldGNoKGNzZXQsIGZpZWxkLCB0ZXJtcywgY3R4KQppZiB2YWx1ZSB0aGVuCmN0eFtrZXldID0gdmFsdWUKZW5kCmVuZAplbmQKZW5kCmZ1bmN0aW9uIG92ZW4uYmFrZUNvbmZpZ0xpc3QoY3R4LCBjZmdzKQpmb3IgaSwgY2ZnIGluIGlwYWlycyhjZmdzKSBkbwpjZmdzW2ldID0gcC5wcm9qZWN0Lm1hcGNvbmZpZyhjdHgsIGNmZ1sxXSwgY2ZnWzJdKQplbmQKbG9jYWwgYnVpbGRjZmdzID0ge30KbG9jYWwgcGxhdGZvcm1zID0ge30KZm9yIF8sIHBhaXJpbmcgaW4gaXBhaXJzKGNmZ3MpIGRvCmxvY2FsIGJ1aWxkY2ZnID0gcGFpcmluZ1sxXQpsb2NhbCBwbGF0Zm9ybSA9IHBhaXJpbmdbMl0KaWYgbm90IHRhYmxlLmNvbnRhaW5zKGJ1aWxkY2ZncywgYnVpbGRjZmcpIHRoZW4KdGFibGUuaW5zZXJ0KGJ1aWxkY2ZncywgYnVpbGRjZmcpCmVuZAppZiBwbGF0Zm9ybSBhbmQgbm90IHRhYmxlLmNvbnRhaW5zKHBsYXRmb3JtcywgcGxhdGZvcm0pIHRoZW4KdGFibGUuaW5zZXJ0KHBsYXRmb3JtcywgcGxhdGZvcm0pCmVuZAplbmQKcmV0dXJuIHRhYmxlLmZvbGQoYnVpbGRjZmdzLCBwbGF0Zm9ybXMpCmVuZApmdW5jdGlvbiBvdmVuLmJha2VDb25maWcod2tzLCBwcmosIGJ1aWxkY2ZnLCBwbGF0Zm9ybSwgZXh0cmFGaWx0ZXJzKQpsb2NhbCBzeXN0ZW0gPSBwLmFjdGlvbi5jdXJyZW50KCkub3Mgb3Igb3MuZ2V0KCkKbG9jYWwgYXJjaGl0ZWN0dXJlID0gbmlsCmlmIHBsYXRmb3JtIHRoZW4Kc3lzdGVtID0gcC5hcGkuY2hlY2tWYWx1ZShwLmZpZWxkcy5zeXN0ZW0sIHBsYXRmb3JtKSBvciBzeXN0ZW0KYXJjaGl0ZWN0dXJlID0gcC5hcGkuY2hlY2tWYWx1ZShwLmZpZWxkcy5hcmNoaXRlY3R1cmUsIHBsYXRmb3JtKSBvciBhcmNoaXRlY3R1cmUKZW5kCmxvY2FsIGVudmlyb24gPSB7CndrcyA9IHdrcywKc2xuID0gd2tzLApwcmogPSBwcmosCn0KbG9jYWwgY3R4ID0gY29udGV4dC5uZXcocHJqIG9yIHdrcywgZW52aXJvbikKY3R4LnByb2plY3QgPSBwcmoKY3R4LndvcmtzcGFjZSA9IHdrcwpjdHguc29sdXRpb24gPSB3a3MKY3R4LmJ1aWxkY2ZnID0gYnVpbGRjZmcKY3R4LnBsYXRmb3JtID0gcGxhdGZvcm0KY3R4LmFjdGlvbiA9IF9BQ1RJT04KZW52aXJvbi5jZmcgPSBjdHgKY29udGV4dC5jb3B5RmlsdGVycyhjdHgsIHdrcykKY29udGV4dC5hZGRGaWx0ZXIoY3R4LCAiY29uZmlndXJhdGlvbnMiLCBidWlsZGNmZykKY29udGV4dC5hZGRGaWx0ZXIoY3R4LCAicGxhdGZvcm1zIiwgcGxhdGZvcm0pCmlmIHByaiB0aGVuCmNvbnRleHQuYWRkRmlsdGVyKGN0eCwgImxhbmd1YWdlIiwgcHJqLmxhbmd1YWdlKQplbmQKY3R4LnN5c3RlbSA9IGN0eC5zeXN0ZW0gb3Igc3lzdGVtCmNvbnRleHQuYWRkRmlsdGVyKGN0eCwgInN5c3RlbSIsIGN0eC5zeXN0ZW0pCmN0eC5hcmNoaXRlY3R1cmUgPSBjdHguYXJjaGl0ZWN0dXJlIG9yIGFyY2hpdGVjdHVyZQpjb250ZXh0LmFkZEZpbHRlcihjdHgsICJhcmNoaXRlY3R1cmUiLCBjdHguYXJjaGl0ZWN0dXJlKQpjb250ZXh0LmFkZEZpbHRlcihjdHgsICJraW5kIiwgY3R4LmtpbmQpCmlmIGV4dHJhRmlsdGVycyB0aGVuCmZvciBrLCB2IGluIHBhaXJzKGV4dHJhRmlsdGVycykgZG8KY29udGV4dC5hZGRGaWx0ZXIoY3R4LCBrLCB2KQplbmQKZW5kCmNvbnRleHQuY29tcGlsZShjdHgpCmN0eC5sb2NhdGlvbiA9IGN0eC5sb2NhdGlvbiBvciBwcmogYW5kIHByai5sb2NhdGlvbgpjb250ZXh0LmJhc2VkaXIoY3R4LCBjdHgubG9jYXRpb24pCm92ZW4uZmluaXNoQ29uZmlnKGN0eCkKcmV0dXJuIGN0eAplbmQKZnVuY3Rpb24gb3Zlbi5iYWtlRmlsZXMocHJqKQpsb2NhbCBmaWxlcyA9IHt9CmZvciBjZmcgaW4gcC5wcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwp0YWJsZS5mb3JlYWNoaShjZmcuZmlsZXMsIGZ1bmN0aW9uKGZuYW1lKQppZiBub3QgZmlsZXNbZm5hbWVdIHRoZW4KbG9jYWwgZmNmZyA9IHAuZmlsZWNvbmZpZy5uZXcoZm5hbWUsIHByaikKZmlsZXNbZm5hbWVdID0gZmNmZwp0YWJsZS5pbnNlcnQoZmlsZXMsIGZjZmcpCmVuZApwLmZpbGVjb25maWcuYWRkY29uZmlnKGZpbGVzW2ZuYW1lXSwgY2ZnKQplbmQpCmVuZAp0YWJsZS5zb3J0KGZpbGVzLCBmdW5jdGlvbihhLGIpCnJldHVybiBhLnZwYXRoIDwgYi52cGF0aAplbmQpCnJldHVybiBmaWxlcwplbmQKZnVuY3Rpb24gb3Zlbi5hc3NpZ25PYmplY3RTZXF1ZW5jZXMocHJqKQpsb2NhbCBiYXNlcyA9IHt9CnRhYmxlLmZvcmVhY2hpKHByai5fLmZpbGVzLCBmdW5jdGlvbihmaWxlKQppZiBub3QgcGF0aC5pc2NwcGZpbGUoZmlsZS5hYnNwYXRoKSB0aGVuCnJldHVybgplbmQKaWYgbm90IGJhc2VzW2ZpbGUuYmFzZW5hbWVdIHRoZW4KYmFzZXNbZmlsZS5iYXNlbmFtZV0gPSB7fQplbmQKbG9jYWwgc2VxdWVuY2VzID0gYmFzZXNbZmlsZS5iYXNlbmFtZV0KZm9yIGNmZyBpbiBwLnByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCmxvY2FsIGZjZmcgPSBwLmZpbGVjb25maWcuZ2V0Y29uZmlnKGZpbGUsIGNmZykKaWYgZmNmZyB+PSBuaWwgYW5kIG5vdCBmY2ZnLmZsYWdzLkV4Y2x1ZGVGcm9tQnVpbGQgdGhlbgpmY2ZnLnNlcXVlbmNlID0gc2VxdWVuY2VzW2NmZ10gb3IgMApzZXF1ZW5jZXNbY2ZnXSA9IGZjZmcuc2VxdWVuY2UgKyAxCmVuZAplbmQKZmlsZS5zZXF1ZW5jZSA9IHNlcXVlbmNlc1twcmpdIG9yIDAKc2VxdWVuY2VzW3Byal0gPSBmaWxlLnNlcXVlbmNlICsgMQplbmQpCmVuZApmdW5jdGlvbiBvdmVuLmZpbmlzaENvbmZpZyhjZmcpCmNmZy5sb25nbmFtZSA9IHRhYmxlLmNvbmNhdCh7IGNmZy5idWlsZGNmZywgY2ZnLnBsYXRmb3JtIH0sICJ8IikKY2ZnLnNob3J0bmFtZSA9IHRhYmxlLmNvbmNhdCh7IGNmZy5idWlsZGNmZywgY2ZnLnBsYXRmb3JtIH0sICIgIikKY2ZnLnNob3J0bmFtZSA9IGNmZy5zaG9ydG5hbWU6Z3N1YigiICIsICJfIik6bG93ZXIoKQpjZmcubmFtZSA9IGNmZy5sb25nbmFtZQppZiBjZmcucHJvamVjdCBhbmQgY2ZnLmtpbmQgdGhlbgpjZmcuYnVpbGR0YXJnZXQgPSBwLmNvbmZpZy5nZXR0YXJnZXRpbmZvKGNmZykKY2ZnLmJ1aWxkdGFyZ2V0LnJlbHBhdGggPSBwLnByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGNmZy5idWlsZHRhcmdldC5hYnNwYXRoKQpjZmcubGlua3RhcmdldCA9IHAuY29uZmlnLmdldGxpbmtpbmZvKGNmZykKY2ZnLmxpbmt0YXJnZXQucmVscGF0aCA9IHAucHJvamVjdC5nZXRyZWxhdGl2ZShjZmcucHJvamVjdCwgY2ZnLmxpbmt0YXJnZXQuYWJzcGF0aCkKZW5kCmVuZAoAcHJlbWFrZS52YWxpZGF0aW9uID0ge30KbG9jYWwgbSA9IHByZW1ha2UudmFsaWRhdGlvbgpsb2NhbCBwID0gcHJlbWFrZQptLmVsZW1lbnRzID0ge30KbS5lbGVtZW50cy5nbG9iYWwgPSBmdW5jdGlvbihnbGIpCnJldHVybiB7Cn0KZW5kCmZ1bmN0aW9uIHAuZ2xvYmFsLnZhbGlkYXRlKHNlbGYpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMuZ2xvYmFsLCBzZWxmKQpwLmNvbnRhaW5lci52YWxpZGF0ZUNoaWxkcmVuKHNlbGYpCmVuZAptLmVsZW1lbnRzLndvcmtzcGFjZSA9IGZ1bmN0aW9uKHdrcykKcmV0dXJuIHsKbS53b3Jrc3BhY2VIYXNDb25maWdzLAptLnVuaXF1ZVByb2plY3RJZHMsCn0KZW5kCmZ1bmN0aW9uIHAud29ya3NwYWNlLnZhbGlkYXRlKHNlbGYpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMud29ya3NwYWNlLCBzZWxmKQpwLmNvbnRhaW5lci52YWxpZGF0ZUNoaWxkcmVuKHNlbGYpCmVuZAptLmVsZW1lbnRzLnByb2plY3QgPSBmdW5jdGlvbihwcmopCnJldHVybiB7Cm0ucHJvamVjdEhhc0xhbmd1YWdlLAptLmFjdGlvblN1cHBvcnRzTGFuZ3VhZ2UsCm0uYWN0aW9uU3VwcG9ydHNLaW5kLAptLnByb2plY3RSdWxlc0V4aXN0LAptLnByb2plY3RWYWx1ZXNJblNjb3BlLAp9CmVuZApmdW5jdGlvbiBwLnByb2plY3QudmFsaWRhdGUoc2VsZikKcC5jYWxsQXJyYXkobS5lbGVtZW50cy5wcm9qZWN0LCBzZWxmKQpmb3IgY2ZnIGluIHAucHJvamVjdC5lYWNoY29uZmlnKHNlbGYpIGRvCnAuY29uZmlnLnZhbGlkYXRlKGNmZykKZW5kCmVuZAptLmVsZW1lbnRzLmNvbmZpZyA9IGZ1bmN0aW9uKGNmZykKcmV0dXJuIHsKbS5jb25maWdIYXNLaW5kLAptLmNvbmZpZ1N1cHBvcnRzS2luZCwKbS5jb25maWdWYWx1ZXNJblNjb3BlLAp9CmVuZApmdW5jdGlvbiBwLmNvbmZpZy52YWxpZGF0ZShzZWxmKQpwLmNhbGxBcnJheShtLmVsZW1lbnRzLmNvbmZpZywgc2VsZikKZW5kCm0uZWxlbWVudHMucnVsZSA9IGZ1bmN0aW9uKHJ1bGUpCnJldHVybiB7Cn0KZW5kCmZ1bmN0aW9uIHAucnVsZS52YWxpZGF0ZShzZWxmKQpwLmNhbGxBcnJheShtLmVsZW1lbnRzLnJ1bGUsIHNlbGYpCmVuZApmdW5jdGlvbiBwLmNvbmZpZy52YWxpZGF0ZVNjb3BlcyhzZWxmLCBjb250YWluZXIsIGV4cGVjdGVkKQpmb3IgZiBpbiBwLmZpZWxkLmVhY2goKSBkbwpsb2NhbCBzY29wZQpmb3IgaSA9IDEsICNmLnNjb3BlcyBkbwppZiBmLnNjb3Blc1tpXSA9PSAiY29uZmlnIiBvciBwLmNvbnRhaW5lci5jbGFzc0lzQShjb250YWluZXIuY2xhc3MsIGYuc2NvcGVzW2ldKSB0aGVuCnNjb3BlID0gZi5zY29wZXNbaV0KYnJlYWsKZW5kCmVuZApsb2NhbCBva2F5ID0gKG5vdCBzY29wZSBvciBzY29wZSA9PSAiY29uZmlnIikKb2theSA9IG9rYXkgb3Igc2NvcGUgPT0gZXhwZWN0ZWQKb2theSA9IG9rYXkgb3IgcC5vdmVuLmJ1YmJsZWRGaWVsZHNbZi5uYW1lXQpva2F5ID0gb2theSBvciBwLmZpZWxkLmNvbXBhcmUoZiwgc2VsZltzY29wZV1bZi5uYW1lXSwgc2VsZltmLm5hbWVdKQppZiBub3Qgb2theSB0aGVuCmxvY2FsIGtleSA9ICJ2YWxpZGF0ZS4iIC4uIGYubmFtZQpwLndhcm5PbmNlKGtleSwgIiclcycgb24gJXMgJyVzJyBkaWZmZXJzIGZyb20gJXMgJyVzJzsgbWF5IGJlIHNldCBvdXQgb2Ygc2NvcGUiLCBmLm5hbWUsIGV4cGVjdGVkLCBzZWxmLm5hbWUsIHNjb3BlLCBzZWxmW3Njb3BlXS5uYW1lKQplbmQKZW5kCmVuZApmdW5jdGlvbiBtLmFjdGlvblN1cHBvcnRzS2luZChwcmopCmlmIG5vdCBwLmFjdGlvbi5zdXBwb3J0cyhwcmoua2luZCkgdGhlbgpwLndhcm4oInVuc3VwcG9ydGVkIGtpbmQgJyVzJyB1c2VkIGZvciBwcm9qZWN0ICclcyciLCBwcmoua2luZCwgcHJqLm5hbWUpCmVuZAplbmQKZnVuY3Rpb24gbS5hY3Rpb25TdXBwb3J0c0xhbmd1YWdlKHByaikKaWYgbm90IHAuYWN0aW9uLnN1cHBvcnRzKHByai5sYW5ndWFnZSkgdGhlbgpwLndhcm4oInVuc3VwcG9ydGVkIGxhbmd1YWdlICclcycgdXNlZCBmb3IgcHJvamVjdCAnJXMnIiwgcHJqLmxhbmd1YWdlLCBwcmoubmFtZSkKZW5kCmVuZApmdW5jdGlvbiBtLmNvbmZpZ0hhc0tpbmQoY2ZnKQppZiBub3QgY2ZnLmtpbmQgdGhlbgpwLmVycm9yKCJwcm9qZWN0ICclcycgbmVlZHMgYSBraW5kIGluIGNvbmZpZ3VyYXRpb24gJyVzJyIsIGNmZy5wcm9qZWN0Lm5hbWUsIGNmZy5uYW1lKQplbmQKZW5kCmZ1bmN0aW9uIG0uY29uZmlnU3VwcG9ydHNLaW5kKGNmZykKaWYgKGNmZy5raW5kID09IHAuTUFLRUZJTEUgb3IgY2ZnLmtpbmQgPT0gcC5OT05FKSBhbmQgbm90IHAucHJvamVjdC5pc2NwcChjZmcucHJvamVjdCkgdGhlbgpwLmVycm9yKCJwcm9qZWN0ICclcycgdXNlcyAlcyBraW5kIGluIGNvbmZpZ3VyYXRpb24gJyVzJzsgbGFuZ3VhZ2UgbXVzdCBiZSBDKysiLCBjZmcucHJvamVjdC5uYW1lLCBjZmcua2luZCwgY2ZnLm5hbWUpCmVuZAplbmQKZnVuY3Rpb24gbS5jb25maWdWYWx1ZXNJblNjb3BlKGNmZykKcC5jb25maWcudmFsaWRhdGVTY29wZXMoY2ZnLCBjZmcucHJvamVjdCwgImNvbmZpZyIpCmVuZApmdW5jdGlvbiBtLnByb2plY3RIYXNMYW5ndWFnZShwcmopCmlmIG5vdCBwcmoubGFuZ3VhZ2UgdGhlbgpwLmVycm9yKCJwcm9qZWN0ICclcycgZG9lcyBub3QgaGF2ZSBhIGxhbmd1YWdlIiwgcHJqLm5hbWUpCmVuZAplbmQKZnVuY3Rpb24gbS5wcm9qZWN0UnVsZXNFeGlzdChwcmopCmZvciBpID0gMSwgI3Byai5ydWxlcyBkbwpsb2NhbCBydWxlID0gcHJqLnJ1bGVzW2ldCmlmIG5vdCBwLmdsb2JhbC5nZXRSdWxlKHJ1bGUpIHRoZW4KcC5lcnJvcigicHJvamVjdCAnJXMnIHVzZXMgbWlzc2luZyBydWxlICclcyciLCBwcmoubmFtZSwgcnVsZSkKZW5kCmVuZAplbmQKZnVuY3Rpb24gbS5wcm9qZWN0VmFsdWVzSW5TY29wZShwcmopCnAuY29uZmlnLnZhbGlkYXRlU2NvcGVzKHByaiwgcHJqLCAicHJvamVjdCIpCmVuZApmdW5jdGlvbiBtLnVuaXF1ZVByb2plY3RJZHMod2tzKQpsb2NhbCB1dWlkcyA9IHt9CmZvciBwcmogaW4gcC53b3Jrc3BhY2UuZWFjaHByb2plY3Qod2tzKSBkbwppZiB1dWlkc1twcmoudXVpZF0gdGhlbgpwLmVycm9yKCJwcm9qZWN0cyAnJXMnIGFuZCAnJXMnIGhhdmUgdGhlIHNhbWUgVVVJRCIsIHV1aWRzW3Byai51dWlkXSwgcHJqLm5hbWUpCmVuZAp1dWlkc1twcmoudXVpZF0gPSBwcmoubmFtZQplbmQKZW5kCmZ1bmN0aW9uIG0ud29ya3NwYWNlSGFzQ29uZmlncyh3a3MpCmlmIG5vdCB3a3MuY29uZmlndXJhdGlvbnMgb3IgI3drcy5jb25maWd1cmF0aW9ucyA9PSAwIHRoZW4KcC5lcnJvcigid29ya3NwYWNlICclcycgZG9lcyBub3QgY29udGFpbiBhbnkgY29uZmlndXJhdGlvbnMiLCB3a3MubmFtZSkKZW5kCmVuZAoAAABsb2NhbCBwID0gcHJlbWFrZQpsb2NhbCBfY2FwdHVyZWQKbG9jYWwgX2VzYyA9IGZ1bmN0aW9uKHYpIHJldHVybiB2IGVuZApsb2NhbCBfZW9sID0gIlxuIgpsb2NhbCBfaW5kZW50U3RyaW5nID0gIlx0Igpsb2NhbCBfaW5kZW50TGV2ZWwgPSAwCmdsb2JhbCgicm9vdCIpCmZ1bmN0aW9uIHByZW1ha2UuY2FwdHVyZShmbikKbG9jYWwgb2xkID0gX2NhcHR1cmVkCl9jYXB0dXJlZCA9IGJ1ZmZlcmVkLm5ldygpCmZuKCkKbG9jYWwgY2FwdHVyZWQgPSBwcmVtYWtlLmNhcHR1cmVkKCkKYnVmZmVyZWQuY2xvc2UoX2NhcHR1cmVkKQpfY2FwdHVyZWQgPSBvbGQKcmV0dXJuIGNhcHR1cmVkCmVuZApmdW5jdGlvbiBwcmVtYWtlLmNhcHR1cmVkKCkKaWYgX2NhcHR1cmVkIHRoZW4KcmV0dXJuIGJ1ZmZlcmVkLnRvc3RyaW5nKF9jYXB0dXJlZCkKZWxzZQpyZXR1cm4gIiIKZW5kCmVuZApmdW5jdGlvbiBwcmVtYWtlLmVvbChzKQpfZW9sID0gcyBvciBfZW9sCnJldHVybiBfZW9sCmVuZApmdW5jdGlvbiBwcmVtYWtlLmVzYyh2YWx1ZSkKaWYgdHlwZSh2YWx1ZSkgPT0gInRhYmxlIiB0aGVuCmxvY2FsIHJlc3VsdCA9IHt9CmxvY2FsIG4gPSAjdmFsdWUKZm9yIGkgPSAxLCBuIGRvCnRhYmxlLmluc2VydChyZXN1bHQsIHByZW1ha2UuZXNjKHZhbHVlW2ldKSkKZW5kCnJldHVybiByZXN1bHQKZW5kCnJldHVybiBfZXNjKHZhbHVlIG9yICIiKQplbmQKZnVuY3Rpb24gcHJlbWFrZS5lc2NhcGVyKGZ1bmMpCl9lc2MgPSBmdW5jCmlmIG5vdCBfZXNjIHRoZW4KX2VzYyA9IGZ1bmN0aW9uICh2YWx1ZSkgcmV0dXJuIHZhbHVlIGVuZAplbmQKZW5kCmZ1bmN0aW9uIHByZW1ha2UuZ2VuZXJhdGUob2JqLCBleHQsIGNhbGxiYWNrKQpsb2NhbCBvdXRwdXQgPSBwcmVtYWtlLmNhcHR1cmUoZnVuY3Rpb24gKCkKX2luZGVudExldmVsID0gMApjYWxsYmFjayhvYmopCl9pbmRlbnRMZXZlbCA9IDAKZW5kKQpsb2NhbCBmbiA9IHByZW1ha2UuZmlsZW5hbWUob2JqLCBleHQpCmxvY2FsIGRpciA9IHBhdGguZ2V0ZGlyZWN0b3J5KGZuKQpvaywgZXJyID0gb3MubWtkaXIoZGlyKQppZiBub3Qgb2sgdGhlbgplcnJvcihlcnIsIDApCmVuZApsb2NhbCBmLCBlcnIgPSBvcy53cml0ZWZpbGVfaWZub3RlcXVhbChvdXRwdXQsIGZuKTsKaWYgKGYgPCAwKSB0aGVuCmVycm9yKGVyciwgMCkKZWxzZWlmIChmID4gMCkgdGhlbgpwcmludGYoIkdlbmVyYXRlZCAlcy4uLiIsIHBhdGguZ2V0cmVsYXRpdmUob3MuZ2V0Y3dkKCksIGZuKSkKZW5kCmVuZApmdW5jdGlvbiBwcmVtYWtlLmZpbGVuYW1lKG9iaiwgZXh0KQpsb2NhbCBmbmFtZSA9IG9iai5sb2NhdGlvbiBvciBvYmouYmFzZWRpcgppZiBleHQgYW5kIG5vdCBleHQ6c3RhcnRzd2l0aCgiLiIpIHRoZW4KZm5hbWUgPSBwYXRoLmpvaW4oZm5hbWUsIGV4dCkKZWxzZQpmbmFtZSA9IHBhdGguam9pbihmbmFtZSwgb2JqLmZpbGVuYW1lKQppZiBleHQgdGhlbgpmbmFtZSA9IGZuYW1lIC4uIGV4dAplbmQKZW5kCnJldHVybiBwYXRoLmdldGFic29sdXRlKGZuYW1lKQplbmQKZnVuY3Rpb24gcHJlbWFrZS5pbmRlbnQocywgaSkKX2luZGVudFN0cmluZyA9IHMgb3IgIlx0IgpfaW5kZW50TGV2ZWwgPSBpIG9yIDAKZW5kCmZ1bmN0aW9uIHByZW1ha2Uub3V0KHMpCmlmIG5vdCBfY2FwdHVyZWQgdGhlbgppby53cml0ZShzKQplbHNlCmJ1ZmZlcmVkLndyaXRlKF9jYXB0dXJlZCwgcykKZW5kCmVuZApmdW5jdGlvbiBwcmVtYWtlLm91dGxuKHMpCnByZW1ha2Uub3V0KHMpCnByZW1ha2Uub3V0KF9lb2wgb3IgIlxuIikKZW5kCmZ1bmN0aW9uIHByZW1ha2UucG9wKGksIC4uLikKaWYgaSA9PSBuaWwgb3IgdHlwZShpKSA9PSAibnVtYmVyIiB0aGVuCl9pbmRlbnRMZXZlbCA9IF9pbmRlbnRMZXZlbCAtIChpIG9yIDEpCmVsc2UKX2luZGVudExldmVsID0gX2luZGVudExldmVsIC0gMQpwcmVtYWtlLncoaSwgLi4uKQplbmQKZW5kCmZ1bmN0aW9uIHByZW1ha2UucHVzaChpLCAuLi4pCmlmIGkgPT0gbmlsIG9yIHR5cGUoaSkgPT0gIm51bWJlciIgdGhlbgpfaW5kZW50TGV2ZWwgPSBfaW5kZW50TGV2ZWwgKyAoaSBvciAxKQplbHNlCnByZW1ha2UudyhpLCAuLi4pCl9pbmRlbnRMZXZlbCA9IF9pbmRlbnRMZXZlbCArIDEKZW5kCmVuZApmdW5jdGlvbiBwcmVtYWtlLnF1b3RlZCh2YWx1ZSkKbG9jYWwgcSA9IHZhbHVlOmZpbmQoIiAiLCAxLCB0cnVlKQppZiBub3QgcSB0aGVuCnEgPSB2YWx1ZTpmaW5kKCIkJSguLSUpIiwgMSkKZW5kCmlmIHEgdGhlbgp2YWx1ZSA9ICciJyAuLiB2YWx1ZSAuLiAnIicKZW5kCnJldHVybiB2YWx1ZQplbmQKZnVuY3Rpb24gcC51dGY4KCkKcC5vdXQoJ1wyMzlcMTg3XDE5MScpCmVuZApmdW5jdGlvbiBwcmVtYWtlLncoLi4uKQppZiBzZWxlY3QoIiMiLCAuLi4pID4gMCB0aGVuCnByZW1ha2Uub3V0bG4oc3RyaW5nLnJlcChfaW5kZW50U3RyaW5nIG9yICJcdCIsIF9pbmRlbnRMZXZlbCkgLi4gc3RyaW5nLmZvcm1hdCguLi4pKQplbHNlCnByZW1ha2Uub3V0bG4oJycpOwplbmQKZW5kCmZ1bmN0aW9uIHByZW1ha2UueChtc2csIC4uLikKbG9jYWwgYXJnID0gey4uLn0KZm9yIGkgPSAxLCAjYXJnIGRvCmFyZ1tpXSA9IHByZW1ha2UuZXNjKGFyZ1tpXSkKZW5kCnByZW1ha2Uudyhtc2csIHVucGFjayhhcmcpKQplbmQKZnVuY3Rpb24gcHJlbWFrZS54bWxVdGY4KHVwcGVyKQpsb2NhbCBlbmNvZGluZyA9IGlpZih1cHBlciwgIlVURi04IiwgInV0Zi04IikKcHJlbWFrZS53KCc8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSIlcyI/PicsIGVuY29kaW5nKQplbmQKZnVuY3Rpb24gX3AoaSwgLi4uKQppZiB0eXBlKGkpID09ICJudW1iZXIiIHRoZW4KX2luZGVudExldmVsID0gaQpwcmVtYWtlLncoLi4uKQplbHNlCl9pbmRlbnRMZXZlbCA9IDAKcHJlbWFrZS53KGksIC4uLikKZW5kCmVuZApmdW5jdGlvbiBfeChpLCAuLi4pCmxvY2FsIGFyZyA9IHsuLi59CmZvciBpID0gMiwgI2FyZyBkbwphcmdbaV0gPSBwcmVtYWtlLmVzYyhhcmdbaV0pCmVuZApfcChpLCB1bnBhY2soYXJnKSkKZW5kCgAAAAAAAABmdW5jdGlvbiBwcmVtYWtlLnNob3doZWxwKCkKcHJpbnRmKCJQcmVtYWtlICVzLCBhIGJ1aWxkIHNjcmlwdCBnZW5lcmF0b3IiLCBfUFJFTUFLRV9WRVJTSU9OKQpwcmludGYoX1BSRU1BS0VfQ09QWVJJR0hUKQpwcmludGYoIiVzICVzIiwgX1ZFUlNJT04sIF9DT1BZUklHSFQpCnByaW50ZigiIikKcHJpbnRmKCJVc2FnZTogcHJlbWFrZTUgW29wdGlvbnNdIGFjdGlvbiBbYXJndW1lbnRzXSIpCnByaW50ZigiIikKbG9jYWwgY2F0ZWdvcmllcyA9IHt9CmZvciBvcHRpb24gaW4gcHJlbWFrZS5vcHRpb24uZWFjaCgpIGRvCmxvY2FsIGNhdCA9ICJPUFRJT05TIC0gR2VuZXJhbCIKaWYgb3B0aW9uLmNhdGVnb3J5IHRoZW4KY2F0ID0gIk9QVElPTlMgLSAiIC4uIG9wdGlvbi5jYXRlZ29yeTsKZW5kCmlmIGNhdGVnb3JpZXNbY2F0XSB0aGVuCnRhYmxlLmluc2VydChjYXRlZ29yaWVzW2NhdF0sIG9wdGlvbikKZWxzZQpjYXRlZ29yaWVzW2NhdF0gPSB7b3B0aW9ufQplbmQKZW5kCmZvciBrLCBvcHRpb25zIGluIHBhaXJzKGNhdGVnb3JpZXMpIGRvCnByaW50ZihrKQpwcmludGYoIiIpCmZvciBfLCBvcHRpb24gaW4gaXBhaXJzKG9wdGlvbnMpIGRvCmxvY2FsIHRyaWdnZXIgPSBvcHRpb24udHJpZ2dlcgpsb2NhbCBkZXNjcmlwdGlvbiA9IG9wdGlvbi5kZXNjcmlwdGlvbgppZiAob3B0aW9uLnZhbHVlKSB0aGVuIHRyaWdnZXIgPSB0cmlnZ2VyIC4uICI9IiAuLiBvcHRpb24udmFsdWUgZW5kCmlmIChvcHRpb24uYWxsb3dlZCkgdGhlbiBkZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uIC4uICI7IG9uZSBvZjoiIGVuZApwcmludGYoIiAtLSUtMTVzICVzIiwgdHJpZ2dlciwgZGVzY3JpcHRpb24pCmlmIChvcHRpb24uYWxsb3dlZCkgdGhlbgpmb3IgXywgdmFsdWUgaW4gaXBhaXJzKG9wdGlvbi5hbGxvd2VkKSBkbwpwcmludGYoIiAgICAgJS0xNHMgJXMiLCB2YWx1ZVsxXSwgdmFsdWVbMl0pCmVuZAplbmQKcHJpbnRmKCIiKQplbmQKcHJpbnRmKCIiKQplbmQKcHJpbnRmKCJBQ1RJT05TIikKcHJpbnRmKCIiKQpmb3IgYWN0aW9uIGluIHByZW1ha2UuYWN0aW9uLmVhY2goKSBkbwpwcmludGYoIiAlLTE3cyAlcyIsIGFjdGlvbi50cmlnZ2VyLCBhY3Rpb24uZGVzY3JpcHRpb24pCmVuZApwcmludGYoIiIpCnByaW50ZigiRm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24sIHNlZSBodHRwOi8vaW5kdXN0cmlvdXNvbmUuY29tL3ByZW1ha2UiKQplbmQKAAAAcHJlbWFrZS50b29scy5kb3RuZXQgPSB7fQpsb2NhbCBkb3RuZXQgPSBwcmVtYWtlLnRvb2xzLmRvdG5ldApsb2NhbCBwcm9qZWN0ID0gcHJlbWFrZS5wcm9qZWN0CmxvY2FsIGNvbmZpZyA9IHByZW1ha2UuY29uZmlnCmZ1bmN0aW9uIGRvdG5ldC5maWxlaW5mbyhmY2ZnKQpsb2NhbCBpbmZvID0ge30KbG9jYWwgZm5hbWUgPSBmY2ZnLmFic3BhdGgKbG9jYWwgZXh0ID0gcGF0aC5nZXRleHRlbnNpb24oZm5hbWUpOmxvd2VyKCkKaWYgZmNmZy5idWlsZGFjdGlvbiA9PSAiQ29tcGlsZSIgb3IgZXh0ID09ICIuY3MiIHRoZW4KaW5mby5hY3Rpb24gPSAiQ29tcGlsZSIKZWxzZWlmIGZjZmcuYnVpbGRhY3Rpb24gPT0gIkVtYmVkIiBvciBleHQgPT0gIi5yZXN4IiB0aGVuCmluZm8uYWN0aW9uID0gIkVtYmVkZGVkUmVzb3VyY2UiCmVsc2VpZiBmY2ZnLmJ1aWxkYWN0aW9uID09ICJDb3B5IiBvciBleHQgPT0gIi5hc2F4IiBvciBleHQgPT0gIi5hc3B4IiB0aGVuCmluZm8uYWN0aW9uID0gIkNvbnRlbnQiCmVsc2VpZiBmY2ZnLmJ1aWxkYWN0aW9uID09ICJSZXNvdXJjZSIgdGhlbgppbmZvLmFjdGlvbiA9ICJSZXNvdXJjZSIKZWxzZWlmIGV4dCA9PSAiLnhhbWwiIHRoZW4KaWYgZmNmZy5idWlsZGFjdGlvbiA9PSAiQXBwbGljYXRpb24iIG9yIHBhdGguZ2V0YmFzZW5hbWUoZm5hbWUpID09ICJBcHAiIHRoZW4KaW5mby5hY3Rpb24gPSAiQXBwbGljYXRpb25EZWZpbml0aW9uIgplbHNlCmluZm8uYWN0aW9uID0gIlBhZ2UiCmVuZAplbHNlCmluZm8uYWN0aW9uID0gIk5vbmUiCmVuZAppZiBpbmZvLmFjdGlvbiA9PSAiQ29tcGlsZSIgYW5kIGZuYW1lOmVuZHN3aXRoKCIuY3MiKSB0aGVuCmlmIGZuYW1lOmVuZHN3aXRoKCIuRGVzaWduZXIuY3MiKSB0aGVuCmxvY2FsIGJhc2VuYW1lID0gZm5hbWU6c3ViKDEsIC0xMykKbG9jYWwgdGVzdG5hbWUgPSBiYXNlbmFtZSAuLiAiLnJlc3giCmlmIHByb2plY3QuaGFzZmlsZShmY2ZnLnByb2plY3QsIHRlc3RuYW1lKSB0aGVuCmluZm8uQXV0b0dlbiA9ICJUcnVlIgppbmZvLkRlcGVuZGVudFVwb24gPSB0ZXN0bmFtZQplbmQKdGVzdG5hbWUgPSBiYXNlbmFtZSAuLiAiLnNldHRpbmdzIgppZiBwcm9qZWN0Lmhhc2ZpbGUoZmNmZy5wcm9qZWN0LCB0ZXN0bmFtZSkgdGhlbgppbmZvLkF1dG9HZW4gPSAiVHJ1ZSIKaW5mby5EZXBlbmRlbnRVcG9uID0gdGVzdG5hbWUKaW5mby5EZXNpZ25UaW1lU2hhcmVkSW5wdXQgPSAiVHJ1ZSIKZW5kCnRlc3RuYW1lID0gYmFzZW5hbWUgLi4gIi5jcyIKaWYgcHJvamVjdC5oYXNmaWxlKGZjZmcucHJvamVjdCwgdGVzdG5hbWUpIHRoZW4KaW5mby5BdXRvR2VuID0gbmlsCmluZm8uU3ViVHlwZSA9ICJEZXBlbmRlbmN5IgppbmZvLkRlcGVuZGVudFVwb24gPSB0ZXN0bmFtZQplbmQKZWxzZWlmIGZuYW1lOmVuZHN3aXRoKCIueGFtbC5jcyIpIHRoZW4KaW5mby5TdWJUeXBlID0gIkNvZGUiCmluZm8uRGVwZW5kZW50VXBvbiA9IGZuYW1lOnN1YigxLCAtNCkKZWxzZQpsb2NhbCBiYXNlbmFtZSA9IGZuYW1lOnN1YigxLCAtNCkKdGVzdG5hbWUgPSBiYXNlbmFtZSAuLiAiLkRlc2lnbmVyLmNzIgppZiBwcm9qZWN0Lmhhc2ZpbGUoZmNmZy5wcm9qZWN0LCB0ZXN0bmFtZSkgdGhlbgppbmZvLlN1YlR5cGUgPSAiRm9ybSIKZW5kCmVuZAppZiBmY2ZnLmJ1aWxkYWN0aW9uID09ICJDb21wb25lbnQiIG9yCiAgIGZjZmcuYnVpbGRhY3Rpb24gPT0gIkZvcm0iIG9yCiAgIGZjZmcuYnVpbGRhY3Rpb24gPT0gIlVzZXJDb250cm9sIgogICB0aGVuCmluZm8uU3ViVHlwZSA9IGZjZmcuYnVpbGRhY3Rpb24KZW5kCmlmIGZjZmcuZmxhZ3MgYW5kIGZjZmcuZmxhZ3MuQ29tcG9uZW50IHRoZW4KaW5mby5TdWJUeXBlID0gIkNvbXBvbmVudCIKZW5kCmVuZAppZiBpbmZvLmFjdGlvbiA9PSAiQ29udGVudCIgdGhlbgppbmZvLkNvcHlUb091dHB1dERpcmVjdG9yeSA9ICJQcmVzZXJ2ZU5ld2VzdCIKZW5kCmlmIGluZm8uYWN0aW9uID09ICJFbWJlZGRlZFJlc291cmNlIiBhbmQgZm5hbWU6ZW5kc3dpdGgoIi5yZXN4IikgdGhlbgpsb2NhbCBiYXNlbmFtZSA9IGZuYW1lOnN1YigxLCAtNikKbG9jYWwgdGVzdG5hbWUgPSBiYXNlbmFtZSAuLiAiLmNzIgppZiBwcm9qZWN0Lmhhc2ZpbGUoZmNmZy5wcm9qZWN0LCB0ZXN0bmFtZSkgdGhlbgppbmZvLkRlcGVuZGVudFVwb24gPSB0ZXN0bmFtZQppZiBwcm9qZWN0Lmhhc2ZpbGUoZmNmZy5wcm9qZWN0LCBiYXNlbmFtZSAuLiAiLkRlc2lnbmVyLmNzIikgdGhlbgppbmZvLlN1YlR5cGUgPSAiRGVzaWduZXJUeXBlIgplbmQKZWxzZQp0ZXN0bmFtZSA9IGJhc2VuYW1lIC4uICIuRGVzaWduZXIuY3MiCmlmIHByb2plY3QuaGFzZmlsZShmY2ZnLnByb2plY3QsIHRlc3RuYW1lKSB0aGVuCmluZm8uU3ViVHlwZSA9ICJEZXNpZ25lciIKaW5mby5HZW5lcmF0b3IgPSAiUmVzWEZpbGVDb2RlR2VuZXJhdG9yIgppbmZvLkxhc3RHZW5PdXRwdXQgPSBwYXRoLmdldG5hbWUodGVzdG5hbWUpCmVuZAplbmQKZW5kCmlmIGluZm8uYWN0aW9uID09ICJOb25lIiBhbmQgZm5hbWU6ZW5kc3dpdGgoIi5zZXR0aW5ncyIpIHRoZW4KbG9jYWwgdGVzdG5hbWUgPSBmbmFtZTpzdWIoMSwgLTEwKSAuLiAiLkRlc2lnbmVyLmNzIgppZiBwcm9qZWN0Lmhhc2ZpbGUoZmNmZy5wcm9qZWN0LCB0ZXN0bmFtZSkgdGhlbgppbmZvLkdlbmVyYXRvciA9ICJTZXR0aW5nc1NpbmdsZUZpbGVHZW5lcmF0b3IiCmluZm8uTGFzdEdlbk91dHB1dCA9IHBhdGguZ2V0bmFtZSh0ZXN0bmFtZSkKZW5kCmVuZAppZiBmbmFtZTplbmRzd2l0aCgiLnhhbWwiKSB0aGVuCmxvY2FsIHRlc3RuYW1lID0gZm5hbWUgLi4gIi5jcyIKaWYgcHJvamVjdC5oYXNmaWxlKGZjZmcucHJvamVjdCwgdGVzdG5hbWUpIHRoZW4KaW5mby5TdWJUeXBlID0gIkRlc2lnbmVyIgppbmZvLkdlbmVyYXRvciA9ICJNU0J1aWxkOkNvbXBpbGUiCmVuZAplbmQKaWYgaW5mby5EZXBlbmRlbnRVcG9uIHRoZW4KaW5mby5EZXBlbmRlbnRVcG9uID0gcGF0aC5nZXRuYW1lKGluZm8uRGVwZW5kZW50VXBvbikKZW5kCnJldHVybiBpbmZvCmVuZApmdW5jdGlvbiBkb3RuZXQuZ2V0dG9vbG5hbWUoY2ZnLCB0b29sKQpsb2NhbCBjb21waWxlcnMgPSB7Cm1zbmV0ID0gImNzYyIsCm1vbm8gPSAibWNzIiwKcG5ldCA9ICJjc2NjIiwKfQppZiB0b29sID09ICJjc2MiIHRoZW4KbG9jYWwgdG9vbHNldCA9IF9PUFRJT05TLmRvdG5ldCBvciBpaWYob3MuaXMocHJlbWFrZS5XSU5ET1dTKSwgIm1zbmV0IiwgIm1vbm8iKQpyZXR1cm4gY29tcGlsZXJzW3Rvb2xzZXRdCmVsc2UKcmV0dXJuICJyZXNnZW4iCmVuZAplbmQKZG90bmV0LmZsYWdzID0gewpjbHIgPSB7ClVuc2FmZSA9ICIvdW5zYWZlIiwKfSwKZmxhZ3MgPSB7CkZhdGFsV2FybmluZyA9ICIvd2FybmFzZXJyb3IiLApTeW1ib2xzID0gIi9kZWJ1ZyIsCn0sCm9wdGltaXplID0gewpPbiA9ICIvb3B0aW1pemUiLApTaXplID0gIi9vcHRpbWl6ZSIsClNwZWVkID0gIi9vcHRpbWl6ZSIsCn0sCn0KZnVuY3Rpb24gZG90bmV0LmdldGZsYWdzKGNmZykKbG9jYWwgZmxhZ3MgPSBjb25maWcubWFwRmxhZ3MoY2ZnLCBkb3RuZXQuZmxhZ3MpCnRhYmxlLmluc2VydChmbGFncywgJy9ub2NvbmZpZycpCmlmIGNmZy5wcm9qZWN0Lmljb24gdGhlbgpsb2NhbCBmbiA9IHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGNmZy5wcm9qZWN0Lmljb24pCnRhYmxlLmluc2VydChmbGFncywgc3RyaW5nLmZvcm1hdCgnL3dpbjMyaWNvbjoiJXMiJywgZm4pKQplbmQKaWYgI2NmZy5kZWZpbmVzID4gMCB0aGVuCnRhYmxlLmluc2VydChmbGFncywgdGFibGUuaW1wbG9kZShjZmcuZGVmaW5lcywgIi9kOiIsICIiLCAiICIpKQplbmQKcmV0dXJuIHRhYmxlLmpvaW4oZmxhZ3MsIGNmZy5idWlsZG9wdGlvbnMpCmVuZApmdW5jdGlvbiBkb3RuZXQuZ2V0a2luZChjZmcpCmlmIChjZmcua2luZCA9PSAiQ29uc29sZUFwcCIpIHRoZW4KcmV0dXJuICJFeGUiCmVsc2VpZiAoY2ZnLmtpbmQgPT0gIldpbmRvd2VkQXBwIikgdGhlbgpyZXR1cm4gIldpbkV4ZSIKZWxzZWlmIChjZmcua2luZCA9PSAiU2hhcmVkTGliIikgdGhlbgpyZXR1cm4gIkxpYnJhcnkiCmVuZAplbmQKZnVuY3Rpb24gZG90bmV0LmdldG1ha2VzZXR0aW5ncyhjZmcpCnJldHVybiBuaWwKZW5kCgAAAABsb2NhbCBwID0gcHJlbWFrZQpwLnRvb2xzLmdjYyA9IHt9CmxvY2FsIGdjYyA9IHAudG9vbHMuZ2NjCmxvY2FsIHByb2plY3QgPSBwLnByb2plY3QKbG9jYWwgY29uZmlnID0gcC5jb25maWcKZ2NjLmNwcGZsYWdzID0gewpzeXN0ZW0gPSB7CmhhaWt1ID0gIi1NTUQiLAp3aWkgPSB7ICItTU1EIiwgIi1NUCIsICItSSQoTElCT0dDX0lOQykiLCAiJChNQUNIREVQKSIgfSwKXyA9IHsgIi1NTUQiLCAiLU1QIiB9Cn0KfQpmdW5jdGlvbiBnY2MuZ2V0Y3BwZmxhZ3MoY2ZnKQpsb2NhbCBmbGFncyA9IGNvbmZpZy5tYXBGbGFncyhjZmcsIGdjYy5jcHBmbGFncykKcmV0dXJuIGZsYWdzCmVuZApnY2MuY2ZsYWdzID0gewphcmNoaXRlY3R1cmUgPSB7Cng4NiA9ICItbTMyIiwKeDg2XzY0ID0gIi1tNjQiLAp9LApmbGFncyA9IHsKRmF0YWxDb21waWxlV2FybmluZ3MgPSAiLVdlcnJvciIsCkxpbmtUaW1lT3B0aW1pemF0aW9uID0gIi1mbHRvIiwKTm9GcmFtZVBvaW50ZXIgPSAiLWZvbWl0LWZyYW1lLXBvaW50ZXIiLApTaGFkb3dlZFZhcmlhYmxlcyA9ICItV3NoYWRvdyIsClN5bWJvbHMgPSAiLWciLApVbmRlZmluZWRJZGVudGlmaWVycyA9ICItV3VuZGVmIiwKfSwKZmxvYXRpbmdwb2ludCA9IHsKRmFzdCA9ICItZmZhc3QtbWF0aCIsClN0cmljdCA9ICItZmZsb2F0LXN0b3JlIiwKfSwKc3RyaWN0YWxpYXNpbmcgPSB7Ck9mZiA9ICItZm5vLXN0cmljdC1hbGlhc2luZyIsCkxldmVsMSA9IHsgIi1mc3RyaWN0LWFsaWFzaW5nIiwgIi1Xc3RyaWN0LWFsaWFzaW5nPTEiIH0sCkxldmVsMiA9IHsgIi1mc3RyaWN0LWFsaWFzaW5nIiwgIi1Xc3RyaWN0LWFsaWFzaW5nPTIiIH0sCkxldmVsMyA9IHsgIi1mc3RyaWN0LWFsaWFzaW5nIiwgIi1Xc3RyaWN0LWFsaWFzaW5nPTMiIH0sCn0sCm9wdGltaXplID0gewpPZmYgPSAiLU8wIiwKT24gPSAiLU8yIiwKRGVidWcgPSAiLU9nIiwKRnVsbCA9ICItTzMiLApTaXplID0gIi1PcyIsClNwZWVkID0gIi1PMyIsCn0sCnBpYyA9IHsKT24gPSAiLWZQSUMiLAp9LAp2ZWN0b3JleHRlbnNpb25zID0gewpBVlggPSAiLW1hdngiLApBVlgyID0gIi1tYXZ4MiIsClNTRSA9ICItbXNzZSIsClNTRTIgPSAiLW1zc2UyIiwKU1NFMyA9ICItbXNzZTMiLApTU1NFMyA9ICItbXNzc2UzIiwKWyJTU0U0LjEiXSA9ICItbXNzZTQuMSIsCn0sCndhcm5pbmdzID0gewpFeHRyYSA9ICItV2FsbCAtV2V4dHJhIiwKT2ZmID0gIi13IiwKfQp9CmZ1bmN0aW9uIGdjYy5nZXRjZmxhZ3MoY2ZnKQpsb2NhbCBmbGFncyA9IGNvbmZpZy5tYXBGbGFncyhjZmcsIGdjYy5jZmxhZ3MpCmZsYWdzID0gdGFibGUuam9pbihmbGFncywgZ2NjLmdldHdhcm5pbmdzKGNmZykpCnJldHVybiBmbGFncwplbmQKZnVuY3Rpb24gZ2NjLmdldHdhcm5pbmdzKGNmZykKbG9jYWwgcmVzdWx0ID0ge30KZm9yIF8sIGVuYWJsZSBpbiBpcGFpcnMoY2ZnLmVuYWJsZXdhcm5pbmdzKSBkbwp0YWJsZS5pbnNlcnQocmVzdWx0LCAnLVcnIC4uIGVuYWJsZSkKZW5kCmZvciBfLCBkaXNhYmxlIGluIGlwYWlycyhjZmcuZGlzYWJsZXdhcm5pbmdzKSBkbwp0YWJsZS5pbnNlcnQocmVzdWx0LCAnLVduby0nIC4uIGRpc2FibGUpCmVuZApmb3IgXywgZmF0YWwgaW4gaXBhaXJzKGNmZy5mYXRhbHdhcm5pbmdzKSBkbwp0YWJsZS5pbnNlcnQocmVzdWx0LCAnLVdlcnJvcj0nIC4uIGZhdGFsKQplbmQKcmV0dXJuIHJlc3VsdAplbmQKZ2NjLmN4eGZsYWdzID0gewpleGNlcHRpb25oYW5kbGluZyA9IHsKT2ZmID0gIi1mbm8tZXhjZXB0aW9ucyIKfSwKZmxhZ3MgPSB7Ck5vQnVmZmVyU2VjdXJpdHlDaGVjayA9ICItZm5vLXN0YWNrLXByb3RlY3RvciIsClsiQysrMTEiXSA9ICItc3RkPWMrKzExIiwKWyJDKysxNCJdID0gIi1zdGQ9YysrMTQiLAp9LApydHRpID0gewpPZmYgPSAiLWZuby1ydHRpIgp9Cn0KZnVuY3Rpb24gZ2NjLmdldGN4eGZsYWdzKGNmZykKbG9jYWwgZmxhZ3MgPSBjb25maWcubWFwRmxhZ3MoY2ZnLCBnY2MuY3h4ZmxhZ3MpCnJldHVybiBmbGFncwplbmQKZnVuY3Rpb24gZ2NjLmdldGRlZmluZXMoZGVmaW5lcykKbG9jYWwgcmVzdWx0ID0ge30KZm9yIF8sIGRlZmluZSBpbiBpcGFpcnMoZGVmaW5lcykgZG8KdGFibGUuaW5zZXJ0KHJlc3VsdCwgJy1EJyAuLiBkZWZpbmUpCmVuZApyZXR1cm4gcmVzdWx0CmVuZApmdW5jdGlvbiBnY2MuZ2V0dW5kZWZpbmVzKHVuZGVmaW5lcykKbG9jYWwgcmVzdWx0ID0ge30KZm9yIF8sIHVuZGVmaW5lIGluIGlwYWlycyh1bmRlZmluZXMpIGRvCnRhYmxlLmluc2VydChyZXN1bHQsICctVScgLi4gdW5kZWZpbmUpCmVuZApyZXR1cm4gcmVzdWx0CmVuZApmdW5jdGlvbiBnY2MuZ2V0Zm9yY2VpbmNsdWRlcyhjZmcpCmxvY2FsIHJlc3VsdCA9IHt9CnRhYmxlLmZvcmVhY2hpKGNmZy5mb3JjZWluY2x1ZGVzLCBmdW5jdGlvbih2YWx1ZSkKbG9jYWwgZm4gPSBwcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCB2YWx1ZSkKdGFibGUuaW5zZXJ0KHJlc3VsdCwgc3RyaW5nLmZvcm1hdCgnLWluY2x1ZGUgJXMnLCBwcmVtYWtlLnF1b3RlZChmbikpKQplbmQpCnJldHVybiByZXN1bHQKZW5kCmZ1bmN0aW9uIGdjYy5nZXRpbmNsdWRlZGlycyhjZmcsIGRpcnMsIHN5c2RpcnMpCmxvY2FsIHJlc3VsdCA9IHt9CmZvciBfLCBkaXIgaW4gaXBhaXJzKGRpcnMpIGRvCmRpciA9IHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGRpcikKdGFibGUuaW5zZXJ0KHJlc3VsdCwgJy1JJyAuLiBwcmVtYWtlLnF1b3RlZChkaXIpKQplbmQKZm9yIF8sIGRpciBpbiBpcGFpcnMoc3lzZGlycyBvciB7fSkgZG8KZGlyID0gcHJvamVjdC5nZXRyZWxhdGl2ZShjZmcucHJvamVjdCwgZGlyKQp0YWJsZS5pbnNlcnQocmVzdWx0LCAnLWlzeXN0ZW0gJyAuLiBwcmVtYWtlLnF1b3RlZChkaXIpKQplbmQKcmV0dXJuIHJlc3VsdAplbmQKZ2NjLmxkZmxhZ3MgPSB7CmFyY2hpdGVjdHVyZSA9IHsKeDg2ID0gIi1tMzIiLAp4ODZfNjQgPSAiLW02NCIsCn0sCmZsYWdzID0gewpMaW5rVGltZU9wdGltaXphdGlvbiA9ICItZmx0byIsCl9TeW1ib2xzID0gZnVuY3Rpb24oY2ZnKQpyZXR1cm4gaWlmKGNmZy5zeXN0ZW0gPT0gcHJlbWFrZS5NQUNPU1gsICItV2wsLXgiLCAiLXMiKQplbmQsCn0sCmtpbmQgPSB7ClNoYXJlZExpYiA9IGZ1bmN0aW9uKGNmZykKbG9jYWwgciA9IHsgaWlmKGNmZy5zeXN0ZW0gPT0gcHJlbWFrZS5NQUNPU1gsICItZHluYW1pY2xpYiIsICItc2hhcmVkIikgfQppZiBjZmcuc3lzdGVtID09ICJ3aW5kb3dzIiBhbmQgbm90IGNmZy5mbGFncy5Ob0ltcG9ydExpYiB0aGVuCnRhYmxlLmluc2VydChyLCAnLVdsLC0tb3V0LWltcGxpYj0iJyAuLiBjZmcubGlua3RhcmdldC5yZWxwYXRoIC4uICciJykKZW5kCnJldHVybiByCmVuZCwKV2luZG93ZWRBcHAgPSBmdW5jdGlvbihjZmcpCmlmIGNmZy5zeXN0ZW0gPT0gcHJlbWFrZS5XSU5ET1dTIHRoZW4gcmV0dXJuICItbXdpbmRvd3MiIGVuZAplbmQsCn0sCnN5c3RlbSA9IHsKd2lpID0gIiQoTUFDSERFUCkiLAp9Cn0KZnVuY3Rpb24gZ2NjLmdldGxkZmxhZ3MoY2ZnKQpsb2NhbCBmbGFncyA9IGNvbmZpZy5tYXBGbGFncyhjZmcsIGdjYy5sZGZsYWdzKQpyZXR1cm4gZmxhZ3MKZW5kCmdjYy5saWJyYXJ5RGlyZWN0b3JpZXMgPSB7CmFyY2hpdGVjdHVyZSA9IHsKeDg2ID0gIi1ML3Vzci9saWIzMiIsCng4Nl82NCA9ICItTC91c3IvbGliNjQiLAp9LApzeXN0ZW0gPSB7CndpaSA9ICItTCQoTElCT0dDX0xJQikiLAp9Cn0KZnVuY3Rpb24gZ2NjLmdldExpYnJhcnlEaXJlY3RvcmllcyhjZmcpCmxvY2FsIGZsYWdzID0gY29uZmlnLm1hcEZsYWdzKGNmZywgZ2NjLmxpYnJhcnlEaXJlY3RvcmllcykKZm9yIF8sIGRpciBpbiBpcGFpcnMoY29uZmlnLmdldGxpbmtzKGNmZywgInN5c3RlbSIsICJkaXJlY3RvcnkiKSkgZG8KdGFibGUuaW5zZXJ0KGZsYWdzLCAnLUwnIC4uIHByZW1ha2UucXVvdGVkKGRpcikpCmVuZAppZiBjZmcuZmxhZ3MuUmVsYXRpdmVMaW5rcyB0aGVuCmZvciBfLCBkaXIgaW4gaXBhaXJzKGNvbmZpZy5nZXRsaW5rcyhjZmcsICJzaWJsaW5ncyIsICJkaXJlY3RvcnkiKSkgZG8KbG9jYWwgbGliRmxhZyA9ICItTCIgLi4gcHJlbWFrZS5wcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCBkaXIpCmlmIG5vdCB0YWJsZS5jb250YWlucyhmbGFncywgbGliRmxhZykgdGhlbgp0YWJsZS5pbnNlcnQoZmxhZ3MsIGxpYkZsYWcpCmVuZAplbmQKZW5kCmZvciBfLCBkaXIgaW4gaXBhaXJzKGNmZy5zeXNsaWJkaXJzKSBkbwp0YWJsZS5pbnNlcnQoZmxhZ3MsICctTCcgLi4gcHJlbWFrZS5xdW90ZWQoZGlyKSkKZW5kCnJldHVybiBmbGFncwplbmQKZnVuY3Rpb24gZ2NjLmdldGxpbmtzKGNmZywgc3lzdGVtb25seSkKbG9jYWwgcmVzdWx0ID0ge30KaWYgbm90IHN5c3RlbW9ubHkgdGhlbgppZiBjZmcuZmxhZ3MuUmVsYXRpdmVMaW5rcyB0aGVuCmxvY2FsIGxpYkZpbGVzID0gY29uZmlnLmdldGxpbmtzKGNmZywgInNpYmxpbmdzIiwgImJhc2VuYW1lIikKZm9yIF8sIGxpbmsgaW4gaXBhaXJzKGxpYkZpbGVzKSBkbwppZiBzdHJpbmcuZmluZChsaW5rLCAibGliIikgPT0gMSB0aGVuCmxpbmsgPSBsaW5rOnN1Yig0KQplbmQKdGFibGUuaW5zZXJ0KHJlc3VsdCwgIi1sIiAuLiBsaW5rKQplbmQKZWxzZQpyZXN1bHQgPSBjb25maWcuZ2V0bGlua3MoY2ZnLCAic2libGluZ3MiLCAiZnVsbHBhdGgiKQplbmQKZW5kCmxvY2FsIGxpbmtzID0gY29uZmlnLmdldGxpbmtzKGNmZywgInN5c3RlbSIsICJmdWxscGF0aCIpCmZvciBfLCBsaW5rIGluIGlwYWlycyhsaW5rcykgZG8KaWYgcGF0aC5pc2ZyYW1ld29yayhsaW5rKSB0aGVuCnRhYmxlLmluc2VydChyZXN1bHQsICItZnJhbWV3b3JrICIgLi4gcGF0aC5nZXRiYXNlbmFtZShsaW5rKSkKZWxzZWlmIHBhdGguaXNvYmplY3RmaWxlKGxpbmspIHRoZW4KdGFibGUuaW5zZXJ0KHJlc3VsdCwgbGluaykKZWxzZQp0YWJsZS5pbnNlcnQocmVzdWx0LCAiLWwiIC4uIHBhdGguZ2V0bmFtZShsaW5rKSkKZW5kCmVuZApyZXR1cm4gcmVzdWx0CmVuZApnY2MubWFrZXNldHRpbmdzID0gewpzeXN0ZW0gPSB7CndpaSA9IFtbCiAgaWZlcSAoJChzdHJpcCAkKERFVktJVFBQQykpLCkKICAgICQoZXJyb3IgIkRFVktJVFBQQyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0IiknCiAgZW5kaWYKICBpbmNsdWRlICQoREVWS0lUUFBDKS93aWlfcnVsZXMnXV0KfQp9CmZ1bmN0aW9uIGdjYy5nZXRtYWtlc2V0dGluZ3MoY2ZnKQpsb2NhbCBzZXR0aW5ncyA9IGNvbmZpZy5tYXBGbGFncyhjZmcsIGdjYy5tYWtlc2V0dGluZ3MpCnJldHVybiB0YWJsZS5jb25jYXQoc2V0dGluZ3MpCmVuZApnY2MudG9vbHMgPSB7CmNjID0gImdjYyIsCmN4eCA9ICJnKysiLAphciA9ICJhciIsCnJjID0gIndpbmRyZXMiCn0KZnVuY3Rpb24gZ2NjLmdldHRvb2xuYW1lKGNmZywgdG9vbCkKaWYgKGNmZy5nY2NwcmVmaXggYW5kIGdjYy50b29sc1t0b29sXSkgb3IgdG9vbCA9PSAicmMiIHRoZW4KcmV0dXJuIChjZmcuZ2NjcHJlZml4IG9yICIiKSAuLiBnY2MudG9vbHNbdG9vbF0KZW5kCnJldHVybiBuaWwKZW5kCmxvY2FsIHAgPSBwcmVtYWtlCnAudG9vbHMubXNjID0ge30KbG9jYWwgbXNjID0gcC50b29scy5tc2MKbG9jYWwgcHJvamVjdCA9IHAucHJvamVjdApsb2NhbCBjb25maWcgPSBwLmNvbmZpZwpmdW5jdGlvbiBtc2MuZ2V0Y3BwZmxhZ3MoY2ZnKQpyZXR1cm4ge30KZW5kCm1zYy5jZmxhZ3MgPSB7CmNsciA9IHsKT24gPSAiL2NsciIsClVuc2FmZSA9ICIvY2xyIiwKUHVyZSA9ICIvY2xyOnB1cmUiLApTYWZlID0gIi9jbHI6c2FmZSIsCn0sCmZsYWdzID0gewpGYXRhbENvbXBpbGVXYXJuaW5ncyA9ICIvV1giLApNdWx0aVByb2Nlc3NvckNvbXBpbGUgPSAiL01QIiwKTm9GcmFtZVBvaW50ZXIgPSAiL095IiwKTm9NaW5pbWFsUmVidWlsZCA9ICIvR20tIiwKU3ltYm9scyA9ICIvWjciLApPbWl0RGVmYXVsdExpYnJhcnkgPSAiL1psIiwKfSwKZmxvYXRpbmdwb2ludCA9IHsKRmFzdCA9ICIvZnA6ZmFzdCIsClN0cmljdCA9ICIvZnA6c3RyaWN0IiwKfSwKY2FsbGluZ2NvbnZlbnRpb24gPSB7CkNkZWNsID0gIi9HZCIsCkZhc3RDYWxsID0gIi9HciIsClN0ZENhbGwgPSAiL0d6IiwKVmVjdG9yQ2FsbCA9ICIvR3YiLAp9LApvcHRpbWl6ZSA9IHsKT2ZmID0gIi9PZCIsCk9uID0gIi9PdCIsCkRlYnVnID0gIi9PZCIsCkZ1bGwgPSAiL094IiwKU2l6ZSA9ICIvTzEiLApTcGVlZCA9ICIvTzIiLAp9LAp2ZWN0b3JleHRlbnNpb25zID0gewpBVlggPSAiL2FyY2g6QVZYIiwKQVZYMiA9ICIvYXJjaDpBVlgyIiwKU1NFID0gIi9hcmNoOlNTRSIsClNTRTIgPSAiL2FyY2g6U1NFMiIsClNTRTMgPSAiL2FyY2g6U1NFMiIsClNTU0UzID0gIi9hcmNoOlNTRTIiLApbIlNTRTQuMSJdID0gIi9hcmNoOlNTRTIiLAp9LAp3YXJuaW5ncyA9IHsKRXh0cmEgPSAiL1c0IiwKT2ZmID0gIi9XMCIsCn0KfQpmdW5jdGlvbiBtc2MuZ2V0Y2ZsYWdzKGNmZykKbG9jYWwgZmxhZ3MgPSBjb25maWcubWFwRmxhZ3MoY2ZnLCBtc2MuY2ZsYWdzKQpmbGFncyA9IHRhYmxlLmpvaW4oZmxhZ3MsIG1zYy5nZXR3YXJuaW5ncyhjZmcpKQpsb2NhbCBydW50aW1lID0gaWlmKGNmZy5mbGFncy5TdGF0aWNSdW50aW1lLCAiL01UIiwgIi9NRCIpCmlmIGNvbmZpZy5pc0RlYnVnQnVpbGQoY2ZnKSB0aGVuCnJ1bnRpbWUgPSBydW50aW1lIC4uICJkIgplbmQKdGFibGUuaW5zZXJ0KGZsYWdzLCBydW50aW1lKQpyZXR1cm4gZmxhZ3MKZW5kCmZ1bmN0aW9uIG1zYy5nZXR3YXJuaW5ncyhjZmcpCmxvY2FsIHJlc3VsdCA9IHt9CmZvciBfLCBkaXNhYmxlIGluIGlwYWlycyhjZmcuZGlzYWJsZXdhcm5pbmdzKSBkbwp0YWJsZS5pbnNlcnQocmVzdWx0LCAnL3dkIicgLi4gZGlzYWJsZSAuLiAnIicpCmVuZApmb3IgXywgZmF0YWwgaW4gaXBhaXJzKGNmZy5mYXRhbHdhcm5pbmdzKSBkbwp0YWJsZS5pbnNlcnQocmVzdWx0LCAnL3dlIicgLi4gZmF0YWwgLi4gJyInKQplbmQKcmV0dXJuIHJlc3VsdAplbmQKbXNjLmN4eGZsYWdzID0gewpleGNlcHRpb25oYW5kbGluZyA9IHsKRGVmYXVsdCA9ICIvRUhzYyIsCk9uID0gIi9FSHNjIiwKU0VIID0gIi9FSGEiLAp9LApydHRpID0gewpPZmYgPSAiL0dSLSIKfQp9CmZ1bmN0aW9uIG1zYy5nZXRjeHhmbGFncyhjZmcpCmxvY2FsIGZsYWdzID0gY29uZmlnLm1hcEZsYWdzKGNmZywgbXNjLmN4eGZsYWdzKQpyZXR1cm4gZmxhZ3MKZW5kCm1zYy5kZWZpbmVzID0gewpjaGFyYWN0ZXJzZXQgPSB7CkRlZmF1bHQgPSB7ICcvRCJfVU5JQ09ERSInLCAnL0QiVU5JQ09ERSInIH0sCk1CQ1MgPSAnL0QiX01CQ1MiJywKVW5pY29kZSA9IHsgJy9EIl9VTklDT0RFIicsICcvRCJVTklDT0RFIicgfSwKfQp9CmZ1bmN0aW9uIG1zYy5nZXRkZWZpbmVzKGRlZmluZXMsIGNmZykKbG9jYWwgcmVzdWx0CmlmIGNmZyBhbmQgZGVmaW5lcyB0aGVuCnJlc3VsdCA9IGNvbmZpZy5tYXBGbGFncyhjZmcsIG1zYy5kZWZpbmVzKQplbHNlCnJlc3VsdCA9IHt9CmVuZApmb3IgXywgZGVmaW5lIGluIGlwYWlycyhkZWZpbmVzKSBkbwp0YWJsZS5pbnNlcnQocmVzdWx0LCAnL0QiJyAuLiBkZWZpbmUgLi4gJyInKQplbmQKcmV0dXJuIHJlc3VsdAplbmQKZnVuY3Rpb24gbXNjLmdldHVuZGVmaW5lcyh1bmRlZmluZXMpCmxvY2FsIHJlc3VsdCA9IHt9CmZvciBfLCB1bmRlZmluZSBpbiBpcGFpcnModW5kZWZpbmVzKSBkbwp0YWJsZS5pbnNlcnQocmVzdWx0LCAnL1UiJyAuLiB1bmRlZmluZSAuLiAnIicpCmVuZApyZXR1cm4gcmVzdWx0CmVuZApmdW5jdGlvbiBtc2MuZ2V0Zm9yY2VpbmNsdWRlcyhjZmcpCmxvY2FsIHJlc3VsdCA9IHt9CnRhYmxlLmZvcmVhY2hpKGNmZy5mb3JjZWluY2x1ZGVzLCBmdW5jdGlvbih2YWx1ZSkKbG9jYWwgZm4gPSBwcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCB2YWx1ZSkKdGFibGUuaW5zZXJ0KHJlc3VsdCwgIi9GSSIgLi4gcHJlbWFrZS5xdW90ZWQoZm4pKQplbmQpCnJldHVybiByZXN1bHQKZW5kCmZ1bmN0aW9uIG1zYy5nZXRpbmNsdWRlZGlycyhjZmcsIGRpcnMsIHN5c2RpcnMpCmxvY2FsIHJlc3VsdCA9IHt9CmRpcnMgPSB0YWJsZS5qb2luKGRpcnMsIHN5c2RpcnMpCmZvciBfLCBkaXIgaW4gaXBhaXJzKGRpcnMpIGRvCmRpciA9IHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGRpcikKdGFibGUuaW5zZXJ0KHJlc3VsdCwgJy1JJyAuLiAgcHJlbWFrZS5xdW90ZWQoZGlyKSkKZW5kCnJldHVybiByZXN1bHQKZW5kCm1zYy5saW5rZXJGbGFncyA9IHsKZmxhZ3MgPSB7CkZhdGFsTGlua1dhcm5pbmdzID0gIi9XWCIsCkxpbmtUaW1lT3B0aW1pemF0aW9uID0gIi9HTCIsCk5vSW5jcmVtZW50YWxMaW5rID0gIi9JTkNSRU1FTlRBTDpOTyIsCk5vTWFuaWZlc3QgPSAiL01BTklGRVNUOk5PIiwKT21pdERlZmF1bHRMaWJyYXJ5ID0gIi9OT0RFRkFVTFRMSUIiLApTeW1ib2xzID0gIi9ERUJVRyIsCn0sCmtpbmQgPSB7ClNoYXJlZExpYiA9ICIvRExMIiwKfQp9Cm1zYy5saWJyYXJpYW5GbGFncyA9IHsKZmxhZ3MgPSB7CkZhdGFsTGlua1dhcm5pbmdzID0gIi9XWCIsCn0KfQpmdW5jdGlvbiBtc2MuZ2V0bGRmbGFncyhjZmcpCmxvY2FsIG1hcCA9IGlpZihjZmcua2luZCB+PSBwcmVtYWtlLlNUQVRJQ0xJQiwgbXNjLmxpbmtlckZsYWdzLCBtc2MubGlicmFyaWFuRmxhZ3MpCmxvY2FsIGZsYWdzID0gY29uZmlnLm1hcEZsYWdzKGNmZywgbWFwKQp0YWJsZS5pbnNlcnQoZmxhZ3MsIDEsICIvTk9MT0dPIikKZm9yIGksIGlnbm9yZSBpbiBpcGFpcnMoY2ZnLmlnbm9yZWRlZmF1bHRsaWJyYXJpZXMpIGRvCmlmIG5vdCBtc2MuZ2V0TGlicmFyeUV4dGVuc2lvbnMoKVtpZ25vcmU6bWF0Y2goIlteLl0rJCIpXSB0aGVuCmlnbm9yZSA9IHBhdGguYXBwZW5kZXh0ZW5zaW9uKGlnbm9yZSwgIi5saWIiKQplbmQKdGFibGUuaW5zZXJ0KGZsYWdzLCAnL05PREVGQVVMVExJQjonIC4uIGlnbm9yZSkKZW5kCnJldHVybiBmbGFncwplbmQKZnVuY3Rpb24gbXNjLmdldExpYnJhcnlEaXJlY3RvcmllcyhjZmcpCmxvY2FsIGZsYWdzID0ge30KbG9jYWwgZGlycyA9IHRhYmxlLmpvaW4oY2ZnLmxpYmRpcnMsIGNmZy5zeXNsaWJkaXJzKQpmb3IgaSwgZGlyIGluIGlwYWlycyhkaXJzKSBkbwpkaXIgPSBwcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCBkaXIpCnRhYmxlLmluc2VydChmbGFncywgJy9MSUJQQVRIOiInIC4uIGRpciAuLiAnIicpCmVuZApyZXR1cm4gZmxhZ3MKZW5kCmZ1bmN0aW9uIG1zYy5nZXRMaWJyYXJ5RXh0ZW5zaW9ucygpCnJldHVybiB7ClsibGliIl0gPSB0cnVlLApbIm9iaiJdID0gdHJ1ZSwKfQplbmQKZnVuY3Rpb24gbXNjLmdldGxpbmtzKGNmZykKbG9jYWwgbGlua3MgPSBjb25maWcuZ2V0bGlua3MoY2ZnLCAic3lzdGVtIiwgImZ1bGxwYXRoIikKZm9yIGkgPSAxLCAjbGlua3MgZG8KaWYgbm90IG1zYy5nZXRMaWJyYXJ5RXh0ZW5zaW9ucygpW2xpbmtzW2ldOm1hdGNoKCJbXi5dKyQiKV0gdGhlbgpsaW5rc1tpXSA9IHBhdGguYXBwZW5kZXh0ZW5zaW9uKGxpbmtzW2ldLCAiLmxpYiIpCmVuZAplbmQKcmV0dXJuIGxpbmtzCmVuZApmdW5jdGlvbiBtc2MuZ2V0bWFrZXNldHRpbmdzKGNmZykKcmV0dXJuIG5pbAplbmQKZnVuY3Rpb24gbXNjLmdldHRvb2xuYW1lKGNmZywgdG9vbCkKcmV0dXJuIG5pbAplbmQKAAAAAHByZW1ha2UudG9vbHMuc25jID0ge30KbG9jYWwgc25jID0gcHJlbWFrZS50b29scy5zbmMKbG9jYWwgZ2NjID0gcHJlbWFrZS50b29scy5nY2MKbG9jYWwgY29uZmlnID0gcHJlbWFrZS5jb25maWcKc25jLmNmbGFncyA9IHsKZmxhZ3MgPSB7CkZhdGFsQ29tcGlsZVdhcm5pbmdzID0gIi1YcXVpdD0yIiwKfSwKb3B0aW1pemUgPSB7Ck9mZiA9ICItTzAiLApPbiA9ICItTzEiLApEZWJ1ZyA9ICItT2QiLApGdWxsID0gIi1PMyIsClNpemUgPSAiLU9zIiwKU3BlZWQgPSAiLU8yIiwKfSwKd2FybmluZ3MgPSB7CkV4dHJhID0gIi1YZGlhZz0yIiwKfQp9CmZ1bmN0aW9uIHNuYy5nZXRjZmxhZ3MoY2ZnKQpsb2NhbCBmbGFncyA9IGNvbmZpZy5tYXBGbGFncyhjZmcsIHNuYy5jZmxhZ3MpCnJldHVybiBmbGFncwplbmQKZnVuY3Rpb24gc25jLmdldGN4eGZsYWdzKGNmZykKbG9jYWwgZmxhZ3MgPSB7fQppZiBjZmcuZXhjZXB0aW9uaGFuZGxpbmcgPT0gcC5PTiB0aGVuCnRhYmxlLmluc2VydChmbGFncywgIi1YYys9ZXhjZXB0aW9ucyIpCmVsc2VpZiBjZmcuZXhjZXB0aW9uaGFuZGxpbmcgPT0gcC5PRkYgdGhlbgp0YWJsZS5pbnNlcnQoZmxhZ3MsICItWGMtPWV4Y2VwdGlvbnMiKQplbmQKaWYgY2ZnLnJ0dGkgPT0gcC5PTiB0aGVuCnRhYmxlLmluc2VydChmbGFncywgIi1YYys9cnR0aSIpCmVsc2VpZiBjZmcucnR0aSA9PSBwLk9GRiB0aGVuCnRhYmxlLmluc2VydChmbGFncywgIi1YYy09cnR0aSIpCmVuZApyZXR1cm4gZmxhZ3MKZW5kCmZ1bmN0aW9uIHNuYy5nZXRmb3JjZWluY2x1ZGVzKGNmZykKbG9jYWwgZmxhZ3MgPSBnY2MuZ2V0Zm9yY2VpbmNsdWRlcyhjZmcpCnJldHVybiBmbGFncwplbmQKZnVuY3Rpb24gc25jLmdldGxkZmxhZ3MoY2ZnKQpsb2NhbCBmbGFncyA9IHsgfQppZiBub3QgY2ZnLmZsYWdzLlN5bWJvbHMgdGhlbgp0YWJsZS5pbnNlcnQoZmxhZ3MsICItcyIpCmVuZApyZXR1cm4gZmxhZ3MKZW5kCnNuYy5nZXRjcHBmbGFncyA9IGdjYy5nZXRjcHBmbGFncwpzbmMuZ2V0ZGVmaW5lcyA9IGdjYy5nZXRkZWZpbmVzCnNuYy5nZXRpbmNsdWRlZGlycyA9IGdjYy5nZXRpbmNsdWRlZGlycwpzbmMuZ2V0TGlicmFyeURpcmVjdG9yaWVzID0gZ2NjLmdldExpYnJhcnlEaXJlY3RvcmllcwpzbmMuZ2V0bGlua3MgPSBnY2MuZ2V0bGlua3MKZnVuY3Rpb24gc25jLmdldG1ha2VzZXR0aW5ncyhjZmcpCnJldHVybiBuaWwKZW5kCnNuYy50b29scyA9IHsKfQpmdW5jdGlvbiBzbmMuZ2V0dG9vbG5hbWUoY2ZnLCB0b29sKQpsb2NhbCBuYW1lcyA9IHNuYy50b29sc1tjZmcuYXJjaGl0ZWN0dXJlXSBvciBzbmMudG9vbHNbY2ZnLnN5c3RlbV0gb3Ige30KcmV0dXJuIG5hbWVzW3Rvb2xdCmVuZAoAAABwcmVtYWtlLnRvb2xzLmNsYW5nID0ge30KbG9jYWwgY2xhbmcgPSBwcmVtYWtlLnRvb2xzLmNsYW5nCmxvY2FsIGdjYyA9IHByZW1ha2UudG9vbHMuZ2NjCmxvY2FsIGNvbmZpZyA9IHByZW1ha2UuY29uZmlnCmZ1bmN0aW9uIGNsYW5nLmdldGNwcGZsYWdzKGNmZykKbG9jYWwgZmxhZ3MgPSBnY2MuZ2V0Y3BwZmxhZ3MoY2ZnKQpyZXR1cm4gZmxhZ3MKZW5kCmZ1bmN0aW9uIGNsYW5nLmdldGNmbGFncyhjZmcpCmxvY2FsIGZsYWdzID0gZ2NjLmdldGNmbGFncyhjZmcpCnJldHVybiBmbGFncwplbmQKZnVuY3Rpb24gY2xhbmcuZ2V0Y3h4ZmxhZ3MoY2ZnKQpsb2NhbCBmbGFncyA9IGdjYy5nZXRjeHhmbGFncyhjZmcpCnJldHVybiBmbGFncwplbmQKZnVuY3Rpb24gY2xhbmcuZ2V0ZGVmaW5lcyhkZWZpbmVzKQpsb2NhbCBmbGFncyA9IGdjYy5nZXRkZWZpbmVzKGRlZmluZXMpCnJldHVybiBmbGFncwplbmQKZnVuY3Rpb24gY2xhbmcuZ2V0dW5kZWZpbmVzKHVuZGVmaW5lcykKbG9jYWwgZmxhZ3MgPSBnY2MuZ2V0dW5kZWZpbmVzKHVuZGVmaW5lcykKcmV0dXJuIGZsYWdzCmVuZApmdW5jdGlvbiBjbGFuZy5nZXRmb3JjZWluY2x1ZGVzKGNmZykKbG9jYWwgZmxhZ3MgPSBnY2MuZ2V0Zm9yY2VpbmNsdWRlcyhjZmcpCnJldHVybiBmbGFncwplbmQKZnVuY3Rpb24gY2xhbmcuZ2V0aW5jbHVkZWRpcnMoY2ZnLCBkaXJzLCBzeXNkaXJzKQpsb2NhbCBmbGFncyA9IGdjYy5nZXRpbmNsdWRlZGlycyhjZmcsIGRpcnMsIHN5c2RpcnMpCnJldHVybiBmbGFncwplbmQKY2xhbmcubGRmbGFncyA9IHsKYXJjaGl0ZWN0dXJlID0gewp4ODYgPSAiLW0zMiIsCng4Nl82NCA9ICItbTY0IiwKfSwKZmxhZ3MgPSB7CkxpbmtUaW1lT3B0aW1pemF0aW9uID0gIi1mbHRvIiwKfSwKa2luZCA9IHsKU2hhcmVkTGliID0gZnVuY3Rpb24oY2ZnKQpsb2NhbCByID0geyBpaWYoY2ZnLnN5c3RlbSA9PSBwcmVtYWtlLk1BQ09TWCwgIi1keW5hbWljbGliIiwgIi1zaGFyZWQiKSB9CmlmIGNmZy5zeXN0ZW0gPT0gIndpbmRvd3MiIGFuZCBub3QgY2ZnLmZsYWdzLk5vSW1wb3J0TGliIHRoZW4KdGFibGUuaW5zZXJ0KHIsICctV2wsLS1vdXQtaW1wbGliPSInIC4uIGNmZy5saW5rdGFyZ2V0LnJlbHBhdGggLi4gJyInKQplbmQKcmV0dXJuIHIKZW5kLApXaW5kb3dlZEFwcCA9IGZ1bmN0aW9uKGNmZykKaWYgY2ZnLnN5c3RlbSA9PSBwcmVtYWtlLldJTkRPV1MgdGhlbiByZXR1cm4gIi1td2luZG93cyIgZW5kCmVuZCwKfSwKc3lzdGVtID0gewp3aWkgPSAiJChNQUNIREVQKSIsCn0KfQpmdW5jdGlvbiBjbGFuZy5nZXRsZGZsYWdzKGNmZykKbG9jYWwgZmxhZ3MgPSBjb25maWcubWFwRmxhZ3MoY2ZnLCBjbGFuZy5sZGZsYWdzKQpyZXR1cm4gZmxhZ3MKZW5kCmZ1bmN0aW9uIGNsYW5nLmdldExpYnJhcnlEaXJlY3RvcmllcyhjZmcpCmxvY2FsIGZsYWdzID0gZ2NjLmdldExpYnJhcnlEaXJlY3RvcmllcyhjZmcpCnJldHVybiBmbGFncwplbmQKZnVuY3Rpb24gY2xhbmcuZ2V0bGlua3MoY2ZnLCBzeXN0ZW1Pbmx5KQpsb2NhbCBmbGFncyA9IGdjYy5nZXRsaW5rcyhjZmcsIHN5c3RlbU9ubHkpCnJldHVybiBmbGFncwplbmQKZnVuY3Rpb24gY2xhbmcuZ2V0bWFrZXNldHRpbmdzKGNmZykKbG9jYWwgZmxhZ3MgPSBnY2MuZ2V0bWFrZXNldHRpbmdzKGNmZykKcmV0dXJuIGZsYWdzCmVuZApjbGFuZy50b29scyA9IHsKY2MgPSAiY2xhbmciLApjeHggPSAiY2xhbmcrKyIsCmFyID0gImFyIgp9CmZ1bmN0aW9uIGNsYW5nLmdldHRvb2xuYW1lKGNmZywgdG9vbCkKcmV0dXJuIGNsYW5nLnRvb2xzW3Rvb2xdCmVuZAoAAABwcmVtYWtlLm1ha2UgPSB7fQpsb2NhbCBwID0gcHJlbWFrZQpsb2NhbCBtYWtlID0gcC5tYWtlCmxvY2FsIHByb2plY3QgPSBwLnByb2plY3QKbmV3YWN0aW9uIHsKdHJpZ2dlciAgICAgICAgID0gImdtYWtlIiwKc2hvcnRuYW1lICAgICAgID0gIkdOVSBNYWtlIiwKZGVzY3JpcHRpb24gICAgID0gIkdlbmVyYXRlIEdOVSBtYWtlZmlsZXMgZm9yIFBPU0lYLCBNaW5HVywgYW5kIEN5Z3dpbiIsCnZhbGlkX2tpbmRzICAgICA9IHsgIkNvbnNvbGVBcHAiLCAiV2luZG93ZWRBcHAiLCAiU3RhdGljTGliIiwgIlNoYXJlZExpYiIsICJVdGlsaXR5IiwgIk1ha2VmaWxlIiB9LAp2YWxpZF9sYW5ndWFnZXMgPSB7ICJDIiwgIkMrKyIsICJDIyIgfSwKdmFsaWRfdG9vbHMgICAgID0gewpjYyAgICAgPSB7ICJjbGFuZyIsICJnY2MiIH0sCmRvdG5ldCA9IHsgIm1vbm8iLCAibXNuZXQiLCAicG5ldCIgfQp9LApvbldvcmtzcGFjZSA9IGZ1bmN0aW9uKHdrcykKcHJlbWFrZS5lc2NhcGVyKG1ha2UuZXNjKQpwcmVtYWtlLmdlbmVyYXRlKHdrcywgbWFrZS5nZXRtYWtlZmlsZW5hbWUod2tzLCBmYWxzZSksIG1ha2UuZ2VuZXJhdGVfd29ya3NwYWNlKQplbmQsCm9uUHJvamVjdCA9IGZ1bmN0aW9uKHByaikKcHJlbWFrZS5lc2NhcGVyKG1ha2UuZXNjKQpsb2NhbCBtYWtlZmlsZSA9IG1ha2UuZ2V0bWFrZWZpbGVuYW1lKHByaiwgdHJ1ZSkKaWYgcHJqLmtpbmQgPT0gcHJlbWFrZS5VVElMSVRZIHRoZW4KcHJlbWFrZS5nZW5lcmF0ZShwcmosIG1ha2VmaWxlLCBtYWtlLnV0aWxpdHkuZ2VuZXJhdGUpCmVsc2VpZiBwcmoua2luZCA9PSBwcmVtYWtlLk1BS0VGSUxFIHRoZW4KcHJlbWFrZS5nZW5lcmF0ZShwcmosIG1ha2VmaWxlLCBtYWtlLm1ha2VmaWxlLmdlbmVyYXRlKQplbHNlCmlmIHByb2plY3QuaXNkb3RuZXQocHJqKSB0aGVuCnByZW1ha2UuZ2VuZXJhdGUocHJqLCBtYWtlZmlsZSwgbWFrZS5jcy5nZW5lcmF0ZSkKZWxzZWlmIHByb2plY3QuaXNjcHAocHJqKSB0aGVuCnByZW1ha2UuZ2VuZXJhdGUocHJqLCBtYWtlZmlsZSwgbWFrZS5jcHAuZ2VuZXJhdGUpCmVuZAplbmQKZW5kLApvbkNsZWFuV29ya3NwYWNlID0gZnVuY3Rpb24od2tzKQpwcmVtYWtlLmNsZWFuLmZpbGUod2tzLCBtYWtlLmdldG1ha2VmaWxlbmFtZSh3a3MsIGZhbHNlKSkKZW5kLApvbkNsZWFuUHJvamVjdCA9IGZ1bmN0aW9uKHByaikKcHJlbWFrZS5jbGVhbi5maWxlKHByaiwgbWFrZS5nZXRtYWtlZmlsZW5hbWUocHJqLCB0cnVlKSkKZW5kCn0KZnVuY3Rpb24gbWFrZS5kZWZhdWx0Y29uZmlnKHRhcmdldCkKbG9jYWwgZWFjaGNvbmZpZyA9IGlpZih0YXJnZXQucHJvamVjdCwgcHJvamVjdC5lYWNoY29uZmlnLCBwLndvcmtzcGFjZS5lYWNoY29uZmlnKQpsb2NhbCBpdGVyID0gZWFjaGNvbmZpZyh0YXJnZXQpCmxvY2FsIGNmZyA9IGl0ZXIoKQppZiBjZmcgdGhlbgpfcCgnaWZuZGVmIGNvbmZpZycpCl94KCcgIGNvbmZpZz0lcycsIGNmZy5zaG9ydG5hbWUpCl9wKCdlbmRpZicpCl9wKCcnKQplbmQKZW5kCmZ1bmN0aW9uIG1ha2UuZXNjKHZhbHVlKQpyZXN1bHQgPSB2YWx1ZTpnc3ViKCJcXCIsICJcXFxcIikKcmVzdWx0ID0gcmVzdWx0OmdzdWIoIiAiLCAiXFwgIikKcmVzdWx0ID0gcmVzdWx0OmdzdWIoIiUoIiwgIlxcKCIpCnJlc3VsdCA9IHJlc3VsdDpnc3ViKCIlKSIsICJcXCkiKQpyZXN1bHQgPSByZXN1bHQ6Z3N1YigiJFxcJSgoLi0pXFwlKSIsICIkKCUxKSIpCnJldHVybiByZXN1bHQKZW5kCmZ1bmN0aW9uIG1ha2UuZ2V0bWFrZWZpbGVuYW1lKHRoaXMsIHNlYXJjaHByanMpCmxvY2FsIGNvdW50ID0gMApmb3Igd2tzIGluIHAuZ2xvYmFsLmVhY2hXb3Jrc3BhY2UoKSBkbwppZiB3a3MubG9jYXRpb24gPT0gdGhpcy5sb2NhdGlvbiB0aGVuCmNvdW50ID0gY291bnQgKyAxCmVuZAppZiBzZWFyY2hwcmpzIHRoZW4KZm9yIF8sIHByaiBpbiBpcGFpcnMod2tzLnByb2plY3RzKSBkbwppZiBwcmoubG9jYXRpb24gPT0gdGhpcy5sb2NhdGlvbiB0aGVuCmNvdW50ID0gY291bnQgKyAxCmVuZAplbmQKZW5kCmVuZAppZiBjb3VudCA9PSAxIHRoZW4KcmV0dXJuICJNYWtlZmlsZSIKZWxzZQpyZXR1cm4gIi5tYWtlIgplbmQKZW5kCmZ1bmN0aW9uIG1ha2UuaGVhZGVyKHRhcmdldCkKbG9jYWwga2luZCA9IGlpZih0YXJnZXQucHJvamVjdCwgInByb2plY3QiLCAid29ya3NwYWNlIikKX3AoJyMgJXMgJXMgbWFrZWZpbGUgYXV0b2dlbmVyYXRlZCBieSBQcmVtYWtlJywgcHJlbWFrZS5hY3Rpb24uY3VycmVudCgpLnNob3J0bmFtZSwga2luZCkKX3AoJycpCmlmIGtpbmQgPT0gIndvcmtzcGFjZSIgdGhlbgpfcCgnLk5PVFBBUkFMTEVMOicpCl9wKCcnKQplbmQKbWFrZS5kZWZhdWx0Y29uZmlnKHRhcmdldCkKX3AoJ2lmbmRlZiB2ZXJib3NlJykKX3AoJyAgU0lMRU5UID0gQCcpCl9wKCdlbmRpZicpCl9wKCcnKQplbmQKZnVuY3Rpb24gbWFrZS5ta2RpclJ1bGVzKGRpcm5hbWUpCl9wKCclczonLCBkaXJuYW1lKQpfcCgnXHRAZWNobyBDcmVhdGluZyAlcycsIGRpcm5hbWUpCl9wKCdpZmVxIChwb3NpeCwkKFNIRUxMVFlQRSkpJykKX3AoJ1x0JChTSUxFTlQpIG1rZGlyIC1wICVzJywgZGlybmFtZSkKX3AoJ2Vsc2UnKQpfcCgnXHQkKFNJTEVOVCkgbWtkaXIgJChzdWJzdCAvLFxcXFwsJXMpJywgZGlybmFtZSkKX3AoJ2VuZGlmJykKX3AoJycpCmVuZApmdW5jdGlvbiBtYWtlLmxpc3QodmFsdWUpCmlmICN2YWx1ZSA+IDAgdGhlbgpyZXR1cm4gIiAiIC4uIHRhYmxlLmNvbmNhdCh2YWx1ZSwgIiAiKQplbHNlCnJldHVybiAiIgplbmQKZW5kCmZ1bmN0aW9uIG1ha2UudG92YXIodmFsdWUpCnZhbHVlID0gdmFsdWU6Z3N1YigiWyAtXSIsICJfIikKdmFsdWUgPSB2YWx1ZTpnc3ViKCJbKCldIiwgIiIpCnJldHVybiB2YWx1ZQplbmQKZnVuY3Rpb24gbWFrZS5vYmpkaXIoY2ZnKQpfeCgnICBPQkpESVIgPSAlcycsIHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGNmZy5vYmpkaXIpKQplbmQKZnVuY3Rpb24gbWFrZS5vYmpEaXJSdWxlcyhwcmopCm1ha2UubWtkaXJSdWxlcygiJChPQkpESVIpIikKZW5kCmZ1bmN0aW9uIG1ha2UucGhvbnlSdWxlcyhwcmopCl9wKCcuUEhPTlk6IGNsZWFuIHByZWJ1aWxkIHByZWxpbmsnKQpfcCgnJykKZW5kCmZ1bmN0aW9uIG1ha2UuYnVpbGRDbWRzKGNmZywgZXZlbnQpCl9wKCcgIGRlZmluZSAlc0NNRFMnLCBldmVudDp1cHBlcigpKQpsb2NhbCBzdGVwcyA9IGNmZ1tldmVudCAuLiAiY29tbWFuZHMiXQpsb2NhbCBtc2cgPSBjZmdbZXZlbnQgLi4gIm1lc3NhZ2UiXQppZiAjc3RlcHMgPiAwIHRoZW4Kc3RlcHMgPSBvcy50cmFuc2xhdGVDb21tYW5kcyhzdGVwcykKbXNnID0gbXNnIG9yIHN0cmluZy5mb3JtYXQoIlJ1bm5pbmcgJXMgY29tbWFuZHMiLCBldmVudCkKX3AoJ1x0QGVjaG8gJXMnLCBtc2cpCl9wKCdcdCVzJywgdGFibGUuaW1wbG9kZShzdGVwcywgIiIsICIiLCAiXG5cdCIpKQplbmQKX3AoJyAgZW5kZWYnKQplbmQKZnVuY3Rpb24gbWFrZS5wcmVCdWlsZENtZHMoY2ZnLCB0b29sc2V0KQptYWtlLmJ1aWxkQ21kcyhjZmcsICJwcmVidWlsZCIpCmVuZApmdW5jdGlvbiBtYWtlLnByZUJ1aWxkUnVsZXMocHJqKQpfcCgncHJlYnVpbGQ6JykKX3AoJ1x0JChQUkVCVUlMRENNRFMpJykKX3AoJycpCmVuZApmdW5jdGlvbiBtYWtlLnByZUxpbmtDbWRzKGNmZywgdG9vbHNldCkKbWFrZS5idWlsZENtZHMoY2ZnLCAicHJlbGluayIpCmVuZApmdW5jdGlvbiBtYWtlLnByZUxpbmtSdWxlcyhwcmopCl9wKCdwcmVsaW5rOicpCl9wKCdcdCQoUFJFTElOS0NNRFMpJykKX3AoJycpCmVuZApmdW5jdGlvbiBtYWtlLnBvc3RCdWlsZENtZHMoY2ZnLCB0b29sc2V0KQptYWtlLmJ1aWxkQ21kcyhjZmcsICJwb3N0YnVpbGQiKQplbmQKZnVuY3Rpb24gbWFrZS5zZXR0aW5ncyhjZmcsIHRvb2xzZXQpCmlmICNjZmcubWFrZXNldHRpbmdzID4gMCB0aGVuCmZvciBfLCB2YWx1ZSBpbiBpcGFpcnMoY2ZnLm1ha2VzZXR0aW5ncykgZG8KX3AodmFsdWUpCmVuZAplbmQKbG9jYWwgdmFsdWUgPSB0b29sc2V0LmdldG1ha2VzZXR0aW5ncyhjZmcpCmlmIHZhbHVlIHRoZW4KX3AodmFsdWUpCmVuZAplbmQKZnVuY3Rpb24gbWFrZS5zaGVsbFR5cGUoKQpfcCgnU0hFTExUWVBFIDo9IG1zZG9zJykKX3AoJ2lmZXEgKCwkKENvbVNwZWMpJChDT01TUEVDKSknKQpfcCgnICBTSEVMTFRZUEUgOj0gcG9zaXgnKQpfcCgnZW5kaWYnKQpfcCgnaWZlcSAoL2JpbiwkKGZpbmRzdHJpbmcgL2JpbiwkKFNIRUxMKSkpJykKX3AoJyAgU0hFTExUWVBFIDo9IHBvc2l4JykKX3AoJ2VuZGlmJykKX3AoJycpCmVuZApmdW5jdGlvbiBtYWtlLnRhcmdldChjZmcpCl94KCcgIFRBUkdFVERJUiA9ICVzJywgcHJvamVjdC5nZXRyZWxhdGl2ZShjZmcucHJvamVjdCwgY2ZnLmJ1aWxkdGFyZ2V0LmRpcmVjdG9yeSkpCl94KCcgIFRBUkdFVCA9ICQoVEFSR0VURElSKS8lcycsIGNmZy5idWlsZHRhcmdldC5uYW1lKQplbmQKZnVuY3Rpb24gbWFrZS50YXJnZXREaXJSdWxlcyhwcmopCm1ha2UubWtkaXJSdWxlcygiJChUQVJHRVRESVIpIikKZW5kCgAAAAAAAGxvY2FsIHAgPSBwcmVtYWtlCmxvY2FsIG1ha2UgPSBwLm1ha2UKbG9jYWwgdHJlZSA9IHAudHJlZQpsb2NhbCBwcm9qZWN0ID0gcC5wcm9qZWN0CmZ1bmN0aW9uIG1ha2UuZ2VuZXJhdGVfd29ya3NwYWNlKHdrcykKcC5lb2woIlxuIikKbWFrZS5oZWFkZXIod2tzKQptYWtlLmNvbmZpZ21hcCh3a3MpCm1ha2UucHJvamVjdHMod2tzKQptYWtlLndvcmtzcGFjZVBob255UnVsZSh3a3MpCm1ha2UuZ3JvdXBSdWxlcyh3a3MpCm1ha2UucHJvamVjdHJ1bGVzKHdrcykKbWFrZS5jbGVhbnJ1bGVzKHdrcykKbWFrZS5oZWxwcnVsZSh3a3MpCmVuZApmdW5jdGlvbiBtYWtlLmNvbmZpZ21hcCh3a3MpCmZvciBjZmcgaW4gcC53b3Jrc3BhY2UuZWFjaGNvbmZpZyh3a3MpIGRvCl9wKCdpZmVxICgkKGNvbmZpZyksJXMpJywgY2ZnLnNob3J0bmFtZSkKZm9yIHByaiBpbiBwLndvcmtzcGFjZS5lYWNocHJvamVjdCh3a3MpIGRvCmxvY2FsIHByamNmZyA9IHByb2plY3QuZ2V0Y29uZmlnKHByaiwgY2ZnLmJ1aWxkY2ZnLCBjZmcucGxhdGZvcm0pCmlmIHByamNmZyB0aGVuCl9wKCcgICVzX2NvbmZpZyA9ICVzJywgbWFrZS50b3ZhcihwcmoubmFtZSksIHByamNmZy5zaG9ydG5hbWUpCmVuZAplbmQKX3AoJ2VuZGlmJykKZW5kCl9wKCcnKQplbmQKZnVuY3Rpb24gbWFrZS5jbGVhbnJ1bGVzKHdrcykKX3AoJ2NsZWFuOicpCmZvciBwcmogaW4gcC53b3Jrc3BhY2UuZWFjaHByb2plY3Qod2tzKSBkbwpsb2NhbCBwcmpwYXRoID0gcHJlbWFrZS5maWxlbmFtZShwcmosIG1ha2UuZ2V0bWFrZWZpbGVuYW1lKHByaiwgdHJ1ZSkpCmxvY2FsIHByamRpciA9IHBhdGguZ2V0ZGlyZWN0b3J5KHBhdGguZ2V0cmVsYXRpdmUod2tzLmxvY2F0aW9uLCBwcmpwYXRoKSkKbG9jYWwgcHJqbmFtZSA9IHBhdGguZ2V0bmFtZShwcmpwYXRoKQpfeCgxLCdAJHtNQUtFfSAtLW5vLXByaW50LWRpcmVjdG9yeSAtQyAlcyAtZiAlcyBjbGVhbicsIHByamRpciwgcHJqbmFtZSkKZW5kCl9wKCcnKQplbmQKZnVuY3Rpb24gbWFrZS5oZWxwcnVsZSh3a3MpCl9wKCdoZWxwOicpCl9wKDEsJ0BlY2hvICJVc2FnZTogbWFrZSBbY29uZmlnPW5hbWVdIFt0YXJnZXRdIicpCl9wKDEsJ0BlY2hvICIiJykKX3AoMSwnQGVjaG8gIkNPTkZJR1VSQVRJT05TOiInKQpmb3IgY2ZnIGluIHAud29ya3NwYWNlLmVhY2hjb25maWcod2tzKSBkbwpfeCgxLCAnQGVjaG8gIiAgJXMiJywgY2ZnLnNob3J0bmFtZSkKZW5kCl9wKDEsJ0BlY2hvICIiJykKX3AoMSwnQGVjaG8gIlRBUkdFVFM6IicpCl9wKDEsJ0BlY2hvICIgICBhbGwgKGRlZmF1bHQpIicpCl9wKDEsJ0BlY2hvICIgICBjbGVhbiInKQpmb3IgcHJqIGluIHAud29ya3NwYWNlLmVhY2hwcm9qZWN0KHdrcykgZG8KX3AoMSwnQGVjaG8gIiAgICVzIicsIHByai5uYW1lKQplbmQKX3AoMSwnQGVjaG8gIiInKQpfcCgxLCdAZWNobyAiRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBodHRwOi8vaW5kdXN0cmlvdXNvbmUuY29tL3ByZW1ha2UvcXVpY2stc3RhcnQiJykKZW5kCmZ1bmN0aW9uIG1ha2UucHJvamVjdHMod2tzKQpfcCgnUFJPSkVDVFMgOj0gJXMnLCB0YWJsZS5jb25jYXQocHJlbWFrZS5lc2ModGFibGUuZXh0cmFjdCh3a3MucHJvamVjdHMsICJuYW1lIikpLCAiICIpKQpfcCgnJykKZW5kCmZ1bmN0aW9uIG1ha2Uud29ya3NwYWNlUGhvbnlSdWxlKHdrcykKbG9jYWwgZ3JvdXBzID0ge30KbG9jYWwgdHIgPSBwLndvcmtzcGFjZS5ncm91cHRyZWUod2tzKQp0cmVlLnRyYXZlcnNlKHRyLCB7Cm9uYnJhbmNoID0gZnVuY3Rpb24obikKdGFibGUuaW5zZXJ0KGdyb3Vwcywgbi5wYXRoKQplbmQKfSkKX3AoJy5QSE9OWTogYWxsIGNsZWFuIGhlbHAgJChQUk9KRUNUUykgJyAuLiB0YWJsZS5pbXBsb2RlKGdyb3VwcywgJycsICcnLCAnICcpKQpfcCgnJykKX3AoJ2FsbDogJChQUk9KRUNUUyknKQpfcCgnJykKZW5kCmZ1bmN0aW9uIG1ha2UuZ3JvdXBSdWxlcyh3a3MpCmxvY2FsIHRyID0gcC53b3Jrc3BhY2UuZ3JvdXB0cmVlKHdrcykKdHJlZS50cmF2ZXJzZSh0ciwgewpvbmJyYW5jaCA9IGZ1bmN0aW9uKG4pCmxvY2FsIHJ1bGUgPSBuLnBhdGggLi4gIjoiCmxvY2FsIHByb2plY3RUYXJnZXRzID0ge30KbG9jYWwgZ3JvdXBUYXJnZXRzID0ge30KZm9yIGksIGMgaW4gcGFpcnMobi5jaGlsZHJlbikKZG8KaWYgdHlwZShpKSA9PSAic3RyaW5nIgp0aGVuCmlmIGMucHJvamVjdAp0aGVuCnRhYmxlLmluc2VydChwcm9qZWN0VGFyZ2V0cywgYy5uYW1lKQplbHNlCnRhYmxlLmluc2VydChncm91cFRhcmdldHMsIGMucGF0aCkKZW5kCmVuZAplbmQKaWYgI2dyb3VwVGFyZ2V0cyA+IDAgdGhlbgpydWxlID0gcnVsZSAuLiAiICIgLi4gdGFibGUuY29uY2F0KGdyb3VwVGFyZ2V0cywgIiAiKQplbmQKaWYgI3Byb2plY3RUYXJnZXRzID4gMCB0aGVuCnJ1bGUgPSBydWxlIC4uICIgIiAuLiB0YWJsZS5jb25jYXQocHJvamVjdFRhcmdldHMsICIgIikKZW5kCl9wKHJ1bGUpCl9wKCcnKQplbmQKfSkKZW5kCmZ1bmN0aW9uIG1ha2UucHJvamVjdHJ1bGVzKHdrcykKZm9yIHByaiBpbiBwLndvcmtzcGFjZS5lYWNocHJvamVjdCh3a3MpIGRvCmxvY2FsIGRlcHMgPSBwcm9qZWN0LmdldGRlcGVuZGVuY2llcyhwcmopCmRlcHMgPSB0YWJsZS5leHRyYWN0KGRlcHMsICJuYW1lIikKX3AoJyVzOiVzJywgcHJlbWFrZS5lc2MocHJqLm5hbWUpLCBtYWtlLmxpc3QoZGVwcykpCmxvY2FsIGNmZ3ZhciA9IG1ha2UudG92YXIocHJqLm5hbWUpCl9wKCdpZm5lcSAoLCQoJXNfY29uZmlnKSknLCBjZmd2YXIpCl9wKDEsJ0BlY2hvICI9PT09IEJ1aWxkaW5nICVzICgkKCVzX2NvbmZpZykpID09PT0iJywgcHJqLm5hbWUsIGNmZ3ZhcikKbG9jYWwgcHJqcGF0aCA9IHByZW1ha2UuZmlsZW5hbWUocHJqLCBtYWtlLmdldG1ha2VmaWxlbmFtZShwcmosIHRydWUpKQpsb2NhbCBwcmpkaXIgPSBwYXRoLmdldGRpcmVjdG9yeShwYXRoLmdldHJlbGF0aXZlKHdrcy5sb2NhdGlvbiwgcHJqcGF0aCkpCmxvY2FsIHByam5hbWUgPSBwYXRoLmdldG5hbWUocHJqcGF0aCkKX3goMSwnQCR7TUFLRX0gLS1uby1wcmludC1kaXJlY3RvcnkgLUMgJXMgLWYgJXMgY29uZmlnPSQoJXNfY29uZmlnKScsIHByamRpciwgcHJqbmFtZSwgY2ZndmFyKQpfcCgnZW5kaWYnKQpfcCgnJykKZW5kCmVuZAoAAAAAAGxvY2FsIHAgPSBwcmVtYWtlCnAubWFrZS5jcHAgPSB7fQpsb2NhbCBtYWtlID0gcC5tYWtlCmxvY2FsIGNwcCA9IHAubWFrZS5jcHAKbG9jYWwgcHJvamVjdCA9IHAucHJvamVjdApsb2NhbCBjb25maWcgPSBwLmNvbmZpZwpsb2NhbCBmaWxlY29uZmlnID0gcC5maWxlY29uZmlnCmNwcC5lbGVtZW50cyA9IHt9CmNwcC5lbGVtZW50cy5tYWtlZmlsZSA9IGZ1bmN0aW9uKHByaikKcmV0dXJuIHsKbWFrZS5oZWFkZXIsCm1ha2UucGhvbnlSdWxlcywKbWFrZS5jcHBDb25maWdzLAptYWtlLmNwcE9iamVjdHMsCm1ha2Uuc2hlbGxUeXBlLAptYWtlLmNwcFRhcmdldFJ1bGVzLAptYWtlLnRhcmdldERpclJ1bGVzLAptYWtlLm9iakRpclJ1bGVzLAptYWtlLmNwcENsZWFuUnVsZXMsCm1ha2UucHJlQnVpbGRSdWxlcywKbWFrZS5wcmVMaW5rUnVsZXMsCm1ha2UucGNoUnVsZXMsCm1ha2UuY3BwRmlsZVJ1bGVzLAptYWtlLmNwcERlcGVuZGVuY2llcywKfQplbmQKZnVuY3Rpb24gbWFrZS5jcHAuZ2VuZXJhdGUocHJqKQpwcmVtYWtlLmVvbCgiXG4iKQpwcmVtYWtlLmNhbGxBcnJheShjcHAuZWxlbWVudHMubWFrZWZpbGUsIHByaikKZW5kCmNwcC5lbGVtZW50cy5jb25maWd1cmF0aW9uID0gZnVuY3Rpb24oY2ZnKQpyZXR1cm4gewptYWtlLmNwcFRvb2xzLAptYWtlLnRhcmdldCwKbWFrZS5vYmpkaXIsCm1ha2UucGNoLAptYWtlLmRlZmluZXMsCm1ha2UuaW5jbHVkZXMsCm1ha2UuZm9yY2VJbmNsdWRlLAptYWtlLmNwcEZsYWdzLAptYWtlLmNGbGFncywKbWFrZS5jeHhGbGFncywKbWFrZS5yZXNGbGFncywKbWFrZS5saWJzLAptYWtlLmxkRGVwcywKbWFrZS5sZEZsYWdzLAptYWtlLmxpbmtDbWQsCm1ha2UuZXhlUGF0aHMsCm1ha2UucHJlQnVpbGRDbWRzLAptYWtlLnByZUxpbmtDbWRzLAptYWtlLnBvc3RCdWlsZENtZHMsCm1ha2UuY3BwQWxsUnVsZXMsCm1ha2Uuc2V0dGluZ3MsCn0KZW5kCmZ1bmN0aW9uIG1ha2UuY3BwQ29uZmlncyhwcmopCmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KbG9jYWwgdG9vbHNldCA9IHByZW1ha2UudG9vbHNbX09QVElPTlMuY2Mgb3IgY2ZnLnRvb2xzZXQgb3IgImdjYyJdCmlmIG5vdCB0b29sc2V0IHRoZW4KZXJyb3IoIkludmFsaWQgdG9vbHNldCAnIiAuLiBjZmcudG9vbHNldCAuLiAiJyIpCmVuZApfeCgnaWZlcSAoJChjb25maWcpLCVzKScsIGNmZy5zaG9ydG5hbWUpCnByZW1ha2UuY2FsbEFycmF5KGNwcC5lbGVtZW50cy5jb25maWd1cmF0aW9uLCBjZmcsIHRvb2xzZXQpCl9wKCdlbmRpZicpCl9wKCcnKQplbmQKZW5kCmZ1bmN0aW9uIG1ha2UuZXhlUGF0aHMoY2ZnKQpsb2NhbCBkaXJzID0gcHJvamVjdC5nZXRyZWxhdGl2ZShjZmcucHJvamVjdCwgY2ZnLmJpbmRpcnMpCmlmICNkaXJzID4gMCB0aGVuCl9wKCcgIEVYRUNVVEFCTEVfUEFUSFMgPSAiJXMiJywgdGFibGUuY29uY2F0KGRpcnMsICI6IikpCl9wKCcgIEVYRV9QQVRIUyA9IGV4cG9ydCBQQVRIPSQoRVhFQ1VUQUJMRV9QQVRIUyk6JCRQQVRIOycpCmVuZAplbmQKZnVuY3Rpb24gY3BwLmJ1aWxkY29tbWFuZChwcmosIG9iamV4dCwgbm9kZSkKbG9jYWwgaXNjZmlsZSA9IG5vZGUgYW5kIHBhdGguaXNjZmlsZShub2RlLmFic3BhdGgpIG9yIGZhbHNlCmxvY2FsIGZsYWdzID0gaWlmKHByai5sYW5ndWFnZSA9PSAiQyIgb3IgaXNjZmlsZSwgJyQoQ0MpICQoQUxMX0NGTEFHUyknLCAnJChDWFgpICQoQUxMX0NYWEZMQUdTKScpCl9wKCdcdCQoU0lMRU5UKSAlcyAkKEZPUkNFX0lOQ0xVREUpIC1vICIkQCIgLU1GICIkKEA6JSUuJXM9JSUuZCkiIC1jICIkPCInLCBmbGFncywgb2JqZXh0KQplbmQKZnVuY3Rpb24gbWFrZS5jcHBGaWxlUnVsZXMocHJqKQpsb2NhbCB0ciA9IHByb2plY3QuZ2V0c291cmNldHJlZShwcmopCnByZW1ha2UudHJlZS50cmF2ZXJzZSh0ciwgewpvbmxlYWYgPSBmdW5jdGlvbihub2RlLCBkZXB0aCkKbG9jYWwgcnVsZXMKZm9yIGNmZyBpbiBwcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwpsb2NhbCBmaWxlY2ZnID0gZmlsZWNvbmZpZy5nZXRjb25maWcobm9kZSwgY2ZnKQppZiBmaWxlY29uZmlnLmhhc0N1c3RvbUJ1aWxkUnVsZShmaWxlY2ZnKSB0aGVuCnJ1bGVzID0gdHJ1ZQpicmVhawplbmQKZW5kCmlmIHJ1bGVzIHRoZW4KY3BwLmN1c3RvbUZpbGVSdWxlcyhwcmosIG5vZGUpCmVsc2UKY3BwLnN0YW5kYXJkRmlsZVJ1bGVzKHByaiwgbm9kZSkKZW5kCmVuZAp9KQpfcCgnJykKZW5kCmZ1bmN0aW9uIGNwcC5zdGFuZGFyZEZpbGVSdWxlcyhwcmosIG5vZGUpCmlmIHBhdGguaXNjcHBmaWxlKG5vZGUuYWJzcGF0aCkgdGhlbgpfeCgnJChPQkpESVIpLyVzLm86ICVzJywgbm9kZS5vYmpuYW1lLCBub2RlLnJlbHBhdGgpCl9wKCdcdEBlY2hvICQobm90ZGlyICQ8KScpCmNwcC5idWlsZGNvbW1hbmQocHJqLCAibyIsIG5vZGUpCmVsc2VpZiBwYXRoLmlzcmVzb3VyY2VmaWxlKG5vZGUuYWJzcGF0aCkgdGhlbgpfeCgnJChPQkpESVIpLyVzLnJlczogJXMnLCBub2RlLm9iam5hbWUsIG5vZGUucmVscGF0aCkKX3AoJ1x0QGVjaG8gJChub3RkaXIgJDwpJykKX3AoJ1x0JChTSUxFTlQpICQoUkVTQ09NUCkgJDwgLU8gY29mZiAtbyAiJEAiICQoQUxMX1JFU0ZMQUdTKScpCmVuZAplbmQKZnVuY3Rpb24gY3BwLmN1c3RvbUZpbGVSdWxlcyhwcmosIG5vZGUpCmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KbG9jYWwgZmlsZWNmZyA9IGZpbGVjb25maWcuZ2V0Y29uZmlnKG5vZGUsIGNmZykKaWYgZmlsZWNmZyB0aGVuCl94KCdpZmVxICgkKGNvbmZpZyksJXMpJywgY2ZnLnNob3J0bmFtZSkKbG9jYWwgb3V0cHV0ID0gcHJvamVjdC5nZXRyZWxhdGl2ZShwcmosIGZpbGVjZmcuYnVpbGRvdXRwdXRzWzFdKQpsb2NhbCBkZXBlbmRlbmNpZXMgPSBmaWxlY2ZnLnJlbHBhdGgKaWYgZmlsZWNmZy5idWlsZGlucHV0cyBhbmQgI2ZpbGVjZmcuYnVpbGRpbnB1dHMgPiAwIHRoZW4KbG9jYWwgaW5wdXRzID0gcHJvamVjdC5nZXRyZWxhdGl2ZShwcmosIGZpbGVjZmcuYnVpbGRpbnB1dHMpCmRlcGVuZGVuY2llcyA9IGRlcGVuZGVuY2llcyAuLiAiICIgLi4gdGFibGUuY29uY2F0KHAuZXNjKGlucHV0cyksICIgIikKZW5kCl9wKCclczogJXMnLCBvdXRwdXQsIGRlcGVuZGVuY2llcykKX3AoJ1x0QGVjaG8gIiVzIicsIGZpbGVjZmcuYnVpbGRtZXNzYWdlIG9yICgiQnVpbGRpbmcgIiAuLiBmaWxlY2ZnLnJlbHBhdGgpKQpsb2NhbCBjbWRzID0gb3MudHJhbnNsYXRlQ29tbWFuZHMoZmlsZWNmZy5idWlsZGNvbW1hbmRzKQpmb3IgXywgY21kIGluIGlwYWlycyhjbWRzKSBkbwppZiBjZmcuYmluZGlycyBhbmQgI2NmZy5iaW5kaXJzID4gMCB0aGVuCl9wKCdcdCQoU0lMRU5UKSAkKEVYRV9QQVRIUykgJXMnLCBjbWQpCmVsc2UKX3AoJ1x0JChTSUxFTlQpICVzJywgY21kKQplbmQKZW5kCl9wKCdlbmRpZicpCmVuZAplbmQKZW5kCmZ1bmN0aW9uIG1ha2UuY3BwT2JqZWN0cyhwcmopCmxvY2FsIHJvb3QgPSB7IG9iamVjdHM9e30sIHJlc291cmNlcz17fSwgY3VzdG9tZmlsZXM9e30gfQpsb2NhbCBjb25maWdzID0ge30KZm9yIGNmZyBpbiBwcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwpjb25maWdzW2NmZ10gPSB7IG9iamVjdHM9e30sIHJlc291cmNlcz17fSwgY3VzdG9tZmlsZXM9e30gfQplbmQKbG9jYWwgdHIgPSBwcm9qZWN0LmdldHNvdXJjZXRyZWUocHJqKQpwcmVtYWtlLnRyZWUudHJhdmVyc2UodHIsIHsKb25sZWFmID0gZnVuY3Rpb24obm9kZSwgZGVwdGgpCmxvY2FsIGluY2ZnID0ge30KbG9jYWwgaW5hbGwgPSB0cnVlCmxvY2FsIGN1c3RvbSA9IGZhbHNlCmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KbG9jYWwgZmlsZWNmZyA9IGZpbGVjb25maWcuZ2V0Y29uZmlnKG5vZGUsIGNmZykKaWYgZmlsZWNmZyBhbmQgbm90IGZpbGVjZmcuZmxhZ3MuRXhjbHVkZUZyb21CdWlsZCB0aGVuCmluY2ZnW2NmZ10gPSBmaWxlY2ZnCmN1c3RvbSA9IGZpbGVjb25maWcuaGFzQ3VzdG9tQnVpbGRSdWxlKGZpbGVjZmcpCmVsc2UKaW5hbGwgPSBmYWxzZQplbmQKZW5kCmlmIG5vdCBjdXN0b20gdGhlbgpsb2NhbCBraW5kCmlmIHBhdGguaXNjcHBmaWxlKG5vZGUuYWJzcGF0aCkgdGhlbgpraW5kID0gIm9iamVjdHMiCmVsc2VpZiBwYXRoLmlzcmVzb3VyY2VmaWxlKG5vZGUuYWJzcGF0aCkgdGhlbgpraW5kID0gInJlc291cmNlcyIKZW5kCmlmIG5vdCBjdXN0b20gYW5kIG5vdCBraW5kIHRoZW4KcmV0dXJuCmVuZApvYmplY3RuYW1lID0gIiQoT0JKRElSKS8iIC4uIG5vZGUub2JqbmFtZSAuLiBpaWYoa2luZCA9PSAib2JqZWN0cyIsICIubyIsICIucmVzIikKaWYgaW5hbGwgdGhlbgp0YWJsZS5pbnNlcnQocm9vdFtraW5kXSwgb2JqZWN0bmFtZSkKZWxzZQpmb3IgY2ZnIGluIHByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCmlmIGluY2ZnW2NmZ10gdGhlbgp0YWJsZS5pbnNlcnQoY29uZmlnc1tjZmddW2tpbmRdLCBvYmplY3RuYW1lKQplbmQKZW5kCmVuZAplbHNlCmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KbG9jYWwgZmlsZWNmZyA9IGluY2ZnW2NmZ10KaWYgZmlsZWNmZyB0aGVuCmxvY2FsIG91dHB1dCA9IHByb2plY3QuZ2V0cmVsYXRpdmUocHJqLCBmaWxlY2ZnLmJ1aWxkb3V0cHV0c1sxXSkKaWYgcGF0aC5pc29iamVjdGZpbGUob3V0cHV0KSB0aGVuCnRhYmxlLmluc2VydChjb25maWdzW2NmZ10ub2JqZWN0cywgb3V0cHV0KQplbHNlCnRhYmxlLmluc2VydChjb25maWdzW2NmZ10uY3VzdG9tZmlsZXMsIG91dHB1dCkKZW5kCmVuZAplbmQKZW5kCmVuZAp9KQpmdW5jdGlvbiBsaXN0b2JqZWN0cyh2YXIsIGxpc3QpCl9wKCclcyBcXCcsIHZhcikKZm9yIF8sIG9iamVjdG5hbWUgaW4gaXBhaXJzKGxpc3QpIGRvCl94KCdcdCVzIFxcJywgb2JqZWN0bmFtZSkKZW5kCl9wKCcnKQplbmQKbGlzdG9iamVjdHMoJ09CSkVDVFMgOj0nLCByb290Lm9iamVjdHMsICdvJykKbGlzdG9iamVjdHMoJ1JFU09VUkNFUyA6PScsIHJvb3QucmVzb3VyY2VzLCAncmVzJykKbGlzdG9iamVjdHMoJ0NVU1RPTUZJTEVTIDo9Jywgcm9vdC5jdXN0b21maWxlcykKZm9yIGNmZyBpbiBwcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwpsb2NhbCBmaWxlcyA9IGNvbmZpZ3NbY2ZnXQppZiAjZmlsZXMub2JqZWN0cyA+IDAgb3IgI2ZpbGVzLnJlc291cmNlcyA+IDAgb3IgI2ZpbGVzLmN1c3RvbWZpbGVzID4gMCB0aGVuCl94KCdpZmVxICgkKGNvbmZpZyksJXMpJywgY2ZnLnNob3J0bmFtZSkKaWYgI2ZpbGVzLm9iamVjdHMgPiAwIHRoZW4KbGlzdG9iamVjdHMoJyAgT0JKRUNUUyArPScsIGZpbGVzLm9iamVjdHMpCmVuZAppZiAjZmlsZXMucmVzb3VyY2VzID4gMCB0aGVuCmxpc3RvYmplY3RzKCcgIFJFU09VUkNFUyArPScsIGZpbGVzLnJlc291cmNlcykKZW5kCmlmICNmaWxlcy5jdXN0b21maWxlcyA+IDAgdGhlbgpsaXN0b2JqZWN0cygnICBDVVNUT01GSUxFUyArPScsIGZpbGVzLmN1c3RvbWZpbGVzKQplbmQKX3AoJ2VuZGlmJykKX3AoJycpCmVuZAplbmQKZW5kCmZ1bmN0aW9uIG1ha2UuY0ZsYWdzKGNmZywgdG9vbHNldCkKX3AoJyAgQUxMX0NGTEFHUyArPSAkKENGTEFHUykgJChBTExfQ1BQRkxBR1MpJXMnLCBtYWtlLmxpc3QodGFibGUuam9pbih0b29sc2V0LmdldGNmbGFncyhjZmcpLCBjZmcuYnVpbGRvcHRpb25zKSkpCmVuZApmdW5jdGlvbiBtYWtlLmNwcEFsbFJ1bGVzKGNmZywgdG9vbHNldCkKaWYgY2ZnLnN5c3RlbSA9PSBwcmVtYWtlLk1BQ09TWCBhbmQgY2ZnLmtpbmQgPT0gcHJlbWFrZS5XSU5ET1dFREFQUCB0aGVuCl9wKCdhbGw6ICQoVEFSR0VURElSKSAkKE9CSkRJUikgcHJlYnVpbGQgcHJlbGluayAkKFRBUkdFVCkgJChkaXIgJChUQVJHRVRESVIpKVBrZ0luZm8gJChkaXIgJChUQVJHRVRESVIpKUluZm8ucGxpc3QnKQpfcCgnXHRAOicpCl9wKCcnKQpfcCgnJChkaXIgJChUQVJHRVRESVIpKVBrZ0luZm86JykKX3AoJyQoZGlyICQoVEFSR0VURElSKSlJbmZvLnBsaXN0OicpCmVsc2UKX3AoJ2FsbDogJChUQVJHRVRESVIpICQoT0JKRElSKSBwcmVidWlsZCBwcmVsaW5rICQoVEFSR0VUKScpCl9wKCdcdEA6JykKZW5kCmVuZApmdW5jdGlvbiBtYWtlLmNwcEZsYWdzKGNmZywgdG9vbHNldCkKX3AoJyAgQUxMX0NQUEZMQUdTICs9ICQoQ1BQRkxBR1MpJXMgJChERUZJTkVTKSAkKElOQ0xVREVTKScsIG1ha2UubGlzdCh0b29sc2V0LmdldGNwcGZsYWdzKGNmZykpKQplbmQKZnVuY3Rpb24gbWFrZS5jeHhGbGFncyhjZmcsIHRvb2xzZXQpCl9wKCcgIEFMTF9DWFhGTEFHUyArPSAkKENYWEZMQUdTKSAkKEFMTF9DRkxBR1MpJXMnLCBtYWtlLmxpc3QodG9vbHNldC5nZXRjeHhmbGFncyhjZmcpKSkKZW5kCmZ1bmN0aW9uIG1ha2UuY3BwQ2xlYW5SdWxlcyhwcmopCl9wKCdjbGVhbjonKQpfcCgnXHRAZWNobyBDbGVhbmluZyAlcycsIHByai5uYW1lKQpfcCgnaWZlcSAocG9zaXgsJChTSEVMTFRZUEUpKScpCl9wKCdcdCQoU0lMRU5UKSBybSAtZiAgJChUQVJHRVQpJykKX3AoJ1x0JChTSUxFTlQpIHJtIC1yZiAkKE9CSkRJUiknKQpfcCgnZWxzZScpCl9wKCdcdCQoU0lMRU5UKSBpZiBleGlzdCAkKHN1YnN0IC8sXFxcXCwkKFRBUkdFVCkpIGRlbCAkKHN1YnN0IC8sXFxcXCwkKFRBUkdFVCkpJykKX3AoJ1x0JChTSUxFTlQpIGlmIGV4aXN0ICQoc3Vic3QgLyxcXFxcLCQoT0JKRElSKSkgcm1kaXIgL3MgL3EgJChzdWJzdCAvLFxcXFwsJChPQkpESVIpKScpCl9wKCdlbmRpZicpCl9wKCcnKQplbmQKZnVuY3Rpb24gbWFrZS5jcHBEZXBlbmRlbmNpZXMocHJqKQpfcCgnLWluY2x1ZGUgJChPQkpFQ1RTOiUlLm89JSUuZCknKQpfcCgnaWZuZXEgKCwkKFBDSCkpJykKX3AoJyAgLWluY2x1ZGUgJChPQkpESVIpLyQobm90ZGlyICQoUENIKSkuZCcpCl9wKCdlbmRpZicpCmVuZApmdW5jdGlvbiBtYWtlLmNwcFRhcmdldFJ1bGVzKHByaikKX3AoJyQoVEFSR0VUKTogJChHQ0gpICR7Q1VTVE9NRklMRVN9ICQoT0JKRUNUUykgJChMRERFUFMpICQoUkVTT1VSQ0VTKScpCl9wKCdcdEBlY2hvIExpbmtpbmcgJXMnLCBwcmoubmFtZSkKX3AoJ1x0JChTSUxFTlQpICQoTElOS0NNRCknKQpfcCgnXHQkKFBPU1RCVUlMRENNRFMpJykKX3AoJycpCmVuZApmdW5jdGlvbiBtYWtlLmNwcFRvb2xzKGNmZywgdG9vbHNldCkKbG9jYWwgdG9vbCA9IHRvb2xzZXQuZ2V0dG9vbG5hbWUoY2ZnLCAiY2MiKQppZiB0b29sIHRoZW4KX3AoJyAgaWZlcSAoJChvcmlnaW4gQ0MpLCBkZWZhdWx0KScpCl9wKCcgICAgQ0MgPSAlcycsIHRvb2wpCl9wKCcgIGVuZGlmJyApCmVuZAp0b29sID0gdG9vbHNldC5nZXR0b29sbmFtZShjZmcsICJjeHgiKQppZiB0b29sIHRoZW4KX3AoJyAgaWZlcSAoJChvcmlnaW4gQ1hYKSwgZGVmYXVsdCknKQpfcCgnICAgIENYWCA9ICVzJywgdG9vbCkKX3AoJyAgZW5kaWYnICkKZW5kCnRvb2wgPSB0b29sc2V0LmdldHRvb2xuYW1lKGNmZywgImFyIikKaWYgdG9vbCB0aGVuCl9wKCcgIGlmZXEgKCQob3JpZ2luIEFSKSwgZGVmYXVsdCknKQpfcCgnICAgIEFSID0gJXMnLCB0b29sKQpfcCgnICBlbmRpZicgKQplbmQKdG9vbCA9IHRvb2xzZXQuZ2V0dG9vbG5hbWUoY2ZnLCAicmMiKQppZiB0b29sIHRoZW4KX3AoJyAgUkVTQ09NUCA9ICVzJywgdG9vbCkKZW5kCmVuZApmdW5jdGlvbiBtYWtlLmRlZmluZXMoY2ZnLCB0b29sc2V0KQpfcCgnICBERUZJTkVTICs9JXMnLCBtYWtlLmxpc3QodGFibGUuam9pbih0b29sc2V0LmdldGRlZmluZXMoY2ZnLmRlZmluZXMsIGNmZyksIHRvb2xzZXQuZ2V0dW5kZWZpbmVzKGNmZy51bmRlZmluZXMpKSkpCmVuZApmdW5jdGlvbiBtYWtlLmZvcmNlSW5jbHVkZShjZmcsIHRvb2xzZXQpCmxvY2FsIGluY2x1ZGVzID0gdG9vbHNldC5nZXRmb3JjZWluY2x1ZGVzKGNmZykKaWYgbm90IGNmZy5mbGFncy5Ob1BDSCBhbmQgY2ZnLnBjaGhlYWRlciB0aGVuCnRhYmxlLmluc2VydChpbmNsdWRlcywgIi1pbmNsdWRlICQoT0JKRElSKS8kKG5vdGRpciAkKFBDSCkpIikKZW5kCl94KCcgIEZPUkNFX0lOQ0xVREUgKz0lcycsIG1ha2UubGlzdChpbmNsdWRlcykpCmVuZApmdW5jdGlvbiBtYWtlLmluY2x1ZGVzKGNmZywgdG9vbHNldCkKbG9jYWwgaW5jbHVkZXMgPSB0b29sc2V0LmdldGluY2x1ZGVkaXJzKGNmZywgY2ZnLmluY2x1ZGVkaXJzLCBjZmcuc3lzaW5jbHVkZWRpcnMpCl9wKCcgIElOQ0xVREVTICs9JXMnLCBtYWtlLmxpc3QoaW5jbHVkZXMpKQplbmQKZnVuY3Rpb24gbWFrZS5sZERlcHMoY2ZnLCB0b29sc2V0KQpsb2NhbCBkZXBzID0gY29uZmlnLmdldGxpbmtzKGNmZywgInNpYmxpbmdzIiwgImZ1bGxwYXRoIikKX3AoJyAgTERERVBTICs9JXMnLCBtYWtlLmxpc3QocHJlbWFrZS5lc2MoZGVwcykpKQplbmQKZnVuY3Rpb24gbWFrZS5sZEZsYWdzKGNmZywgdG9vbHNldCkKbG9jYWwgZmxhZ3MgPSB0YWJsZS5qb2luKHRvb2xzZXQuZ2V0TGlicmFyeURpcmVjdG9yaWVzKGNmZyksIHRvb2xzZXQuZ2V0bGRmbGFncyhjZmcpLCBjZmcubGlua29wdGlvbnMpCl9wKCcgIEFMTF9MREZMQUdTICs9ICQoTERGTEFHUyklcycsIG1ha2UubGlzdChmbGFncykpCmVuZApmdW5jdGlvbiBtYWtlLmxpYnMoY2ZnLCB0b29sc2V0KQpsb2NhbCBmbGFncyA9IHRvb2xzZXQuZ2V0bGlua3MoY2ZnKQpfcCgnICBMSUJTICs9JXMnLCBtYWtlLmxpc3QoZmxhZ3MpKQplbmQKZnVuY3Rpb24gbWFrZS5saW5rQ21kKGNmZywgdG9vbHNldCkKaWYgY2ZnLmtpbmQgPT0gcHJlbWFrZS5TVEFUSUNMSUIgdGhlbgppZiBjZmcuYXJjaGl0ZWN0dXJlID09IHByZW1ha2UuVU5JVkVSU0FMIHRoZW4KX3AoJyAgTElOS0NNRCA9IGxpYnRvb2wgLW8gIiRAIiAkKE9CSkVDVFMpJykKZWxzZQpfcCgnICBMSU5LQ01EID0gJChBUikgLXJjcyAiJEAiICQoT0JKRUNUUyknKQplbmQKZWxzZWlmIGNmZy5raW5kID09IHByZW1ha2UuVVRJTElUWSB0aGVuCl9wKCcgIExJTktDTUQgPScpCmVsc2UKbG9jYWwgY2MgPSBpaWYoY2ZnLmxhbmd1YWdlID09ICJDIiwgIkNDIiwgIkNYWCIpCl9wKCcgIExJTktDTUQgPSAkKCVzKSAtbyAiJEAiICQoT0JKRUNUUykgJChSRVNPVVJDRVMpICQoQUxMX0xERkxBR1MpICQoTElCUyknLCBjYykKZW5kCmVuZApmdW5jdGlvbiBtYWtlLnBjaChjZmcsIHRvb2xzZXQpCmlmIG5vdCBjZmcucGNoaGVhZGVyIG9yIGNmZy5mbGFncy5Ob1BDSCB0aGVuCnJldHVybgplbmQKbG9jYWwgcGNoID0gY2ZnLnBjaGhlYWRlcgpsb2NhbCBmb3VuZCA9IGZhbHNlCmZvciBfLCBpbmNkaXIgaW4gaXBhaXJzKGNmZy5pbmNsdWRlZGlycykgZG8KbG9jYWwgdGVzdG5hbWUgPSBwYXRoLmpvaW4oaW5jZGlyLCBwY2gpCmlmIG9zLmlzZmlsZSh0ZXN0bmFtZSkgdGhlbgpwY2ggPSBwcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCB0ZXN0bmFtZSkKZm91bmQgPSB0cnVlCmJyZWFrCmVuZAplbmQKaWYgbm90IGZvdW5kIHRoZW4KcGNoID0gcHJvamVjdC5nZXRyZWxhdGl2ZShjZmcucHJvamVjdCwgcGF0aC5nZXRhYnNvbHV0ZShwY2gpKQplbmQKX3goJyAgUENIID0gJXMnLCBwY2gpCl9wKCcgIEdDSCA9ICQoT0JKRElSKS8kKG5vdGRpciAkKFBDSCkpLmdjaCcpCmVuZApmdW5jdGlvbiBtYWtlLnBjaFJ1bGVzKHByaikKX3AoJ2lmbmVxICgsJChQQ0gpKScpCl9wKCckKE9CSkVDVFMpOiAkKEdDSCkgJChQQ0gpJykKX3AoJyQoR0NIKTogJChQQ0gpJykKX3AoJ1x0QGVjaG8gJChub3RkaXIgJDwpJykKbG9jYWwgY21kID0gaWlmKHByai5sYW5ndWFnZSA9PSAiQyIsICIkKENDKSAteCBjLWhlYWRlciAkKEFMTF9DRkxBR1MpIiwgIiQoQ1hYKSAteCBjKystaGVhZGVyICQoQUxMX0NYWEZMQUdTKSIpCl9wKCdcdCQoU0lMRU5UKSAlcyAtbyAiJEAiIC1NRiAiJChAOiUlLmdjaD0lJS5kKSIgLWMgIiQ8IicsIGNtZCkKX3AoJ2VuZGlmJykKX3AoJycpCmVuZApmdW5jdGlvbiBtYWtlLnJlc0ZsYWdzKGNmZywgdG9vbHNldCkKbG9jYWwgcmVzZmxhZ3MgPSB0YWJsZS5qb2luKHRvb2xzZXQuZ2V0ZGVmaW5lcyhjZmcucmVzZGVmaW5lcyksIHRvb2xzZXQuZ2V0aW5jbHVkZWRpcnMoY2ZnLCBjZmcucmVzaW5jbHVkZWRpcnMpLCBjZmcucmVzb3B0aW9ucykKX3AoJyAgQUxMX1JFU0ZMQUdTICs9ICQoUkVTRkxBR1MpICQoREVGSU5FUykgJChJTkNMVURFUyklcycsIG1ha2UubGlzdChyZXNmbGFncykpCmVuZAoAcHJlbWFrZS5tYWtlLmNzID0ge30KbG9jYWwgbWFrZSA9IHByZW1ha2UubWFrZQpsb2NhbCBjcyA9IHByZW1ha2UubWFrZS5jcwpsb2NhbCBwcm9qZWN0ID0gcHJlbWFrZS5wcm9qZWN0CmxvY2FsIGNvbmZpZyA9IHByZW1ha2UuY29uZmlnCmxvY2FsIGZpbGVjb25maWcgPSBwcmVtYWtlLmZpbGVjb25maWcKY3MuZWxlbWVudHMgPSB7fQpjcy5lbGVtZW50cy5tYWtlZmlsZSA9IGZ1bmN0aW9uKHByaikKcmV0dXJuIHsKbWFrZS5oZWFkZXIsCm1ha2UucGhvbnlSdWxlcywKbWFrZS5jc0NvbmZpZ3MsCm1ha2UuY3NQcm9qZWN0Q29uZmlnLAptYWtlLmNzU291cmNlcywKbWFrZS5jc0VtYmVkRmlsZXMsCm1ha2UuY3NDb3B5RmlsZXMsCm1ha2UuY3NSZXNwb25zZUZpbGUsCm1ha2Uuc2hlbGxUeXBlLAptYWtlLmNzQWxsUnVsZXMsCm1ha2UuY3NUYXJnZXRSdWxlcywKbWFrZS50YXJnZXREaXJSdWxlcywKbWFrZS5jc1Jlc3BvbnNlUnVsZXMsCm1ha2Uub2JqRGlyUnVsZXMsCm1ha2UuY3NDbGVhblJ1bGVzLAptYWtlLnByZUJ1aWxkUnVsZXMsCm1ha2UucHJlTGlua1J1bGVzLAptYWtlLmNzRmlsZVJ1bGVzLAp9CmVuZApmdW5jdGlvbiBtYWtlLmNzLmdlbmVyYXRlKHByaikKcHJlbWFrZS5lb2woIlxuIikKbG9jYWwgdG9vbHNldCA9IHByZW1ha2UudG9vbHMuZG90bmV0CnByZW1ha2UuY2FsbEFycmF5KGNzLmVsZW1lbnRzLm1ha2VmaWxlLCBwcmosIHRvb2xzZXQpCmVuZApjcy5lbGVtZW50cy5jb25maWd1cmF0aW9uID0gZnVuY3Rpb24oY2ZnKQpyZXR1cm4gewptYWtlLmNzVG9vbHMsCm1ha2UudGFyZ2V0LAptYWtlLm9iamRpciwKbWFrZS5jc0ZsYWdzLAptYWtlLmNzTGlua0NtZCwKbWFrZS5wcmVCdWlsZENtZHMsCm1ha2UucHJlTGlua0NtZHMsCm1ha2UucG9zdEJ1aWxkQ21kcywKbWFrZS5zZXR0aW5ncywKfQplbmQKZnVuY3Rpb24gbWFrZS5jc0NvbmZpZ3MocHJqLCB0b29sc2V0KQpmb3IgY2ZnIGluIHByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCl94KCdpZmVxICgkKGNvbmZpZyksJXMpJywgY2ZnLnNob3J0bmFtZSkKcHJlbWFrZS5jYWxsQXJyYXkoY3MuZWxlbWVudHMuY29uZmlndXJhdGlvbiwgY2ZnLCB0b29sc2V0KQpfcCgnZW5kaWYnKQpfcCgnJykKZW5kCmVuZApmdW5jdGlvbiBjcy5nZXRyZXNvdXJjZWZpbGVuYW1lKGNmZywgZm5hbWUpCmlmIHBhdGguZ2V0ZXh0ZW5zaW9uKGZuYW1lKSA9PSAiLnJlc3giIHRoZW4KICAgIGxvY2FsIG5hbWUgPSBjZmcuYnVpbGR0YXJnZXQuYmFzZW5hbWUgLi4gIi4iCiAgICBsb2NhbCBkaXIgPSBwYXRoLmdldGRpcmVjdG9yeShmbmFtZSkKICAgIGlmIGRpciB+PSAiLiIgdGhlbgpuYW1lID0gbmFtZSAuLiBwYXRoLnRyYW5zbGF0ZShkaXIsICIuIikgLi4gIi4iCmVuZApyZXR1cm4gIiQoT0JKRElSKS8iIC4uIHByZW1ha2UuZXNjKG5hbWUgLi4gcGF0aC5nZXRiYXNlbmFtZShmbmFtZSkpIC4uICIucmVzb3VyY2VzIgplbHNlCnJldHVybiBmbmFtZQplbmQKZW5kCmZ1bmN0aW9uIGNzLmxpc3Rzb3VyY2VzKHByaiwgc2VsZWN0b3IpCmxvY2FsIHRyID0gcHJvamVjdC5nZXRzb3VyY2V0cmVlKHByaikKcHJlbWFrZS50cmVlLnRyYXZlcnNlKHRyLCB7Cm9ubGVhZiA9IGZ1bmN0aW9uKG5vZGUsIGRlcHRoKQpsb2NhbCB2YWx1ZSA9IHNlbGVjdG9yKG5vZGUpCmlmIHZhbHVlIHRoZW4KX3goJ1x0JXMgXFwnLCB2YWx1ZSkKZW5kCmVuZAp9KQplbmQKZnVuY3Rpb24gbWFrZS5jc0FsbFJ1bGVzKHByaiwgdG9vbHNldCkKX3AoJ2FsbDogJChUQVJHRVRESVIpICQoT0JKRElSKSBwcmVidWlsZCAkKEVNQkVERklMRVMpICQoQ09QWUZJTEVTKSBwcmVsaW5rICQoVEFSR0VUKScpCl9wKCcnKQplbmQKZnVuY3Rpb24gbWFrZS5jc0NsZWFuUnVsZXMocHJqLCB0b29sc2V0KQplbmQKZnVuY3Rpb24gbWFrZS5jc0NvcHlGaWxlcyhwcmosIHRvb2xzZXQpCmVuZApmdW5jdGlvbiBtYWtlLmNzLmdldHJlc3BvbnNlZmlsZW5hbWUocHJqKQpyZXR1cm4gJyQoT0JKRElSKS8nIC4uIHByai5maWxlbmFtZSAuLiAnLnJzcCcKZW5kCmZ1bmN0aW9uIG1ha2UuY3NSZXNwb25zZUZpbGUocHJqLCB0b29sc2V0KQpfeCgnUkVTUE9OU0UgKz0gJyAuLiBtYWtlLmNzLmdldHJlc3BvbnNlZmlsZW5hbWUocHJqKSkKZW5kCmZ1bmN0aW9uIG1ha2UuY3NSZXNwb25zZVJ1bGVzKHByaikKbG9jYWwgdG9vbHNldCA9IHByZW1ha2UudG9vbHMuZG90bmV0CmxvY2FsIGV4dCA9IG1ha2UuZ2V0bWFrZWZpbGVuYW1lKHByaiwgdHJ1ZSkKbG9jYWwgbWFrZWZpbGUgPSBwYXRoLmdldG5hbWUocHJlbWFrZS5maWxlbmFtZShwcmosIGV4dCkpCmxvY2FsIHJlc3BvbnNlID0gbWFrZS5jcy5nZXRyZXNwb25zZWZpbGVuYW1lKHByaikKX3AoJyQoUkVTUE9OU0UpOiAlcycsIG1ha2VmaWxlKQpfcCgnXHRAZWNobyBHZW5lcmF0aW5nIHJlc3BvbnNlIGZpbGUnLCBwcmoubmFtZSkKX3AoJ2lmZXEgKHBvc2l4LCQoU0hFTExUWVBFKSknKQpfeCgnXHQkKFNJTEVOVCkgcm0gLWYgJChSRVNQT05TRSknKQpfcCgnZWxzZScpCl94KCdcdCQoU0lMRU5UKSBpZiBleGlzdCAkKFJFU1BPTlNFKSBkZWwgJXMnLCBwYXRoLnRyYW5zbGF0ZShyZXNwb25zZSwgJ1xcJykpCl9wKCdlbmRpZicpCmxvY2FsIHNlcCA9IG9zLmlzKCJ3aW5kb3dzIikgYW5kICJcXCIgb3IgIi8iCmxvY2FsIHRyID0gcHJvamVjdC5nZXRzb3VyY2V0cmVlKHByaikKcHJlbWFrZS50cmVlLnRyYXZlcnNlKHRyLCB7Cm9ubGVhZiA9IGZ1bmN0aW9uKG5vZGUsIGRlcHRoKQppZiB0b29sc2V0LmZpbGVpbmZvKG5vZGUpLmFjdGlvbiA9PSAiQ29tcGlsZSIgdGhlbgpfeCgnXHRAZWNobyAlcyA+PiAkKFJFU1BPTlNFKScsIHBhdGgudHJhbnNsYXRlKG5vZGUucmVscGF0aCwgc2VwKSkKZW5kCmVuZAp9KQpfcCgnJykKZW5kCmZ1bmN0aW9uIG1ha2UuY3NFbWJlZEZpbGVzKHByaiwgdG9vbHNldCkKbG9jYWwgY2ZnID0gcHJvamVjdC5nZXRmaXJzdGNvbmZpZyhwcmopCl9wKCdFTUJFREZJTEVTICs9IFxcJykKY3MubGlzdHNvdXJjZXMocHJqLCBmdW5jdGlvbihub2RlKQpsb2NhbCBmY2ZnID0gZmlsZWNvbmZpZy5nZXRjb25maWcobm9kZSwgY2ZnKQpsb2NhbCBpbmZvID0gdG9vbHNldC5maWxlaW5mbyhmY2ZnKQppZiBpbmZvLmFjdGlvbiA9PSAiRW1iZWRkZWRSZXNvdXJjZSIgdGhlbgpyZXR1cm4gY3MuZ2V0cmVzb3VyY2VmaWxlbmFtZShjZmcsIG5vZGUucmVscGF0aCkKZW5kCmVuZCkKX3AoJycpCmVuZApmdW5jdGlvbiBtYWtlLmNzRmlsZVJ1bGVzKHByaiwgdG9vbHNldCkKZW5kCmZ1bmN0aW9uIG1ha2UuY3NGbGFncyhjZmcsIHRvb2xzZXQpCl9wKCcgIEZMQUdTID0lcycsIG1ha2UubGlzdCh0b29sc2V0LmdldGZsYWdzKGNmZykpKQplbmQKZnVuY3Rpb24gbWFrZS5jc0xpbmtDbWQoY2ZnLCB0b29sc2V0KQpsb2NhbCBkZXBzID0gcHJlbWFrZS5lc2MoY29uZmlnLmdldGxpbmtzKGNmZywgImRlcGVuZGVuY2llcyIsICJmdWxscGF0aCIpKQpfcCgnICBERVBFTkRTID0lcycsIG1ha2UubGlzdChkZXBzKSkKX3AoJyAgUkVGRVJFTkNFUyA9ICVzJywgdGFibGUuaW1wbG9kZShkZXBzLCAiL3I6IiwgIiIsICIgIikpCmVuZApmdW5jdGlvbiBtYWtlLmNzUHJvamVjdENvbmZpZyhwcmosIHRvb2xzZXQpCmxvY2FsIGNmZyA9IHByb2plY3QuZ2V0Zmlyc3Rjb25maWcocHJqKQpsb2NhbCBraW5kZmxhZyA9ICIvdDoiIC4uIHRvb2xzZXQuZ2V0a2luZChjZmcpOmxvd2VyKCkKbG9jYWwgbGliZGlycyA9IHRhYmxlLmltcGxvZGUocHJlbWFrZS5lc2MoY2ZnLmxpYmRpcnMpLCAiL2xpYjoiLCAiIiwgIiAiKQpfcCgnRkxBR1MgKz0gJXMnLCB0YWJsZS5jb25jYXQodGFibGUuam9pbihraW5kZmxhZywgbGliZGlycyksICIgIikpCmxvY2FsIHJlZnMgPSBwcmVtYWtlLmVzYyhjb25maWcuZ2V0bGlua3MoY2ZnLCAic3lzdGVtIiwgImZ1bGxwYXRoIikpCl9wKCdSRUZFUkVOQ0VTICs9ICVzJywgdGFibGUuaW1wbG9kZShyZWZzLCAiL3I6IiwgIiIsICIgIikpCl9wKCcnKQplbmQKZnVuY3Rpb24gbWFrZS5jc1NvdXJjZXMocHJqLCB0b29sc2V0KQpsb2NhbCBjZmcgPSBwcm9qZWN0LmdldGZpcnN0Y29uZmlnKHByaikKX3AoJ1NPVVJDRVMgKz0gXFwnKQpjcy5saXN0c291cmNlcyhwcmosIGZ1bmN0aW9uKG5vZGUpCmxvY2FsIGZjZmcgPSBmaWxlY29uZmlnLmdldGNvbmZpZyhub2RlLCBjZmcpCmxvY2FsIGluZm8gPSB0b29sc2V0LmZpbGVpbmZvKGZjZmcpCmlmIGluZm8uYWN0aW9uID09ICJDb21waWxlIiB0aGVuCnJldHVybiBub2RlLnJlbHBhdGgKZW5kCmVuZCkKX3AoJycpCmVuZApmdW5jdGlvbiBtYWtlLmNzVGFyZ2V0UnVsZXMocHJqLCB0b29sc2V0KQpfcCgnJChUQVJHRVQpOiAkKFNPVVJDRVMpICQoRU1CRURGSUxFUykgJChERVBFTkRTKSAkKFJFU1BPTlNFKScpCl9wKCdcdCQoU0lMRU5UKSAkKENTQykgL25vbG9nbyAvb3V0OiRAICQoRkxBR1MpICQoUkVGRVJFTkNFUykgQCQoUkVTUE9OU0UpICQocGF0c3Vic3QgJSUsL3Jlc291cmNlOiUlLCQoRU1CRURGSUxFUykpJykKX3AoJ1x0JChQT1NUQlVJTERDTURTKScpCl9wKCcnKQplbmQKZnVuY3Rpb24gbWFrZS5jc1Rvb2xzKGNmZywgdG9vbHNldCkKX3AoJyAgQ1NDID0gJXMnLCB0b29sc2V0LmdldHRvb2xuYW1lKGNmZywgImNzYyIpKQpfcCgnICBSRVNHRU4gPSAlcycsIHRvb2xzZXQuZ2V0dG9vbG5hbWUoY2ZnLCAicmVzZ2VuIikpCmVuZAoAAAAAAAAAbG9jYWwgcCA9IHByZW1ha2UKcC5tYWtlLnV0aWxpdHkgPSB7fQpsb2NhbCBtYWtlICAgICAgID0gcC5tYWtlCmxvY2FsIHV0aWxpdHkgICAgPSBwLm1ha2UudXRpbGl0eQpsb2NhbCBwcm9qZWN0ICAgID0gcC5wcm9qZWN0CmxvY2FsIGNvbmZpZyAgICAgPSBwLmNvbmZpZwpsb2NhbCBmaWxlY29uZmlnID0gcC5maWxlY29uZmlnCnV0aWxpdHkuZWxlbWVudHMgPSB7fQp1dGlsaXR5LmVsZW1lbnRzLm1ha2VmaWxlID0gewoiaGVhZGVyIiwKInBob255UnVsZXMiLAoidXRpbGl0eUNvbmZpZ3MiLAoidXRpbGl0eVRhcmdldFJ1bGVzIgp9CmZ1bmN0aW9uIG1ha2UudXRpbGl0eS5nZW5lcmF0ZShwcmopCnByZW1ha2UuZW9sKCJcbiIpCnByZW1ha2UuY2FsbGFycmF5KG1ha2UsIHV0aWxpdHkuZWxlbWVudHMubWFrZWZpbGUsIHByaikKZW5kCnV0aWxpdHkuZWxlbWVudHMuY29uZmlndXJhdGlvbiA9IHsKInRhcmdldCIsCiJwcmVCdWlsZENtZHMiLAoicG9zdEJ1aWxkQ21kcyIsCn0KZnVuY3Rpb24gbWFrZS51dGlsaXR5Q29uZmlncyhwcmopCmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KbG9jYWwgdG9vbHNldCA9IHByZW1ha2UudG9vbHNbY2ZnLnRvb2xzZXQgb3IgImdjYyJdCmlmIG5vdCB0b29sc2V0IHRoZW4KZXJyb3IoIkludmFsaWQgdG9vbHNldCAnIiAuLiBjZmcudG9vbHNldCAuLiAiJyIpCmVuZApfeCgnaWZlcSAoJChjb25maWcpLCVzKScsIGNmZy5zaG9ydG5hbWUpCnByZW1ha2UuY2FsbGFycmF5KG1ha2UsIHV0aWxpdHkuZWxlbWVudHMuY29uZmlndXJhdGlvbiwgY2ZnLCB0b29sc2V0KQpfcCgnZW5kaWYnKQpfcCgnJykKZW5kCmVuZApmdW5jdGlvbiBtYWtlLnV0aWxpdHlUYXJnZXRSdWxlcyhwcmopCl9wKCckKFRBUkdFVCk6JykKX3AoJ1x0JChQUkVCVUlMRENNRFMpJykKX3AoJ1x0JChQT1NUQlVJTERDTURTKScpCl9wKCcnKQplbmQKAAAAAGxvY2FsIHAgPSBwcmVtYWtlCnAubWFrZS5tYWtlZmlsZSA9IHt9CmxvY2FsIG1ha2UgICAgICAgPSBwLm1ha2UKbG9jYWwgbWFrZWZpbGUgICA9IHAubWFrZS5tYWtlZmlsZQpsb2NhbCBwcm9qZWN0ICAgID0gcC5wcm9qZWN0CmxvY2FsIGNvbmZpZyAgICAgPSBwLmNvbmZpZwpsb2NhbCBmaWxlY29uZmlnID0gcC5maWxlY29uZmlnCm1ha2VmaWxlLmVsZW1lbnRzID0ge30KbWFrZWZpbGUuZWxlbWVudHMubWFrZWZpbGUgPSB7CiJoZWFkZXIiLAoicGhvbnlSdWxlcyIsCiJtYWtlZmlsZUNvbmZpZ3MiLAoibWFrZWZpbGVUYXJnZXRSdWxlcyIKfQpmdW5jdGlvbiBtYWtlLm1ha2VmaWxlLmdlbmVyYXRlKHByaikKcHJlbWFrZS5lb2woIlxuIikKcHJlbWFrZS5jYWxsYXJyYXkobWFrZSwgbWFrZWZpbGUuZWxlbWVudHMubWFrZWZpbGUsIHByaikKZW5kCm1ha2VmaWxlLmVsZW1lbnRzLmNvbmZpZ3VyYXRpb24gPSB7CiJ0YXJnZXQiLAoiYnVpbGRDb21tYW5kcyIsCiJjbGVhbkNvbW1hbmRzIiwKfQpmdW5jdGlvbiBtYWtlLm1ha2VmaWxlQ29uZmlncyhwcmopCmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KbG9jYWwgdG9vbHNldCA9IHByZW1ha2UudG9vbHNbY2ZnLnRvb2xzZXQgb3IgImdjYyJdCmlmIG5vdCB0b29sc2V0IHRoZW4KZXJyb3IoIkludmFsaWQgdG9vbHNldCAnIiAuLiBjZmcudG9vbHNldCAuLiAiJyIpCmVuZApfeCgnaWZlcSAoJChjb25maWcpLCVzKScsIGNmZy5zaG9ydG5hbWUpCnByZW1ha2UuY2FsbGFycmF5KG1ha2UsIG1ha2VmaWxlLmVsZW1lbnRzLmNvbmZpZ3VyYXRpb24sIGNmZywgdG9vbHNldCkKX3AoJ2VuZGlmJykKX3AoJycpCmVuZAplbmQKZnVuY3Rpb24gbWFrZS5tYWtlZmlsZVRhcmdldFJ1bGVzKHByaikKX3AoJyQoVEFSR0VUKTonKQpfcCgnXHQkKEJVSUxEQ01EUyknKQpfcCgnJykKX3AoJ2NsZWFuOicpCl9wKCdcdCQoQ0xFQU5DTURTKScpCl9wKCcnKQplbmQKZnVuY3Rpb24gbWFrZS5idWlsZENvbW1hbmRzKGNmZykKX3AoJyAgZGVmaW5lIEJVSUxEQ01EUycpCmxvY2FsIHN0ZXBzID0gY2ZnLmJ1aWxkY29tbWFuZHMKaWYgI3N0ZXBzID4gMCB0aGVuCnN0ZXBzID0gb3MudHJhbnNsYXRlQ29tbWFuZHMoc3RlcHMpCl9wKCdcdEBlY2hvIFJ1bm5pbmcgYnVpbGQgY29tbWFuZHMnKQpfcCgnXHQlcycsIHRhYmxlLmltcGxvZGUoc3RlcHMsICIiLCAiIiwgIlxuXHQiKSkKZW5kCl9wKCcgIGVuZGVmJykKZW5kCmZ1bmN0aW9uIG1ha2UuY2xlYW5Db21tYW5kcyhjZmcpCl9wKCcgIGRlZmluZSBDTEVBTkNNRFMnKQpsb2NhbCBzdGVwcyA9IGNmZy5jbGVhbmNvbW1hbmRzCmlmICNzdGVwcyA+IDAgdGhlbgpzdGVwcyA9IG9zLnRyYW5zbGF0ZUNvbW1hbmRzKHN0ZXBzKQpfcCgnXHRAZWNobyBSdW5uaW5nIGNsZWFuIGNvbW1hbmRzJykKX3AoJ1x0JXMnLCB0YWJsZS5pbXBsb2RlKHN0ZXBzLCAiIiwgIiIsICJcblx0IikpCmVuZApfcCgnICBlbmRlZicpCmVuZApwcmVtYWtlLnZzdHVkaW8gPSB7fQpsb2NhbCB2c3R1ZGlvID0gcHJlbWFrZS52c3R1ZGlvCmxvY2FsIHAgPSBwcmVtYWtlCmxvY2FsIHByb2plY3QgPSBwLnByb2plY3QKbG9jYWwgY29uZmlnID0gcC5jb25maWcKdnN0dWRpby52czIwMHhfYXJjaGl0ZWN0dXJlcyA9CnsKd2luMzIgICA9ICJ4ODYiLAp4ODYgICAgID0gIng4NiIsCng4Nl82NCAgPSAieDY0IiwKeGJveDM2MCA9ICJYYm94IDM2MCIsCn0KdnN0dWRpby52czIwMTBfYXJjaGl0ZWN0dXJlcyA9CnsKd2luMzIgICA9ICJ4ODYiLAp9CmxvY2FsIGZ1bmN0aW9uIGFyY2hpdGVjdHVyZShzeXN0ZW0sIGFyY2gpCmxvY2FsIHJlc3VsdAppZiBfQUNUSU9OID49ICJ2czIwMTAiIHRoZW4KcmVzdWx0ID0gdnN0dWRpby52czIwMTBfYXJjaGl0ZWN0dXJlc1thcmNoXSBvciB2c3R1ZGlvLnZzMjAxMF9hcmNoaXRlY3R1cmVzW3N5c3RlbV0KZW5kCnJldHVybiByZXN1bHQgb3IgdnN0dWRpby52czIwMHhfYXJjaGl0ZWN0dXJlc1thcmNoXSBvciB2c3R1ZGlvLnZzMjAweF9hcmNoaXRlY3R1cmVzW3N5c3RlbV0KZW5kCnZzdHVkaW8uX2N1bHR1cmVzID0gewpbImFmIl0gPSAweDAwMzYsClsiYWYtWkEiXSA9IDB4MDQzNiwKWyJzcSJdID0gMHgwMDFDLApbInNxLUFMIl0gPSAweDA0MUMsClsiYXIiXSA9IDB4MDAwMSwKWyJhci1EWiJdID0gMHgxNDAxLApbImFyLUJIIl0gPSAweDNDMDEsClsiYXItRUciXSA9IDB4MEMwMSwKWyJhci1JUSJdID0gMHgwODAxLApbImFyLUpPIl0gPSAweDJDMDEsClsiYXItS1ciXSA9IDB4MzQwMSwKWyJhci1MQiJdID0gMHgzMDAxLApbImFyLUxZIl0gPSAweDEwMDEsClsiYXItTUEiXSA9IDB4MTgwMSwKWyJhci1PTSJdID0gMHgyMDAxLApbImFyLVFBIl0gPSAweDQwMDEsClsiYXItU0EiXSA9IDB4MDQwMSwKWyJhci1TWSJdID0gMHgyODAxLApbImFyLVROIl0gPSAweDFDMDEsClsiYXItQUUiXSA9IDB4MzgwMSwKWyJhci1ZRSJdID0gMHgyNDAxLApbImh5Il0gPSAweDAwMkIsClsiaHktQU0iXSA9IDB4MDQyQiwKWyJheiJdID0gMHgwMDJDLApbImF6LUN5cmwtQVoiXSA9IDB4MDgyQywKWyJhei1MYXRuLUFaIl0gPSAweDA0MkMsClsiZXUiXSA9IDB4MDAyRCwKWyJldS1FUyJdID0gMHgwNDJELApbImJlIl0gPSAweDAwMjMsClsiYmUtQlkiXSA9IDB4MDQyMywKWyJiZyJdID0gMHgwMDAyLApbImJnLUJHIl0gPSAweDA0MDIsClsiY2EiXSA9IDB4MDAwMywKWyJjYS1FUyJdID0gMHgwNDAzLApbInpoLUhLIl0gPSAweDBDMDQsClsiemgtTU8iXSA9IDB4MTQwNCwKWyJ6aC1DTiJdID0gMHgwODA0LApbInpoLUhhbnMiXSA9IDB4MDAwNCwKWyJ6aC1TRyJdID0gMHgxMDA0LApbInpoLVRXIl0gPSAweDA0MDQsClsiemgtSGFudCJdID0gMHg3QzA0LApbImhyIl0gPSAweDAwMUEsClsiaHItSFIiXSA9IDB4MDQxQSwKWyJjcyJdID0gMHgwMDA1LApbImNzLUNaIl0gPSAweDA0MDUsClsiZGEiXSA9IDB4MDAwNiwKWyJkYS1ESyJdID0gMHgwNDA2LApbImR2Il0gPSAweDAwNjUsClsiZHYtTVYiXSA9IDB4MDQ2NSwKWyJubCJdID0gMHgwMDEzLApbIm5sLUJFIl0gPSAweDA4MTMsClsibmwtTkwiXSA9IDB4MDQxMywKWyJlbiJdID0gMHgwMDA5LApbImVuLUFVIl0gPSAweDBDMDksClsiZW4tQloiXSA9IDB4MjgwOSwKWyJlbi1DQSJdID0gMHgxMDA5LApbImVuLTAyOSJdID0gMHgyNDA5LApbImVuLUlFIl0gPSAweDE4MDksClsiZW4tSk0iXSA9IDB4MjAwOSwKWyJlbi1OWiJdID0gMHgxNDA5LApbImVuLVBIIl0gPSAweDM0MDksClsiZW4tWkEiXSA9IDB4MUMwOSwKWyJlbi1UVCJdID0gMHgyQzA5LApbImVuLUdCIl0gPSAweDA4MDksClsiZW4tVVMiXSA9IDB4MDQwOSwKWyJlbi1aVyJdID0gMHgzMDA5LApbImV0Il0gPSAweDAwMjUsClsiZXQtRUUiXSA9IDB4MDQyNSwKWyJmbyJdID0gMHgwMDM4LApbImZvLUZPIl0gPSAweDA0MzgsClsiZmEiXSA9IDB4MDAyOSwKWyJmYS1JUiJdID0gMHgwNDI5LApbImZpIl0gPSAweDAwMEIsClsiZmktRkkiXSA9IDB4MDQwQiwKWyJmciJdID0gMHgwMDBDLApbImZyLUJFIl0gPSAweDA4MEMsClsiZnItQ0EiXSA9IDB4MEMwQywKWyJmci1GUiJdID0gMHgwNDBDLApbImZyLUxVIl0gPSAweDE0MEMsClsiZnItTUMiXSA9IDB4MTgwQywKWyJmci1DSCJdID0gMHgxMDBDLApbImdsIl0gPSAweDAwNTYsClsiZ2wtRVMiXSA9IDB4MDQ1NiwKWyJrYSJdID0gMHgwMDM3LApbImthLUdFIl0gPSAweDA0MzcsClsiZGUiXSA9IDB4MDAwNywKWyJkZS1BVCJdID0gMHgwQzA3LApbImRlLURFIl0gPSAweDA0MDcsClsiZGUtTEkiXSA9IDB4MTQwNywKWyJkZS1MVSJdID0gMHgxMDA3LApbImRlLUNIIl0gPSAweDA4MDcsClsiZWwiXSA9IDB4MDAwOCwKWyJlbC1HUiJdID0gMHgwNDA4LApbImd1Il0gPSAweDAwNDcsClsiZ3UtSU4iXSA9IDB4MDQ0NywKWyJoZSJdID0gMHgwMDBELApbImhlLUlMIl0gPSAweDA0MEQsClsiaGkiXSA9IDB4MDAzOSwKWyJoaS1JTiJdID0gMHgwNDM5LApbImh1Il0gPSAweDAwMEUsClsiaHUtSFUiXSA9IDB4MDQwRSwKWyJpcyJdID0gMHgwMDBGLApbImlzLUlTIl0gPSAweDA0MEYsClsiaWQiXSA9IDB4MDAyMSwKWyJpZC1JRCJdID0gMHgwNDIxLApbIml0Il0gPSAweDAwMTAsClsiaXQtSVQiXSA9IDB4MDQxMCwKWyJpdC1DSCJdID0gMHgwODEwLApbImphIl0gPSAweDAwMTEsClsiamEtSlAiXSA9IDB4MDQxMSwKWyJrbiJdID0gMHgwMDRCLApbImtuLUlOIl0gPSAweDA0NEIsClsia2siXSA9IDB4MDAzRiwKWyJray1LWiJdID0gMHgwNDNGLApbImtvayJdID0gMHgwMDU3LApbImtvay1JTiJdID0gMHgwNDU3LApbImtvIl0gPSAweDAwMTIsClsia28tS1IiXSA9IDB4MDQxMiwKWyJreSJdID0gMHgwMDQwLApbImt5LUtHIl0gPSAweDA0NDAsClsibHYiXSA9IDB4MDAyNiwKWyJsdi1MViJdID0gMHgwNDI2LApbImx0Il0gPSAweDAwMjcsClsibHQtTFQiXSA9IDB4MDQyNywKWyJtayJdID0gMHgwMDJGLApbIm1rLU1LIl0gPSAweDA0MkYsClsibXMiXSA9IDB4MDAzRSwKWyJtcy1CTiJdID0gMHgwODNFLApbIm1zLU1ZIl0gPSAweDA0M0UsClsibXIiXSA9IDB4MDA0RSwKWyJtci1JTiJdID0gMHgwNDRFLApbIm1uIl0gPSAweDAwNTAsClsibW4tTU4iXSA9IDB4MDQ1MCwKWyJubyJdID0gMHgwMDE0LApbIm5iLU5PIl0gPSAweDA0MTQsClsibm4tTk8iXSA9IDB4MDgxNCwKWyJwbCJdID0gMHgwMDE1LApbInBsLVBMIl0gPSAweDA0MTUsClsicHQiXSA9IDB4MDAxNiwKWyJwdC1CUiJdID0gMHgwNDE2LApbInB0LVBUIl0gPSAweDA4MTYsClsicGEiXSA9IDB4MDA0NiwKWyJwYS1JTiJdID0gMHgwNDQ2LApbInJvIl0gPSAweDAwMTgsClsicm8tUk8iXSA9IDB4MDQxOCwKWyJydSJdID0gMHgwMDE5LApbInJ1LVJVIl0gPSAweDA0MTksClsic2EiXSA9IDB4MDA0RiwKWyJzYS1JTiJdID0gMHgwNDRGLApbInNyLUN5cmwtQ1MiXSA9IDB4MEMxQSwKWyJzci1MYXRuLUNTIl0gPSAweDA4MUEsClsic2siXSA9IDB4MDAxQiwKWyJzay1TSyJdID0gMHgwNDFCLApbInNsIl0gPSAweDAwMjQsClsic2wtU0kiXSA9IDB4MDQyNCwKWyJlcyJdID0gMHgwMDBBLApbImVzLUFSIl0gPSAweDJDMEEsClsiZXMtQk8iXSA9IDB4NDAwQSwKWyJlcy1DTCJdID0gMHgzNDBBLApbImVzLUNPIl0gPSAweDI0MEEsClsiZXMtQ1IiXSA9IDB4MTQwQSwKWyJlcy1ETyJdID0gMHgxQzBBLApbImVzLUVDIl0gPSAweDMwMEEsClsiZXMtU1YiXSA9IDB4NDQwQSwKWyJlcy1HVCJdID0gMHgxMDBBLApbImVzLUhOIl0gPSAweDQ4MEEsClsiZXMtTVgiXSA9IDB4MDgwQSwKWyJlcy1OSSJdID0gMHg0QzBBLApbImVzLVBBIl0gPSAweDE4MEEsClsiZXMtUFkiXSA9IDB4M0MwQSwKWyJlcy1QRSJdID0gMHgyODBBLApbImVzLVBSIl0gPSAweDUwMEEsClsiZXMtRVMiXSA9IDB4MEMwQSwKWyJlcy1FU190cmFkbmwiXT0gMHgwNDBBLApbImVzLVVZIl0gPSAweDM4MEEsClsiZXMtVkUiXSA9IDB4MjAwQSwKWyJzdyJdID0gMHgwMDQxLApbInN3LUtFIl0gPSAweDA0NDEsClsic3YiXSA9IDB4MDAxRCwKWyJzdi1GSSJdID0gMHgwODFELApbInN2LVNFIl0gPSAweDA0MUQsClsic3lyIl0gPSAweDAwNUEsClsic3lyLVNZIl0gPSAweDA0NUEsClsidGEiXSA9IDB4MDA0OSwKWyJ0YS1JTiJdID0gMHgwNDQ5LApbInR0Il0gPSAweDAwNDQsClsidHQtUlUiXSA9IDB4MDQ0NCwKWyJ0ZSJdID0gMHgwMDRBLApbInRlLUlOIl0gPSAweDA0NEEsClsidGgiXSA9IDB4MDAxRSwKWyJ0aC1USCJdID0gMHgwNDFFLApbInRyIl0gPSAweDAwMUYsClsidHItVFIiXSA9IDB4MDQxRiwKWyJ1ayJdID0gMHgwMDIyLApbInVrLVVBIl0gPSAweDA0MjIsClsidXIiXSA9IDB4MDAyMCwKWyJ1ci1QSyJdID0gMHgwNDIwLApbInV6Il0gPSAweDAwNDMsClsidXotQ3lybC1VWiJdID0gMHgwODQzLApbInV6LUxhdG4tVVoiXSA9IDB4MDQ0MywKWyJ2aSJdID0gMHgwMDJBLApbInZpLVZOIl0gPSAweDA0MkEsCn0KZnVuY3Rpb24gdnN0dWRpby5hcmNoRnJvbUNvbmZpZyhjZmcsIHdpbjMyKQpsb2NhbCBpc25hdGl2ZSA9IHByb2plY3QuaXNuYXRpdmUoY2ZnLnByb2plY3QpCmxvY2FsIGFyY2ggPSBhcmNoaXRlY3R1cmUoY2ZnLnN5c3RlbSwgY2ZnLmFyY2hpdGVjdHVyZSkKaWYgbm90IGFyY2ggdGhlbgphcmNoID0gaWlmKGlzbmF0aXZlLCAieDg2IiwgIkFueSBDUFUiKQplbmQKaWYgd2luMzIgYW5kIGlzbmF0aXZlIGFuZCBhcmNoID09ICJ4ODYiIHRoZW4KYXJjaCA9ICJXaW4zMiIKZW5kCnJldHVybiBhcmNoCmVuZApmdW5jdGlvbiB2c3R1ZGlvLmFyY2hGcm9tUGxhdGZvcm0ocGxhdGZvcm0pCmxvY2FsIHN5c3RlbSA9IHByZW1ha2UuYXBpLmNoZWNrVmFsdWUocHJlbWFrZS5maWVsZHMuc3lzdGVtLCBwbGF0Zm9ybSkKbG9jYWwgYXJjaCA9IHByZW1ha2UuYXBpLmNoZWNrVmFsdWUocHJlbWFrZS5maWVsZHMuYXJjaGl0ZWN0dXJlLCBwbGF0Zm9ybSkKcmV0dXJuIGFyY2hpdGVjdHVyZShzeXN0ZW0sIGFyY2ggb3IgcGxhdGZvcm06bG93ZXIoKSkKZW5kCmZ1bmN0aW9uIHZzdHVkaW8uY3VsdHVyZUZvckxvY2FsZShsb2NhbGUpCmlmIGxvY2FsZSB0aGVuCmxvY2FsIGN1bHR1cmUgPSB2c3R1ZGlvLl9jdWx0dXJlc1tsb2NhbGVdCmlmIG5vdCBjdWx0dXJlIHRoZW4KcHJlbWFrZS53YXJuT25jZSgiTG9jYWxlIiAuLiBsb2NhbGUsICdVbnN1cHBvcnRlZCBsb2NhbGUgIiVzIicsIGxvY2FsZSkKZW5kCnJldHVybiBjdWx0dXJlCmVuZAplbmQKZnVuY3Rpb24gdnN0dWRpby5nZXRMaW5rcyhjZmcsIGV4cGxpY2l0KQpsb2NhbCBsaW5rcyA9IHt9CmlmIGV4cGxpY2l0IHRoZW4KbGlua3MgPSBjb25maWcuZ2V0bGlua3MoY2ZnLCAic2libGluZ3MiLCAiZnVsbHBhdGgiKQplbmQKbG9jYWwgc3lzdGVtID0gY29uZmlnLmdldGxpbmtzKGNmZywgInN5c3RlbSIsICJmdWxscGF0aCIpCmZvciBpID0gMSwgI3N5c3RlbSBkbwpsb2NhbCBsaW5rID0gc3lzdGVtW2ldCmlmIG5vdCBwLnRvb2xzLm1zYy5nZXRMaWJyYXJ5RXh0ZW5zaW9ucygpW2xpbms6bWF0Y2goIlteLl0rJCIpXSB0aGVuCmxpbmsgPSBwYXRoLmFwcGVuZGV4dGVuc2lvbihsaW5rLCAiLmxpYiIpCmVuZAp0YWJsZS5pbnNlcnQobGlua3MsIGxpbmspCmVuZApyZXR1cm4gbGlua3MKZW5kCmZ1bmN0aW9uIHZzdHVkaW8uaXNNYWtlZmlsZShjZmcpCnJldHVybiAoY2ZnLmtpbmQgPT0gcHJlbWFrZS5NQUtFRklMRSBvciBjZmcua2luZCA9PSBwcmVtYWtlLk5PTkUpCmVuZApmdW5jdGlvbiB2c3R1ZGlvLm5lZWRzRXhwbGljaXRMaW5rKGNmZykKaWYgbm90IGNmZy5fbmVlZHNFeHBsaWNpdExpbmsgdGhlbgpsb2NhbCBleCA9IGNmZy5mbGFncy5Ob0ltcGxpY2l0TGluawppZiBub3QgZXggdGhlbgpsb2NhbCBwcmpkZXBzID0gcHJvamVjdC5nZXRkZXBlbmRlbmNpZXMoY2ZnLnByb2plY3QsICJsaW5rT25seSIpCmxvY2FsIGNmZ2RlcHMgPSBjb25maWcuZ2V0bGlua3MoY2ZnLCAiZGVwZW5kZW5jaWVzIiwgIm9iamVjdCIpCmV4ID0gI3ByamRlcHMgfj0gI2NmZ2RlcHMKZW5kCmNmZy5fbmVlZHNFeHBsaWNpdExpbmsgPSBleAplbmQKcmV0dXJuIGNmZy5fbmVlZHNFeHBsaWNpdExpbmsKZW5kCmZ1bmN0aW9uIHZzdHVkaW8ucGF0aChjZmcsIHZhbHVlKQpjZmcgPSBjZmcucHJvamVjdCBvciBjZmcKbG9jYWwgZGlycyA9IHBhdGgudHJhbnNsYXRlKHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLCB2YWx1ZSkpCmlmIHR5cGUoZGlycykgPT0gJ3RhYmxlJyB0aGVuCmRpcnMgPSB0YWJsZS5maWx0ZXJlbXB0eShkaXJzKQplbmQKcmV0dXJuIGRpcnMKZW5kCmZ1bmN0aW9uIHZzdHVkaW8ucHJvamVjdENvbmZpZyhjZmcsIGFyY2gpCmxvY2FsIHBsYXRmb3JtID0gdnN0dWRpby5wcm9qZWN0UGxhdGZvcm0oY2ZnKQpsb2NhbCBhcmNoaXRlY3R1cmUgPSBhcmNoIG9yIHZzdHVkaW8uYXJjaEZyb21Db25maWcoY2ZnLCB0cnVlKQpyZXR1cm4gcGxhdGZvcm0gLi4gInwiIC4uIGFyY2hpdGVjdHVyZQplbmQKZnVuY3Rpb24gdnN0dWRpby5wcm9qZWN0RWxlbWVudCgpCnAucHVzaCgnPFByb2plY3QgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+JykKZW5kCmZ1bmN0aW9uIHZzdHVkaW8ucHJvamVjdGZpbGUocHJqKQpsb2NhbCBleHRlbnNpb24KaWYgcHJvamVjdC5pc2RvdG5ldChwcmopIHRoZW4KZXh0ZW5zaW9uID0gIi5jc3Byb2oiCmVsc2VpZiBwcm9qZWN0LmlzY3BwKHByaikgdGhlbgpleHRlbnNpb24gPSBpaWYoX0FDVElPTiA+ICJ2czIwMDgiLCAiLnZjeHByb2oiLCAiLnZjcHJvaiIpCmVuZApyZXR1cm4gcHJlbWFrZS5maWxlbmFtZShwcmosIGV4dGVuc2lvbikKZW5kCmZ1bmN0aW9uIHZzdHVkaW8ucHJvamVjdFBsYXRmb3JtKGNmZykKbG9jYWwgcGxhdGZvcm0gPSBjZmcucGxhdGZvcm0KaWYgcGxhdGZvcm0gdGhlbgpsb2NhbCBwbHRhcmNoID0gdnN0dWRpby5hcmNoRnJvbVBsYXRmb3JtKGNmZy5wbGF0Zm9ybSkgb3IgcGxhdGZvcm0KbG9jYWwgY2ZnYXJjaCA9IHZzdHVkaW8uYXJjaEZyb21Db25maWcoY2ZnKQppZiBwbHRhcmNoID09IGNmZ2FyY2ggdGhlbgpwbGF0Zm9ybSA9IG5pbAplbmQKZW5kCmlmIHBsYXRmb3JtIHRoZW4KcmV0dXJuIGNmZy5idWlsZGNmZyAuLiAiICIgLi4gcGxhdGZvcm0KZWxzZQpyZXR1cm4gY2ZnLmJ1aWxkY2ZnCmVuZAplbmQKZnVuY3Rpb24gdnN0dWRpby5zb2x1dGlvblBsYXRmb3JtKGNmZykKbG9jYWwgcGxhdGZvcm0gPSBjZmcucGxhdGZvcm0KbG9jYWwgcGxhdGFyY2gKaWYgcGxhdGZvcm0gdGhlbgpwbGF0Zm9ybSA9IHZzdHVkaW8uYXJjaEZyb21QbGF0Zm9ybShwbGF0Zm9ybSkgb3IgcGxhdGZvcm0KaWYgcGxhdGZvcm0gfj0gIng4NiIgdGhlbgpyZXR1cm4gcGxhdGZvcm0KZW5kCmVuZApsb2NhbCBoYXNuYXRpdmUgPSBmYWxzZQpsb2NhbCBoYXNuZXQgPSBmYWxzZQpsb2NhbCBzbG5hcmNoCmZvciBwcmogaW4gcC53b3Jrc3BhY2UuZWFjaHByb2plY3QoY2ZnLndvcmtzcGFjZSkgZG8KaWYgcHJvamVjdC5pc25hdGl2ZShwcmopIHRoZW4KaGFzbmF0aXZlID0gdHJ1ZQplbHNlaWYgcHJvamVjdC5pc2RvdG5ldChwcmopIHRoZW4KaGFzbmV0ID0gdHJ1ZQplbmQKbG9jYWwgcHJqY2ZnID0gcHJvamVjdC5nZXRjb25maWcocHJqLCBjZmcuYnVpbGRjZmcsIGNmZy5wbGF0Zm9ybSkKaWYgcHJqY2ZnIHRoZW4KbG9jYWwgcHJqYXJjaCA9IHZzdHVkaW8uYXJjaEZyb21Db25maWcocHJqY2ZnKQppZiBub3Qgc2xuYXJjaCB0aGVuCnNsbmFyY2ggPSBwcmphcmNoCmVsc2VpZiBzbG5hcmNoIH49IHByamFyY2ggdGhlbgpzbG5hcmNoID0gIk1peGVkIFBsYXRmb3JtcyIKZW5kCmVuZAplbmQKaWYgcGxhdGZvcm0gdGhlbgpyZXR1cm4gaWlmKGhhc25ldCwgIng4NiIsICJXaW4zMiIpCmVsc2VpZiBzbG5hcmNoIHRoZW4KcmV0dXJuIGlpZihzbG5hcmNoID09ICJ4ODYiIGFuZCBub3QgaGFzbmV0LCAiV2luMzIiLCBzbG5hcmNoKQplbHNlaWYgaGFzbmV0IGFuZCBoYXNuYXRpdmUgdGhlbgpyZXR1cm4gIk1peGVkIFBsYXRmb3JtcyIKZWxzZWlmIGhhc25ldCB0aGVuCnJldHVybiAiQW55IENQVSIKZWxzZQpyZXR1cm4gIldpbjMyIgplbmQKZW5kCmZ1bmN0aW9uIHZzdHVkaW8uc29sdXRpb25hcmNoKGNmZykKbG9jYWwgaGFzbmF0aXZlID0gZmFsc2UKbG9jYWwgaGFzZG90bmV0ID0gZmFsc2UKbG9jYWwgYXJjaCA9IGNmZy5wbGF0Zm9ybQpmb3IgcHJqIGluIHAud29ya3NwYWNlLmVhY2hwcm9qZWN0KGNmZy53b3Jrc3BhY2UpIGRvCmlmIHByb2plY3QuaXNuYXRpdmUocHJqKSB0aGVuCmhhc25hdGl2ZSA9IHRydWUKZWxzZWlmIHByb2plY3QuaXNkb3RuZXQocHJqKSB0aGVuCmhhc2RvdG5ldCA9IHRydWUKZW5kCmlmIGhhc25hdGl2ZSBhbmQgaGFzZG90bmV0IHRoZW4KcmV0dXJuICJNaXhlZCBQbGF0Zm9ybXMiCmVuZAppZiBub3QgYXJjaCB0aGVuCmxvY2FsIHByamNmZyA9IHByb2plY3QuZ2V0Y29uZmlnKHByaiwgY2ZnLmJ1aWxkY2ZnLCBjZmcucGxhdGZvcm0pCmlmIHByamNmZyB0aGVuCmlmIHByamNmZy5hcmNoaXRlY3R1cmUgdGhlbgphcmNoID0gdnN0dWRpby5hcmNoRnJvbUNvbmZpZyhwcmpjZmcpCmVuZAplbmQKZW5kCmVuZAphcmNoID0gYXJjaCBvciBpaWYoaGFzbmF0aXZlLCAiV2luMzIiLCAiQW55IENQVSIpCnJldHVybiBhcmNoCmVuZApmdW5jdGlvbiB2c3R1ZGlvLnNvbHV0aW9uY29uZmlnKGNmZykKbG9jYWwgcGxhdGZvcm0gPSBjZmcucGxhdGZvcm0KaWYgbm90IHBsYXRmb3JtIHRoZW4KcGxhdGZvcm0gPSB2c3R1ZGlvLnNvbHV0aW9uYXJjaChjZmcpCmVuZApyZXR1cm4gc3RyaW5nLmZvcm1hdCgiJXN8JXMiLCBjZmcuYnVpbGRjZmcsIHBsYXRmb3JtKQplbmQKZnVuY3Rpb24gdnN0dWRpby50b29sKHByaikKaWYgcHJvamVjdC5pc2RvdG5ldChwcmopIHRoZW4KcmV0dXJuICJGQUUwNEVDMC0zMDFGLTExRDMtQkY0Qi0wMEMwNEY3OUVGQkMiCmVsc2VpZiBwcm9qZWN0LmlzY3BwKHByaikgdGhlbgpyZXR1cm4gIjhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0MiIKZW5kCmVuZAoAAAAAcHJlbWFrZS52c3R1ZGlvLnZzMjAwNSA9IHt9CmxvY2FsIHAgPSBwcmVtYWtlCmxvY2FsIHZzMjAwNSA9IHAudnN0dWRpby52czIwMDUKbG9jYWwgdnN0dWRpbyA9IHAudnN0dWRpbwpmdW5jdGlvbiB2czIwMDUuZ2VuZXJhdGVTb2x1dGlvbih3a3MpCnAuaW5kZW50KCJcdCIpCnAuZW9sKCJcclxuIikKcC5lc2NhcGVyKHZzMjAwNS5lc2MpCnByZW1ha2UuZ2VuZXJhdGUod2tzLCAiLnNsbiIsIHZzdHVkaW8uc2xuMjAwNS5nZW5lcmF0ZSkKZW5kCmZ1bmN0aW9uIHZzMjAwNS5nZW5lcmF0ZVByb2plY3QocHJqKQpwLmluZGVudCgiICAiKQpwLmVvbCgiXHJcbiIpCnAuZXNjYXBlcih2czIwMDUuZXNjKQppZiBwcmVtYWtlLnByb2plY3QuaXNkb3RuZXQocHJqKSB0aGVuCnByZW1ha2UuZ2VuZXJhdGUocHJqLCAiLmNzcHJvaiIsIHZzdHVkaW8uY3MyMDA1LmdlbmVyYXRlKQpsb2NhbCB1c2VyID0gcC5jYXB0dXJlKGZ1bmN0aW9uKCkgdnN0dWRpby5jczIwMDUuZ2VuZXJhdGVVc2VyKHByaikgZW5kKQppZiAjdXNlciA+IDAgdGhlbgpwLmdlbmVyYXRlKHByaiwgIi5jc3Byb2oudXNlciIsIGZ1bmN0aW9uKCkgcC5vdXRsbih1c2VyKSBlbmQpCmVuZAplbHNlaWYgcHJlbWFrZS5wcm9qZWN0LmlzY3BwKHByaikgdGhlbgpwcmVtYWtlLmdlbmVyYXRlKHByaiwgIi52Y3Byb2oiLCB2c3R1ZGlvLnZjMjAweC5nZW5lcmF0ZSkKbG9jYWwgdXNlciA9IHAuY2FwdHVyZShmdW5jdGlvbigpIHZzdHVkaW8udmMyMDB4LmdlbmVyYXRlVXNlcihwcmopIGVuZCkKaWYgI3VzZXIgPiAwIHRoZW4KcC5nZW5lcmF0ZShwcmosICIudmNwcm9qLnVzZXIiLCBmdW5jdGlvbigpIHAub3V0bG4odXNlcikgZW5kKQplbmQKZW5kCmVuZApmdW5jdGlvbiB2czIwMDUuZXNjKHZhbHVlKQp2YWx1ZSA9IHN0cmluZy5nc3ViKHZhbHVlLCAnJicsICAiJmFtcDsiKQp2YWx1ZSA9IHZhbHVlOmdzdWIoJyInLCAgIiZxdW90OyIpCnZhbHVlID0gdmFsdWU6Z3N1YigiJyIsICAiJmFwb3M7IikKdmFsdWUgPSB2YWx1ZTpnc3ViKCc8JywgICImbHQ7IikKdmFsdWUgPSB2YWx1ZTpnc3ViKCc+JywgICImZ3Q7IikKdmFsdWUgPSB2YWx1ZTpnc3ViKCdccicsICImI3gwRDsiKQp2YWx1ZSA9IHZhbHVlOmdzdWIoJ1xuJywgIiYjeDBBOyIpCnJldHVybiB2YWx1ZQplbmQKbmV3YWN0aW9uIHsKdHJpZ2dlciAgICAgPSAidnMyMDA1IiwKc2hvcnRuYW1lICAgPSAiVmlzdWFsIFN0dWRpbyAyMDA1IiwKZGVzY3JpcHRpb24gPSAiR2VuZXJhdGUgVmlzdWFsIFN0dWRpbyAyMDA1IHByb2plY3QgZmlsZXMiLApvcyA9ICJ3aW5kb3dzIiwKdmFsaWRfa2luZHMgICAgID0geyAiQ29uc29sZUFwcCIsICJXaW5kb3dlZEFwcCIsICJTdGF0aWNMaWIiLCAiU2hhcmVkTGliIiwgIk1ha2VmaWxlIiwgIk5vbmUiIH0sCnZhbGlkX2xhbmd1YWdlcyA9IHsgIkMiLCAiQysrIiwgIkMjIiB9LAp2YWxpZF90b29scyAgICAgPSB7CmNjICAgICA9IHsgIm1zYyIgICB9LApkb3RuZXQgPSB7ICJtc25ldCIgfSwKfSwKb25Xb3Jrc3BhY2UgPSB2c3R1ZGlvLnZzMjAwNS5nZW5lcmF0ZVNvbHV0aW9uLApvblByb2plY3QgICA9IHZzdHVkaW8udnMyMDA1LmdlbmVyYXRlUHJvamVjdCwKb25DbGVhbldvcmtzcGFjZSA9IHZzdHVkaW8uY2xlYW5Tb2x1dGlvbiwKb25DbGVhblByb2plY3QgICA9IHZzdHVkaW8uY2xlYW5Qcm9qZWN0LApvbkNsZWFuVGFyZ2V0ICAgID0gdnN0dWRpby5jbGVhblRhcmdldCwKdnN0dWRpbyA9IHsKY3Nwcm9qU2NoZW1hVmVyc2lvbiA9ICIyLjAiLApwcm9kdWN0VmVyc2lvbiAgICAgID0gIjguMC41MDcyNyIsCnNvbHV0aW9uVmVyc2lvbiAgICAgPSAiOSIsCnZlcnNpb25OYW1lICAgICAgICAgPSAiMjAwNSIsCn0KfQoAAAAAAABwcmVtYWtlLnZzdHVkaW8udnMyMDA4ID0ge30KbG9jYWwgdnMyMDA4ID0gcHJlbWFrZS52c3R1ZGlvLnZzMjAwOApsb2NhbCB2c3R1ZGlvID0gcHJlbWFrZS52c3R1ZGlvCm5ld2FjdGlvbiB7CnRyaWdnZXIgICAgID0gInZzMjAwOCIsCnNob3J0bmFtZSAgID0gIlZpc3VhbCBTdHVkaW8gMjAwOCIsCmRlc2NyaXB0aW9uID0gIkdlbmVyYXRlIFZpc3VhbCBTdHVkaW8gMjAwOCBwcm9qZWN0IGZpbGVzIiwKb3MgPSAid2luZG93cyIsCnZhbGlkX2tpbmRzICAgICA9IHsgIkNvbnNvbGVBcHAiLCAiV2luZG93ZWRBcHAiLCAiU3RhdGljTGliIiwgIlNoYXJlZExpYiIsICJNYWtlZmlsZSIsICJOb25lIiB9LAp2YWxpZF9sYW5ndWFnZXMgPSB7ICJDIiwgIkMrKyIsICJDIyIgfSwKdmFsaWRfdG9vbHMgICAgID0gewpjYyAgICAgPSB7ICJtc2MiICAgfSwKZG90bmV0ID0geyAibXNuZXQiIH0sCn0sCm9uV29ya3NwYWNlID0gdnN0dWRpby52czIwMDUuZ2VuZXJhdGVTb2x1dGlvbiwKb25Qcm9qZWN0ICAgPSB2c3R1ZGlvLnZzMjAwNS5nZW5lcmF0ZVByb2plY3QsCm9uQ2xlYW5Xb3Jrc3BhY2UgPSB2c3R1ZGlvLmNsZWFuU29sdXRpb24sCm9uQ2xlYW5Qcm9qZWN0ICAgPSB2c3R1ZGlvLmNsZWFuUHJvamVjdCwKb25DbGVhblRhcmdldCAgICA9IHZzdHVkaW8uY2xlYW5UYXJnZXQsCnZzdHVkaW8gPSB7CmNzcHJvalNjaGVtYVZlcnNpb24gPSAiMi4wIiwKcHJvZHVjdFZlcnNpb24gICAgICA9ICI5LjAuMzA3MjkiLApzb2x1dGlvblZlcnNpb24gICAgID0gIjEwIiwKdmVyc2lvbk5hbWUgICAgICAgICA9ICIyMDA4IiwKdG9vbHNWZXJzaW9uICAgICAgICA9ICIzLjUiLAp9Cn0KcHJlbWFrZS52c3R1ZGlvLnZjMjAweCA9IHt9CmxvY2FsIG0gPSBwcmVtYWtlLnZzdHVkaW8udmMyMDB4CmxvY2FsIHAgPSBwcmVtYWtlCmxvY2FsIHZzdHVkaW8gPSBwLnZzdHVkaW8KbG9jYWwgY29udGV4dCA9IHAuY29udGV4dApsb2NhbCBwcm9qZWN0ID0gcC5wcm9qZWN0CmxvY2FsIGNvbmZpZyA9IHAuY29uZmlnCmxvY2FsIGZpbGVjb25maWcgPSBwLmZpbGVjb25maWcKbS5lbGVtZW50cyA9IHt9Cm0uZWxlbWVudHMucHJvamVjdCA9IGZ1bmN0aW9uKHByaikKcmV0dXJuIHsKbS54bWxFbGVtZW50LAptLnZpc3VhbFN0dWRpb1Byb2plY3QsCm0ucGxhdGZvcm1zLAptLnRvb2xGaWxlcywKbS5jb25maWd1cmF0aW9ucywKbS5yZWZlcmVuY2VzLAptLmZpbGVzLAptLmdsb2JhbHMKfQplbmQKZnVuY3Rpb24gbS5nZW5lcmF0ZShwcmopCnAuaW5kZW50KCJcdCIpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMucHJvamVjdCwgcHJqKQpwLnBvcCgnPC9WaXN1YWxTdHVkaW9Qcm9qZWN0PicpCnAudygpCmVuZAptLmVsZW1lbnRzLnZpc3VhbFN0dWRpb1Byb2plY3QgPSBmdW5jdGlvbihwcmopCnJldHVybiB7Cm0ucHJvamVjdFR5cGUsCm0udmVyc2lvbiwKbS5wcm9qZWN0TmFtZSwKbS5wcm9qZWN0R1VJRCwKbS5yb290TmFtZXNwYWNlLAptLmtleXdvcmQsCm0udGFyZ2V0RnJhbWV3b3JrVmVyc2lvbgp9CmVuZApmdW5jdGlvbiBtLnZpc3VhbFN0dWRpb1Byb2plY3QocHJqKQpwLnB1c2goJzxWaXN1YWxTdHVkaW9Qcm9qZWN0JykKcC5jYWxsQXJyYXkobS5lbGVtZW50cy52aXN1YWxTdHVkaW9Qcm9qZWN0LCBwcmopCnAudygnPicpCmVuZApmdW5jdGlvbiBtLmNvbmZpZ3VyYXRpb25zKHByaikKcC5wdXNoKCc8Q29uZmlndXJhdGlvbnM+JykKbG9jYWwgbWFwcGluZyA9IHt9CmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KbG9jYWwgbmFtZSA9IHZzdHVkaW8ucHJvamVjdENvbmZpZyhjZmcpCm1hcHBpbmdbY2ZnXSA9IG5hbWUKbWFwcGluZ1tuYW1lXSA9IGNmZwplbmQKZm9yIGNmZyBpbiBwcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwpmb3IgaSwgYXJjaCBpbiBpcGFpcnMoYXJjaGl0ZWN0dXJlcykgZG8KbG9jYWwgdGFyZ2V0CmxvY2FsIHRlc3ROYW1lID0gdnN0dWRpby5wcm9qZWN0Q29uZmlnKGNmZywgYXJjaCkKaWYgdGVzdE5hbWUgPT0gbWFwcGluZ1tjZmddIHRoZW4KdGFyZ2V0ID0gY2ZnCmVsc2VpZiBub3QgbWFwcGluZ1t0ZXN0TmFtZV0gdGhlbgp0YXJnZXQgPSB7IGZha2UgPSB0cnVlIH0KZW5kCmlmIHRhcmdldCB0aGVuCm0uY29uZmlndXJhdGlvbih0YXJnZXQsIHRlc3ROYW1lKQptLnRvb2xzKHRhcmdldCkKcC5wb3AoJzwvQ29uZmlndXJhdGlvbj4nKQplbmQKZW5kCmVuZApwLnBvcCgnPC9Db25maWd1cmF0aW9ucz4nKQplbmQKbS5lbGVtZW50cy5jb25maWd1cmF0aW9uID0gZnVuY3Rpb24oY2ZnKQppZiBjZmcuZmFrZSB0aGVuCnJldHVybiB7Cm0uaW50ZXJtZWRpYXRlRGlyZWN0b3J5LAptLmNvbmZpZ3VyYXRpb25UeXBlCn0KZWxzZQpyZXR1cm4gewptLm91dHB1dERpcmVjdG9yeSwKbS5pbnRlcm1lZGlhdGVEaXJlY3RvcnksCm0uY29uZmlndXJhdGlvblR5cGUsCm0udXNlT2ZNRkMsCm0uY2hhcmFjdGVyU2V0LAptLm1hbmFnZWRFeHRlbnNpb25zLAp9CmVuZAplbmQKZnVuY3Rpb24gbS5jb25maWd1cmF0aW9uKGNmZywgbmFtZSkKcC5wdXNoKCc8Q29uZmlndXJhdGlvbicpCnAudygnTmFtZT0iJXMiJywgbmFtZSkKcC5jYWxsQXJyYXkobS5lbGVtZW50cy5jb25maWd1cmF0aW9uLCBjZmcpCnAudygnPicpCmVuZAptLmVsZW1lbnRzLnRvb2xzID0gZnVuY3Rpb24oY2ZnKQppZiB2c3R1ZGlvLmlzTWFrZWZpbGUoY2ZnKSBhbmQgbm90IGNmZy5mYWtlIHRoZW4KcmV0dXJuIHsKbS5WQ05NYWtlVG9vbAp9CmVuZAppZiBjZmcuc3lzdGVtID09IHAuWEJPWDM2MCB0aGVuCnJldHVybiB7Cm0uVkNQcmVCdWlsZEV2ZW50VG9vbCwKbS5WQ0N1c3RvbUJ1aWxkVG9vbCwKbS5WQ1hNTERhdGFHZW5lcmF0b3JUb29sLAptLlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCwKbS5WQ01JRExUb29sLAptLlZDQ0xDb21waWxlclRvb2wsCm0uVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wsCm0uVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCwKbS5WQ1ByZUxpbmtFdmVudFRvb2wsCm0uVkNMaW5rZXJUb29sLAptLlZDQUxpbmtUb29sLAptLlZDWDM2MEltYWdlVG9vbCwKbS5WQ0JzY01ha2VUb29sLAptLlZDWDM2MERlcGxveW1lbnRUb29sLAptLlZDUG9zdEJ1aWxkRXZlbnRUb29sLAptLkRlYnVnZ2VyVG9vbCwKfQplbHNlCnJldHVybiB7Cm0uVkNQcmVCdWlsZEV2ZW50VG9vbCwKbS5WQ0N1c3RvbUJ1aWxkVG9vbCwKbS5WQ1hNTERhdGFHZW5lcmF0b3JUb29sLAptLlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCwKbS5WQ01JRExUb29sLAptLlZDQ0xDb21waWxlclRvb2wsCm0uVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wsCm0uVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCwKbS5WQ1ByZUxpbmtFdmVudFRvb2wsCm0uVkNMaW5rZXJUb29sLAptLlZDQUxpbmtUb29sLAptLlZDTWFuaWZlc3RUb29sLAptLlZDWERDTWFrZVRvb2wsCm0uVkNCc2NNYWtlVG9vbCwKbS5WQ0Z4Q29wVG9vbCwKbS5WQ0FwcFZlcmlmaWVyVG9vbCwKbS5WQ1Bvc3RCdWlsZEV2ZW50VG9vbCwKfQplbmQKZW5kCmZ1bmN0aW9uIG0udG9vbHMoY2ZnKQpwcmVtYWtlLmNhbGxBcnJheShtLmVsZW1lbnRzLnRvb2xzLCBjZmcsIGNvbmZpZy50b29sc2V0KGNmZykpCmVuZAptLmVsZW1lbnRzLnJlZmVyZW5jZXMgPSBmdW5jdGlvbihwcmopCnJldHVybiB7Cm0uYXNzZW1ibHlSZWZlcmVuY2VzLAptLnByb2plY3RSZWZlcmVuY2VzLAp9CmVuZApmdW5jdGlvbiBtLnJlZmVyZW5jZXMocHJqKQpwLnB1c2goJzxSZWZlcmVuY2VzPicpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMucmVmZXJlbmNlcywgcHJqKQpwLnBvcCgnPC9SZWZlcmVuY2VzPicpCmVuZApmdW5jdGlvbiBtLmZpbGVzKHByaikKbG9jYWwgdHIgPSBtLmZpbGVzU29ydGVkKHByaikKcC5wdXNoKCc8RmlsZXM+JykKcC50cmVlLnRyYXZlcnNlKHRyLCB7Cm9uYnJhbmNoZW50ZXIgPSBtLmZpbGVzRmlsdGVyU3RhcnQsCm9uYnJhbmNoZXhpdCA9IG0uZmlsZXNGaWx0ZXJFbmQsCm9ubGVhZiA9IG0uZmlsZXNGaWxlLAp9LCBmYWxzZSkKcC5wb3AoJzwvRmlsZXM+JykKZW5kCmZ1bmN0aW9uIG0uZmlsZXNTb3J0ZWQocHJqKQpyZXR1cm4gcHJvamVjdC5nZXRzb3VyY2V0cmVlKHByaiwgZnVuY3Rpb24oYSxiKQpsb2NhbCBpc3RvcCA9IChhLnBhcmVudC5wYXJlbnQgPT0gbmlsKQpsb2NhbCBhU29ydE5hbWUgPSBhLm5hbWUKbG9jYWwgYlNvcnROYW1lID0gYi5uYW1lCmlmIGEucmVscGF0aCB0aGVuCmlmIG5vdCBiLnJlbHBhdGggdGhlbgpyZXR1cm4gbm90IGlzdG9wCmVuZAphU29ydE5hbWUgPSBhLnJlbHBhdGg6Z3N1YigiJS4lLiUvIiwgIiIpCmVuZAppZiBiLnJlbHBhdGggdGhlbgppZiBub3QgYS5yZWxwYXRoIHRoZW4KcmV0dXJuIGlzdG9wCmVuZApiU29ydE5hbWUgPSBiLnJlbHBhdGg6Z3N1YigiJS4lLiUvIiwgIiIpCmVuZApyZXR1cm4gYVNvcnROYW1lIDwgYlNvcnROYW1lCmVuZCkKZW5kCmZ1bmN0aW9uIG0uZmlsZXNGaWx0ZXJTdGFydChub2RlKQpwLnB1c2goJzxGaWx0ZXInKQpwLncoJ05hbWU9IiVzIicsIG5vZGUubmFtZSkKcC53KCc+JykKZW5kCmZ1bmN0aW9uIG0uZmlsZXNGaWx0ZXJFbmQobm9kZSkKcC5wb3AoJzwvRmlsdGVyPicpCmVuZApmdW5jdGlvbiBtLmZpbGVzRmlsZShub2RlKQpwLnB1c2goJzxGaWxlJykKcC53KCdSZWxhdGl2ZVBhdGg9IiVzIicsIHBhdGgudHJhbnNsYXRlKG5vZGUucmVscGF0aCkpCnAudygnPicpCmxvY2FsIHByaiA9IG5vZGUucHJvamVjdApmb3IgY2ZnIGluIHByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCm0uZmlsZUNvbmZpZ3VyYXRpb24oY2ZnLCBub2RlKQplbmQKcC5wb3AoJzwvRmlsZT4nKQplbmQKbS5lbGVtZW50cy5maWxlQ29uZmlndXJhdGlvbkF0dHJpYnV0ZXMgPSBmdW5jdGlvbihmaWxlY2ZnKQpyZXR1cm4gewptLmV4Y2x1ZGVkRnJvbUJ1aWxkLAp9CmVuZApmdW5jdGlvbiBtLmZpbGVDb25maWd1cmF0aW9uKGNmZywgbm9kZSkKbG9jYWwgZmlsZWNmZyA9IGZpbGVjb25maWcuZ2V0Y29uZmlnKG5vZGUsIGNmZykKbG9jYWwgY29uZmlnQXR0cmlicyA9IHAuY2FwdHVyZShmdW5jdGlvbiAoKQpwLnB1c2goKQpwLmNhbGxBcnJheShtLmVsZW1lbnRzLmZpbGVDb25maWd1cmF0aW9uQXR0cmlidXRlcywgZmlsZWNmZykKcC5wb3AoKQplbmQpCmxvY2FsIGNvbXBpbGVyQXR0cmlicyA9IHAuY2FwdHVyZShmdW5jdGlvbiAoKQpwLnB1c2goKQptLlZDQ0xDb21waWxlclRvb2woZmlsZWNmZykKcC5wb3AoKQplbmQpCmlmICNjb25maWdBdHRyaWJzID4gMCBvciBjb21waWxlckF0dHJpYnM6bGluZXMoKSA+IDMgdGhlbgpwLnB1c2goJzxGaWxlQ29uZmlndXJhdGlvbicpCnAudygnTmFtZT0iJXMiJywgdnN0dWRpby5wcm9qZWN0Q29uZmlnKGNmZykpCmlmICNjb25maWdBdHRyaWJzID4gMCB0aGVuCnAub3V0bG4oY29uZmlnQXR0cmlicykKZW5kCnAudygnPicpCnAub3V0bG4oY29tcGlsZXJBdHRyaWJzKQpwLnBvcCgnPC9GaWxlQ29uZmlndXJhdGlvbj4nKQplbmQKZW5kCm0uZWxlbWVudHMuZ2xvYmFscyA9IGZ1bmN0aW9uKHByaikKcmV0dXJuIHt9CmVuZApmdW5jdGlvbiBtLmdsb2JhbHMocHJqKQpwLnB1c2goJzxHbG9iYWxzPicpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMuZ2xvYmFscywgcHJqKQpwLnBvcCgnPC9HbG9iYWxzPicpCmVuZApmdW5jdGlvbiBtLlZDVG9vbChuYW1lLCBjZmcsIC4uLikKcC5wdXNoKCc8VG9vbCcpCmxvY2FsIG5hbWVGdW5jID0gbVtuYW1lIC4uICJOYW1lIl0KbG9jYWwgY2FsbEZ1bmMgPSBtLmVsZW1lbnRzW25hbWVdCmlmIG5hbWVGdW5jIHRoZW4KbmFtZSA9IG5hbWVGdW5jKGNmZywgLi4uKQplbmQKcC53KCdOYW1lPSIlcyInLCBuYW1lKQppZiBjZmcgYW5kIG5vdCBjZmcuZmFrZSB0aGVuCnAuY2FsbEFycmF5KGNhbGxGdW5jLCBjZmcsIC4uLikKZW5kCnAucG9wKCcvPicpCmVuZAptLmVsZW1lbnRzLkRlYnVnZ2VyVG9vbCA9IGZ1bmN0aW9uKGNmZykKcmV0dXJuIHt9CmVuZApmdW5jdGlvbiBtLkRlYnVnZ2VyVG9vbChjZmcpCnAucHVzaCgnPERlYnVnZ2VyVG9vbCcpCnAucG9wKCcvPicpCmVuZAptLmVsZW1lbnRzLlZDQUxpbmtUb29sID0gZnVuY3Rpb24oY2ZnKQpyZXR1cm4ge30KZW5kCmZ1bmN0aW9uIG0uVkNBTGlua1Rvb2woY2ZnKQptLlZDVG9vbCgiVkNBTGlua1Rvb2wiLCBjZmcpCmVuZAptLmVsZW1lbnRzLlZDQXBwVmVyaWZpZXJUb29sID0gZnVuY3Rpb24oY2ZnKQpyZXR1cm4ge30KZW5kCmZ1bmN0aW9uIG0uVkNBcHBWZXJpZmllclRvb2woY2ZnKQppZiBjZmcua2luZCB+PSBwLlNUQVRJQ0xJQiB0aGVuCm0uVkNUb29sKCJWQ0FwcFZlcmlmaWVyVG9vbCIsIGNmZykKZW5kCmVuZAptLmVsZW1lbnRzLlZDQnNjTWFrZVRvb2wgPSBmdW5jdGlvbihjZmcpCnJldHVybiB7fQplbmQKZnVuY3Rpb24gbS5WQ0JzY01ha2VUb29sKGNmZykKbS5WQ1Rvb2woIlZDQnNjTWFrZVRvb2wiLCBjZmcpCmVuZAptLmVsZW1lbnRzLlZDQ0xDb21waWxlclRvb2wgPSBmdW5jdGlvbihjZmcsIHRvb2xzZXQpCmlmIG5vdCB0b29sc2V0IHRoZW4KcmV0dXJuIHsKbS5jdXN0b21CdWlsZFRvb2wsCm0ub2JqZWN0RmlsZSwKbS5hZGRpdGlvbmFsQ29tcGlsZXJPcHRpb25zLAptLm9wdGltaXphdGlvbiwKbS5hZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzLAptLndob2xlUHJvZ3JhbU9wdGltaXphdGlvbiwKbS5wcmVwcm9jZXNzb3JEZWZpbml0aW9ucywKbS51bmRlZmluZVByZXByb2Nlc3NvckRlZmluaXRpb25zLAptLm1pbmltYWxSZWJ1aWxkLAptLmJhc2ljUnVudGltZUNoZWNrcywKbS5idWZmZXJTZWN1cml0eUNoZWNrLAptLnN0cmluZ1Bvb2xpbmcsCm0uZXhjZXB0aW9uSGFuZGxpbmcsCm0ucnVudGltZUxpYnJhcnksCm0uZW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmcsCm0uZW5hYmxlRW5oYW5jZWRJbnN0cnVjdGlvblNldCwKbS5mbG9hdGluZ1BvaW50TW9kZWwsCm0ucnVudGltZVR5cGVJbmZvLAptLnRyZWF0V0NoYXJfdEFzQnVpbHRJblR5cGUsCm0udXNlUHJlY29tcGlsZWRIZWFkZXIsCm0ucHJvZ3JhbURhdGFCYXNlRmlsZU5hbWUsCm0ud2FybmluZ0xldmVsLAptLndhcm5Bc0Vycm9yLAptLmRldGVjdDY0Qml0UG9ydGFiaWxpdHlQcm9ibGVtcywKbS5kZWJ1Z0luZm9ybWF0aW9uRm9ybWF0LAptLmNvbXBpbGVBcywKbS5kaXNhYmxlU3BlY2lmaWNXYXJuaW5ncywKbS5mb3JjZWRJbmNsdWRlRmlsZXMsCm0ub21pdERlZmF1bHRMaWIsCn0KZWxzZQpyZXR1cm4gewptLmFkZGl0aW9uYWxFeHRlcm5hbENvbXBpbGVyT3B0aW9ucywKbS5hZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzLAptLnByZXByb2Nlc3NvckRlZmluaXRpb25zLAptLnVuZGVmaW5lUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMsCm0udXNlUHJlY29tcGlsZWRIZWFkZXIsCm0ucHJvZ3JhbURhdGFCYXNlRmlsZU5hbWUsCm0uZGVidWdJbmZvcm1hdGlvbkZvcm1hdCwKbS5jb21waWxlQXMsCm0uZm9yY2VkSW5jbHVkZUZpbGVzLAp9CmVuZAplbmQKZnVuY3Rpb24gbS5WQ0NMQ29tcGlsZXJUb29sTmFtZShjZmcpCmxvY2FsIHByamNmZywgZmlsZWNmZyA9IGNvbmZpZy5ub3JtYWxpemUoY2ZnKQppZiBmaWxlY2ZnIGFuZCBmaWxlY29uZmlnLmhhc0N1c3RvbUJ1aWxkUnVsZShmaWxlY2ZnKSB0aGVuCnJldHVybiAiVkNDdXN0b21CdWlsZFRvb2wiCmVsc2VpZiBwcmpjZmcgYW5kIHByamNmZy5zeXN0ZW0gPT0gcC5YQk9YMzYwIHRoZW4KcmV0dXJuICJWQ0NMWDM2MENvbXBpbGVyVG9vbCIKZWxzZQpyZXR1cm4gIlZDQ0xDb21waWxlclRvb2wiCmVuZAplbmQKZnVuY3Rpb24gbS5WQ0NMQ29tcGlsZXJUb29sKGNmZywgdG9vbHNldCkKbS5WQ1Rvb2woIlZDQ0xDb21waWxlclRvb2wiLCBjZmcsIHRvb2xzZXQpCmVuZAptLmVsZW1lbnRzLlZDQ3VzdG9tQnVpbGRUb29sID0gZnVuY3Rpb24oY2ZnKQpyZXR1cm4ge30KZW5kCmZ1bmN0aW9uIG0uVkNDdXN0b21CdWlsZFRvb2woY2ZnKQptLlZDVG9vbCgiVkNDdXN0b21CdWlsZFRvb2wiLCBjZmcpCmVuZAptLmVsZW1lbnRzLlZDRnhDb3BUb29sID0gZnVuY3Rpb24oY2ZnKQpyZXR1cm4ge30KZW5kCmZ1bmN0aW9uIG0uVkNGeENvcFRvb2woY2ZnKQptLlZDVG9vbCgiVkNGeENvcFRvb2wiLCBjZmcpCmVuZAptLmVsZW1lbnRzLlZDTGlua2VyVG9vbCA9IGZ1bmN0aW9uKGNmZywgdG9vbHNldCkKaWYgY2ZnLmtpbmQgfj0gcC5TVEFUSUNMSUIgdGhlbgpyZXR1cm4gewptLmxpbmtMaWJyYXJ5RGVwZW5kZW5jaWVzLAptLmlnbm9yZUltcG9ydExpYnJhcnksCm0uYWRkaXRpb25hbExpbmtlck9wdGlvbnMsCm0uYWRkaXRpb25hbERlcGVuZGVuY2llcywKbS5vdXRwdXRGaWxlLAptLmxpbmtJbmNyZW1lbnRhbCwKbS5hZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzLAptLm1vZHVsZURlZmluaXRpb25GaWxlLAptLmdlbmVyYXRlTWFuaWZlc3QsCm0uZ2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uLAptLnByb2dyYW1EYXRhYmFzZUZpbGUsCm0uc3ViU3lzdGVtLAptLmxhcmdlQWRkcmVzc0F3YXJlLAptLm9wdGltaXplUmVmZXJlbmNlcywKbS5lbmFibGVDT01EQVRGb2xkaW5nLAptLmVudHJ5UG9pbnRTeW1ib2wsCm0uaW1wb3J0TGlicmFyeSwKbS50YXJnZXRNYWNoaW5lLAp9CmVsc2UKcmV0dXJuIHsKbS5hZGRpdGlvbmFsTGlua2VyT3B0aW9ucywKbS5hZGRpdGlvbmFsRGVwZW5kZW5jaWVzLAptLm91dHB1dEZpbGUsCm0uYWRkaXRpb25hbExpYnJhcnlEaXJlY3RvcmllcywKfQplbmQKZW5kCmZ1bmN0aW9uIG0uVkNMaW5rZXJUb29sTmFtZShjZmcpCmlmIGNmZy5raW5kID09IHAuU1RBVElDTElCIHRoZW4KcmV0dXJuICJWQ0xpYnJhcmlhblRvb2wiCmVsc2VpZiBjZmcuc3lzdGVtID09IHAuWEJPWDM2MCB0aGVuCnJldHVybiAiVkNYMzYwTGlua2VyVG9vbCIKZWxzZQpyZXR1cm4gIlZDTGlua2VyVG9vbCIKZW5kCmVuZApmdW5jdGlvbiBtLlZDTGlua2VyVG9vbChjZmcsIHRvb2xzZXQpCm0uVkNUb29sKCJWQ0xpbmtlclRvb2wiLCBjZmcsIHRvb2xzZXQpCmVuZAptLmVsZW1lbnRzLlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sID0gZnVuY3Rpb24oY2ZnKQpyZXR1cm4ge30KZW5kCmZ1bmN0aW9uIG0uVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2woY2ZnKQptLlZDVG9vbCgiVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiLCBjZmcpCmVuZAptLmVsZW1lbnRzLlZDTWFuaWZlc3RUb29sID0gZnVuY3Rpb24oY2ZnKQpyZXR1cm4gewptLmFkZGl0aW9uYWxNYW5pZmVzdEZpbGVzLAp9CmVuZApmdW5jdGlvbiBtLlZDTWFuaWZlc3RUb29sKGNmZykKaWYgY2ZnLmtpbmQgfj0gcC5TVEFUSUNMSUIgdGhlbgptLlZDVG9vbCgiVkNNYW5pZmVzdFRvb2wiLCBjZmcpCmVuZAplbmQKbS5lbGVtZW50cy5WQ01JRExUb29sID0gZnVuY3Rpb24oY2ZnKQpyZXR1cm4gewptLnRhcmdldEVudmlyb25tZW50Cn0KZW5kCmZ1bmN0aW9uIG0uVkNNSURMVG9vbChjZmcpCm0uVkNUb29sKCJWQ01JRExUb29sIiwgY2ZnKQplbmQKbS5lbGVtZW50cy5WQ05NYWtlVG9vbCA9IGZ1bmN0aW9uKGNmZykKcmV0dXJuIHsKbS5idWlsZENvbW1hbmRMaW5lLAptLnJlQnVpbGRDb21tYW5kTGluZSwKbS5jbGVhbkNvbW1hbmRMaW5lLAptLm91dHB1dCwKbS5wcmVwcm9jZXNzb3JEZWZpbml0aW9ucywKbS51bmRlZmluZVByZXByb2Nlc3NvckRlZmluaXRpb25zLAptLmluY2x1ZGVTZWFyY2hQYXRoLAptLmZvcmNlZEluY2x1ZGVzLAptLmFzc2VtYmx5U2VhcmNoUGF0aCwKbS5mb3JjZWRVc2luZ0Fzc2VtYmxpZXMsCm0uY29tcGlsZUFzTWFuYWdlZCwKfQplbmQKZnVuY3Rpb24gbS5WQ05NYWtlVG9vbChjZmcpCm0uVkNUb29sKCJWQ05NYWtlVG9vbCIsIGNmZykKZW5kCm0uZWxlbWVudHMuVkNCdWlsZFRvb2wgPSBmdW5jdGlvbihjZmcsIHN0YWdlKQpyZXR1cm4gewptLmNvbW1hbmRMaW5lLAp9CmVuZApmdW5jdGlvbiBtLlZDQnVpbGRUb29sTmFtZShjZmcsIHN0YWdlKQpyZXR1cm4gIlZDIiAuLiBzdGFnZSAuLiAiRXZlbnRUb29sIgplbmQKZnVuY3Rpb24gbS5WQ1ByZUJ1aWxkRXZlbnRUb29sKGNmZykKbS5WQ1Rvb2woIlZDQnVpbGRUb29sIiwgY2ZnLCAiUHJlQnVpbGQiKQplbmQKZnVuY3Rpb24gbS5WQ1ByZUxpbmtFdmVudFRvb2woY2ZnKQptLlZDVG9vbCgiVkNCdWlsZFRvb2wiLCBjZmcsICJQcmVMaW5rIikKZW5kCmZ1bmN0aW9uIG0uVkNQb3N0QnVpbGRFdmVudFRvb2woY2ZnKQptLlZDVG9vbCgiVkNCdWlsZFRvb2wiLCBjZmcsICJQb3N0QnVpbGQiKQplbmQKbS5lbGVtZW50cy5WQ1Jlc291cmNlQ29tcGlsZXJUb29sID0gZnVuY3Rpb24oY2ZnKQpyZXR1cm4gewptLmFkZGl0aW9uYWxSZXNvdXJjZU9wdGlvbnMsCm0ucmVzb3VyY2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucywKbS5hZGRpdGlvbmFsUmVzb3VyY2VJbmNsdWRlRGlyZWN0b3JpZXMsCm0uY3VsdHVyZSwKfQplbmQKZnVuY3Rpb24gbS5WQ1Jlc291cmNlQ29tcGlsZXJUb29sKGNmZykKbS5WQ1Rvb2woIlZDUmVzb3VyY2VDb21waWxlclRvb2wiLCBjZmcpCmVuZAptLmVsZW1lbnRzLlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCA9IGZ1bmN0aW9uKGNmZykKcmV0dXJuIHt9CmVuZApmdW5jdGlvbiBtLlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbChjZmcpCm0uVkNUb29sKCJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiLCBjZmcpCmVuZAptLmVsZW1lbnRzLlZDWDM2MERlcGxveW1lbnRUb29sID0gZnVuY3Rpb24oY2ZnKQpyZXR1cm4gewptLmRlcGxveW1lbnRUeXBlLAptLmFkZGl0aW9uYWxEZXBsb3ltZW50T3B0aW9ucywKfQplbmQKZnVuY3Rpb24gbS5WQ1gzNjBEZXBsb3ltZW50VG9vbChjZmcpCm0uVkNUb29sKCJWQ1gzNjBEZXBsb3ltZW50VG9vbCIsIGNmZykKZW5kCm0uZWxlbWVudHMuVkNYMzYwSW1hZ2VUb29sID0gZnVuY3Rpb24oY2ZnKQpyZXR1cm4gewptLmFkZGl0aW9uYWxJbWFnZU9wdGlvbnMsCm0ub3V0cHV0RmlsZU5hbWUsCn0KZW5kCmZ1bmN0aW9uIG0uVkNYMzYwSW1hZ2VUb29sKGNmZykKbS5WQ1Rvb2woIlZDWDM2MEltYWdlVG9vbCIsIGNmZykKZW5kCm0uZWxlbWVudHMuVkNYRENNYWtlVG9vbCA9IGZ1bmN0aW9uKGNmZykKcmV0dXJuIHt9CmVuZApmdW5jdGlvbiBtLlZDWERDTWFrZVRvb2woY2ZnKQptLlZDVG9vbCgiVkNYRENNYWtlVG9vbCIsIGNmZykKZW5kCm0uZWxlbWVudHMuVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCA9IGZ1bmN0aW9uKGNmZykKcmV0dXJuIHt9CmVuZApmdW5jdGlvbiBtLlZDWE1MRGF0YUdlbmVyYXRvclRvb2woY2ZnKQptLlZDVG9vbCgiVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIsIGNmZykKZW5kCmZ1bmN0aW9uIG0uc3ltYm9scyhjZmcpCmlmIG5vdCBjZmcuZmxhZ3MuU3ltYm9scyB0aGVuCnJldHVybiAwCmVsc2VpZiBjZmcuZGVidWdmb3JtYXQgPT0gImM3IiB0aGVuCnJldHVybiAxCmVsc2UKaWYgY2ZnLmVkaXRhbmRjb250aW51ZSA9PSBwLk9GRiBvcgogICBjb25maWcuaXNPcHRpbWl6ZWRCdWlsZChjZmcpIG9yCiAgIGNmZy5jbHIgfj0gcC5PRkYgb3IKICAgY2ZnLmFyY2hpdGVjdHVyZSA9PSBwLlg4Nl82NAp0aGVuCnJldHVybiAzCmVsc2UKcmV0dXJuIDQKZW5kCmVuZAplbmQKZnVuY3Rpb24gbS5hZGRpdGlvbmFsQ29tcGlsZXJPcHRpb25zKGNmZykKbG9jYWwgb3B0cyA9IGNmZy5idWlsZG9wdGlvbnMKaWYgY2ZnLmZsYWdzLk11bHRpUHJvY2Vzc29yQ29tcGlsZSB0aGVuCnRhYmxlLmluc2VydChvcHRzLCAiL01QIikKZW5kCmlmICNvcHRzID4gMCB0aGVuCnAueCgnQWRkaXRpb25hbE9wdGlvbnM9IiVzIicsIHRhYmxlLmNvbmNhdChvcHRzLCAiICIpKQplbmQKZW5kCmZ1bmN0aW9uIG0uYWRkaXRpb25hbERlcGVuZGVuY2llcyhjZmcsIHRvb2xzZXQpCmlmICNjZmcubGlua3MgPT0gMCB0aGVuIHJldHVybiBlbmQKbG9jYWwgZXggPSB2c3R1ZGlvLm5lZWRzRXhwbGljaXRMaW5rKGNmZykKbG9jYWwgbGlua3MKaWYgbm90IHRvb2xzZXQgdGhlbgpsaW5rcyA9IHZzdHVkaW8uZ2V0TGlua3MoY2ZnLCBleCkKZm9yIGksIGxpbmsgaW4gaXBhaXJzKGxpbmtzKSBkbwppZiBsaW5rOmZpbmQoIiAiLCAxLCB0cnVlKSB0aGVuCmxpbmsgPSAnIicgLi4gbGluayAuLiAnIicKZW5kCmxpbmtzW2ldID0gcGF0aC50cmFuc2xhdGUobGluaykKZW5kCmVsc2UKbGlua3MgPSB0b29sc2V0LmdldGxpbmtzKGNmZywgbm90IGV4KQplbmQKaWYgI2xpbmtzID4gMCB0aGVuCnAueCgnQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJXMiJywgdGFibGUuY29uY2F0KGxpbmtzLCAiICIpKQplbmQKZW5kCmZ1bmN0aW9uIG0uYWRkaXRpb25hbERlcGxveW1lbnRPcHRpb25zKGNmZykKaWYgI2NmZy5kZXBsb3ltZW50b3B0aW9ucyA+IDAgdGhlbgpwLngoJ0FkZGl0aW9uYWxPcHRpb25zPSIlcyInLCB0YWJsZS5jb25jYXQoY2ZnLmRlcGxveW1lbnRvcHRpb25zLCAiICIpKQplbmQKZW5kCmZ1bmN0aW9uIG0uYWRkaXRpb25hbEV4dGVybmFsQ29tcGlsZXJPcHRpb25zKGNmZywgdG9vbHNldCkKbG9jYWwgYnVpbGRvcHRpb25zID0gdGFibGUuam9pbih0b29sc2V0LmdldGNmbGFncyhjZmcpLCB0b29sc2V0LmdldGN4eGZsYWdzKGNmZyksIGNmZy5idWlsZG9wdGlvbnMpCmlmIG5vdCBjZmcuZmxhZ3MuTm9QQ0ggYW5kIGNmZy5wY2hoZWFkZXIgdGhlbgp0YWJsZS5pbnNlcnQoYnVpbGRvcHRpb25zLCAnLS11c2VfcGNoPSIkKEludERpcikvJChUYXJnZXROYW1lKS5wY2giJykKZW5kCmlmICNidWlsZG9wdGlvbnMgPiAwIHRoZW4KcC54KCdBZGRpdGlvbmFsT3B0aW9ucz0iJXMiJywgdGFibGUuY29uY2F0KGJ1aWxkb3B0aW9ucywgIiAiKSkKZW5kCmVuZApmdW5jdGlvbiBtLmFkZGl0aW9uYWxJbWFnZU9wdGlvbnMoY2ZnKQppZiAjY2ZnLmltYWdlb3B0aW9ucyA+IDAgdGhlbgpwLngoJ0FkZGl0aW9uYWxPcHRpb25zPSIlcyInLCB0YWJsZS5jb25jYXQoY2ZnLmltYWdlb3B0aW9ucywgIiAiKSkKZW5kCmVuZApmdW5jdGlvbiBtLmFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMoY2ZnKQppZiAjY2ZnLmluY2x1ZGVkaXJzID4gMCB0aGVuCmxvY2FsIGRpcnMgPSB2c3R1ZGlvLnBhdGgoY2ZnLCBjZmcuaW5jbHVkZWRpcnMpCnAueCgnQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJXMiJywgdGFibGUuY29uY2F0KGRpcnMsICI7IikpCmVuZAplbmQKZnVuY3Rpb24gbS5hZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzKGNmZykKaWYgI2NmZy5saWJkaXJzID4gMCB0aGVuCmxvY2FsIGRpcnMgPSB2c3R1ZGlvLnBhdGgoY2ZnLCBjZmcubGliZGlycykKcC54KCdBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPSIlcyInLCB0YWJsZS5jb25jYXQoZGlycywgIjsiKSkKZW5kCmVuZApmdW5jdGlvbiBtLmFkZGl0aW9uYWxMaW5rZXJPcHRpb25zKGNmZywgdG9vbHNldCkKbG9jYWwgZmxhZ3MKaWYgdG9vbHNldCB0aGVuCmZsYWdzID0gdGFibGUuam9pbih0b29sc2V0LmdldGxkZmxhZ3MoY2ZnKSwgY2ZnLmxpbmtvcHRpb25zKQplbHNlCmZsYWdzID0gY2ZnLmxpbmtvcHRpb25zCmVuZAppZiAjZmxhZ3MgPiAwIHRoZW4KcC54KCdBZGRpdGlvbmFsT3B0aW9ucz0iJXMiJywgdGFibGUuY29uY2F0KGZsYWdzLCAiICIpKQplbmQKZW5kCmZ1bmN0aW9uIG0uYWRkaXRpb25hbE1hbmlmZXN0RmlsZXMoY2ZnKQpsb2NhbCBtYW5pZmVzdHMgPSB7fQpmb3IgaSwgZm5hbWUgaW4gaXBhaXJzKGNmZy5maWxlcykgZG8KaWYgcGF0aC5nZXRleHRlbnNpb24oZm5hbWUpID09ICIubWFuaWZlc3QiIHRoZW4KdGFibGUuaW5zZXJ0KG1hbmlmZXN0cywgcHJvamVjdC5nZXRyZWxhdGl2ZShjZmcucHJvamVjdCwgZm5hbWUpKQplbmQKZW5kCmlmICNtYW5pZmVzdHMgPiAwIHRoZW4KcC54KCdBZGRpdGlvbmFsTWFuaWZlc3RGaWxlcz0iJXMiJywgdGFibGUuY29uY2F0KG1hbmlmZXN0cywgIjsiKSkKZW5kCmVuZApmdW5jdGlvbiBtLmFkZGl0aW9uYWxSZXNvdXJjZUluY2x1ZGVEaXJlY3RvcmllcyhjZmcpCmxvY2FsIGRpcnMgPSB0YWJsZS5qb2luKGNmZy5pbmNsdWRlZGlycywgY2ZnLnJlc2luY2x1ZGVkaXJzKQppZiAjZGlycyA+IDAgdGhlbgpkaXJzID0gdnN0dWRpby5wYXRoKGNmZywgZGlycykKcC54KCdBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIlcyInLCB0YWJsZS5jb25jYXQoZGlycywgIjsiKSkKZW5kCmVuZApmdW5jdGlvbiBtLmFkZGl0aW9uYWxSZXNvdXJjZU9wdGlvbnMoY2ZnKQppZiAjY2ZnLnJlc29wdGlvbnMgPiAwIHRoZW4KcC54KCdBZGRpdGlvbmFsT3B0aW9ucz0iJXMiJywgdGFibGUuY29uY2F0KGNmZy5yZXNvcHRpb25zLCAiICIpKQplbmQKZW5kCmZ1bmN0aW9uIG0uYXNzZW1ibHlSZWZlcmVuY2VzKHByaikKbG9jYWwgY2ZnID0gcHJvamVjdC5nZXRmaXJzdGNvbmZpZyhwcmopCmxvY2FsIHJlZnMgPSBjb25maWcuZ2V0bGlua3MoY2ZnLCAic3lzdGVtIiwgImZ1bGxwYXRoIiwgIm1hbmFnZWQiKQp0YWJsZS5mb3JlYWNoaShyZWZzLCBmdW5jdGlvbih2YWx1ZSkKcC5wdXNoKCc8QXNzZW1ibHlSZWZlcmVuY2UnKQpwLngoJ1JlbGF0aXZlUGF0aD0iJXMiJywgcGF0aC50cmFuc2xhdGUodmFsdWUpKQpwLnBvcCgnLz4nKQplbmQpCmVuZApmdW5jdGlvbiBtLmFzc2VtYmx5U2VhcmNoUGF0aChjZmcpCnAudygnQXNzZW1ibHlTZWFyY2hQYXRoPSIiJykKZW5kCmZ1bmN0aW9uIG0uYmFzaWNSdW50aW1lQ2hlY2tzKGNmZykKbG9jYWwgY2ZnLCBmaWxlY2ZnID0gY29uZmlnLm5vcm1hbGl6ZShjZmcpCmlmIG5vdCBmaWxlY2ZnCmFuZCBub3QgY29uZmlnLmlzT3B0aW1pemVkQnVpbGQoY2ZnKQphbmQgY2ZnLmNsciA9PSBwLk9GRgphbmQgbm90IGNmZy5mbGFncy5Ob1J1bnRpbWVDaGVja3MKdGhlbgpwLncoJ0Jhc2ljUnVudGltZUNoZWNrcz0iMyInKQplbmQKZW5kCmZ1bmN0aW9uIG0uYnVmZmVyU2VjdXJpdHlDaGVjayhjZmcpCmlmIGNmZy5mbGFncy5Ob0J1ZmZlclNlY3VyaXR5Q2hlY2sgdGhlbgpwLncoJ0J1ZmZlclNlY3VyaXR5Q2hlY2s9ImZhbHNlIicpCmVuZAplbmQKZnVuY3Rpb24gbS5idWlsZENvbW1hbmRMaW5lKGNmZykKbG9jYWwgY21kcyA9IG9zLnRyYW5zbGF0ZUNvbW1hbmRzKGNmZy5idWlsZGNvbW1hbmRzLCBwLldJTkRPV1MpCnAueCgnQnVpbGRDb21tYW5kTGluZT0iJXMiJywgdGFibGUuY29uY2F0KGNtZHMsICJcclxuIikpCmVuZApmdW5jdGlvbiBtLmNoYXJhY3RlclNldChjZmcpCmlmIG5vdCB2c3R1ZGlvLmlzTWFrZWZpbGUoY2ZnKSB0aGVuCnAudygnQ2hhcmFjdGVyU2V0PSIlcyInLCBpaWYoY2ZnLmNoYXJhY3RlcnNldCA9PSBwLk1CQ1MsIDIsIDEpKQplbmQKZW5kCmZ1bmN0aW9uIG0uY2xlYW5Db21tYW5kTGluZShjZmcpCmxvY2FsIGNtZHMgPSBvcy50cmFuc2xhdGVDb21tYW5kcyhjZmcuY2xlYW5jb21tYW5kcywgcC5XSU5ET1dTKQpjbWRzID0gdGFibGUuY29uY2F0KGNtZHMsICJcclxuIikKcC54KCdDbGVhbkNvbW1hbmRMaW5lPSIlcyInLCBjbWRzKQplbmQKZnVuY3Rpb24gbS5jb21tYW5kTGluZShjZmcsIHN0YWdlKQpsb2NhbCBmaWVsZCA9IHN0YWdlOmxvd2VyKCkKbG9jYWwgc3RlcHMgPSBjZmdbZmllbGQgLi4gImNvbW1hbmRzIl0KbG9jYWwgbXNnID0gY2ZnW2ZpZWxkIC4uICJtZXNzYWdlIl0KaWYgI3N0ZXBzID4gMCB0aGVuCmlmIG1zZyB0aGVuCnAueCgnRGVzY3JpcHRpb249IiVzIicsIG1zZykKZW5kCnN0ZXBzID0gb3MudHJhbnNsYXRlQ29tbWFuZHMoc3RlcHMsIHAuV0lORE9XUykKcC54KCdDb21tYW5kTGluZT0iJXMiJywgdGFibGUuaW1wbG9kZShzdGVwcywgIiIsICIiLCAiXHJcbiIpKQplbmQKZW5kCmZ1bmN0aW9uIG0uY29tcGlsZUFzKGNmZywgdG9vbHNldCkKbG9jYWwgY2ZnLCBmaWxlY2ZnID0gY29uZmlnLm5vcm1hbGl6ZShjZmcpCmxvY2FsIGMgPSBwcm9qZWN0LmlzYyhjZmcpCmlmIGZpbGVjZmcgdGhlbgppZiBwYXRoLmlzY2ZpbGUoZmlsZWNmZy5uYW1lKSB+PSBjIHRoZW4KaWYgcGF0aC5pc2NwcGZpbGUoZmlsZWNmZy5uYW1lKSB0aGVuCmxvY2FsIHZhbHVlID0gaWlmKGMsIDIsIDEpCnAudygnQ29tcGlsZUFzPSIlcyInLCB2YWx1ZSkKZW5kCmVuZAplbHNlCmxvY2FsIGNvbXBpbGVBcwppZiB0b29sc2V0IHRoZW4KY29tcGlsZUFzID0gIjAiCmVsc2VpZiBjIHRoZW4KY29tcGlsZUFzID0gIjEiCmVuZAppZiBjb21waWxlQXMgdGhlbgpwLncoJ0NvbXBpbGVBcz0iJXMiJywgY29tcGlsZUFzKQplbmQKZW5kCmVuZApmdW5jdGlvbiBtLmRpc2FibGVTcGVjaWZpY1dhcm5pbmdzKGNmZykKaWYgI2NmZy5kaXNhYmxld2FybmluZ3MgPiAwIHRoZW4KcC54KCdEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz0iJXMiJywgdGFibGUuY29uY2F0KGNmZy5kaXNhYmxld2FybmluZ3MsICI7IikpCmVuZAplbmQKZnVuY3Rpb24gbS5jb21waWxlQXNNYW5hZ2VkKGNmZykKcC53KCdDb21waWxlQXNNYW5hZ2VkPSIiJykKZW5kCmZ1bmN0aW9uIG0uY29uZmlndXJhdGlvblR5cGUoY2ZnKQpsb2NhbCBjZmd0eXBlcyA9IHsKTWFrZWZpbGUgPSAwLApOb25lID0gMCwKU2hhcmVkTGliID0gMiwKU3RhdGljTGliID0gNCwKfQpwLncoJ0NvbmZpZ3VyYXRpb25UeXBlPSIlcyInLCBjZmd0eXBlc1tjZmcua2luZF0gb3IgMSkKZW5kCmZ1bmN0aW9uIG0uY3VsdHVyZShjZmcpCmxvY2FsIHZhbHVlID0gdnN0dWRpby5jdWx0dXJlRm9yTG9jYWxlKGNmZy5sb2NhbGUpCmlmIHZhbHVlIHRoZW4KcC53KCdDdWx0dXJlPSIlZCInLCB2YWx1ZSkKZW5kCmVuZApmdW5jdGlvbiBtLmN1c3RvbUJ1aWxkVG9vbChjZmcpCmxvY2FsIGNmZywgZmlsZWNmZyA9IGNvbmZpZy5ub3JtYWxpemUoY2ZnKQppZiBmaWxlY2ZnIGFuZCBmaWxlY29uZmlnLmhhc0N1c3RvbUJ1aWxkUnVsZShmaWxlY2ZnKSB0aGVuCmxvY2FsIGNtZHMgPSBvcy50cmFuc2xhdGVDb21tYW5kcyhmaWxlY2ZnLmJ1aWxkY29tbWFuZHMsIHAuV0lORE9XUykKcC54KCdDb21tYW5kTGluZT0iJXMiJywgdGFibGUuY29uY2F0KGNtZHMsJ1xyXG4nKSkKbG9jYWwgb3V0cHV0cyA9IHByb2plY3QuZ2V0cmVsYXRpdmUoZmlsZWNmZy5wcm9qZWN0LCBmaWxlY2ZnLmJ1aWxkb3V0cHV0cykKcC54KCdPdXRwdXRzPSIlcyInLCB0YWJsZS5jb25jYXQob3V0cHV0cywgJzsnKSkKaWYgZmlsZWNmZy5idWlsZGlucHV0cyBhbmQgI2ZpbGVjZmcuYnVpbGRpbnB1dHMgPiAwIHRoZW4KbG9jYWwgaW5wdXRzID0gcHJvamVjdC5nZXRyZWxhdGl2ZShmaWxlY2ZnLnByb2plY3QsIGZpbGVjZmcuYnVpbGRpbnB1dHMpCnAueCgnQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJXMiJywgdGFibGUuY29uY2F0KGlucHV0cywgJzsnKSkKZW5kCmVuZAplbmQKZnVuY3Rpb24gbS5kZWJ1Z0luZm9ybWF0aW9uRm9ybWF0KGNmZywgdG9vbHNldCkKbG9jYWwgcHJqY2ZnLCBmaWxlY2ZnID0gY29uZmlnLm5vcm1hbGl6ZShjZmcpCmlmIG5vdCBmaWxlY2ZnIHRoZW4KbG9jYWwgZm10ID0gaWlmKHRvb2xzZXQsICIwIiwgbS5zeW1ib2xzKGNmZykpCnAudygnRGVidWdJbmZvcm1hdGlvbkZvcm1hdD0iJXMiJywgZm10KQplbmQKZW5kCmZ1bmN0aW9uIG0uZGVwbG95bWVudFR5cGUoY2ZnKQpwLncoJ0RlcGxveW1lbnRUeXBlPSIwIicpCmVuZApmdW5jdGlvbiBtLmRldGVjdDY0Qml0UG9ydGFiaWxpdHlQcm9ibGVtcyhjZmcpCmxvY2FsIHByamNmZywgZmlsZWNmZyA9IGNvbmZpZy5ub3JtYWxpemUoY2ZnKQppZiBfQUNUSU9OIDwgInZzMjAwOCIgYW5kIGNmZy5jbHIgPT0gcC5PRkYgYW5kIGNmZy53YXJuaW5ncyB+PSBwLk9GRiBhbmQgbm90IGZpbGVjZmcgdGhlbgpwLncoJ0RldGVjdDY0Qml0UG9ydGFiaWxpdHlQcm9ibGVtcz0iJXMiJywgdG9zdHJpbmcobm90IGNmZy5mbGFncy5ObzY0Qml0Q2hlY2tzKSkKZW5kCmVuZApmdW5jdGlvbiBtLmVuYWJsZUNPTURBVEZvbGRpbmcoY2ZnLCB0b29sc2V0KQppZiBjb25maWcuaXNPcHRpbWl6ZWRCdWlsZChjZmcpIGFuZCBub3QgdG9vbHNldCB0aGVuCnAudygnRW5hYmxlQ09NREFURm9sZGluZz0iMiInKQplbmQKZW5kCmZ1bmN0aW9uIG0ubGFyZ2VBZGRyZXNzQXdhcmUoY2ZnKQppZiAoY2ZnLmxhcmdlYWRkcmVzc2F3YXJlID09IHRydWUpIHRoZW4KcC53KCdMYXJnZUFkZHJlc3NBd2FyZT0iMiInKQplbmQKZW5kCmZ1bmN0aW9uIG0uZW5hYmxlRW5oYW5jZWRJbnN0cnVjdGlvblNldChjZmcpCmxvY2FsIG1hcCA9IHsgU1NFID0gIjEiLCBTU0UyID0gIjIiIH0KbG9jYWwgdmFsdWUgPSBtYXBbY2ZnLnZlY3RvcmV4dGVuc2lvbnNdCmlmIHZhbHVlIGFuZCBjZmcuc3lzdGVtIH49ICJYYm94MzYwIiBhbmQgY2ZnLmFyY2hpdGVjdHVyZSB+PSAieDg2XzY0IiB0aGVuCnAudygnRW5hYmxlRW5oYW5jZWRJbnN0cnVjdGlvblNldD0iJWQiJywgdmFsdWUpCmVuZAplbmQKZnVuY3Rpb24gbS5lbmFibGVGdW5jdGlvbkxldmVsTGlua2luZyhjZmcpCmxvY2FsIGNmZywgZmlsZWNmZyA9IGNvbmZpZy5ub3JtYWxpemUoY2ZnKQppZiBub3QgZmlsZWNmZyB0aGVuCnAudygnRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9InRydWUiJykKZW5kCmVuZApmdW5jdGlvbiBtLmVudHJ5UG9pbnRTeW1ib2woY2ZnLCB0b29sc2V0KQppZiAoY2ZnLmtpbmQgPT0gIkNvbnNvbGVBcHAiIG9yIGNmZy5raW5kID09ICJXaW5kb3dlZEFwcCIpIGFuZApub3QgY2ZnLmZsYWdzLldpbk1haW4gYW5kCm5vdCB0b29sc2V0CnRoZW4KcC53KCdFbnRyeVBvaW50U3ltYm9sPSJtYWluQ1JUU3RhcnR1cCInKQplbmQKZW5kCmZ1bmN0aW9uIG0uZXhjZXB0aW9uSGFuZGxpbmcoY2ZnKQppZiBjZmcuZXhjZXB0aW9uaGFuZGxpbmcgPT0gcC5PRkYgdGhlbgpwLncoJ0V4Y2VwdGlvbkhhbmRsaW5nPSIlcyInLCBpaWYoX0FDVElPTiA8ICJ2czIwMDUiLCAiRkFMU0UiLCAwKSkKZWxzZWlmIGNmZy5leGNlcHRpb25oYW5kbGluZyA9PSAiU0VIIiBhbmQgX0FDVElPTiA+ICJ2czIwMDMiIHRoZW4KcC53KCdFeGNlcHRpb25IYW5kbGluZz0iMiInKQplbmQKZW5kCmZ1bmN0aW9uIG0uZXhjbHVkZWRGcm9tQnVpbGQoZmlsZWNmZykKaWYgbm90IGZpbGVjZmcgb3IgZmlsZWNmZy5mbGFncy5FeGNsdWRlRnJvbUJ1aWxkIHRoZW4KcC53KCdFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSInKQplbmQKZW5kCmZ1bmN0aW9uIG0uZmxvYXRpbmdQb2ludE1vZGVsKGNmZykKbG9jYWwgbWFwID0geyBTdHJpY3QgPSAiMSIsIEZhc3QgPSAiMiIgfQpsb2NhbCB2YWx1ZSA9IG1hcFtjZmcuZmxvYXRpbmdwb2ludF0KaWYgdmFsdWUgdGhlbgpwLncoJ0Zsb2F0aW5nUG9pbnRNb2RlbD0iJWQiJywgdmFsdWUpCmVuZAplbmQKZnVuY3Rpb24gbS5mb3JjZWRJbmNsdWRlRmlsZXMoY2ZnKQppZiAjY2ZnLmZvcmNlaW5jbHVkZXMgPiAwIHRoZW4KbG9jYWwgaW5jbHVkZXMgPSB2c3R1ZGlvLnBhdGgoY2ZnLCBjZmcuZm9yY2VpbmNsdWRlcykKcC53KCdGb3JjZWRJbmNsdWRlRmlsZXM9IiVzIicsIHRhYmxlLmNvbmNhdChpbmNsdWRlcywgJzsnKSkKZW5kCmlmICNjZmcuZm9yY2V1c2luZ3MgPiAwIHRoZW4KbG9jYWwgdXNpbmdzID0gdnN0dWRpby5wYXRoKGNmZywgY2ZnLmZvcmNldXNpbmdzKQpwLncoJ0ZvcmNlZFVzaW5nRmlsZXM9IiVzIicsIHRhYmxlLmNvbmNhdCh1c2luZ3MsICc7JykpCmVuZAplbmQKZnVuY3Rpb24gbS5mb3JjZWRJbmNsdWRlcyhjZmcpCnAudygnRm9yY2VkSW5jbHVkZXM9IiInKQplbmQKZnVuY3Rpb24gbS5mb3JjZWRVc2luZ0Fzc2VtYmxpZXMoY2ZnKQpwLncoJ0ZvcmNlZFVzaW5nQXNzZW1ibGllcz0iIicpCmVuZApmdW5jdGlvbiBtLmtleXdvcmQocHJqKQpsb2NhbCB3aW5kb3dzLCBtYW5hZ2VkLCBtYWtlZmlsZQpmb3IgY2ZnIGluIHByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCmlmIGNmZy5zeXN0ZW0gPT0gcC5XSU5ET1dTIHRoZW4gd2luZG93cyA9IHRydWUgZW5kCmlmIGNmZy5jbHIgfj0gcC5PRkYgdGhlbiBtYW5hZ2VkID0gdHJ1ZSBlbmQKaWYgdnN0dWRpby5pc01ha2VmaWxlKGNmZykgdGhlbiBtYWtlZmlsZSA9IHRydWUgZW5kCmVuZAppZiB3aW5kb3dzIHRoZW4KbG9jYWwga2V5d29yZCA9ICJXaW4zMlByb2oiCmlmIG1hbmFnZWQgdGhlbgprZXl3b3JkID0gIk1hbmFnZWRDUHJvaiIKZW5kCmlmIG1ha2VmaWxlIHRoZW4Ka2V5d29yZCA9ICJNYWtlRmlsZVByb2oiCmVuZApwLncoJ0tleXdvcmQ9IiVzIicsIGtleXdvcmQpCmVuZAplbmQKZnVuY3Rpb24gbS5nZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24oY2ZnLCB0b29sc2V0KQppZiBub3QgdG9vbHNldCB0aGVuCnAudygnR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPSIlcyInLCB0b3N0cmluZyhtLnN5bWJvbHMoY2ZnKSB+PSAwKSkKZW5kCmVuZApmdW5jdGlvbiBtLmdlbmVyYXRlTWFuaWZlc3QoY2ZnLCB0b29sc2V0KQppZiBjZmcuZmxhZ3MuTm9NYW5pZmVzdCBvciB0b29sc2V0IHRoZW4KcC53KCdHZW5lcmF0ZU1hbmlmZXN0PSJmYWxzZSInKQplbmQKZW5kCmZ1bmN0aW9uIG0uaWdub3JlSW1wb3J0TGlicmFyeShjZmcsIHRvb2xzZXQpCmlmIGNmZy5mbGFncy5Ob0ltcG9ydExpYiBhbmQgbm90IHRvb2xzZXQgdGhlbgpwLncoJ0lnbm9yZUltcG9ydExpYnJhcnk9InRydWUiJykKZW5kCmVuZApmdW5jdGlvbiBtLmltcG9ydExpYnJhcnkoY2ZnLCB0b29sc2V0KQppZiBjZmcua2luZCA9PSBwLlNIQVJFRExJQiBhbmQgbm90IHRvb2xzZXQgdGhlbgpsb2NhbCBpbXBsaWJkaXIgPSBjZmcubGlua3RhcmdldC5hYnNwYXRoCmlmIGNmZy5mbGFncy5Ob0ltcG9ydExpYiB0aGVuCmltcGxpYmRpciA9IHBhdGguam9pbihjZmcub2JqZGlyLCBwYXRoLmdldG5hbWUoaW1wbGliZGlyKSkKZW5kCmltcGxpYmRpciA9IHZzdHVkaW8ucGF0aChjZmcsIGltcGxpYmRpcikKcC54KCdJbXBvcnRMaWJyYXJ5PSIlcyInLCBpbXBsaWJkaXIpCmVuZAplbmQKZnVuY3Rpb24gbS5pbmNsdWRlU2VhcmNoUGF0aChjZmcpCnAudygnSW5jbHVkZVNlYXJjaFBhdGg9IiInKQplbmQKZnVuY3Rpb24gbS5pbnRlcm1lZGlhdGVEaXJlY3RvcnkoY2ZnKQpsb2NhbCBvYmpkaXIKaWYgbm90IGNmZy5mYWtlIHRoZW4Kb2JqZGlyID0gdnN0dWRpby5wYXRoKGNmZywgY2ZnLm9iamRpcikKZWxzZQpvYmpkaXIgPSAiJChQbGF0Zm9ybU5hbWUpXFwkKENvbmZpZ3VyYXRpb25OYW1lKSIKZW5kCnAueCgnSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIlcyInLCBvYmpkaXIpCmVuZApmdW5jdGlvbiBtLmxpbmtJbmNyZW1lbnRhbChjZmcsIHRvb2xzZXQpCmxvY2FsIHZhbHVlCmlmIG5vdCB0b29sc2V0IHRoZW4KdmFsdWUgPSBpaWYoY29uZmlnLmNhbkxpbmtJbmNyZW1lbnRhbChjZmcpICwgMiwgMSkKZWxzZQp2YWx1ZSA9IDAKZW5kCnAudygnTGlua0luY3JlbWVudGFsPSIlcyInLCB2YWx1ZSkKZW5kCmZ1bmN0aW9uIG0ubGlua0xpYnJhcnlEZXBlbmRlbmNpZXMoY2ZnLCB0b29sc2V0KQppZiB2c3R1ZGlvLm5lZWRzRXhwbGljaXRMaW5rKGNmZykgYW5kIG5vdCB0b29sc2V0IHRoZW4KcC53KCdMaW5rTGlicmFyeURlcGVuZGVuY2llcz0iZmFsc2UiJykKZW5kCmVuZApmdW5jdGlvbiBtLm1hbmFnZWRFeHRlbnNpb25zKGNmZykKaWYgY2ZnLmNsciB+PSBwLk9GRiB0aGVuCnAudygnTWFuYWdlZEV4dGVuc2lvbnM9IjEiJykKZW5kCmVuZApmdW5jdGlvbiBtLm1pbmltYWxSZWJ1aWxkKGNmZykKaWYgY29uZmlnLmlzRGVidWdCdWlsZChjZmcpIGFuZAogICBjZmcuZGVidWdmb3JtYXQgfj0gImM3IiBhbmQKICAgbm90IGNmZy5mbGFncy5Ob01pbmltYWxSZWJ1aWxkIGFuZAogICBjZmcuY2xyID09IHAuT0ZGIGFuZAogICBub3QgY2ZnLmZsYWdzLk11bHRpUHJvY2Vzc29yQ29tcGlsZQp0aGVuCnAudygnTWluaW1hbFJlYnVpbGQ9InRydWUiJykKZW5kCmVuZApmdW5jdGlvbiBtLm1vZHVsZURlZmluaXRpb25GaWxlKGNmZywgdG9vbHNldCkKaWYgbm90IHRvb2xzZXQgdGhlbgpsb2NhbCBkZWZmaWxlID0gY29uZmlnLmZpbmRmaWxlKGNmZywgIi5kZWYiKQppZiBkZWZmaWxlIHRoZW4KcC53KCdNb2R1bGVEZWZpbml0aW9uRmlsZT0iJXMiJywgZGVmZmlsZSkKZW5kCmVuZAplbmQKZnVuY3Rpb24gbS5vYmplY3RGaWxlKGNmZykKbG9jYWwgY2ZnLCBmaWxlY2ZnID0gY29uZmlnLm5vcm1hbGl6ZShjZmcpCmlmIGZpbGVjZmcgYW5kIHBhdGguaXNjcHBmaWxlKGZpbGVjZmcubmFtZSkgdGhlbgppZiBmaWxlY2ZnLm9iam5hbWUgfj0gcGF0aC5nZXRiYXNlbmFtZShmaWxlY2ZnLmFic3BhdGgpIHRoZW4KcC54KCdPYmplY3RGaWxlPSIkKEludERpcilcXCVzLm9iaiInLCBmaWxlY2ZnLm9iam5hbWUpCmVuZAplbmQKZW5kCmZ1bmN0aW9uIG0ub21pdERlZmF1bHRMaWIoY2ZnKQppZiBjZmcuZmxhZ3MuT21pdERlZmF1bHRMaWJyYXJ5IHRoZW4KcC53KCdPbWl0RGVmYXVsdExpYk5hbWU9InRydWUiJykKZW5kCmVuZApmdW5jdGlvbiBtLm9taXRGcmFtZVBvaW50ZXJzKGNmZykKaWYgY2ZnLmZsYWdzLk5vRnJhbWVQb2ludGVyIHRoZW4KcC53KCdPbWl0RnJhbWVQb2ludGVycz0idHJ1ZSInKQplbmQKZW5kCmZ1bmN0aW9uIG0ub3B0aW1pemF0aW9uKGNmZykKbG9jYWwgbWFwID0geyBPZmY9MCwgT249MywgRGVidWc9MCwgRnVsbD0zLCBTaXplPTEsIFNwZWVkPTIgfQpsb2NhbCB2YWx1ZSA9IG1hcFtjZmcub3B0aW1pemVdCmlmIHZhbHVlIG9yIG5vdCBjZmcuYWJzcGF0aCB0aGVuCnAudygnT3B0aW1pemF0aW9uPSIlcyInLCB2YWx1ZSBvciAwKQplbmQKZW5kCmZ1bmN0aW9uIG0ub3B0aW1pemVSZWZlcmVuY2VzKGNmZywgdG9vbHNldCkKaWYgY29uZmlnLmlzT3B0aW1pemVkQnVpbGQoY2ZnKSBhbmQgbm90IHRvb2xzZXQgdGhlbgpwLncoJ09wdGltaXplUmVmZXJlbmNlcz0iMiInKQplbmQKZW5kCmZ1bmN0aW9uIG0ub3V0cHV0KGNmZykKcC53KCdPdXRwdXQ9IiQoT3V0RGlyKSVzIicsIGNmZy5idWlsZHRhcmdldC5uYW1lKQplbmQKZnVuY3Rpb24gbS5vdXRwdXREaXJlY3RvcnkoY2ZnKQpsb2NhbCBvdXRkaXIgPSBwcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCBjZmcuYnVpbGR0YXJnZXQuZGlyZWN0b3J5KQpwLngoJ091dHB1dERpcmVjdG9yeT0iJXMiJywgcGF0aC50cmFuc2xhdGUob3V0ZGlyKSkKZW5kCmZ1bmN0aW9uIG0ub3V0cHV0RmlsZShjZmcpCnAueCgnT3V0cHV0RmlsZT0iJChPdXREaXIpXFwlcyInLCBjZmcuYnVpbGR0YXJnZXQubmFtZSkKZW5kCmZ1bmN0aW9uIG0ub3V0cHV0RmlsZU5hbWUoY2ZnKQppZiBjZmcuaW1hZ2VwYXRoIH49IG5pbCB0aGVuCnAueCgnT3V0cHV0RmlsZU5hbWU9IiVzIicsIHBhdGgudHJhbnNsYXRlKGNmZy5pbWFnZXBhdGgpKQplbmQKZW5kCmZ1bmN0aW9uIG0ucGxhdGZvcm1zKHByaikKYXJjaGl0ZWN0dXJlcyA9IHt9CmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KbG9jYWwgYXJjaCA9IHZzdHVkaW8uYXJjaEZyb21Db25maWcoY2ZnLCB0cnVlKQppZiBub3QgdGFibGUuY29udGFpbnMoYXJjaGl0ZWN0dXJlcywgYXJjaCkgdGhlbgp0YWJsZS5pbnNlcnQoYXJjaGl0ZWN0dXJlcywgYXJjaCkKZW5kCmVuZApwLnB1c2goJzxQbGF0Zm9ybXM+JykKdGFibGUuZm9yZWFjaGkoYXJjaGl0ZWN0dXJlcywgZnVuY3Rpb24oYXJjaCkKcC5wdXNoKCc8UGxhdGZvcm0nKQpwLncoJ05hbWU9IiVzIicsIGFyY2gpCnAucG9wKCcvPicpCmVuZCkKcC5wb3AoJzwvUGxhdGZvcm1zPicpCmVuZApmdW5jdGlvbiBtLnByZXByb2Nlc3NvckRlZmluaXRpb25zKGNmZykKaWYgI2NmZy5kZWZpbmVzID4gMCBvciB2c3R1ZGlvLmlzTWFrZWZpbGUoY2ZnKSB0aGVuCnAueCgnUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IiVzIicsIHRhYmxlLmNvbmNhdChjZmcuZGVmaW5lcywgIjsiKSkKZW5kCmVuZApmdW5jdGlvbiBtLnVuZGVmaW5lUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMoY2ZnKQppZiAjY2ZnLnVuZGVmaW5lcyA+IDAgdGhlbgpwLngoJ1VuZGVmaW5lUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IiVzIicsIHRhYmxlLmNvbmNhdChjZmcudW5kZWZpbmVzLCAiOyIpKQplbmQKZW5kCmZ1bmN0aW9uIG0ucHJvZ3JhbURhdGFiYXNlRmlsZShjZmcsIHRvb2xzZXQpCmlmIHRvb2xzZXQgdGhlbgpwLncoJ1Byb2dyYW1EYXRhYmFzZUZpbGU9IiInKQplbmQKZW5kCmZ1bmN0aW9uIG0ucHJvZ3JhbURhdGFCYXNlRmlsZU5hbWUoY2ZnLCB0b29sc2V0KQppZiB0b29sc2V0IHRoZW4KcC53KCdQcm9ncmFtRGF0YUJhc2VGaWxlTmFtZT0iIicpCmVuZAplbmQKZnVuY3Rpb24gbS5wcm9qZWN0R1VJRChwcmopCnAudygnUHJvamVjdEdVSUQ9Inslc30iJywgcHJqLnV1aWQpCmVuZApmdW5jdGlvbiBtLnByb2plY3ROYW1lKHByaikKcC54KCdOYW1lPSIlcyInLCBwcmoubmFtZSkKZW5kCmZ1bmN0aW9uIG0ucHJvamVjdFJlZmVyZW5jZXMocHJqKQpsb2NhbCBkZXBzID0gcHJvamVjdC5nZXRkZXBlbmRlbmNpZXMocHJqKQppZiAjZGVwcyA+IDAgdGhlbgpmb3IgaSwgZGVwIGluIGlwYWlycyhkZXBzKSBkbwpsb2NhbCByZWxwYXRoID0gdnN0dWRpby5wYXRoKHByai53b3Jrc3BhY2UsIHZzdHVkaW8ucHJvamVjdGZpbGUoZGVwKSkKaWYgbm90IHJlbHBhdGg6c3RhcnRzd2l0aCgiLiIpIHRoZW4KcmVscGF0aCA9ICIuXFwiIC4uIHJlbHBhdGgKZW5kCnAucHVzaCgnPFByb2plY3RSZWZlcmVuY2UnKQpwLncoJ1JlZmVyZW5jZWRQcm9qZWN0SWRlbnRpZmllcj0ieyVzfSInLCBkZXAudXVpZCkKcC53KCdSZWxhdGl2ZVBhdGhUb1Byb2plY3Q9IiVzIicsIHJlbHBhdGgpCnAucG9wKCcvPicpCmVuZAplbmQKZW5kCmZ1bmN0aW9uIG0ucHJvamVjdFR5cGUocHJqKQpwLncoJ1Byb2plY3RUeXBlPSJWaXN1YWwgQysrIicpCmVuZApmdW5jdGlvbiBtLnJlQnVpbGRDb21tYW5kTGluZShjZmcpCmNvbW1hbmRzID0gdGFibGUuY29uY2F0KGNmZy5yZWJ1aWxkY29tbWFuZHMsICJcclxuIikKcC54KCdSZUJ1aWxkQ29tbWFuZExpbmU9IiVzIicsIGNvbW1hbmRzKQplbmQKZnVuY3Rpb24gbS5yZXNvdXJjZVByZXByb2Nlc3NvckRlZmluaXRpb25zKGNmZykKbG9jYWwgZGVmcyA9IHRhYmxlLmpvaW4oY2ZnLmRlZmluZXMsIGNmZy5yZXNkZWZpbmVzKQppZiAjZGVmcyA+IDAgdGhlbgpwLngoJ1ByZXByb2Nlc3NvckRlZmluaXRpb25zPSIlcyInLCB0YWJsZS5jb25jYXQoZGVmcywgIjsiKSkKZW5kCmVuZApmdW5jdGlvbiBtLnJvb3ROYW1lc3BhY2UocHJqKQpsb2NhbCBoYXNXaW5kb3dzID0gcHJvamVjdC5oYXNDb25maWcocHJqLCBmdW5jdGlvbihjZmcpCnJldHVybiBjZmcuc3lzdGVtID09IHAuV0lORE9XUwplbmQpCmlmIGhhc1dpbmRvd3MgYW5kIF9BQ1RJT04gPiAidnMyMDAzIiB0aGVuCnAueCgnUm9vdE5hbWVzcGFjZT0iJXMiJywgcHJqLm5hbWUpCmVuZAplbmQKZnVuY3Rpb24gbS5ydW50aW1lTGlicmFyeShjZmcpCmxvY2FsIGNmZywgZmlsZWNmZyA9IGNvbmZpZy5ub3JtYWxpemUoY2ZnKQppZiBub3QgZmlsZWNmZyB0aGVuCmxvY2FsIHJ1bnRpbWVzID0gewpTdGF0aWNSZWxlYXNlID0gMCwKU3RhdGljRGVidWcgPSAxLApTaGFyZWRSZWxlYXNlID0gMiwKU2hhcmVkRGVidWcgPSAzLAp9CnAudygnUnVudGltZUxpYnJhcnk9IiVzIicsIHJ1bnRpbWVzW2NvbmZpZy5nZXRydW50aW1lKGNmZyldKQplbmQKZW5kCmZ1bmN0aW9uIG0ucnVudGltZVR5cGVJbmZvKGNmZykKaWYgY2ZnLnJ0dGkgPT0gcC5PRkYgYW5kIGNmZy5jbHIgPT0gcC5PRkYgdGhlbgpwLncoJ1J1bnRpbWVUeXBlSW5mbz0iZmFsc2UiJykKZWxzZWlmIGNmZy5ydHRpID09IHAuT04gdGhlbgpwLncoJ1J1bnRpbWVUeXBlSW5mbz0idHJ1ZSInKQplbmQKZW5kCmZ1bmN0aW9uIG0uc3RyaW5nUG9vbGluZyhjZmcpCmlmIGNvbmZpZy5pc09wdGltaXplZEJ1aWxkKGNmZykgdGhlbgpwLncoJ1N0cmluZ1Bvb2xpbmc9InRydWUiJykKZW5kCmVuZApmdW5jdGlvbiBtLnN1YlN5c3RlbShjZmcsIHRvb2xzZXQpCmlmIG5vdCB0b29sc2V0IHRoZW4KcC53KCdTdWJTeXN0ZW09IiVzIicsIGlpZihjZmcua2luZCA9PSAiQ29uc29sZUFwcCIsIDEsIDIpKQplbmQKZW5kCmZ1bmN0aW9uIG0udGFyZ2V0RW52aXJvbm1lbnQoY2ZnKQppZiBjZmcuYXJjaGl0ZWN0dXJlID09ICJ4ODZfNjQiIHRoZW4KcC53KCdUYXJnZXRFbnZpcm9ubWVudD0iMyInKQplbmQKZW5kCmZ1bmN0aW9uIG0udGFyZ2V0RnJhbWV3b3JrVmVyc2lvbihwcmopCmxvY2FsIHdpbmRvd3MsIG1ha2VmaWxlCmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KaWYgY2ZnLnN5c3RlbSA9PSBwLldJTkRPV1MgdGhlbiB3aW5kb3dzID0gdHJ1ZSBlbmQKaWYgdnN0dWRpby5pc01ha2VmaWxlKGNmZykgdGhlbiBtYWtlZmlsZSA9IHRydWUgZW5kCmVuZApsb2NhbCB2ZXJzaW9uID0gMAppZiBtYWtlZmlsZSBvciBub3Qgd2luZG93cyB0aGVuCnZlcnNpb24gPSAxOTY2MTMKZW5kCnAudygnVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iJWQiJywgdmVyc2lvbikKZW5kCmZ1bmN0aW9uIG0udGFyZ2V0TWFjaGluZShjZmcsIHRvb2xzZXQpCmlmIG5vdCB0b29sc2V0IHRoZW4KcC53KCdUYXJnZXRNYWNoaW5lPSIlZCInLCBpaWYoY2ZnLmFyY2hpdGVjdHVyZSA9PSAieDg2XzY0IiwgMTcsIDEpKQplbmQKZW5kCmZ1bmN0aW9uIG0udG9vbEZpbGVzKHByaikKaWYgX0FDVElPTiA+ICJ2czIwMDMiIHRoZW4KcC53KCc8VG9vbEZpbGVzPicpCnAudygnPC9Ub29sRmlsZXM+JykKZW5kCmVuZApmdW5jdGlvbiBtLnRyZWF0V0NoYXJfdEFzQnVpbHRJblR5cGUoY2ZnKQpsb2NhbCBtYXAgPSB7IE9uID0gInRydWUiLCBPZmYgPSAiZmFsc2UiIH0KbG9jYWwgdmFsdWUgPSBtYXBbY2ZnLm5hdGl2ZXdjaGFyXQppZiB2YWx1ZSB0aGVuCnAudygnVHJlYXRXQ2hhcl90QXNCdWlsdEluVHlwZT0iJXMiJywgdmFsdWUpCmVuZAplbmQKZnVuY3Rpb24gbS51c2VPZk1GQyhjZmcpCmlmIChjZmcuZmxhZ3MuTUZDKSB0aGVuCnAudygnVXNlT2ZNRkM9IiVkIicsIGlpZihjZmcuZmxhZ3MuU3RhdGljUnVudGltZSwgMSwgMikpCmVuZAplbmQKZnVuY3Rpb24gbS51c2VQcmVjb21waWxlZEhlYWRlcihjZmcpCmxvY2FsIHByaiwgZmlsZSA9IGNvbmZpZy5ub3JtYWxpemUoY2ZnKQppZiBmaWxlIHRoZW4KaWYgcHJqLnBjaHNvdXJjZSA9PSBmaWxlLmFic3BhdGggYW5kCiAgIG5vdCBwcmouZmxhZ3MuTm9QQ0ggYW5kCiAgIHByai5zeXN0ZW0gPT0gcC5XSU5ET1dTCnRoZW4KcC53KCdVc2VQcmVjb21waWxlZEhlYWRlcj0iMSInKQplbmQKZWxzZQppZiBub3QgcHJqLmZsYWdzLk5vUENIIGFuZCBwcmoucGNoaGVhZGVyIHRoZW4KcC53KCdVc2VQcmVjb21waWxlZEhlYWRlcj0iJXMiJywgaWlmKF9BQ1RJT04gPCAidnMyMDA1IiwgMywgMikpCnAueCgnUHJlY29tcGlsZWRIZWFkZXJUaHJvdWdoPSIlcyInLCBwcmoucGNoaGVhZGVyKQplbHNlCnAudygnVXNlUHJlY29tcGlsZWRIZWFkZXI9IiVzIicsIGlpZihfQUNUSU9OID4gInZzMjAwMyIgb3IgcHJqLmZsYWdzLk5vUENILCAwLCAyKSkKZW5kCmVuZAplbmQKZnVuY3Rpb24gbS52ZXJzaW9uKHByaikKbG9jYWwgbWFwID0gewp2czIwMDIgPSAnNy4wJywKdnMyMDAzID0gJzcuMScsCnZzMjAwNSA9ICc4LjAnLAp2czIwMDggPSAnOS4wJwp9CnAudygnVmVyc2lvbj0iJXMwIicsIG1hcFtfQUNUSU9OXSkKZW5kCmZ1bmN0aW9uIG0ud2FybkFzRXJyb3IoY2ZnKQppZiBjZmcuZmxhZ3MuRmF0YWxDb21waWxlV2FybmluZ3MgYW5kIGNmZy53YXJuaW5ncyB+PSBwLk9GRiB0aGVuCnAudygnV2FybkFzRXJyb3I9InRydWUiJykKZW5kCmVuZApmdW5jdGlvbiBtLndhcm5pbmdMZXZlbChjZmcpCmxvY2FsIHByamNmZywgZmlsZWNmZyA9IGNvbmZpZy5ub3JtYWxpemUoY2ZnKQpsb2NhbCBsZXZlbAppZiBjZmcud2FybmluZ3MgPT0gcC5PRkYgdGhlbgpsZXZlbCA9ICIwIgplbHNlaWYgY2ZnLndhcm5pbmdzID09ICJFeHRyYSIgdGhlbgpsZXZlbCA9ICI0IgplbHNlaWYgbm90IGZpbGVjZmcgdGhlbgpsZXZlbCA9ICIzIgplbmQKaWYgbGV2ZWwgdGhlbgpwLncoJ1dhcm5pbmdMZXZlbD0iJXMiJywgbGV2ZWwpCmVuZAplbmQKZnVuY3Rpb24gbS53aG9sZVByb2dyYW1PcHRpbWl6YXRpb24oY2ZnKQppZiBjZmcuZmxhZ3MuTGlua1RpbWVPcHRpbWl6YXRpb24gdGhlbgpwLngoJ1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0idHJ1ZSInKQplbmQKZW5kCmZ1bmN0aW9uIG0ueG1sRWxlbWVudCgpCnAudygnPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+JykKZW5kCmxvY2FsIHAgPSBwcmVtYWtlCmxvY2FsIG0gPSBwLnZzdHVkaW8udmMyMDB4Cm0uZWxlbWVudHMudXNlciA9IGZ1bmN0aW9uKGNmZykKcmV0dXJuIHsKbS5kZWJ1Z1NldHRpbmdzLAp9CmVuZApmdW5jdGlvbiBtLmdlbmVyYXRlVXNlcihwcmopCnAuaW5kZW50KCJcdCIpCmxvY2FsIGNvbnRlbnRzID0ge30KbG9jYWwgc2l6ZSA9IDAKZm9yIGNmZyBpbiBwLnByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCmNvbnRlbnRzW2NmZ10gPSBwLmNhcHR1cmUoZnVuY3Rpb24oKQpwLnB1c2goNCkKcC5jYWxsQXJyYXkobS5lbGVtZW50cy51c2VyLCBjZmcpCnAucG9wKDQpCmVuZCkKc2l6ZSA9IHNpemUgKyAjY29udGVudHNbY2ZnXQplbmQKaWYgc2l6ZSA+IDAgdGhlbgptLnhtbEVsZW1lbnQoKQptLnZpc3VhbFN0dWRpb1VzZXJGaWxlKCkKcC5wdXNoKCc8Q29uZmlndXJhdGlvbnM+JykKZm9yIGNmZyBpbiBwLnByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCm0udXNlckNvbmZpZ3VyYXRpb24oY2ZnKQpwLnB1c2goJzxEZWJ1Z1NldHRpbmdzJykKaWYgI2NvbnRlbnRzW2NmZ10gPiAwIHRoZW4KcC5vdXRsbihjb250ZW50c1tjZmddKQplbmQKcC5wb3AoJy8+JykKcC5wb3AoJzwvQ29uZmlndXJhdGlvbj4nKQplbmQKcC5wb3AoJzwvQ29uZmlndXJhdGlvbnM+JykKcC5wb3AoJzwvVmlzdWFsU3R1ZGlvVXNlckZpbGU+JykKZW5kCmVuZApmdW5jdGlvbiBtLnZpc3VhbFN0dWRpb1VzZXJGaWxlKCkKcC5wdXNoKCc8VmlzdWFsU3R1ZGlvVXNlckZpbGUnKQpwLncoJ1Byb2plY3RUeXBlPSJWaXN1YWwgQysrIicpCm0udmVyc2lvbigpCnAudygnU2hvd0FsbEZpbGVzPSJmYWxzZSInKQpwLncoJz4nKQplbmQKZnVuY3Rpb24gbS51c2VyQ29uZmlndXJhdGlvbihjZmcpCnAucHVzaCgnPENvbmZpZ3VyYXRpb24nKQpwLngoJ05hbWU9IiVzIicsIHAudnN0dWRpby5wcm9qZWN0Q29uZmlnKGNmZykpCnAudygnPicpCmVuZAptLmVsZW1lbnRzLmRlYnVnU2V0dGluZ3MgPSBmdW5jdGlvbihjZmcpCnJldHVybiB7Cm0uZGVidWdDb21tYW5kLAptLmRlYnVnRGlyLAptLmRlYnVnQXJncywKbS5kZWJ1Z0Vudmlyb25tZW50LAp9CmVuZApmdW5jdGlvbiBtLmRlYnVnU2V0dGluZ3MoY2ZnKQpwLmNhbGxBcnJheShtLmVsZW1lbnRzLmRlYnVnU2V0dGluZ3MsIGNmZykKZW5kCmZ1bmN0aW9uIG0uZGVidWdBcmdzKGNmZykKaWYgI2NmZy5kZWJ1Z2FyZ3MgPiAwIHRoZW4KcC54KCdDb21tYW5kQXJndW1lbnRzPSIlcyInLCB0YWJsZS5jb25jYXQoY2ZnLmRlYnVnYXJncywgIiAiKSkKZW5kCmVuZApmdW5jdGlvbiBtLmRlYnVnQ29tbWFuZChjZmcpCmlmIGNmZy5kZWJ1Z2NvbW1hbmQgdGhlbgpwLngoJ0NvbW1hbmQ9IiVzIicsIHAudnN0dWRpby5wYXRoKGNmZywgY2ZnLmRlYnVnY29tbWFuZCkpCmVuZAplbmQKZnVuY3Rpb24gbS5kZWJ1Z0RpcihjZmcpCmlmIGNmZy5kZWJ1Z2RpciB0aGVuCnAueCgnV29ya2luZ0RpcmVjdG9yeT0iJXMiJywgcC52c3R1ZGlvLnBhdGgoY2ZnLCBjZmcuZGVidWdkaXIpKQplbmQKZW5kCmZ1bmN0aW9uIG0uZGVidWdFbnZpcm9ubWVudChjZmcpCmlmICNjZmcuZGVidWdlbnZzID4gMCB0aGVuCnAueCgnRW52aXJvbm1lbnQ9IiVzIicsIHRhYmxlLmNvbmNhdChjZmcuZGVidWdlbnZzLCAiXG4iKSkKaWYgY2ZnLmZsYWdzLkRlYnVnRW52c0RvbnRNZXJnZSB0aGVuCnAueCgnRW52aXJvbm1lbnRNZXJnZT0iZmFsc2UiJykKZW5kCmVuZAplbmQKAAAAAAAAAHByZW1ha2UudnN0dWRpby5zbG4yMDA1ID0ge30KbG9jYWwgcCA9IHByZW1ha2UKbG9jYWwgdnN0dWRpbyA9IHAudnN0dWRpbwpsb2NhbCBzbG4yMDA1ID0gcC52c3R1ZGlvLnNsbjIwMDUKbG9jYWwgcHJvamVjdCA9IHAucHJvamVjdApsb2NhbCB0cmVlID0gcC50cmVlCnNsbjIwMDUuZWxlbWVudHMgPSB7fQpmdW5jdGlvbiBzbG4yMDA1LnNvbHV0aW9uU2VjdGlvbnMod2tzKQpyZXR1cm4gewoiQ29uZmlndXJhdGlvblBsYXRmb3JtcyIsCiJTb2x1dGlvblByb3BlcnRpZXMiLAoiTmVzdGVkUHJvamVjdHMiLAoiRXh0ZW5zaWJpbGl0eUdsb2JhbHMiCn0KZW5kCmZ1bmN0aW9uIHNsbjIwMDUuZ2VuZXJhdGUod2tzKQpwcmVtYWtlLnV0ZjgoKQpwcmVtYWtlLm91dGxuKCcnKQpzbG4yMDA1LnJlb3JkZXJQcm9qZWN0cyh3a3MpCnNsbjIwMDUuaGVhZGVyKCkKc2xuMjAwNS5wcm9qZWN0cyh3a3MpCnAucHVzaCgnR2xvYmFsJykKc2xuMjAwNS5zZWN0aW9ucyh3a3MpCnAucG9wKCdFbmRHbG9iYWwnKQpwLncoKQplbmQKZnVuY3Rpb24gc2xuMjAwNS5oZWFkZXIoKQpsb2NhbCBhY3Rpb24gPSBwcmVtYWtlLmFjdGlvbi5jdXJyZW50KCkKcC53KCdNaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyBTb2x1dGlvbiBGaWxlLCBGb3JtYXQgVmVyc2lvbiAlZC4wMCcsIGFjdGlvbi52c3R1ZGlvLnNvbHV0aW9uVmVyc2lvbikKcC53KCcjIFZpc3VhbCBTdHVkaW8gJXMnLCBhY3Rpb24udnN0dWRpby52ZXJzaW9uTmFtZSkKZW5kCmZ1bmN0aW9uIHNsbjIwMDUucmVvcmRlclByb2plY3RzKHdrcykKaWYgd2tzLnN0YXJ0cHJvamVjdCB0aGVuCmxvY2FsIG5wCmxvY2FsIHRyID0gcC53b3Jrc3BhY2UuZ3JvdXB0cmVlKHdrcykKdHJlZS50cmF2ZXJzZSh0ciwgewpvbmxlYWYgPSBmdW5jdGlvbihuKQppZiBuLnByb2plY3QubmFtZSA9PSB3a3Muc3RhcnRwcm9qZWN0IHRoZW4KbnAgPSBuCmVuZAplbmQKfSkKd2hpbGUgbnAgYW5kIG5wLnBhcmVudCBkbwpsb2NhbCBwID0gbnAucGFyZW50CmxvY2FsIGkgPSB0YWJsZS5pbmRleG9mKHAuY2hpbGRyZW4sIG5wKQp0YWJsZS5yZW1vdmUocC5jaGlsZHJlbiwgaSkKdGFibGUuaW5zZXJ0KHAuY2hpbGRyZW4sIDEsIG5wKQpucCA9IHAKZW5kCmVuZAplbmQKZnVuY3Rpb24gc2xuMjAwNS5wcm9qZWN0cyh3a3MpCmxvY2FsIHRyID0gcC53b3Jrc3BhY2UuZ3JvdXB0cmVlKHdrcykKdHJlZS50cmF2ZXJzZSh0ciwgewpvbmxlYWYgPSBmdW5jdGlvbihuKQpsb2NhbCBwcmogPSBuLnByb2plY3QKbG9jYWwgcHJqcGF0aCA9IHZzdHVkaW8ucHJvamVjdGZpbGUocHJqKQpwcmpwYXRoID0gdnN0dWRpby5wYXRoKHByai53b3Jrc3BhY2UsIHByanBhdGgpCnByanBhdGggPSBwcmpwYXRoOmdzdWIoIiQlKCguLSklKSIsICIlJSUxJSUiKQpwLngoJ1Byb2plY3QoInslc30iKSA9ICIlcyIsICIlcyIsICJ7JXN9IicsIHZzdHVkaW8udG9vbChwcmopLCBwcmoubmFtZSwgcHJqcGF0aCwgcHJqLnV1aWQpCnAucHVzaCgpCnNsbjIwMDUucHJvamVjdGRlcGVuZGVuY2llcyhwcmopCnAucG9wKCdFbmRQcm9qZWN0JykKZW5kLApvbmJyYW5jaCA9IGZ1bmN0aW9uKG4pCnAucHVzaCgnUHJvamVjdCgiezIxNTBFMzMzLThGREMtNDJBMy05NDc0LTFBMzk1NkQ0NkRFOH0iKSA9ICIlcyIsICIlcyIsICJ7JXN9IicsIG4ubmFtZSwgbi5uYW1lLCBuLnV1aWQpCnAucG9wKCdFbmRQcm9qZWN0JykKZW5kLAp9KQplbmQKZnVuY3Rpb24gc2xuMjAwNS5wcm9qZWN0ZGVwZW5kZW5jaWVzKHByaikKbG9jYWwgZGVwcyA9IHByb2plY3QuZ2V0ZGVwZW5kZW5jaWVzKHByaiwgJ2RlcGVuZE9ubHknKQppZiAjZGVwcyA+IDAgdGhlbgpwLnB1c2goJ1Byb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QnKQpmb3IgXywgZGVwIGluIGlwYWlycyhkZXBzKSBkbwpwLncoJ3slc30gPSB7JXN9JywgZGVwLnV1aWQsIGRlcC51dWlkKQplbmQKcC5wb3AoJ0VuZFByb2plY3RTZWN0aW9uJykKZW5kCmVuZApzbG4yMDA1LmVsZW1lbnRzLnByb2plY3RDb25maWd1cmF0aW9uUGxhdGZvcm1zID0gZnVuY3Rpb24oY2ZnLCBjb250ZXh0KQpyZXR1cm4gewpzbG4yMDA1LmFjdGl2ZUNmZywKc2xuMjAwNS5idWlsZDAsCn0KZW5kCmZ1bmN0aW9uIHNsbjIwMDUucHJvamVjdENvbmZpZ3VyYXRpb25QbGF0Zm9ybXMod2tzLCBzb3J0ZWQsIGRlc2NyaXB0b3JzKQpwLncoIkdsb2JhbFNlY3Rpb24oUHJvamVjdENvbmZpZ3VyYXRpb25QbGF0Zm9ybXMpID0gcG9zdFNvbHV0aW9uIikKbG9jYWwgdHIgPSBwLndvcmtzcGFjZS5ncm91cHRyZWUod2tzKQp0cmVlLnRyYXZlcnNlKHRyLCB7Cm9ubGVhZiA9IGZ1bmN0aW9uKG4pCmxvY2FsIHByaiA9IG4ucHJvamVjdAp0YWJsZS5mb3JlYWNoaShzb3J0ZWQsIGZ1bmN0aW9uKGNmZykKbG9jYWwgY29udGV4dCA9IHt9CmNvbnRleHQucHJqID0gcHJqCmNvbnRleHQucHJqQ2ZnID0gcHJvamVjdC5nZXRjb25maWcocHJqLCBjZmcuYnVpbGRjZmcsIGNmZy5wbGF0Zm9ybSkKY29udGV4dC5leGNsdWRlZCA9IChjb250ZXh0LnByakNmZyA9PSBuaWwgb3IgY29udGV4dC5wcmpDZmcuZmxhZ3MuRXhjbHVkZUZyb21CdWlsZCkKaWYgY29udGV4dC5wcmpDZmcgPT0gbmlsIHRoZW4KY29udGV4dC5wcmpDZmcgPSBwcm9qZWN0LmZpbmRDbG9zZXN0TWF0Y2gocHJqLCBjZmcuYnVpbGRjZmcsIGNmZy5wbGF0Zm9ybSkKZW5kCmNvbnRleHQuZGVzY3JpcHRvciA9IGRlc2NyaXB0b3JzW2NmZ10KY29udGV4dC5wbGF0Zm9ybSA9IHZzdHVkaW8ucHJvamVjdFBsYXRmb3JtKGNvbnRleHQucHJqQ2ZnKQpjb250ZXh0LmFyY2hpdGVjdHVyZSA9IHZzdHVkaW8uYXJjaEZyb21Db25maWcoY29udGV4dC5wcmpDZmcsIHRydWUpCnAucHVzaCgpCnAuY2FsbEFycmF5KHNsbjIwMDUuZWxlbWVudHMucHJvamVjdENvbmZpZ3VyYXRpb25QbGF0Zm9ybXMsIGNmZywgY29udGV4dCkKcC5wb3AoKQplbmQpCmVuZAp9KQpwLncoIkVuZEdsb2JhbFNlY3Rpb24iKQplbmQKZnVuY3Rpb24gc2xuMjAwNS5hY3RpdmVDZmcoY2ZnLCBjb250ZXh0KQpwLncoJ3slc30uJXMuQWN0aXZlQ2ZnID0gJXN8JXMnLCBjb250ZXh0LnByai51dWlkLCBjb250ZXh0LmRlc2NyaXB0b3IsIGNvbnRleHQucGxhdGZvcm0sIGNvbnRleHQuYXJjaGl0ZWN0dXJlKQplbmQKZnVuY3Rpb24gc2xuMjAwNS5idWlsZDAoY2ZnLCBjb250ZXh0KQppZiBub3QgY29udGV4dC5leGNsdWRlZCBhbmQgY29udGV4dC5wcmpDZmcua2luZCB+PSBwcmVtYWtlLk5PTkUgdGhlbgpwLncoJ3slc30uJXMuQnVpbGQuMCA9ICVzfCVzJywgY29udGV4dC5wcmoudXVpZCwgY29udGV4dC5kZXNjcmlwdG9yLCBjb250ZXh0LnBsYXRmb3JtLCBjb250ZXh0LmFyY2hpdGVjdHVyZSkKZW5kCmVuZApmdW5jdGlvbiBzbG4yMDA1LmNvbmZpZ3VyYXRpb25QbGF0Zm9ybXMod2tzKQpsb2NhbCBkZXNjcmlwdG9ycyA9IHt9CmxvY2FsIHNvcnRlZCA9IHt9CmZvciBjZmcgaW4gcC53b3Jrc3BhY2UuZWFjaGNvbmZpZyh3a3MpIGRvCmxvY2FsIHBsYXRmb3JtID0gdnN0dWRpby5zb2x1dGlvblBsYXRmb3JtKGNmZykKZGVzY3JpcHRvcnNbY2ZnXSA9IHN0cmluZy5mb3JtYXQoIiVzfCVzIiwgY2ZnLmJ1aWxkY2ZnLCBwbGF0Zm9ybSkKdGFibGUuaW5zZXJ0KHNvcnRlZCwgY2ZnKQplbmQKdGFibGUuc29ydChzb3J0ZWQsIGZ1bmN0aW9uKGNmZzAsIGNmZzEpCnJldHVybiBkZXNjcmlwdG9yc1tjZmcwXTpsb3dlcigpIDwgZGVzY3JpcHRvcnNbY2ZnMV06bG93ZXIoKQplbmQpCmlmIHdrcy5kZWZhdWx0cGxhdGZvcm0gdGhlbgpwLnB1c2goJ0dsb2JhbFNlY3Rpb24oU29sdXRpb25Db25maWd1cmF0aW9uUGxhdGZvcm1zKSA9IHByZVNvbHV0aW9uJykKdGFibGUuZm9yZWFjaGkoc29ydGVkLCBmdW5jdGlvbiAoY2ZnKQppZiBjZmcucGxhdGZvcm0gPT0gd2tzLmRlZmF1bHRwbGF0Zm9ybSB0aGVuCnAudygnJXMgPSAlcycsIGRlc2NyaXB0b3JzW2NmZ10sIGRlc2NyaXB0b3JzW2NmZ10pCmVuZAplbmQpCnAucG9wKCJFbmRHbG9iYWxTZWN0aW9uIikKZW5kCnAucHVzaCgnR2xvYmFsU2VjdGlvbihTb2x1dGlvbkNvbmZpZ3VyYXRpb25QbGF0Zm9ybXMpID0gcHJlU29sdXRpb24nKQp0YWJsZS5mb3JlYWNoaShzb3J0ZWQsIGZ1bmN0aW9uIChjZmcpCmlmIG5vdCB3a3MuZGVmYXVsdHBsYXRmb3JtIG9yIGNmZy5wbGF0Zm9ybSB+PSB3a3MuZGVmYXVsdHBsYXRmb3JtIHRoZW4KcC53KCclcyA9ICVzJywgZGVzY3JpcHRvcnNbY2ZnXSwgZGVzY3JpcHRvcnNbY2ZnXSkKZW5kCmVuZCkKcC5wb3AoIkVuZEdsb2JhbFNlY3Rpb24iKQpzbG4yMDA1LnByb2plY3RDb25maWd1cmF0aW9uUGxhdGZvcm1zKHdrcywgc29ydGVkLCBkZXNjcmlwdG9ycykKZW5kCmZ1bmN0aW9uIHNsbjIwMDUucHJvcGVydGllcyh3a3MpCnAucHVzaCgnR2xvYmFsU2VjdGlvbihTb2x1dGlvblByb3BlcnRpZXMpID0gcHJlU29sdXRpb24nKQpwLncoJ0hpZGVTb2x1dGlvbk5vZGUgPSBGQUxTRScpCnAucG9wKCdFbmRHbG9iYWxTZWN0aW9uJykKZW5kCmZ1bmN0aW9uIHNsbjIwMDUubmVzdGVkUHJvamVjdHMod2tzKQpsb2NhbCB0ciA9IHAud29ya3NwYWNlLmdyb3VwdHJlZSh3a3MpCmlmIHRyZWUuaGFzYnJhbmNoZXModHIpIHRoZW4KcC5wdXNoKCdHbG9iYWxTZWN0aW9uKE5lc3RlZFByb2plY3RzKSA9IHByZVNvbHV0aW9uJykKdHJlZS50cmF2ZXJzZSh0ciwgewpvbm5vZGUgPSBmdW5jdGlvbihuKQppZiBuLnBhcmVudC51dWlkIHRoZW4KcC53KCd7JXN9ID0geyVzfScsIChuLnByb2plY3Qgb3IgbikudXVpZCwgbi5wYXJlbnQudXVpZCkKZW5kCmVuZAp9KQpwLnBvcCgnRW5kR2xvYmFsU2VjdGlvbicpCmVuZAplbmQKZnVuY3Rpb24gc2xuMjAwNS5wcmVtYWtlRXh0ZW5zaWJpbGl0eUdsb2JhbHMod2tzKQppZiB3a3MuZWRpdG9yaW50ZWdyYXRpb24gdGhlbgpsb2NhbCBhcmdzID0ge30KZm9yIF8sIGFyZyBpbiBpcGFpcnMoX0FSR1YpIGRvCmlmIG5vdCAoYXJnOnN0YXJ0c3dpdGgoIi0tZmlsZSIpIG9yIGFyZzpzdGFydHN3aXRoKCIvZmlsZSIpKSB0aGVuCnRhYmxlLmluc2VydChhcmdzLCBhcmcpOwplbmQKZW5kCnAudygnUHJlbWFrZUJpbmFyeSA9ICVzJywgX1BSRU1BS0VfQ09NTUFORCkKcC53KCdQcmVtYWtlU2NyaXB0ID0gJXMnLCBwLndvcmtzcGFjZS5nZXRyZWxhdGl2ZSh3a3MsIF9NQUlOX1NDUklQVCkpCnAudygnUHJlbWFrZUFyZ3VtZW50cyA9ICVzJywgdGFibGUuY29uY2F0KGFyZ3MsICcgJykpCmVuZAplbmQKc2xuMjAwNS5lbGVtZW50cy5leHRlbnNpYmlsaXR5R2xvYmFscyA9IGZ1bmN0aW9uKHdrcykKcmV0dXJuIHsKc2xuMjAwNS5wcmVtYWtlRXh0ZW5zaWJpbGl0eUdsb2JhbHMsCn0KZW5kCmZ1bmN0aW9uIHNsbjIwMDUuZXh0ZW5zaWJpbGl0eUdsb2JhbHMod2tzKQpsb2NhbCBjb250ZW50cyA9IHAuY2FwdHVyZShmdW5jdGlvbiAoKQpwLnB1c2goKQpwLmNhbGxBcnJheShzbG4yMDA1LmVsZW1lbnRzLmV4dGVuc2liaWxpdHlHbG9iYWxzLCB3a3MpCnAucG9wKCkKZW5kKQppZiAjY29udGVudHMgPiAwIHRoZW4KcC5wdXNoKCdHbG9iYWxTZWN0aW9uKEV4dGVuc2liaWxpdHlHbG9iYWxzKSA9IHBvc3RTb2x1dGlvbicpCnAub3V0bG4oY29udGVudHMpCnAucG9wKCdFbmRHbG9iYWxTZWN0aW9uJykKZW5kCmVuZApzbG4yMDA1LmVsZW1lbnRzLnNlY3Rpb25zID0gZnVuY3Rpb24od2tzKQpyZXR1cm4gewpzbG4yMDA1LmNvbmZpZ3VyYXRpb25QbGF0Zm9ybXMsCnNsbjIwMDUucHJvcGVydGllcywKc2xuMjAwNS5uZXN0ZWRQcm9qZWN0cywKc2xuMjAwNS5leHRlbnNpYmlsaXR5R2xvYmFscywKfQplbmQKZnVuY3Rpb24gc2xuMjAwNS5zZWN0aW9ucyh3a3MpCnAuY2FsbEFycmF5KHNsbjIwMDUuZWxlbWVudHMuc2VjdGlvbnMsIHdrcykKZW5kCgAAcHJlbWFrZS52c3R1ZGlvLmNzMjAwNSA9IHt9CmxvY2FsIHAgPSBwcmVtYWtlCmxvY2FsIHZzdHVkaW8gPSBwLnZzdHVkaW8KbG9jYWwgY3MyMDA1ICA9IHAudnN0dWRpby5jczIwMDUKbG9jYWwgcHJvamVjdCA9IHAucHJvamVjdApsb2NhbCBjb25maWcgPSBwLmNvbmZpZwpsb2NhbCBmaWxlY29uZmlnID0gcC5maWxlY29uZmlnCmxvY2FsIGRvdG5ldCA9IHAudG9vbHMuZG90bmV0CmNzMjAwNS5lbGVtZW50cyA9IHt9CmNzMjAwNS5lbGVtZW50cy5wcm9qZWN0ID0gewoieG1sRGVjbGFyYXRpb24iLAoicHJvamVjdEVsZW1lbnQiLAoiY29tbW9uUHJvcGVydGllcyIsCiJwcm9qZWN0UHJvcGVydGllcyIsCiJjb25maWd1cmF0aW9ucyIsCiJhcHBsaWNhdGlvbkljb24iLAoiYXNzZW1ibHlSZWZlcmVuY2VzIiwKfQpmdW5jdGlvbiBjczIwMDUuZ2VuZXJhdGUocHJqKQpwLnV0ZjgoKQpwcmVtYWtlLmNhbGxhcnJheShjczIwMDUsIGNzMjAwNS5lbGVtZW50cy5wcm9qZWN0LCBwcmopCl9wKDEsJzxJdGVtR3JvdXA+JykKY3MyMDA1LmZpbGVzKHByaikKX3AoMSwnPC9JdGVtR3JvdXA+JykKY3MyMDA1LnByb2plY3RSZWZlcmVuY2VzKHByaikKY3MyMDA1LnRhcmdldHMocHJqKQpjczIwMDUuYnVpbGRFdmVudHMocHJqKQpwLm91dCgnPC9Qcm9qZWN0PicpCmVuZApmdW5jdGlvbiBjczIwMDUucHJvamVjdEVsZW1lbnQocHJqKQpsb2NhbCB2ZXIgPSAnJwpsb2NhbCBhY3Rpb24gPSBwcmVtYWtlLmFjdGlvbi5jdXJyZW50KCkKaWYgYWN0aW9uLnZzdHVkaW8udG9vbHNWZXJzaW9uIHRoZW4KdmVyID0gc3RyaW5nLmZvcm1hdCgnIFRvb2xzVmVyc2lvbj0iJXMiJywgYWN0aW9uLnZzdHVkaW8udG9vbHNWZXJzaW9uKQplbmQKX3AoJzxQcm9qZWN0JXMgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4nLCB2ZXIpCmVuZApjczIwMDUuZWxlbWVudHMucHJvamVjdFByb3BlcnRpZXMgPSB7CiJjb25maWd1cmF0aW9uQ29uZGl0aW9uIiwKInBsYXRmb3JtQ29uZGl0aW9uIiwKInByb2R1Y3RWZXJzaW9uIiwKInNjaGVtYVZlcnNpb24iLAoicHJvamVjdEd1aWQiLAoib3V0cHV0VHlwZSIsCiJhcHBEZXNpZ25lckZvbGRlciIsCiJyb290TmFtZXNwYWNlIiwKImFzc2VtYmx5TmFtZSIsCiJ0YXJnZXRGcmFtZXdvcmtWZXJzaW9uIiwKInRhcmdldEZyYW1ld29ya1Byb2ZpbGUiLAoiZmlsZUFsaWdubWVudCIsCiJwcm9qZWN0VHlwZUd1aWRzIiwKfQpmdW5jdGlvbiBjczIwMDUucHJvamVjdFByb3BlcnRpZXMocHJqKQpfcCgxLCc8UHJvcGVydHlHcm91cD4nKQpsb2NhbCBjZmcgPSBwcm9qZWN0LmdldGZpcnN0Y29uZmlnKHByaikKcHJlbWFrZS5jYWxsYXJyYXkoY3MyMDA1LCBjczIwMDUuZWxlbWVudHMucHJvamVjdFByb3BlcnRpZXMsIGNmZykKX3AoMSwnPC9Qcm9wZXJ0eUdyb3VwPicpCmVuZApjczIwMDUuZWxlbWVudHMuY29uZmlndXJhdGlvbiA9IHsKInByb3BlcnR5R3JvdXAiLAoiZGVidWdQcm9wcyIsCiJvdXRwdXRQcm9wcyIsCiJjb21waWxlclByb3BzIiwKfQpmdW5jdGlvbiBjczIwMDUuY29uZmlndXJhdGlvbnMocHJqKQpmb3IgY2ZnIGluIHByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCmNzMjAwNS5jb25maWd1cmF0aW9uKGNmZykKZW5kCmVuZApmdW5jdGlvbiBjczIwMDUuY29uZmlndXJhdGlvbihjZmcpCnByZW1ha2UuY2FsbGFycmF5KGNzMjAwNSwgY3MyMDA1LmVsZW1lbnRzLmNvbmZpZ3VyYXRpb24sIGNmZykKX3AoMSwnPC9Qcm9wZXJ0eUdyb3VwPicpCmVuZApmdW5jdGlvbiBjczIwMDUuZmlsZXMocHJqKQpsb2NhbCBjZmcgPSBwcm9qZWN0LmdldGZpcnN0Y29uZmlnKHByaikKbG9jYWwgZWxlbWVudHMgPSB7CiJBdXRvR2VuIiwKIkNvcHlUb091dHB1dERpcmVjdG9yeSIsCiJEZXNpZ25UaW1lIiwKIkRlcGVuZGVudFVwb24iLAoiRGVzaWduVGltZVNoYXJlZElucHV0IiwKIkdlbmVyYXRvciIsCiJMYXN0R2VuT3V0cHV0IiwKIlN1YlR5cGUiLAp9CmxvY2FsIHRyID0gcHJvamVjdC5nZXRzb3VyY2V0cmVlKHByaikKcHJlbWFrZS50cmVlLnRyYXZlcnNlKHRyLCB7Cm9ubGVhZiA9IGZ1bmN0aW9uKG5vZGUsIGRlcHRoKQpsb2NhbCBmaWxlY2ZnID0gZmlsZWNvbmZpZy5nZXRjb25maWcobm9kZSwgY2ZnKQpsb2NhbCBmbmFtZSA9IHBhdGgudHJhbnNsYXRlKG5vZGUucmVscGF0aCkKbG9jYWwgbGluaywgY291bnQgPSBub2RlLnJlbHBhdGg6Z3N1YigiJS4lLiUvIiwgIiIpCmxvY2FsIGV4dGVybmFsID0gKGNvdW50ID4gMCkKaWYgZXh0ZXJuYWwgYW5kIG5vZGUudnBhdGggfj0gbm9kZS5yZWxwYXRoIHRoZW4KbGluayA9IG5vZGUudnBhdGgKZW5kCmxvY2FsIGluZm8gPSBkb3RuZXQuZmlsZWluZm8oZmlsZWNmZykKbG9jYWwgY29udGVudHMgPSBwcmVtYWtlLmNhcHR1cmUoZnVuY3Rpb24gKCkKZm9yIF8sIGVsIGluIGlwYWlycyhlbGVtZW50cykgZG8KbG9jYWwgdmFsdWUgPSBpbmZvW2VsXQppZiB2YWx1ZSB0aGVuCl9wKDMsIjwlcz4lczwvJXM+IiwgZWwsIHZhbHVlLCBlbCkKZW5kCmVuZAplbmQpCmlmICNjb250ZW50cyA+IDAgb3IgZXh0ZXJuYWwgdGhlbgpfcCgyLCc8JXMgSW5jbHVkZT0iJXMiPicsIGluZm8uYWN0aW9uLCBmbmFtZSkKaWYgZXh0ZXJuYWwgdGhlbgpfcCgzLCc8TGluaz4lczwvTGluaz4nLCBwYXRoLnRyYW5zbGF0ZShsaW5rKSkKZW5kCmlmICNjb250ZW50cyA+IDAgdGhlbgpfcCgiJXMiLCBjb250ZW50cykKZW5kCmlmIGluZm8uYWN0aW9uID09ICJFbWJlZGRlZFJlc291cmNlIiBhbmQgY2ZnLmN1c3RvbXRvb2xuYW1lc3BhY2UgdGhlbgpfcCgzLCI8Q3VzdG9tVG9vbE5hbWVzcGFjZT4lczwvQ3VzdG9tVG9vbE5hbWVzcGFjZT4iLCBjZmcuY3VzdG9tdG9vbG5hbWVzcGFjZSkKZW5kCl9wKDIsJzwvJXM+JywgaW5mby5hY3Rpb24pCmVsc2UKX3AoMiwnPCVzIEluY2x1ZGU9IiVzIiAvPicsIGluZm8uYWN0aW9uLCBmbmFtZSkKZW5kCmVuZAp9LCBmYWxzZSkKZW5kCmZ1bmN0aW9uIGNzMjAwNS5idWlsZEV2ZW50cyhwcmopCmxvY2FsIGZ1bmN0aW9uIG91dHB1dChuYW1lLCBzdGVwcykKaWYgI3N0ZXBzID4gMCB0aGVuCnN0ZXBzID0gb3MudHJhbnNsYXRlQ29tbWFuZHMoc3RlcHMsIHAuV0lORE9XUykKc3RlcHMgPSB0YWJsZS5pbXBsb2RlKHN0ZXBzLCAiIiwgIiIsICJcclxuIikKX3goMiwnPCVzQnVpbGRFdmVudD4lczwvJXNCdWlsZEV2ZW50PicsIG5hbWUsIHN0ZXBzLCBuYW1lKQplbmQKZW5kCmxvY2FsIGNmZyA9IHByb2plY3QuZ2V0Zmlyc3Rjb25maWcocHJqKQppZiAjY2ZnLnByZWJ1aWxkY29tbWFuZHMgPiAwIG9yICNjZmcucG9zdGJ1aWxkY29tbWFuZHMgPiAwIHRoZW4KX3AoMSwnPFByb3BlcnR5R3JvdXA+JykKb3V0cHV0KCJQcmUiLCBjZmcucHJlYnVpbGRjb21tYW5kcykKb3V0cHV0KCJQb3N0IiwgY2ZnLnBvc3RidWlsZGNvbW1hbmRzKQpfcCgxLCc8L1Byb3BlcnR5R3JvdXA+JykKZW5kCmVuZApmdW5jdGlvbiBjczIwMDUuY29tcGlsZXJQcm9wcyhjZmcpCl94KDIsJzxEZWZpbmVDb25zdGFudHM+JXM8L0RlZmluZUNvbnN0YW50cz4nLCB0YWJsZS5jb25jYXQoY2ZnLmRlZmluZXMsICI7IikpCl9wKDIsJzxFcnJvclJlcG9ydD5wcm9tcHQ8L0Vycm9yUmVwb3J0PicpCl9wKDIsJzxXYXJuaW5nTGV2ZWw+NDwvV2FybmluZ0xldmVsPicpCmlmIGNmZy5jbHIgPT0gIlVuc2FmZSIgdGhlbgpfcCgyLCc8QWxsb3dVbnNhZmVCbG9ja3M+dHJ1ZTwvQWxsb3dVbnNhZmVCbG9ja3M+JykKZW5kCmlmIGNmZy5mbGFncy5GYXRhbENvbXBpbGVXYXJuaW5ncyB0aGVuCl9wKDIsJzxUcmVhdFdhcm5pbmdzQXNFcnJvcnM+dHJ1ZTwvVHJlYXRXYXJuaW5nc0FzRXJyb3JzPicpCmVuZApjczIwMDUuZGVidWdDb21tYW5kUGFyYW1ldGVycyhjZmcpCmVuZApmdW5jdGlvbiBjczIwMDUuZGVidWdDb21tYW5kUGFyYW1ldGVycyhjZmcpCmlmICNjZmcuZGVidWdhcmdzID4gMCB0aGVuCl94KDIsJzxDb21tYW5kbGluZXBhcmFtZXRlcnM+JXM8L0NvbW1hbmRsaW5lcGFyYW1ldGVycz4nLCB0YWJsZS5jb25jYXQoY2ZnLmRlYnVnYXJncywgIiAiKSkKZW5kCmVuZApmdW5jdGlvbiBjczIwMDUuZGVidWdQcm9wcyhjZmcpCmlmIGNmZy5mbGFncy5TeW1ib2xzIHRoZW4KX3AoMiwnPERlYnVnU3ltYm9scz50cnVlPC9EZWJ1Z1N5bWJvbHM+JykKX3AoMiwnPERlYnVnVHlwZT5mdWxsPC9EZWJ1Z1R5cGU+JykKZWxzZQpfcCgyLCc8RGVidWdUeXBlPnBkYm9ubHk8L0RlYnVnVHlwZT4nKQplbmQKX3AoMiwnPE9wdGltaXplPiVzPC9PcHRpbWl6ZT4nLCBpaWYoY29uZmlnLmlzT3B0aW1pemVkQnVpbGQoY2ZnKSwgInRydWUiLCAiZmFsc2UiKSkKZW5kCmZ1bmN0aW9uIGNzMjAwNS5vdXRwdXRQcm9wcyhjZmcpCmxvY2FsIG91dGRpciA9IHZzdHVkaW8ucGF0aChjZmcsIGNmZy5idWlsZHRhcmdldC5kaXJlY3RvcnkpCl94KDIsJzxPdXRwdXRQYXRoPiVzXFw8L091dHB1dFBhdGg+Jywgb3V0ZGlyKQpsb2NhbCBvYmpkaXIgPSB2c3R1ZGlvLnBhdGgoY2ZnLCBjZmcub2JqZGlyKQppZiBfQUNUSU9OID4gInZzMjAwOCIgdGhlbgpfeCgyLCc8QmFzZUludGVybWVkaWF0ZU91dHB1dFBhdGg+JXNcXDwvQmFzZUludGVybWVkaWF0ZU91dHB1dFBhdGg+Jywgb2JqZGlyKQpfcCgyLCc8SW50ZXJtZWRpYXRlT3V0cHV0UGF0aD4kKEJhc2VJbnRlcm1lZGlhdGVPdXRwdXRQYXRoKTwvSW50ZXJtZWRpYXRlT3V0cHV0UGF0aD4nKQplbHNlCl94KDIsJzxJbnRlcm1lZGlhdGVPdXRwdXRQYXRoPiVzXFw8L0ludGVybWVkaWF0ZU91dHB1dFBhdGg+Jywgb2JqZGlyKQplbmQKZW5kCmZ1bmN0aW9uIGNzMjAwNS5hc3NlbWJseVJlZmVyZW5jZXMocHJqKQpfcCgxLCc8SXRlbUdyb3VwPicpCmxvY2FsIGNmZyA9IHByb2plY3QuZ2V0Zmlyc3Rjb25maWcocHJqKQpjb25maWcuZ2V0bGlua3MoY2ZnLCAic3lzdGVtIiwgZnVuY3Rpb24ob3JpZ2luYWwsIGRlY29yYXRlZCkKbG9jYWwgbmFtZSA9IHBhdGguZ2V0bmFtZShkZWNvcmF0ZWQpCmlmIHBhdGguZ2V0ZXh0ZW5zaW9uKG5hbWUpID09ICIuZGxsIiB0aGVuCm5hbWUgPSBuYW1lLnN1YihuYW1lLCAxLCAtNSkKZW5kCmlmIGRlY29yYXRlZDpmaW5kKCIvIiwgbmlsLCB0cnVlKSB0aGVuCl94KDIsJzxSZWZlcmVuY2UgSW5jbHVkZT0iJXMiPicsIG5hbWUpCl94KDMsJzxIaW50UGF0aD4lczwvSGludFBhdGg+JywgcGF0aC5hcHBlbmRleHRlbnNpb24ocGF0aC50cmFuc2xhdGUoZGVjb3JhdGVkKSwgIi5kbGwiKSkKaWYgbm90IGNvbmZpZy5pc0NvcHlMb2NhbChwcmosIG9yaWdpbmFsLCB0cnVlKSB0aGVuCl9wKDMsIjxQcml2YXRlPkZhbHNlPC9Qcml2YXRlPiIpCmVuZApfcCgyLCc8L1JlZmVyZW5jZT4nKQplbHNlCl94KDIsJzxSZWZlcmVuY2UgSW5jbHVkZT0iJXMiIC8+JywgbmFtZSkKZW5kCmVuZCkKX3AoMSwnPC9JdGVtR3JvdXA+JykKZW5kCmZ1bmN0aW9uIGNzMjAwNS5wcm9qZWN0UmVmZXJlbmNlcyhwcmopCl9wKDEsJzxJdGVtR3JvdXA+JykKbG9jYWwgZGVwcyA9IHByb2plY3QuZ2V0ZGVwZW5kZW5jaWVzKHByaiwgJ2xpbmtPbmx5JykKaWYgI2RlcHMgPiAwIHRoZW4KZm9yIF8sIGRlcCBpbiBpcGFpcnMoZGVwcykgZG8KbG9jYWwgcmVscGF0aCA9IHZzdHVkaW8ucGF0aChwcmosIHZzdHVkaW8ucHJvamVjdGZpbGUoZGVwKSkKX3goMiwnPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0iJXMiPicsIHJlbHBhdGgpCl9wKDMsJzxQcm9qZWN0Pnslc308L1Byb2plY3Q+JywgZGVwLnV1aWQpCl94KDMsJzxOYW1lPiVzPC9OYW1lPicsIGRlcC5uYW1lKQppZiBub3QgY29uZmlnLmlzQ29weUxvY2FsKHByaiwgZGVwLm5hbWUsIHRydWUpIHRoZW4KX3AoMywiPFByaXZhdGU+RmFsc2U8L1ByaXZhdGU+IikKZW5kCl9wKDIsJzwvUHJvamVjdFJlZmVyZW5jZT4nKQplbmQKZW5kCl9wKDEsJzwvSXRlbUdyb3VwPicpCmVuZApmdW5jdGlvbiBjczIwMDUuYXJjaChjZmcpCmxvY2FsIGFyY2ggPSB2c3R1ZGlvLmFyY2hGcm9tQ29uZmlnKGNmZykKaWYgYXJjaCA9PSAiQW55IENQVSIgdGhlbgphcmNoID0gIkFueUNQVSIKZW5kCnJldHVybiBhcmNoCmVuZApmdW5jdGlvbiBjczIwMDUucHJvcGVydHlHcm91cChjZmcpCmxvY2FsIHBsYXRmb3JtID0gdnN0dWRpby5wcm9qZWN0UGxhdGZvcm0oY2ZnKQpsb2NhbCBhcmNoID0gY3MyMDA1LmFyY2goY2ZnKQpwLnB1c2goJzxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iIFwnJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKVwnID09IFwnJXN8JXNcJyAiPicsIHBsYXRmb3JtLCBhcmNoKQppZiBhcmNoIH49ICJBbnlDUFUiIG9yIF9BQ1RJT04gPiAidnMyMDA4IiB0aGVuCnAueCgnPFBsYXRmb3JtVGFyZ2V0PiVzPC9QbGF0Zm9ybVRhcmdldD4nLCBhcmNoKQplbmQKZW5kCmZ1bmN0aW9uIGNzMjAwNS5hcHBsaWNhdGlvbkljb24ocHJqKQppZiBwcmouaWNvbiB0aGVuCmxvY2FsIGljb24gPSB2c3R1ZGlvLnBhdGgocHJqLCBwcmouaWNvbikKX3AoMSwnPFByb3BlcnR5R3JvdXA+JykKX3goMiwnPEFwcGxpY2F0aW9uSWNvbj4lczwvQXBwbGljYXRpb25JY29uPicsIGljb24pCl9wKDEsJzwvUHJvcGVydHlHcm91cD4nKQplbmQKZW5kCmZ1bmN0aW9uIGNzMjAwNS5jb25kaXRpb24oY2ZnKQpyZXR1cm4gc3RyaW5nLmZvcm1hdCgnQ29uZGl0aW9uPSJcJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSlcJz09XCclc1wnIicsIHByZW1ha2UuZXNjKHZzdHVkaW8ucHJvamVjdENvbmZpZyhjZmcpKSkKZW5kCmZ1bmN0aW9uIGNzMjAwNS5hcHBEZXNpZ25lckZvbGRlcihjZmcpCl9wKDIsJzxBcHBEZXNpZ25lckZvbGRlcj5Qcm9wZXJ0aWVzPC9BcHBEZXNpZ25lckZvbGRlcj4nKQplbmQKZnVuY3Rpb24gY3MyMDA1LmFzc2VtYmx5TmFtZShjZmcpCl9wKDIsJzxBc3NlbWJseU5hbWU+JXM8L0Fzc2VtYmx5TmFtZT4nLCBjZmcuYnVpbGR0YXJnZXQuYmFzZW5hbWUpCmVuZApmdW5jdGlvbiBjczIwMDUuY29tbW9uUHJvcGVydGllcyhwcmopCmlmIF9BQ1RJT04gPiAidnMyMDEwIiB0aGVuCl9wKDEsJzxJbXBvcnQgUHJvamVjdD0iJChNU0J1aWxkRXh0ZW5zaW9uc1BhdGgpXFwkKE1TQnVpbGRUb29sc1ZlcnNpb24pXFxNaWNyb3NvZnQuQ29tbW9uLnByb3BzIiBDb25kaXRpb249IkV4aXN0cyhcJyQoTVNCdWlsZEV4dGVuc2lvbnNQYXRoKVxcJChNU0J1aWxkVG9vbHNWZXJzaW9uKVxcTWljcm9zb2Z0LkNvbW1vbi5wcm9wc1wnKSIgLz4nKQplbmQKZW5kCmZ1bmN0aW9uIGNzMjAwNS5jb25maWd1cmF0aW9uQ29uZGl0aW9uKGNmZykKX3goMiwnPENvbmZpZ3VyYXRpb24gQ29uZGl0aW9uPSIgXCckKENvbmZpZ3VyYXRpb24pXCcgPT0gXCdcJyAiPiVzPC9Db25maWd1cmF0aW9uPicsIGNmZy5idWlsZGNmZykKZW5kCmZ1bmN0aW9uIGNzMjAwNS5maWxlQWxpZ25tZW50KGNmZykKaWYgX0FDVElPTiA+PSAidnMyMDEwIiB0aGVuCl9wKDIsJzxGaWxlQWxpZ25tZW50PjUxMjwvRmlsZUFsaWdubWVudD4nKQplbmQKZW5kCmZ1bmN0aW9uIGNzMjAwNS5vdXRwdXRUeXBlKGNmZykKX3AoMiwnPE91dHB1dFR5cGU+JXM8L091dHB1dFR5cGU+JywgZG90bmV0LmdldGtpbmQoY2ZnKSkKZW5kCmZ1bmN0aW9uIGNzMjAwNS5wbGF0Zm9ybUNvbmRpdGlvbihjZmcpCl9wKDIsJzxQbGF0Zm9ybSBDb25kaXRpb249IiBcJyQoUGxhdGZvcm0pXCcgPT0gXCdcJyAiPiVzPC9QbGF0Zm9ybT4nLCBjczIwMDUuYXJjaChjZmcucHJvamVjdCkpCmVuZApmdW5jdGlvbiBjczIwMDUucHJvZHVjdFZlcnNpb24oY2ZnKQpsb2NhbCBhY3Rpb24gPSBwcmVtYWtlLmFjdGlvbi5jdXJyZW50KCkKaWYgYWN0aW9uLnZzdHVkaW8ucHJvZHVjdFZlcnNpb24gdGhlbgpfcCgyLCc8UHJvZHVjdFZlcnNpb24+JXM8L1Byb2R1Y3RWZXJzaW9uPicsIGFjdGlvbi52c3R1ZGlvLnByb2R1Y3RWZXJzaW9uKQplbmQKZW5kCmZ1bmN0aW9uIGNzMjAwNS5wcm9qZWN0R3VpZChjZmcpCl9wKDIsJzxQcm9qZWN0R3VpZD57JXN9PC9Qcm9qZWN0R3VpZD4nLCBjZmcudXVpZCkKZW5kCmZ1bmN0aW9uIGNzMjAwNS5wcm9qZWN0VHlwZUd1aWRzKGNmZykKaWYgY2ZnLmZsYWdzLldQRiB0aGVuCl9wKDIsJzxQcm9qZWN0VHlwZUd1aWRzPns2MGRjODEzNC1lYmE1LTQzYjgtYmNjOS1iYjRiYzE2YzI1NDh9O3tGQUUwNEVDMC0zMDFGLTExRDMtQkY0Qi0wMEMwNEY3OUVGQkN9PC9Qcm9qZWN0VHlwZUd1aWRzPicpCmVuZAplbmQKZnVuY3Rpb24gY3MyMDA1LnJvb3ROYW1lc3BhY2UoY2ZnKQpfcCgyLCc8Um9vdE5hbWVzcGFjZT4lczwvUm9vdE5hbWVzcGFjZT4nLCBjZmcubmFtZXNwYWNlIG9yIGNmZy5idWlsZHRhcmdldC5iYXNlbmFtZSkKZW5kCmZ1bmN0aW9uIGNzMjAwNS5zY2hlbWFWZXJzaW9uKGNmZykKbG9jYWwgYWN0aW9uID0gcHJlbWFrZS5hY3Rpb24uY3VycmVudCgpCmlmIGFjdGlvbi52c3R1ZGlvLmNzcHJvalNjaGVtYVZlcnNpb24gdGhlbgpfcCgyLCc8U2NoZW1hVmVyc2lvbj4lczwvU2NoZW1hVmVyc2lvbj4nLCBhY3Rpb24udnN0dWRpby5jc3Byb2pTY2hlbWFWZXJzaW9uKQplbmQKZW5kCmZ1bmN0aW9uIGNzMjAwNS50YXJnZXRGcmFtZXdvcmtWZXJzaW9uKGNmZykKbG9jYWwgYWN0aW9uID0gcHJlbWFrZS5hY3Rpb24uY3VycmVudCgpCmxvY2FsIGZyYW1ld29yayA9IGNmZy5kb3RuZXRmcmFtZXdvcmsgb3IgYWN0aW9uLnZzdHVkaW8udGFyZ2V0RnJhbWV3b3JrCmlmIGZyYW1ld29yayB0aGVuCl9wKDIsJzxUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPnYlczwvVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj4nLCBmcmFtZXdvcmspCmVuZAplbmQKZnVuY3Rpb24gY3MyMDA1LnRhcmdldEZyYW1ld29ya1Byb2ZpbGUoY2ZnKQppZiBfQUNUSU9OID09ICJ2czIwMTAiIHRoZW4KX3AoMiwnPFRhcmdldEZyYW1ld29ya1Byb2ZpbGU+JykKX3AoMiwnPC9UYXJnZXRGcmFtZXdvcmtQcm9maWxlPicpCmVuZAplbmQKZnVuY3Rpb24gY3MyMDA1LnRhcmdldHMocHJqKQpsb2NhbCBiaW4gPSBpaWYoX0FDVElPTiA8PSAidnMyMDEwIiwgIk1TQnVpbGRCaW5QYXRoIiwgIk1TQnVpbGRUb29sc1BhdGgiKQpfcCgxLCc8SW1wb3J0IFByb2plY3Q9IiQoJXMpXFxNaWNyb3NvZnQuQ1NoYXJwLnRhcmdldHMiIC8+JywgYmluKQpfcCgxLCc8IS0tIFRvIG1vZGlmeSB5b3VyIGJ1aWxkIHByb2Nlc3MsIGFkZCB5b3VyIHRhc2sgaW5zaWRlIG9uZSBvZiB0aGUgdGFyZ2V0cyBiZWxvdyBhbmQgdW5jb21tZW50IGl0LicpCl9wKDEsJyAgICAgT3RoZXIgc2ltaWxhciBleHRlbnNpb24gcG9pbnRzIGV4aXN0LCBzZWUgTWljcm9zb2Z0LkNvbW1vbi50YXJnZXRzLicpCl9wKDEsJzxUYXJnZXQgTmFtZT0iQmVmb3JlQnVpbGQiPicpCl9wKDEsJzwvVGFyZ2V0PicpCl9wKDEsJzxUYXJnZXQgTmFtZT0iQWZ0ZXJCdWlsZCI+JykKX3AoMSwnPC9UYXJnZXQ+JykKX3AoMSwnLS0+JykKZW5kCmZ1bmN0aW9uIGNzMjAwNS54bWxEZWNsYXJhdGlvbigpCmlmIF9BQ1RJT04gPiAidnMyMDA4IiB0aGVuCnAueG1sVXRmOCgpCmVuZAplbmQKAAAAAGxvY2FsIHAgPSBwcmVtYWtlCmxvY2FsIG0gPSBwLnZzdHVkaW8uY3MyMDA1Cm0uZWxlbWVudHMudXNlclByb2plY3RQcm9wZXJ0eUdyb3VwID0gZnVuY3Rpb24oKQpyZXR1cm4gewptLnJlZmVyZW5jZVBhdGgsCn0KZW5kCm0uZWxlbWVudHMudXNlckNvbmZpZ1Byb3BlcnR5R3JvdXAgPSBmdW5jdGlvbigpCnJldHVybiB7Cm0ubG9jYWxEZWJ1Z2dlckNvbW1hbmRBcmd1bWVudHMsCn0KZW5kCmZ1bmN0aW9uIG0uZ2VuZXJhdGVVc2VyKHByaikKbG9jYWwgcHJqR3JvdXAgPSBwLmNhcHR1cmUoZnVuY3Rpb24oKQpwLnB1c2goMikKcC5jYWxsQXJyYXkobS5lbGVtZW50cy51c2VyUHJvamVjdFByb3BlcnR5R3JvdXAsIHByaikKcC5wb3AoMikKZW5kKQpsb2NhbCBjb250ZW50cyA9IHt9CmxvY2FsIHNpemUgPSAwCmZvciBjZmcgaW4gcC5wcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwpjb250ZW50c1tjZmddID0gcC5jYXB0dXJlKGZ1bmN0aW9uKCkKcC5wdXNoKDIpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMudXNlckNvbmZpZ1Byb3BlcnR5R3JvdXAsIGNmZykKcC5wb3AoMikKZW5kKQpzaXplID0gc2l6ZSArICNjb250ZW50c1tjZmddCmVuZAppZiAjcHJqR3JvdXAgPiAwIG9yIHNpemUgPiAwIHRoZW4KcC52c3R1ZGlvLnByb2plY3RFbGVtZW50KCkKaWYgI3Byakdyb3VwID4gMCB0aGVuCnAucHVzaCgnPFByb3BlcnR5R3JvdXA+JykKcC5vdXRsbihwcmpHcm91cCkKcC5wb3AoJzwvUHJvcGVydHlHcm91cD4nKQplbmQKZm9yIGNmZyBpbiBwLnByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCmlmICNjb250ZW50c1tjZmddID4gMCB0aGVuCnAucHVzaCgnPFByb3BlcnR5R3JvdXAgJXM+JywgbS5jb25kaXRpb24oY2ZnKSkKcC5vdXRsbihjb250ZW50c1tjZmddKQpwLnBvcCgnPC9Qcm9wZXJ0eUdyb3VwPicpCmVuZAplbmQKcC5wb3AoJzwvUHJvamVjdD4nKQplbmQKZW5kCmZ1bmN0aW9uIG0ucmVmZXJlbmNlUGF0aChwcmopCmxvY2FsIGNmZyA9IHAucHJvamVjdC5nZXRmaXJzdGNvbmZpZyhwcmopCmxvY2FsIHBhdGhzID0gcC52c3R1ZGlvLnBhdGgocHJqLCBjZmcubGliZGlycykKaWYgI3BhdGhzID4gMCB0aGVuCnAudygnPFJlZmVyZW5jZVBhdGg+JXM8L1JlZmVyZW5jZVBhdGg+JywgdGFibGUuY29uY2F0KHBhdGhzLCAiOyIpKQplbmQKZW5kCmZ1bmN0aW9uIG0ubG9jYWxEZWJ1Z2dlckNvbW1hbmRBcmd1bWVudHMoY2ZnKQppZiAjY2ZnLmRlYnVnYXJncyA+IDAgdGhlbgpwLngoJzxTdGFydEFyZ3VtZW50cz4lczwvU3RhcnRBcmd1bWVudHM+JywgdGFibGUuY29uY2F0KGNmZy5kZWJ1Z2FyZ3MsICIgIikpCmVuZAplbmQAAAAAAHByZW1ha2UudnN0dWRpby52czIwMTAgPSB7fQpsb2NhbCBwID0gcHJlbWFrZQpsb2NhbCB2czIwMTAgPSBwLnZzdHVkaW8udnMyMDEwCmxvY2FsIHZzdHVkaW8gPSBwLnZzdHVkaW8KbG9jYWwgcHJvamVjdCA9IHAucHJvamVjdApsb2NhbCB0cmVlID0gcC50cmVlCnZzdHVkaW8ucGF0aFZhcnMgPSB7ClsiY2ZnLm9iamRpciJdICAgICAgICAgICAgICAgICAgPSB7IGFic29sdXRlID0gdHJ1ZSwgIHRva2VuID0gIiQoSW50RGlyKSIgfSwKWyJwcmoubG9jYXRpb24iXSAgICAgICAgICAgICAgICA9IHsgYWJzb2x1dGUgPSB0cnVlLCAgdG9rZW4gPSAiJChQcm9qZWN0RGlyKSIgfSwKWyJwcmoubmFtZSJdICAgICAgICAgICAgICAgICAgICA9IHsgYWJzb2x1dGUgPSBmYWxzZSwgdG9rZW4gPSAiJChQcm9qZWN0TmFtZSkiIH0sClsic2xuLmxvY2F0aW9uIl0gICAgICAgICAgICAgICAgPSB7IGFic29sdXRlID0gdHJ1ZSwgIHRva2VuID0gIiQoU29sdXRpb25EaXIpIiB9LApbInNsbi5uYW1lIl0gICAgICAgICAgICAgICAgICAgID0geyBhYnNvbHV0ZSA9IGZhbHNlLCB0b2tlbiA9ICIkKFNvbHV0aW9uTmFtZSkiIH0sClsid2tzLmxvY2F0aW9uIl0gICAgICAgICAgICAgICAgPSB7IGFic29sdXRlID0gdHJ1ZSwgIHRva2VuID0gIiQoU29sdXRpb25EaXIpIiB9LApbIndrcy5uYW1lIl0gICAgICAgICAgICAgICAgICAgID0geyBhYnNvbHV0ZSA9IGZhbHNlLCB0b2tlbiA9ICIkKFNvbHV0aW9uTmFtZSkiIH0sClsiY2ZnLmJ1aWxkdGFyZ2V0LmRpcmVjdG9yeSJdICAgPSB7IGFic29sdXRlID0gZmFsc2UsIHRva2VuID0gIiQoVGFyZ2V0RGlyKSIgfSwKWyJjZmcuYnVpbGR0YXJnZXQubmFtZSJdICAgICAgICA9IHsgYWJzb2x1dGUgPSBmYWxzZSwgdG9rZW4gPSAiJChUYXJnZXRGaWxlTmFtZSkiIH0sClsiY2ZnLmJ1aWxkdGFyZ2V0LmJhc2VuYW1lIl0gICAgPSB7IGFic29sdXRlID0gZmFsc2UsIHRva2VuID0gIiQoVGFyZ2V0TmFtZSkiIH0sClsiZmlsZS5iYXNlbmFtZSJdICAgICAgICAgICAgICAgPSB7IGFic29sdXRlID0gZmFsc2UsIHRva2VuID0gIiUoRmlsZW5hbWUpIiB9LApbImZpbGUuYWJzcGF0aCJdICAgICAgICAgICAgICAgID0geyBhYnNvbHV0ZSA9IHRydWUsICB0b2tlbiA9ICIlKEZ1bGxQYXRoKSIgfSwKWyJmaWxlLnJlbHBhdGgiXSAgICAgICAgICAgICAgICA9IHsgYWJzb2x1dGUgPSBmYWxzZSwgdG9rZW4gPSAiJShJZGVudGl0eSkiIH0sCn0KZnVuY3Rpb24gdnMyMDEwLmdlbmVyYXRlUHJvamVjdChwcmopCnAuZW9sKCJcclxuIikKcC5pbmRlbnQoIiAgIikKcC5lc2NhcGVyKHZzMjAxMC5lc2MpCmlmIHByZW1ha2UucHJvamVjdC5pc2RvdG5ldChwcmopIHRoZW4KcHJlbWFrZS5nZW5lcmF0ZShwcmosICIuY3Nwcm9qIiwgdnN0dWRpby5jczIwMDUuZ2VuZXJhdGUpCmxvY2FsIHVzZXIgPSBwLmNhcHR1cmUoZnVuY3Rpb24oKSB2c3R1ZGlvLmNzMjAwNS5nZW5lcmF0ZVVzZXIocHJqKSBlbmQpCmlmICN1c2VyID4gMCB0aGVuCnAuZ2VuZXJhdGUocHJqLCAiLmNzcHJvai51c2VyIiwgZnVuY3Rpb24oKSBwLm91dGxuKHVzZXIpIGVuZCkKZW5kCmVsc2VpZiBwcmVtYWtlLnByb2plY3QuaXNjcHAocHJqKSB0aGVuCnByZW1ha2UuZ2VuZXJhdGUocHJqLCAiLnZjeHByb2oiLCB2c3R1ZGlvLnZjMjAxMC5nZW5lcmF0ZSkKbG9jYWwgdXNlciA9IHAuY2FwdHVyZShmdW5jdGlvbigpIHZzdHVkaW8udmMyMDEwLmdlbmVyYXRlVXNlcihwcmopIGVuZCkKaWYgI3VzZXIgPiAwIHRoZW4KcC5nZW5lcmF0ZShwcmosICIudmN4cHJvai51c2VyIiwgZnVuY3Rpb24oKSBwLm91dGxuKHVzZXIpIGVuZCkKZW5kCmlmIHRyZWUuaGFzYnJhbmNoZXMocHJvamVjdC5nZXRzb3VyY2V0cmVlKHByaikpIHRoZW4KcHJlbWFrZS5nZW5lcmF0ZShwcmosICIudmN4cHJvai5maWx0ZXJzIiwgdnN0dWRpby52YzIwMTAuZ2VuZXJhdGVGaWx0ZXJzKQplbmQKZW5kCmVuZApmdW5jdGlvbiB2czIwMTAuZ2VuZXJhdGVSdWxlKHJ1bGUpCnAuZW9sKCJcclxuIikKcC5pbmRlbnQoIiAgIikKcC5lc2NhcGVyKHZzMjAxMC5lc2MpCnAuZ2VuZXJhdGUocnVsZSwgIi5wcm9wcyIsIHZzMjAxMC5ydWxlcy5wcm9wcy5nZW5lcmF0ZSkKcC5nZW5lcmF0ZShydWxlLCAiLnRhcmdldHMiLCB2czIwMTAucnVsZXMudGFyZ2V0cy5nZW5lcmF0ZSkKcC5nZW5lcmF0ZShydWxlLCAiLnhtbCIsIHZzMjAxMC5ydWxlcy54bWwuZ2VuZXJhdGUpCmVuZApmdW5jdGlvbiB2czIwMTAuZXNjKHZhbHVlKQp2YWx1ZSA9IHZhbHVlOmdzdWIoJyYnLCAgIiZhbXA7IikKdmFsdWUgPSB2YWx1ZTpnc3ViKCc8JywgICImbHQ7IikKdmFsdWUgPSB2YWx1ZTpnc3ViKCc+JywgICImZ3Q7IikKcmV0dXJuIHZhbHVlCmVuZApuZXdhY3Rpb24gewp0cmlnZ2VyICAgICA9ICJ2czIwMTAiLApzaG9ydG5hbWUgICA9ICJWaXN1YWwgU3R1ZGlvIDIwMTAiLApkZXNjcmlwdGlvbiA9ICJHZW5lcmF0ZSBWaXN1YWwgU3R1ZGlvIDIwMTAgcHJvamVjdCBmaWxlcyIsCm9zID0gIndpbmRvd3MiLAp2YWxpZF9raW5kcyAgICAgPSB7ICJDb25zb2xlQXBwIiwgIldpbmRvd2VkQXBwIiwgIlN0YXRpY0xpYiIsICJTaGFyZWRMaWIiLCAiTWFrZWZpbGUiLCAiTm9uZSIsICJVdGlsaXR5IiB9LAp2YWxpZF9sYW5ndWFnZXMgPSB7ICJDIiwgIkMrKyIsICJDIyIgfSwKdmFsaWRfdG9vbHMgICAgID0gewpjYyAgICAgPSB7ICJtc2MiICAgfSwKZG90bmV0ID0geyAibXNuZXQiIH0sCn0sCm9uV29ya3NwYWNlID0gZnVuY3Rpb24od2tzKQp2c3R1ZGlvLnZzMjAwNS5nZW5lcmF0ZVNvbHV0aW9uKHdrcykKZW5kLApvblByb2plY3QgPSBmdW5jdGlvbihwcmopCnZzdHVkaW8udnMyMDEwLmdlbmVyYXRlUHJvamVjdChwcmopCmVuZCwKb25SdWxlID0gZnVuY3Rpb24ocnVsZSkKdnN0dWRpby52czIwMTAuZ2VuZXJhdGVSdWxlKHJ1bGUpCmVuZCwKb25DbGVhbldvcmtzcGFjZSA9IGZ1bmN0aW9uKHdrcykKdnN0dWRpby5jbGVhblNvbHV0aW9uKHdrcykKZW5kLApvbkNsZWFuUHJvamVjdCA9IGZ1bmN0aW9uKHByaikKdnN0dWRpby5jbGVhblByb2plY3QocHJqKQplbmQsCm9uQ2xlYW5UYXJnZXQgPSBmdW5jdGlvbihwcmopCnZzdHVkaW8uY2xlYW5UYXJnZXQocHJqKQplbmQsCnBhdGhWYXJzICAgICAgICA9IHZzdHVkaW8ucGF0aFZhcnMsCnZzdHVkaW8gPSB7CmNzcHJvalNjaGVtYVZlcnNpb24gPSAiMi4wIiwKcHJvZHVjdFZlcnNpb24gICAgICA9ICI4LjAuMzA3MDMiLApzb2x1dGlvblZlcnNpb24gICAgID0gIjExIiwKdmVyc2lvbk5hbWUgICAgICAgICA9ICIyMDEwIiwKdGFyZ2V0RnJhbWV3b3JrICAgICA9ICI0LjAiLAp0b29sc1ZlcnNpb24gICAgICAgID0gIjQuMCIsCn0KfQoAcHJlbWFrZS52c3R1ZGlvLnZjMjAxMCA9IHt9CmxvY2FsIHAgPSBwcmVtYWtlCmxvY2FsIHZzdHVkaW8gPSBwLnZzdHVkaW8KbG9jYWwgcHJvamVjdCA9IHAucHJvamVjdApsb2NhbCBjb25maWcgPSBwLmNvbmZpZwpsb2NhbCBmaWxlY29uZmlnID0gcC5maWxlY29uZmlnCmxvY2FsIHRyZWUgPSBwLnRyZWUKbG9jYWwgbSA9IHAudnN0dWRpby52YzIwMTAKbS5lbGVtZW50cyA9IHt9Cm0uZWxlbWVudHMucHJvamVjdCA9IGZ1bmN0aW9uKHByaikKcmV0dXJuIHsKbS54bWxEZWNsYXJhdGlvbiwKbS5wcm9qZWN0LAptLnByb2plY3RDb25maWd1cmF0aW9ucywKbS5nbG9iYWxzLAptLmltcG9ydERlZmF1bHRQcm9wcywKbS5jb25maWd1cmF0aW9uUHJvcGVydGllc0dyb3VwLAptLmltcG9ydExhbmd1YWdlU2V0dGluZ3MsCm0uaW1wb3J0RXh0ZW5zaW9uU2V0dGluZ3MsCm0ucHJvcGVydHlTaGVldEdyb3VwLAptLnVzZXJNYWNyb3MsCm0ub3V0cHV0UHJvcGVydGllc0dyb3VwLAptLml0ZW1EZWZpbml0aW9uR3JvdXBzLAptLmFzc2VtYmx5UmVmZXJlbmNlcywKbS5maWxlcywKbS5wcm9qZWN0UmVmZXJlbmNlcywKbS5pbXBvcnRMYW5ndWFnZVRhcmdldHMsCm0uaW1wb3J0RXh0ZW5zaW9uVGFyZ2V0cywKfQplbmQKZnVuY3Rpb24gbS5nZW5lcmF0ZShwcmopCnAudXRmOCgpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMucHJvamVjdCwgcHJqKQpwLm91dCgnPC9Qcm9qZWN0PicpCmVuZApmdW5jdGlvbiBtLnByb2plY3QocHJqKQpsb2NhbCBhY3Rpb24gPSBwLmFjdGlvbi5jdXJyZW50KCkKcC5wdXNoKCc8UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iJXMiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPicsCmFjdGlvbi52c3R1ZGlvLnRvb2xzVmVyc2lvbikKZW5kCmZ1bmN0aW9uIG0ucHJvamVjdENvbmZpZ3VyYXRpb25zKHByaikKbG9jYWwgcGxhdGZvcm1zID0ge30KZm9yIGNmZyBpbiBwcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwpsb2NhbCBhcmNoID0gdnN0dWRpby5hcmNoRnJvbUNvbmZpZyhjZmcsIHRydWUpCmlmIG5vdCB0YWJsZS5jb250YWlucyhwbGF0Zm9ybXMsIGFyY2gpIHRoZW4KdGFibGUuaW5zZXJ0KHBsYXRmb3JtcywgYXJjaCkKZW5kCmVuZApsb2NhbCBjb25maWdzID0ge30KcC5wdXNoKCc8SXRlbUdyb3VwIExhYmVsPSJQcm9qZWN0Q29uZmlndXJhdGlvbnMiPicpCmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KZm9yIF8sIGFyY2ggaW4gaXBhaXJzKHBsYXRmb3JtcykgZG8KbG9jYWwgcHJqY2ZnID0gdnN0dWRpby5wcm9qZWN0Q29uZmlnKGNmZywgYXJjaCkKaWYgbm90IGNvbmZpZ3NbcHJqY2ZnXSB0aGVuCmNvbmZpZ3NbcHJqY2ZnXSA9IHByamNmZwpwLnB1c2goJzxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSIlcyI+JywgdnN0dWRpby5wcm9qZWN0Q29uZmlnKGNmZywgYXJjaCkpCnAueCgnPENvbmZpZ3VyYXRpb24+JXM8L0NvbmZpZ3VyYXRpb24+JywgdnN0dWRpby5wcm9qZWN0UGxhdGZvcm0oY2ZnKSkKcC53KCc8UGxhdGZvcm0+JXM8L1BsYXRmb3JtPicsIGFyY2gpCnAucG9wKCc8L1Byb2plY3RDb25maWd1cmF0aW9uPicpCmVuZAplbmQKZW5kCnAucG9wKCc8L0l0ZW1Hcm91cD4nKQplbmQKZnVuY3Rpb24gbS50YXJnZXRGcmFtZXdvcmsocHJqKQpsb2NhbCBhY3Rpb24gPSBwLmFjdGlvbi5jdXJyZW50KCkKbG9jYWwgdG9vbHMgPSBzdHJpbmcuZm9ybWF0KCcgVG9vbHNWZXJzaW9uPSIlcyInLCBhY3Rpb24udnN0dWRpby50b29sc1ZlcnNpb24pCmxvY2FsIGZyYW1ld29yayA9IHByai5kb3RuZXRmcmFtZXdvcmsgb3IgYWN0aW9uLnZzdHVkaW8udGFyZ2V0RnJhbWV3b3JrIG9yICI0LjAiCnAudygnPFRhcmdldEZyYW1ld29ya1ZlcnNpb24+diVzPC9UYXJnZXRGcmFtZXdvcmtWZXJzaW9uPicsIGZyYW1ld29yaykKZW5kCm0uZWxlbWVudHMuZ2xvYmFscyA9IGZ1bmN0aW9uKHByaikKcmV0dXJuIHsKbS5wcm9qZWN0R3VpZCwKbS5pZ25vcmVXYXJuRHVwbGljYXRlRmlsZW5hbWUsCm0ua2V5d29yZCwKbS5wcm9qZWN0TmFtZSwKfQplbmQKZnVuY3Rpb24gbS5nbG9iYWxzKHByaikKbS5wcm9wZXJ0eUdyb3VwKG5pbCwgIkdsb2JhbHMiKQpwLmNhbGxBcnJheShtLmVsZW1lbnRzLmdsb2JhbHMsIHByaikKcC5wb3AoJzwvUHJvcGVydHlHcm91cD4nKQplbmQKbS5lbGVtZW50cy5jb25maWd1cmF0aW9uUHJvcGVydGllcyA9IGZ1bmN0aW9uKGNmZykKaWYgY2ZnLmtpbmQgPT0gcC5VVElMSVRZIHRoZW4KcmV0dXJuIHsKbS5jb25maWd1cmF0aW9uVHlwZSwKbS5wbGF0Zm9ybVRvb2xzZXQsCn0KZWxzZQpyZXR1cm4gewptLmNvbmZpZ3VyYXRpb25UeXBlLAptLnVzZURlYnVnTGlicmFyaWVzLAptLnVzZU9mTWZjLAptLnVzZU9mQXRsLAptLmNsclN1cHBvcnQsCm0uY2hhcmFjdGVyU2V0LAptLnBsYXRmb3JtVG9vbHNldCwKbS53aG9sZVByb2dyYW1PcHRpbWl6YXRpb24sCm0ubm1ha2VPdXREaXJzLAp9CmVuZAplbmQKZnVuY3Rpb24gbS5jb25maWd1cmF0aW9uUHJvcGVydGllcyhjZmcpCm0ucHJvcGVydHlHcm91cChjZmcsICJDb25maWd1cmF0aW9uIikKcC5jYWxsQXJyYXkobS5lbGVtZW50cy5jb25maWd1cmF0aW9uUHJvcGVydGllcywgY2ZnKQpwLnBvcCgnPC9Qcm9wZXJ0eUdyb3VwPicpCmVuZApmdW5jdGlvbiBtLmNvbmZpZ3VyYXRpb25Qcm9wZXJ0aWVzR3JvdXAocHJqKQpmb3IgY2ZnIGluIHByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCm0uY29uZmlndXJhdGlvblByb3BlcnRpZXMoY2ZnKQplbmQKZW5kCm0uZWxlbWVudHMub3V0cHV0UHJvcGVydGllcyA9IGZ1bmN0aW9uKGNmZykKaWYgY2ZnLmtpbmQgPT0gcC5VVElMSVRZIHRoZW4KcmV0dXJuIHsKbS5vdXREaXIsCm0uaW50RGlyLAptLmV4dGVuc2lvbnNUb0RlbGV0ZU9uQ2xlYW4sCn0KZWxzZQpyZXR1cm4gewptLmxpbmtJbmNyZW1lbnRhbCwKbS5pZ25vcmVJbXBvcnRMaWJyYXJ5LAptLm91dERpciwKbS5vdXRwdXRGaWxlLAptLmludERpciwKbS50YXJnZXROYW1lLAptLnRhcmdldEV4dCwKbS5pbmNsdWRlUGF0aCwKbS5saWJyYXJ5UGF0aCwKbS5pbWFnZVhleE91dHB1dCwKbS5nZW5lcmF0ZU1hbmlmZXN0LAptLmV4dGVuc2lvbnNUb0RlbGV0ZU9uQ2xlYW4sCm0uZXhlY3V0YWJsZVBhdGgsCn0KZW5kCmVuZApmdW5jdGlvbiBtLm91dHB1dFByb3BlcnRpZXMoY2ZnKQppZiBub3QgdnN0dWRpby5pc01ha2VmaWxlKGNmZykgdGhlbgptLnByb3BlcnR5R3JvdXAoY2ZnKQpwLmNhbGxBcnJheShtLmVsZW1lbnRzLm91dHB1dFByb3BlcnRpZXMsIGNmZykKcC5wb3AoJzwvUHJvcGVydHlHcm91cD4nKQplbmQKZW5kCmZ1bmN0aW9uIG0ub3V0cHV0UHJvcGVydGllc0dyb3VwKHByaikKZm9yIGNmZyBpbiBwcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwptLm91dHB1dFByb3BlcnRpZXMoY2ZnKQptLm5tYWtlUHJvcGVydGllcyhjZmcpCmVuZAplbmQKZnVuY3Rpb24gbS5ubWFrZVByb3BlcnRpZXMoY2ZnKQppZiB2c3R1ZGlvLmlzTWFrZWZpbGUoY2ZnKSB0aGVuCm0ucHJvcGVydHlHcm91cChjZmcpCm0ubm1ha2VPdXRwdXQoY2ZnKQptLm5tYWtlQ29tbWFuZExpbmUoY2ZnLCBjZmcuYnVpbGRjb21tYW5kcywgIkJ1aWxkIikKbS5ubWFrZUNvbW1hbmRMaW5lKGNmZywgY2ZnLnJlYnVpbGRjb21tYW5kcywgIlJlQnVpbGQiKQptLm5tYWtlQ29tbWFuZExpbmUoY2ZnLCBjZmcuY2xlYW5jb21tYW5kcywgIkNsZWFuIikKcC5wb3AoJzwvUHJvcGVydHlHcm91cD4nKQplbmQKZW5kCm0uZWxlbWVudHMuaXRlbURlZmluaXRpb25Hcm91cCA9IGZ1bmN0aW9uKGNmZykKaWYgY2ZnLmtpbmQgPT0gcC5VVElMSVRZIHRoZW4KcmV0dXJuIHsKbS5ydWxlVmFycywKbS5idWlsZEV2ZW50cywKfQplbHNlCnJldHVybiB7Cm0uY2xDb21waWxlLAptLnJlc291cmNlQ29tcGlsZSwKbS5saW5rZXIsCm0ubWFuaWZlc3QsCm0uYnVpbGRFdmVudHMsCm0uaW1hZ2VYZXgsCm0uZGVwbG95LAptLnJ1bGVWYXJzLAptLmJ1aWxkTG9nLAp9CmVuZAplbmQKZnVuY3Rpb24gbS5pdGVtRGVmaW5pdGlvbkdyb3VwKGNmZykKaWYgbm90IHZzdHVkaW8uaXNNYWtlZmlsZShjZmcpIHRoZW4KcC5wdXNoKCc8SXRlbURlZmluaXRpb25Hcm91cCAlcz4nLCBtLmNvbmRpdGlvbihjZmcpKQpwLmNhbGxBcnJheShtLmVsZW1lbnRzLml0ZW1EZWZpbml0aW9uR3JvdXAsIGNmZykKcC5wb3AoJzwvSXRlbURlZmluaXRpb25Hcm91cD4nKQplbHNlCmlmIGNmZyA9PSBwcm9qZWN0LmdldGZpcnN0Y29uZmlnKGNmZy5wcm9qZWN0KSB0aGVuCnAudygnPEl0ZW1EZWZpbml0aW9uR3JvdXA+JykKcC53KCc8L0l0ZW1EZWZpbml0aW9uR3JvdXA+JykKZW5kCmVuZAplbmQKZnVuY3Rpb24gbS5pdGVtRGVmaW5pdGlvbkdyb3VwcyhwcmopCmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KbS5pdGVtRGVmaW5pdGlvbkdyb3VwKGNmZykKZW5kCmVuZAptLmVsZW1lbnRzLmNsQ29tcGlsZSA9IGZ1bmN0aW9uKGNmZykKcmV0dXJuIHsKbS5wcmVjb21waWxlZEhlYWRlciwKbS53YXJuaW5nTGV2ZWwsCm0udHJlYXRXYXJuaW5nQXNFcnJvciwKbS5kaXNhYmxlU3BlY2lmaWNXYXJuaW5ncywKbS50cmVhdFNwZWNpZmljV2FybmluZ3NBc0Vycm9ycywKbS5iYXNpY1J1bnRpbWVDaGVja3MsCm0uY2xDb21waWxlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMsCm0uY2xDb21waWxlVW5kZWZpbmVQcmVwcm9jZXNzb3JEZWZpbml0aW9ucywKbS5jbENvbXBpbGVBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzLAptLmNsQ29tcGlsZUFkZGl0aW9uYWxVc2luZ0RpcmVjdG9yaWVzLAptLmZvcmNlSW5jbHVkZXMsCm0uZGVidWdJbmZvcm1hdGlvbkZvcm1hdCwKbS5wcm9ncmFtRGF0YUJhc2VGaWxlTmFtZSwKbS5vcHRpbWl6YXRpb24sCm0uZnVuY3Rpb25MZXZlbExpbmtpbmcsCm0uaW50cmluc2ljRnVuY3Rpb25zLAptLm1pbmltYWxSZWJ1aWxkLAptLm9taXRGcmFtZVBvaW50ZXJzLAptLnN0cmluZ1Bvb2xpbmcsCm0ucnVudGltZUxpYnJhcnksCm0ub21pdERlZmF1bHRMaWIsCm0uZXhjZXB0aW9uSGFuZGxpbmcsCm0ucnVudGltZVR5cGVJbmZvLAptLmJ1ZmZlclNlY3VyaXR5Q2hlY2ssCm0udHJlYXRXQ2hhcl90QXNCdWlsdEluVHlwZSwKbS5mbG9hdGluZ1BvaW50TW9kZWwsCm0uaW5saW5lRnVuY3Rpb25FeHBhbnNpb24sCm0uZW5hYmxlRW5oYW5jZWRJbnN0cnVjdGlvblNldCwKbS5tdWx0aVByb2Nlc3NvckNvbXBpbGF0aW9uLAptLmFkZGl0aW9uYWxDb21waWxlT3B0aW9ucywKbS5jb21waWxlQXMsCm0uY2FsbGluZ0NvbnZlbnRpb24sCn0KZW5kCmZ1bmN0aW9uIG0uY2xDb21waWxlKGNmZykKcC5wdXNoKCc8Q2xDb21waWxlPicpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMuY2xDb21waWxlLCBjZmcpCnAucG9wKCc8L0NsQ29tcGlsZT4nKQplbmQKbS5lbGVtZW50cy5yZXNvdXJjZUNvbXBpbGUgPSBmdW5jdGlvbihjZmcpCnJldHVybiB7Cm0ucmVzb3VyY2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucywKbS5yZXNvdXJjZUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMsCm0uY3VsdHVyZSwKfQplbmQKZnVuY3Rpb24gbS5yZXNvdXJjZUNvbXBpbGUoY2ZnKQppZiBjZmcuc3lzdGVtIH49IHAuWEJPWDM2MCBhbmQgcC5jb25maWcuaGFzRmlsZShjZmcsIHBhdGguaXNyZXNvdXJjZWZpbGUpIHRoZW4KbG9jYWwgY29udGVudHMgPSBwLmNhcHR1cmUoZnVuY3Rpb24gKCkKcC5wdXNoKCkKcC5jYWxsQXJyYXkobS5lbGVtZW50cy5yZXNvdXJjZUNvbXBpbGUsIGNmZykKcC5wb3AoKQplbmQpCmlmICNjb250ZW50cyA+IDAgdGhlbgpwLnB1c2goJzxSZXNvdXJjZUNvbXBpbGU+JykKcC5vdXRsbihjb250ZW50cykKcC5wb3AoJzwvUmVzb3VyY2VDb21waWxlPicpCmVuZAplbmQKZW5kCm0uZWxlbWVudHMubGlua2VyID0gZnVuY3Rpb24oY2ZnLCBleHBsaWNpdCkKcmV0dXJuIHsKbS5saW5rLAptLmxpYiwKbS5saW5rTGlicmFyeURlcGVuZGVuY2llcywKfQplbmQKZnVuY3Rpb24gbS5saW5rZXIoY2ZnKQpsb2NhbCBleHBsaWNpdCA9IHZzdHVkaW8ubmVlZHNFeHBsaWNpdExpbmsoY2ZnKQpwLmNhbGxBcnJheShtLmVsZW1lbnRzLmxpbmtlciwgY2ZnLCBleHBsaWNpdCkKZW5kCm0uZWxlbWVudHMubGluayA9IGZ1bmN0aW9uKGNmZywgZXhwbGljaXQpCmlmIGNmZy5raW5kID09IHAuU1RBVElDTElCIHRoZW4KcmV0dXJuIHsKbS5zdWJTeXN0ZW0sCm0uZ2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uLAptLm9wdGltaXplUmVmZXJlbmNlcywKfQplbHNlCnJldHVybiB7Cm0uc3ViU3lzdGVtLAptLmdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbiwKbS5vcHRpbWl6ZVJlZmVyZW5jZXMsCm0uYWRkaXRpb25hbERlcGVuZGVuY2llcywKbS5hZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzLAptLmltcG9ydExpYnJhcnksCm0uZW50cnlQb2ludFN5bWJvbCwKbS5nZW5lcmF0ZU1hcEZpbGUsCm0ubW9kdWxlRGVmaW5pdGlvbkZpbGUsCm0udHJlYXRMaW5rZXJXYXJuaW5nQXNFcnJvcnMsCm0uaWdub3JlRGVmYXVsdExpYnJhcmllcywKbS5sYXJnZUFkZHJlc3NBd2FyZSwKbS50YXJnZXRNYWNoaW5lLAptLmFkZGl0aW9uYWxMaW5rT3B0aW9ucywKfQplbmQKZW5kCmZ1bmN0aW9uIG0ubGluayhjZmcsIGV4cGxpY2l0KQpsb2NhbCBjb250ZW50cyA9IHAuY2FwdHVyZShmdW5jdGlvbiAoKQpwLnB1c2goKQpwLmNhbGxBcnJheShtLmVsZW1lbnRzLmxpbmssIGNmZywgZXhwbGljaXQpCnAucG9wKCkKZW5kKQppZiAjY29udGVudHMgPiAwIHRoZW4KcC5wdXNoKCc8TGluaz4nKQpwLm91dGxuKGNvbnRlbnRzKQpwLnBvcCgnPC9MaW5rPicpCmVuZAplbmQKbS5lbGVtZW50cy5saWIgPSBmdW5jdGlvbihjZmcsIGV4cGxpY2l0KQppZiBjZmcua2luZCA9PSBwLlNUQVRJQ0xJQiB0aGVuCnJldHVybiB7Cm0udHJlYXRMaW5rZXJXYXJuaW5nQXNFcnJvcnMsCm0udGFyZ2V0TWFjaGluZSwKbS5hZGRpdGlvbmFsTGlua09wdGlvbnMsCn0KZWxzZQpyZXR1cm4ge30KZW5kCmVuZApmdW5jdGlvbiBtLmxpYihjZmcsIGV4cGxpY2l0KQpsb2NhbCBjb250ZW50cyA9IHAuY2FwdHVyZShmdW5jdGlvbiAoKQpwLnB1c2goKQpwLmNhbGxBcnJheShtLmVsZW1lbnRzLmxpYiwgY2ZnLCBleHBsaWNpdCkKcC5wb3AoKQplbmQpCmlmICNjb250ZW50cyA+IDAgdGhlbgpwLnB1c2goJzxMaWI+JykKcC5vdXRsbihjb250ZW50cykKcC5wb3AoJzwvTGliPicpCmVuZAplbmQKZnVuY3Rpb24gbS5tYW5pZmVzdChjZmcpCmlmIGNmZy5raW5kIH49IHAuU1RBVElDTElCIHRoZW4KbG9jYWwgbWFuaWZlc3RzID0ge30KZm9yIF8sIGZuYW1lIGluIGlwYWlycyhjZmcuZmlsZXMpIGRvCmlmIHBhdGguZ2V0ZXh0ZW5zaW9uKGZuYW1lKSA9PSAiLm1hbmlmZXN0IiB0aGVuCnRhYmxlLmluc2VydChtYW5pZmVzdHMsIHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGZuYW1lKSkKZW5kCmVuZAppZiAjbWFuaWZlc3RzID4gMCB0aGVuCnAucHVzaCgnPE1hbmlmZXN0PicpCm0uZWxlbWVudCgiQWRkaXRpb25hbE1hbmlmZXN0RmlsZXMiLCBuaWwsICIlcyAlJShBZGRpdGlvbmFsTWFuaWZlc3RGaWxlcykiLCB0YWJsZS5jb25jYXQobWFuaWZlc3RzLCAiICIpKQpwLnBvcCgnPC9NYW5pZmVzdD4nKQplbmQKZW5kCmVuZApmdW5jdGlvbiBtLmJ1aWxkRXZlbnRzKGNmZykKbG9jYWwgd3JpdGUgPSBmdW5jdGlvbiAoZXZlbnQpCmxvY2FsIG5hbWUgPSBldmVudCAuLiAiRXZlbnQiCmxvY2FsIGZpZWxkID0gZXZlbnQ6bG93ZXIoKQpsb2NhbCBzdGVwcyA9IGNmZ1tmaWVsZCAuLiAiY29tbWFuZHMiXQpsb2NhbCBtc2cgPSBjZmdbZmllbGQgLi4gIm1lc3NhZ2UiXQppZiAjc3RlcHMgPiAwIHRoZW4Kc3RlcHMgPSBvcy50cmFuc2xhdGVDb21tYW5kcyhzdGVwcywgcC5XSU5ET1dTKQpwLnB1c2goJzwlcz4nLCBuYW1lKQpwLngoJzxDb21tYW5kPiVzPC9Db21tYW5kPicsIHRhYmxlLmltcGxvZGUoc3RlcHMsICIiLCAiIiwgIlxyXG4iKSkKaWYgbXNnIHRoZW4KcC54KCc8TWVzc2FnZT4lczwvTWVzc2FnZT4nLCBtc2cpCmVuZApwLnBvcCgnPC8lcz4nLCBuYW1lKQplbmQKZW5kCndyaXRlKCJQcmVCdWlsZCIpCndyaXRlKCJQcmVMaW5rIikKd3JpdGUoIlBvc3RCdWlsZCIpCmVuZApmdW5jdGlvbiBtLnJ1bGVWYXJzKGNmZykKZm9yIGkgPSAxLCAjY2ZnLnJ1bGVzIGRvCmxvY2FsIHJ1bGUgPSBwLmdsb2JhbC5nZXRSdWxlKGNmZy5ydWxlc1tpXSkKbG9jYWwgY29udGVudHMgPSBwLmNhcHR1cmUoZnVuY3Rpb24gKCkKcC5wdXNoKCkKZm9yIHByb3AgaW4gcC5ydWxlLmVhY2hQcm9wZXJ0eShydWxlKSBkbwpsb2NhbCBmbGQgPSBwLnJ1bGUuZ2V0UHJvcGVydHlGaWVsZChydWxlLCBwcm9wKQpsb2NhbCB2YWx1ZSA9IGNmZ1tmbGQubmFtZV0KaWYgdmFsdWUgfj0gbmlsIHRoZW4KaWYgZmxkLmtpbmQgPT0gInBhdGgiIHRoZW4KdmFsdWUgPSB2c3R1ZGlvLnBhdGgoY2ZnLCB2YWx1ZSkKZWxzZQp2YWx1ZSA9IHAucnVsZS5nZXRQcm9wZXJ0eVN0cmluZyhydWxlLCBwcm9wLCB2YWx1ZSkKZW5kCmlmIHZhbHVlIH49IG5pbCBhbmQgI3ZhbHVlID4gMCB0aGVuCm0uZWxlbWVudChwcm9wLm5hbWUsIG5pbCwgJyVzJywgdmFsdWUpCmVuZAplbmQKZW5kCnAucG9wKCkKZW5kKQppZiAjY29udGVudHMgPiAwIHRoZW4KcC5wdXNoKCc8JXM+JywgcnVsZS5uYW1lKQpwLm91dGxuKGNvbnRlbnRzKQpwLnBvcCgnPC8lcz4nLCBydWxlLm5hbWUpCmVuZAplbmQKZW5kCmZ1bmN0aW9uIG0uYXNzZW1ibHlSZWZlcmVuY2VzKHByaikKbG9jYWwgY2ZnID0gcHJvamVjdC5nZXRmaXJzdGNvbmZpZyhwcmopCmxvY2FsIHJlZnMgPSBjb25maWcuZ2V0bGlua3MoY2ZnLCAic3lzdGVtIiwgImZ1bGxwYXRoIiwgIm1hbmFnZWQiKQppZiAjcmVmcyA+IDAgdGhlbgpwLnB1c2goJzxJdGVtR3JvdXA+JykKZm9yIGkgPSAxLCAjcmVmcyBkbwpsb2NhbCB2YWx1ZSA9IHJlZnNbaV0KaWYgdmFsdWU6ZmluZCgnLycsIDEsIHRydWUpIHRoZW4KcC5wdXNoKCc8UmVmZXJlbmNlIEluY2x1ZGU9IiVzIj4nLCBwYXRoLmdldGJhc2VuYW1lKHZhbHVlKSkKcC54KCc8SGludFBhdGg+JXM8L0hpbnRQYXRoPicsIHBhdGgudHJhbnNsYXRlKHZhbHVlKSkKcC5wb3AoJzwvUmVmZXJlbmNlPicpCmVsc2UKcC54KCc8UmVmZXJlbmNlIEluY2x1ZGU9IiVzIiAvPicsIHBhdGguZ2V0YmFzZW5hbWUodmFsdWUpKQplbmQKZW5kCnAucG9wKCc8L0l0ZW1Hcm91cD4nKQplbmQKZW5kCm0uZWxlbWVudHMuZmlsZXMgPSBmdW5jdGlvbihwcmosIGdyb3VwcykKcmV0dXJuIHsKbS5jbEluY2x1ZGVGaWxlcywKbS5jbENvbXBpbGVGaWxlcywKbS5ub25lRmlsZXMsCm0ucmVzb3VyY2VDb21waWxlRmlsZXMsCm0uY3VzdG9tQnVpbGRGaWxlcywKbS5jdXN0b21SdWxlRmlsZXMsCm0ubWlkbEZpbGVzCn0KZW5kCmZ1bmN0aW9uIG0uZmlsZXMocHJqKQpsb2NhbCBncm91cHMgPSBtLmNhdGVnb3JpemVTb3VyY2VzKHByaikKcC5jYWxsQXJyYXkobS5lbGVtZW50cy5maWxlcywgcHJqLCBncm91cHMpCmVuZAptLmVsZW1lbnRzLkNsQ29tcGlsZUZpbGUgPSBmdW5jdGlvbihjZmcsIGZpbGUpCnJldHVybiB7fQplbmQKbS5lbGVtZW50cy5DbENvbXBpbGVGaWxlQ2ZnID0gZnVuY3Rpb24oZmNmZywgY29uZGl0aW9uKQppZiBmY2ZnIHRoZW4KcmV0dXJuIHsKbS5leGNsdWRlZEZyb21CdWlsZCwKbS5vYmplY3RGaWxlTmFtZSwKbS5jbENvbXBpbGVQcmVwcm9jZXNzb3JEZWZpbml0aW9ucywKbS5jbENvbXBpbGVVbmRlZmluZVByZXByb2Nlc3NvckRlZmluaXRpb25zLAptLm9wdGltaXphdGlvbiwKbS5mb3JjZUluY2x1ZGVzLAptLnByZWNvbXBpbGVkSGVhZGVyLAptLmVuYWJsZUVuaGFuY2VkSW5zdHJ1Y3Rpb25TZXQsCm0uYWRkaXRpb25hbENvbXBpbGVPcHRpb25zLAptLmRpc2FibGVTcGVjaWZpY1dhcm5pbmdzLAptLnRyZWF0U3BlY2lmaWNXYXJuaW5nc0FzRXJyb3JzCn0KZWxzZQpyZXR1cm4gewptLmV4Y2x1ZGVkRnJvbUJ1aWxkCn0KZW5kCmVuZApmdW5jdGlvbiBtLmNsQ29tcGlsZUZpbGVzKHByaiwgZ3JvdXBzKQptLmVtaXRGaWxlcyhwcmosIGdyb3VwcywgIkNsQ29tcGlsZSIpCmVuZAptLmVsZW1lbnRzLkNsSW5jbHVkZUZpbGUgPSBmdW5jdGlvbihjZmcsIGZpbGUpCnJldHVybiB7fQplbmQKbS5lbGVtZW50cy5DbEluY2x1ZGVGaWxlQ2ZnID0gZnVuY3Rpb24oZmNmZywgY29uZGl0aW9uKQpyZXR1cm4ge30KZW5kCmZ1bmN0aW9uIG0uY2xJbmNsdWRlRmlsZXMocHJqLCBncm91cHMpCm0uZW1pdEZpbGVzKHByaiwgZ3JvdXBzLCAiQ2xJbmNsdWRlIikKZW5kCm0uZWxlbWVudHMuQ3VzdG9tQnVpbGRGaWxlID0gZnVuY3Rpb24oY2ZnLCBmaWxlKQpyZXR1cm4gewptLmZpbGVUeXBlCn0KZW5kCm0uZWxlbWVudHMuQ3VzdG9tQnVpbGRGaWxlQ2ZnID0gZnVuY3Rpb24oZmNmZywgY29uZGl0aW9uKQpyZXR1cm4gewptLmV4Y2x1ZGVkRnJvbUJ1aWxkLAptLmJ1aWxkQ29tbWFuZHMsCm0uYnVpbGRPdXRwdXRzLAptLmJ1aWxkTWVzc2FnZSwKbS5idWlsZEFkZGl0aW9uYWxJbnB1dHMKfQplbmQKZnVuY3Rpb24gbS5jdXN0b21CdWlsZEZpbGVzKHByaiwgZ3JvdXBzKQptLmVtaXRGaWxlcyhwcmosIGdyb3VwcywgIkN1c3RvbUJ1aWxkIiwgZnVuY3Rpb24gKGNmZywgZmNmZykKcmV0dXJuIGZpbGVjb25maWcuaGFzQ3VzdG9tQnVpbGRSdWxlKGZjZmcpCmVuZCkKZW5kCmZ1bmN0aW9uIG0uY3VzdG9tUnVsZUZpbGVzKHByaiwgZ3JvdXBzKQpmb3IgaSA9IDEsICNwcmoucnVsZXMgZG8KbG9jYWwgcnVsZSA9IHAuZ2xvYmFsLmdldFJ1bGUocHJqLnJ1bGVzW2ldKQpsb2NhbCBmaWxlcyA9IGdyb3Vwc1tydWxlLm5hbWVdCmlmIGZpbGVzIGFuZCAjZmlsZXMgPiAwIHRoZW4KcC5wdXNoKCc8SXRlbUdyb3VwPicpCmZvciBfLCBmaWxlIGluIGlwYWlycyhmaWxlcykgZG8KbG9jYWwgY29udGVudHMgPSBwLmNhcHR1cmUoZnVuY3Rpb24oKQpwLnB1c2goKQpmb3IgcHJvcCBpbiBwLnJ1bGUuZWFjaFByb3BlcnR5KHJ1bGUpIGRvCmxvY2FsIGZsZCA9IHAucnVsZS5nZXRQcm9wZXJ0eUZpZWxkKHJ1bGUsIHByb3ApCmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KbG9jYWwgZmNmZyA9IGZpbGVjb25maWcuZ2V0Y29uZmlnKGZpbGUsIGNmZykKaWYgZmNmZyBhbmQgZmNmZ1tmbGQubmFtZV0gdGhlbgpsb2NhbCB2YWx1ZSA9IHAucnVsZS5nZXRQcm9wZXJ0eVN0cmluZyhydWxlLCBwcm9wLCBmY2ZnW2ZsZC5uYW1lXSkKaWYgdmFsdWUgYW5kICN2YWx1ZSA+IDAgdGhlbgptLmVsZW1lbnQocHJvcC5uYW1lLCBtLmNvbmRpdGlvbihjZmcpLCAnJXMnLCB2YWx1ZSkKZW5kCmVuZAplbmQKZW5kCnAucG9wKCkKZW5kKQppZiAjY29udGVudHMgPiAwIHRoZW4KcC5wdXNoKCc8JXMgSW5jbHVkZT1cIiVzXCI+JywgcnVsZS5uYW1lLCBwYXRoLnRyYW5zbGF0ZShmaWxlLnJlbHBhdGgpKQpwLm91dGxuKGNvbnRlbnRzKQpwLnBvcCgnPC8lcz4nLCBydWxlLm5hbWUpCmVsc2UKcC54KCc8JXMgSW5jbHVkZT1cIiVzXCIgLz4nLCBydWxlLm5hbWUsIHBhdGgudHJhbnNsYXRlKGZpbGUucmVscGF0aCkpCmVuZAplbmQKcC5wb3AoJzwvSXRlbUdyb3VwPicpCmVuZAplbmQKZW5kCm0uZWxlbWVudHMuTm9uZUZpbGUgPSBmdW5jdGlvbihjZmcsIGZpbGUpCnJldHVybiB7fQplbmQKbS5lbGVtZW50cy5Ob25lRmlsZUNmZyA9IGZ1bmN0aW9uKGZjZmcsIGNvbmRpdGlvbikKcmV0dXJuIHt9CmVuZApmdW5jdGlvbiBtLm5vbmVGaWxlcyhwcmosIGdyb3VwcykKbS5lbWl0RmlsZXMocHJqLCBncm91cHMsICJOb25lIikKZW5kCm0uZWxlbWVudHMuUmVzb3VyY2VDb21waWxlRmlsZSA9IGZ1bmN0aW9uKGNmZywgZmlsZSkKcmV0dXJuIHt9CmVuZAptLmVsZW1lbnRzLlJlc291cmNlQ29tcGlsZUZpbGVDZmcgPSBmdW5jdGlvbihmY2ZnLCBjb25kaXRpb24pCnJldHVybiB7Cm0uZXhjbHVkZWRGcm9tQnVpbGQKfQplbmQKZnVuY3Rpb24gbS5yZXNvdXJjZUNvbXBpbGVGaWxlcyhwcmosIGdyb3VwcykKbS5lbWl0RmlsZXMocHJqLCBncm91cHMsICJSZXNvdXJjZUNvbXBpbGUiLCBmdW5jdGlvbihjZmcpCnJldHVybiBjZmcuc3lzdGVtID09IHAuV0lORE9XUwplbmQpCmVuZAptLmVsZW1lbnRzLk1pZGxGaWxlID0gZnVuY3Rpb24oY2ZnLCBmaWxlKQpyZXR1cm4ge30KZW5kCm0uZWxlbWVudHMuTWlkbEZpbGVDZmcgPSBmdW5jdGlvbihmY2ZnLCBjb25kaXRpb24pCnJldHVybiB7Cm0uZXhjbHVkZWRGcm9tQnVpbGQKfQplbmQKZnVuY3Rpb24gbS5taWRsRmlsZXMocHJqLCBncm91cHMpCm0uZW1pdEZpbGVzKHByaiwgZ3JvdXBzLCAiTWlkbCIsIGZ1bmN0aW9uKGNmZykKcmV0dXJuIGNmZy5zeXN0ZW0gPT0gcC5XSU5ET1dTCmVuZCkKZW5kCmZ1bmN0aW9uIG0uY2F0ZWdvcml6ZVNvdXJjZXMocHJqKQpsb2NhbCBncm91cHMgPSBwcmouX3ZjMjAxMF9zb3VyY2VzCmlmIGdyb3VwcyB0aGVuCnJldHVybiBncm91cHMKZW5kCmdyb3VwcyA9IHt9CnByai5fdmMyMDEwX3NvdXJjZXMgPSBncm91cHMKbG9jYWwgdHIgPSBwcm9qZWN0LmdldHNvdXJjZXRyZWUocHJqKQp0cmVlLnRyYXZlcnNlKHRyLCB7Cm9ubGVhZiA9IGZ1bmN0aW9uKG5vZGUpCmxvY2FsIGNhdCA9IG0uY2F0ZWdvcml6ZUZpbGUocHJqLCBub2RlKQpncm91cHNbY2F0XSA9IGdyb3Vwc1tjYXRdIG9yIHt9CnRhYmxlLmluc2VydChncm91cHNbY2F0XSwgbm9kZSkKZW5kCn0pCmZvciBncm91cCwgZmlsZXMgaW4gcGFpcnMoZ3JvdXBzKSBkbwp0YWJsZS5zb3J0KGZpbGVzLCBmdW5jdGlvbiAoYSwgYikKcmV0dXJuIGEucmVscGF0aCA8IGIucmVscGF0aAplbmQpCmVuZApyZXR1cm4gZ3JvdXBzCmVuZApmdW5jdGlvbiBtLmNhdGVnb3JpemVGaWxlKHByaiwgZmlsZSkKZm9yIGNmZyBpbiBwcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwpsb2NhbCBmY2ZnID0gZmlsZWNvbmZpZy5nZXRjb25maWcoZmlsZSwgY2ZnKQppZiBmaWxlY29uZmlnLmhhc0N1c3RvbUJ1aWxkUnVsZShmY2ZnKSB0aGVuCnJldHVybiAiQ3VzdG9tQnVpbGQiCmVuZAplbmQKbG9jYWwgcnVsZSA9IHAuZ2xvYmFsLmdldFJ1bGVGb3JGaWxlKGZpbGUubmFtZSwgcHJqLnJ1bGVzKQppZiBydWxlIHRoZW4KcmV0dXJuIHJ1bGUubmFtZQplbmQKaWYgcGF0aC5pc2NwcGZpbGUoZmlsZS5uYW1lKSB0aGVuCnJldHVybiAiQ2xDb21waWxlIgplbHNlaWYgcGF0aC5pc2NwcGhlYWRlcihmaWxlLm5hbWUpIHRoZW4KcmV0dXJuICJDbEluY2x1ZGUiCmVsc2VpZiBwYXRoLmlzcmVzb3VyY2VmaWxlKGZpbGUubmFtZSkgdGhlbgpyZXR1cm4gIlJlc291cmNlQ29tcGlsZSIKZWxzZWlmIHBhdGguaXNpZGxmaWxlKGZpbGUubmFtZSkgdGhlbgpyZXR1cm4gIk1pZGwiCmVsc2UKcmV0dXJuICJOb25lIgplbmQKZW5kCmZ1bmN0aW9uIG0uZW1pdEZpbGVzKHByaiwgZ3JvdXBzLCBncm91cCwgY2hlY2spCmxvY2FsIGZpbGVzID0gZ3JvdXBzW2dyb3VwXQppZiBmaWxlcyBhbmQgI2ZpbGVzID4gMCB0aGVuCnAucHVzaCgnPEl0ZW1Hcm91cD4nKQpmb3IgXywgZmlsZSBpbiBpcGFpcnMoZmlsZXMpIGRvCmxvY2FsIGNvbnRlbnRzID0gcC5jYXB0dXJlKGZ1bmN0aW9uICgpCnAucHVzaCgpCnAuY2FsbEFycmF5KG0uZWxlbWVudHNbZ3JvdXAgLi4gIkZpbGUiXSwgY2ZnLCBmaWxlKQpmb3IgY2ZnIGluIHByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCmxvY2FsIGZjZmcgPSBmaWxlY29uZmlnLmdldGNvbmZpZyhmaWxlLCBjZmcpCmlmIG5vdCBjaGVjayBvciBjaGVjayhjZmcsIGZjZmcpIHRoZW4KcC5jYWxsQXJyYXkobS5lbGVtZW50c1tncm91cCAuLiAiRmlsZUNmZyJdLCBmY2ZnLCBtLmNvbmRpdGlvbihjZmcpKQplbmQKZW5kCnAucG9wKCkKZW5kKQpsb2NhbCByZWwgPSBwYXRoLnRyYW5zbGF0ZShmaWxlLnJlbHBhdGgpCmlmICNjb250ZW50cyA+IDAgdGhlbgpwLnB1c2goJzwlcyBJbmNsdWRlPSIlcyI+JywgZ3JvdXAsIHJlbCkKcC5vdXRsbihjb250ZW50cykKcC5wb3AoJzwvJXM+JywgZ3JvdXApCmVsc2UKcC54KCc8JXMgSW5jbHVkZT0iJXMiIC8+JywgZ3JvdXAsIHJlbCkKZW5kCmVuZApwLnBvcCgnPC9JdGVtR3JvdXA+JykKZW5kCmVuZAptLmVsZW1lbnRzLnByb2plY3RSZWZlcmVuY2VzID0gZnVuY3Rpb24ocHJqLCByZWYpCmlmIHByai5jbHIgfj0gcC5PRkYgdGhlbgpyZXR1cm4gewptLnJlZmVyZW5jZVByb2plY3QsCm0ucmVmZXJlbmNlUHJpdmF0ZSwKbS5yZWZlcmVuY2VPdXRwdXRBc3NlbWJseSwKbS5yZWZlcmVuY2VDb3B5TG9jYWxTYXRlbGxpdGVBc3NlbWJsaWVzLAptLnJlZmVyZW5jZUxpbmtMaWJyYXJ5RGVwZW5kZW5jaWVzLAptLnJlZmVyZW5jZVVzZUxpYnJhcnlEZXBlbmRlbmNlcywKfQplbHNlCnJldHVybiB7Cm0ucmVmZXJlbmNlUHJvamVjdCwKfQplbmQKZW5kCmZ1bmN0aW9uIG0ucHJvamVjdFJlZmVyZW5jZXMocHJqKQpsb2NhbCByZWZzID0gcHJvamVjdC5nZXRkZXBlbmRlbmNpZXMocHJqLCAnbGlua09ubHknKQppZiAjcmVmcyA+IDAgdGhlbgpwLnB1c2goJzxJdGVtR3JvdXA+JykKZm9yIF8sIHJlZiBpbiBpcGFpcnMocmVmcykgZG8KbG9jYWwgcmVscGF0aCA9IHZzdHVkaW8ucGF0aChwcmosIHZzdHVkaW8ucHJvamVjdGZpbGUocmVmKSkKcC5wdXNoKCc8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPVwiJXNcIj4nLCByZWxwYXRoKQpwLmNhbGxBcnJheShtLmVsZW1lbnRzLnByb2plY3RSZWZlcmVuY2VzLCBwcmosIHJlZikKcC5wb3AoJzwvUHJvamVjdFJlZmVyZW5jZT4nKQplbmQKcC5wb3AoJzwvSXRlbUdyb3VwPicpCmVuZAplbmQKZnVuY3Rpb24gbS5hZGRpdGlvbmFsRGVwZW5kZW5jaWVzKGNmZywgZXhwbGljaXQpCmxvY2FsIGxpbmtzCmxvY2FsIHRvb2xzZXQgPSBjb25maWcudG9vbHNldChjZmcpCmlmIHRvb2xzZXQgdGhlbgpsaW5rcyA9IHRvb2xzZXQuZ2V0bGlua3MoY2ZnLCBub3QgZXhwbGljaXQpCmVsc2UKbGlua3MgPSB2c3R1ZGlvLmdldExpbmtzKGNmZywgZXhwbGljaXQpCmVuZAppZiAjbGlua3MgPiAwIHRoZW4KbGlua3MgPSBwYXRoLnRyYW5zbGF0ZSh0YWJsZS5jb25jYXQobGlua3MsICI7IikpCm0uZWxlbWVudCgiQWRkaXRpb25hbERlcGVuZGVuY2llcyIsIG5pbCwgIiVzOyUlKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpIiwgbGlua3MpCmVuZAplbmQKZnVuY3Rpb24gbS5hZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKGNmZywgaW5jbHVkZWRpcnMpCmlmICNpbmNsdWRlZGlycyA+IDAgdGhlbgpsb2NhbCBkaXJzID0gdnN0dWRpby5wYXRoKGNmZywgaW5jbHVkZWRpcnMpCmlmICNkaXJzID4gMCB0aGVuCm0uZWxlbWVudCgiQWRkaXRpb25hbEluY2x1ZGVEaXJlY3RvcmllcyIsIG5pbCwgIiVzOyUlKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpIiwgdGFibGUuY29uY2F0KGRpcnMsICI7IikpCmVuZAplbmQKZW5kCmZ1bmN0aW9uIG0uYWRkaXRpb25hbExpYnJhcnlEaXJlY3RvcmllcyhjZmcpCmlmICNjZmcubGliZGlycyA+IDAgdGhlbgpsb2NhbCBkaXJzID0gdGFibGUuY29uY2F0KHZzdHVkaW8ucGF0aChjZmcsIGNmZy5saWJkaXJzKSwgIjsiKQptLmVsZW1lbnQoIkFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXMiLCBuaWwsICIlczslJShBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzKSIsIGRpcnMpCmVuZAplbmQKZnVuY3Rpb24gbS5hZGRpdGlvbmFsVXNpbmdEaXJlY3RvcmllcyhjZmcpCmlmICNjZmcudXNpbmdkaXJzID4gMCB0aGVuCmxvY2FsIGRpcnMgPSB2c3R1ZGlvLnBhdGgoY2ZnLCBjZmcudXNpbmdkaXJzKQppZiAjZGlycyA+IDAgdGhlbgptLmVsZW1lbnQoIkFkZGl0aW9uYWxVc2luZ0RpcmVjdG9yaWVzIiwgbmlsLCAiJXM7JSUoQWRkaXRpb25hbFVzaW5nRGlyZWN0b3JpZXMpIiwgdGFibGUuY29uY2F0KGRpcnMsICI7IikpCmVuZAplbmQKZW5kCmZ1bmN0aW9uIG0ubGFyZ2VBZGRyZXNzQXdhcmUoY2ZnKQppZiAoY2ZnLmxhcmdlYWRkcmVzc2F3YXJlID09IHRydWUpIHRoZW4KbS5lbGVtZW50KCJMYXJnZUFkZHJlc3NBd2FyZSIsIG5pbCwgJ3RydWUnKQplbmQKZW5kCmZ1bmN0aW9uIG0uYWRkaXRpb25hbENvbXBpbGVPcHRpb25zKGNmZywgY29uZGl0aW9uKQppZiAjY2ZnLmJ1aWxkb3B0aW9ucyA+IDAgdGhlbgpsb2NhbCBvcHRzID0gdGFibGUuY29uY2F0KGNmZy5idWlsZG9wdGlvbnMsICIgIikKbS5lbGVtZW50KCJBZGRpdGlvbmFsT3B0aW9ucyIsIGNvbmRpdGlvbiwgJyVzICUlKEFkZGl0aW9uYWxPcHRpb25zKScsIG9wdHMpCmVuZAplbmQKZnVuY3Rpb24gbS5hZGRpdGlvbmFsTGlua09wdGlvbnMoY2ZnKQppZiAjY2ZnLmxpbmtvcHRpb25zID4gMCB0aGVuCmxvY2FsIG9wdHMgPSB0YWJsZS5jb25jYXQoY2ZnLmxpbmtvcHRpb25zLCAiICIpCm0uZWxlbWVudCgiQWRkaXRpb25hbE9wdGlvbnMiLCBuaWwsICIlcyAlJShBZGRpdGlvbmFsT3B0aW9ucykiLCBvcHRzKQplbmQKZW5kCmZ1bmN0aW9uIG0uYmFzaWNSdW50aW1lQ2hlY2tzKGNmZykKbG9jYWwgcnVudGltZSA9IGNvbmZpZy5nZXRydW50aW1lKGNmZykKaWYgY2ZnLmZsYWdzLk5vUnVudGltZUNoZWNrcyBvciAoY29uZmlnLmlzT3B0aW1pemVkQnVpbGQoY2ZnKSBhbmQgcnVudGltZTplbmRzd2l0aCgiRGVidWciKSkgdGhlbgptLmVsZW1lbnQoIkJhc2ljUnVudGltZUNoZWNrcyIsIG5pbCwgIkRlZmF1bHQiKQplbmQKZW5kCmZ1bmN0aW9uIG0uYnVpbGRBZGRpdGlvbmFsSW5wdXRzKGZjZmcsIGNvbmRpdGlvbikKaWYgZmNmZy5idWlsZGlucHV0cyBhbmQgI2ZjZmcuYnVpbGRpbnB1dHMgPiAwIHRoZW4KbG9jYWwgaW5wdXRzID0gcHJvamVjdC5nZXRyZWxhdGl2ZShmY2ZnLnByb2plY3QsIGZjZmcuYnVpbGRpbnB1dHMpCm0uZWxlbWVudCgiQWRkaXRpb25hbElucHV0cyIsIGNvbmRpdGlvbiwgJyVzJywgdGFibGUuY29uY2F0KGlucHV0cywgIjsiKSkKZW5kCmVuZApmdW5jdGlvbiBtLmJ1aWxkQ29tbWFuZHMoZmNmZywgY29uZGl0aW9uKQpsb2NhbCBjb21tYW5kcyA9IG9zLnRyYW5zbGF0ZUNvbW1hbmRzKGZjZmcuYnVpbGRjb21tYW5kcywgcC5XSU5ET1dTKQpjb21tYW5kcyA9IHRhYmxlLmNvbmNhdChjb21tYW5kcywnXHJcbicpCm0uZWxlbWVudCgiQ29tbWFuZCIsIGNvbmRpdGlvbiwgJyVzJywgY29tbWFuZHMpCmVuZApmdW5jdGlvbiBtLmJ1aWxkTG9nKGNmZykKaWYgY2ZnLmJ1aWxkbG9nIGFuZCAjY2ZnLmJ1aWxkbG9nID4gMCB0aGVuCnAucHVzaCgnPEJ1aWxkTG9nPicpCm0uZWxlbWVudCgiUGF0aCIsIG5pbCwgIiVzIiwgdnN0dWRpby5wYXRoKGNmZywgY2ZnLmJ1aWxkbG9nKSkKcC5wb3AoJzwvQnVpbGRMb2c+JykKZW5kCmVuZApmdW5jdGlvbiBtLmJ1aWxkTWVzc2FnZShmY2ZnLCBjb25kaXRpb24pCmlmIGZjZmcuYnVpbGRtZXNzYWdlIHRoZW4KbS5lbGVtZW50KCJNZXNzYWdlIiwgY29uZGl0aW9uLCAnJXMnLCBmY2ZnLmJ1aWxkbWVzc2FnZSkKZW5kCmVuZApmdW5jdGlvbiBtLmJ1aWxkT3V0cHV0cyhmY2ZnLCBjb25kaXRpb24pCmxvY2FsIG91dHB1dHMgPSBwcm9qZWN0LmdldHJlbGF0aXZlKGZjZmcucHJvamVjdCwgZmNmZy5idWlsZG91dHB1dHMpCm0uZWxlbWVudCgiT3V0cHV0cyIsIGNvbmRpdGlvbiwgJyVzJywgdGFibGUuY29uY2F0KG91dHB1dHMsICI7IikpCmVuZApmdW5jdGlvbiBtLmNoYXJhY3RlclNldChjZmcpCmlmIG5vdCB2c3R1ZGlvLmlzTWFrZWZpbGUoY2ZnKSB0aGVuCm0uZWxlbWVudCgiQ2hhcmFjdGVyU2V0IiwgbmlsLCBpaWYoY2ZnLmNoYXJhY3RlcnNldCA9PSBwLk1CQ1MsICJNdWx0aUJ5dGUiLCAiVW5pY29kZSIpKQplbmQKZW5kCmZ1bmN0aW9uIG0ud2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uKGNmZykKaWYgY2ZnLmZsYWdzLkxpbmtUaW1lT3B0aW1pemF0aW9uIHRoZW4KbS5lbGVtZW50KCJXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24iLCBuaWwsICJ0cnVlIikKZW5kCmVuZApmdW5jdGlvbiBtLmNsQ29tcGlsZUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMoY2ZnKQptLmFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMoY2ZnLCBjZmcuaW5jbHVkZWRpcnMpCmVuZApmdW5jdGlvbiBtLmNsQ29tcGlsZUFkZGl0aW9uYWxVc2luZ0RpcmVjdG9yaWVzKGNmZykKbS5hZGRpdGlvbmFsVXNpbmdEaXJlY3RvcmllcyhjZmcsIGNmZy51c2luZ2RpcnMpCmVuZApmdW5jdGlvbiBtLmNsQ29tcGlsZVByZXByb2Nlc3NvckRlZmluaXRpb25zKGNmZywgY29uZGl0aW9uKQptLnByZXByb2Nlc3NvckRlZmluaXRpb25zKGNmZywgY2ZnLmRlZmluZXMsIGZhbHNlLCBjb25kaXRpb24pCmVuZApmdW5jdGlvbiBtLmNsQ29tcGlsZVVuZGVmaW5lUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMoY2ZnLCBjb25kaXRpb24pCm0udW5kZWZpbmVQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyhjZmcsIGNmZy51bmRlZmluZXMsIGZhbHNlLCBjb25kaXRpb24pCmVuZApmdW5jdGlvbiBtLmNsclN1cHBvcnQoY2ZnKQpsb2NhbCB2YWx1ZQppZiBjZmcuY2xyID09ICJPbiIgb3IgY2ZnLmNsciA9PSAiVW5zYWZlIiB0aGVuCnZhbHVlID0gInRydWUiCmVsc2VpZiBjZmcuY2xyIH49IHAuT0ZGIHRoZW4KdmFsdWUgPSBjZmcuY2xyCmVuZAppZiB2YWx1ZSB0aGVuCm0uZWxlbWVudCgiQ0xSU3VwcG9ydCIsIG5pbCwgdmFsdWUpCmVuZAplbmQKZnVuY3Rpb24gbS5jb21waWxlQXMoY2ZnKQppZiBjZmcucHJvamVjdC5sYW5ndWFnZSA9PSAiQyIgdGhlbgptLmVsZW1lbnQoIkNvbXBpbGVBcyIsIG5pbCwgIkNvbXBpbGVBc0MiKQplbmQKZW5kCmZ1bmN0aW9uIG0uY29uZmlndXJhdGlvblR5cGUoY2ZnKQpsb2NhbCB0eXBlcyA9IHsKU2hhcmVkTGliID0gIkR5bmFtaWNMaWJyYXJ5IiwKU3RhdGljTGliID0gIlN0YXRpY0xpYnJhcnkiLApDb25zb2xlQXBwID0gIkFwcGxpY2F0aW9uIiwKV2luZG93ZWRBcHAgPSAiQXBwbGljYXRpb24iLApNYWtlZmlsZSA9ICJNYWtlZmlsZSIsCk5vbmUgPSAiTWFrZWZpbGUiLApVdGlsaXR5ID0gIlV0aWxpdHkiLAp9Cm0uZWxlbWVudCgiQ29uZmlndXJhdGlvblR5cGUiLCBuaWwsIHR5cGVzW2NmZy5raW5kXSkKZW5kCmZ1bmN0aW9uIG0uY3VsdHVyZShjZmcpCmxvY2FsIHZhbHVlID0gdnN0dWRpby5jdWx0dXJlRm9yTG9jYWxlKGNmZy5sb2NhbGUpCmlmIHZhbHVlIHRoZW4KbS5lbGVtZW50KCJDdWx0dXJlIiwgbmlsLCAiMHglMDR4IiwgdG9zdHJpbmcodmFsdWUpKQplbmQKZW5kCmZ1bmN0aW9uIG0uZGVidWdJbmZvcm1hdGlvbkZvcm1hdChjZmcpCmxvY2FsIHZhbHVlCmxvY2FsIHRvb2wsIHRvb2xWZXJzaW9uID0gcC5jb25maWcudG9vbHNldChjZmcpCmlmIGNmZy5mbGFncy5TeW1ib2xzIHRoZW4KaWYgY2ZnLmRlYnVnZm9ybWF0ID09ICJjNyIgdGhlbgp2YWx1ZSA9ICJPbGRTdHlsZSIKZWxzZWlmIGNmZy5hcmNoaXRlY3R1cmUgPT0gIng4Nl82NCIgb3IKICAgY2ZnLmNsciB+PSBwLk9GRiBvcgogICBjb25maWcuaXNPcHRpbWl6ZWRCdWlsZChjZmcpIG9yCiAgIGNmZy5lZGl0YW5kY29udGludWUgPT0gcC5PRkYgb3IKICAgKHRvb2xWZXJzaW9uIGFuZCB0b29sVmVyc2lvbjpzdGFydHN3aXRoKCJMTFZNLXZzIikpCnRoZW4KdmFsdWUgPSAiUHJvZ3JhbURhdGFiYXNlIgplbHNlCnZhbHVlID0gIkVkaXRBbmRDb250aW51ZSIKZW5kCmVuZAppZiB2YWx1ZSB0aGVuCm0uZWxlbWVudCgiRGVidWdJbmZvcm1hdGlvbkZvcm1hdCIsIG5pbCwgdmFsdWUpCmVuZAplbmQKZnVuY3Rpb24gbS5kZXBsb3koY2ZnKQppZiBjZmcuc3lzdGVtID09IHAuWEJPWDM2MCB0aGVuCnAucHVzaCgnPERlcGxveT4nKQptLmVsZW1lbnQoIkRlcGxveW1lbnRUeXBlIiwgbmlsLCAiQ29weVRvSGFyZERyaXZlIikKbS5lbGVtZW50KCJEdmRFbXVsYXRpb25UeXBlIiwgbmlsLCAiWmVyb1NlZWtUaW1lcyIpCm0uZWxlbWVudCgiRGVwbG95bWVudEZpbGVzIiwgbmlsLCAiJChSZW1vdGVSb290KT0kKEltYWdlUGF0aCk7IikKcC5wb3AoJzwvRGVwbG95PicpCmVuZAplbmQKZnVuY3Rpb24gbS5lbmFibGVFbmhhbmNlZEluc3RydWN0aW9uU2V0KGNmZywgY29uZGl0aW9uKQpsb2NhbCB2CmxvY2FsIHggPSBjZmcudmVjdG9yZXh0ZW5zaW9ucwppZiB4ID09ICJBVlgiIGFuZCBfQUNUSU9OID4gInZzMjAxMCIgdGhlbgp2ID0gIkFkdmFuY2VkVmVjdG9yRXh0ZW5zaW9ucyIKZWxzZWlmIHggPT0gIkFWWDIiIGFuZCBfQUNUSU9OID4gInZzMjAxMiIgdGhlbgp2ID0gIkFkdmFuY2VkVmVjdG9yRXh0ZW5zaW9uczIiCmVsc2VpZiBjZmcuYXJjaGl0ZWN0dXJlIH49ICJ4ODZfNjQiIHRoZW4KaWYgeCA9PSAiU1NFMiIgb3IgeCA9PSAiU1NFMyIgb3IgeCA9PSAiU1NTRTMiIG9yIHggPT0gIlNTRTQuMSIgdGhlbgp2ID0gIlN0cmVhbWluZ1NJTURFeHRlbnNpb25zMiIKZWxzZWlmIHggPT0gIlNTRSIgdGhlbgp2ID0gIlN0cmVhbWluZ1NJTURFeHRlbnNpb25zIgplbmQKZW5kCmlmIHYgdGhlbgptLmVsZW1lbnQoJ0VuYWJsZUVuaGFuY2VkSW5zdHJ1Y3Rpb25TZXQnLCBjb25kaXRpb24sIHYpCmVuZAplbmQKZnVuY3Rpb24gbS5lbnRyeVBvaW50U3ltYm9sKGNmZykKaWYgY2ZnLmVudHJ5cG9pbnQgdGhlbgptLmVsZW1lbnQoIkVudHJ5UG9pbnRTeW1ib2wiLCBuaWwsIGNmZy5lbnRyeXBvaW50KQplbHNlCmlmIChjZmcua2luZCA9PSBwcmVtYWtlLkNPTlNPTEVBUFAgb3IgY2ZnLmtpbmQgPT0gcHJlbWFrZS5XSU5ET1dFREFQUCkgYW5kCm5vdCBjZmcuZmxhZ3MuV2luTWFpbiBhbmQKY2ZnLmNsciA9PSBwLk9GRiBhbmQKY2ZnLnN5c3RlbSB+PSBwLlhCT1gzNjAKdGhlbgptLmVsZW1lbnQoIkVudHJ5UG9pbnRTeW1ib2wiLCBuaWwsICJtYWluQ1JUU3RhcnR1cCIpCmVuZAplbmQKZW5kCmZ1bmN0aW9uIG0uZXhjZXB0aW9uSGFuZGxpbmcoY2ZnKQpsb2NhbCB2YWx1ZQppZiBjZmcuZXhjZXB0aW9uaGFuZGxpbmcgPT0gcC5PRkYgdGhlbgptLmVsZW1lbnQoIkV4Y2VwdGlvbkhhbmRsaW5nIiwgbmlsLCAiZmFsc2UiKQplbHNlaWYgY2ZnLmV4Y2VwdGlvbmhhbmRsaW5nID09ICJTRUgiIHRoZW4KbS5lbGVtZW50KCJFeGNlcHRpb25IYW5kbGluZyIsIG5pbCwgIkFzeW5jIikKZW5kCmVuZApmdW5jdGlvbiBtLmV4Y2x1ZGVkRnJvbUJ1aWxkKGZpbGVjZmcsIGNvbmRpdGlvbikKaWYgbm90IGZpbGVjZmcgb3IgZmlsZWNmZy5mbGFncy5FeGNsdWRlRnJvbUJ1aWxkIHRoZW4KbS5lbGVtZW50KCJFeGNsdWRlZEZyb21CdWlsZCIsIGNvbmRpdGlvbiwgInRydWUiKQplbmQKZW5kCmZ1bmN0aW9uIG0uZXh0ZW5zaW9uc1RvRGVsZXRlT25DbGVhbihjZmcpCmlmICNjZmcuY2xlYW5leHRlbnNpb25zID4gMCB0aGVuCmxvY2FsIHZhbHVlID0gdGFibGUuaW1wbG9kZShjZmcuY2xlYW5leHRlbnNpb25zLCAiKiIsICI7IiwgIiIpCm0uZWxlbWVudCgiRXh0ZW5zaW9uc1RvRGVsZXRlT25DbGVhbiIsIG5pbCwgdmFsdWUgLi4gIiQoRXh0ZW5zaW9uc1RvRGVsZXRlT25DbGVhbikiKQplbmQKZW5kCmZ1bmN0aW9uIG0uZmlsZVR5cGUoY2ZnLCBmaWxlKQptLmVsZW1lbnQoIkZpbGVUeXBlIiwgbmlsLCAiRG9jdW1lbnQiKQplbmQKZnVuY3Rpb24gbS5mbG9hdGluZ1BvaW50TW9kZWwoY2ZnKQppZiBjZmcuZmxvYXRpbmdwb2ludCB0aGVuCm0uZWxlbWVudCgiRmxvYXRpbmdQb2ludE1vZGVsIiwgbmlsLCBjZmcuZmxvYXRpbmdwb2ludCkKZW5kCmVuZApmdW5jdGlvbiBtLmlubGluZUZ1bmN0aW9uRXhwYW5zaW9uKGNmZykKaWYgY2ZnLmlubGluaW5nIHRoZW4KbG9jYWwgdHlwZXMgPSB7CkRlZmF1bHQgPSAiRGVmYXVsdCIsCkRpc2FibGVkID0gIkRpc2FibGVkIiwKRXhwbGljaXQgPSAiT25seUV4cGxpY2l0SW5saW5lIiwKQXV0byA9ICJBbnlTdWl0YWJsZSIsCn0KbS5lbGVtZW50KCJJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbiIsIG5pbCwgdHlwZXNbY2ZnLmlubGluaW5nXSkKZW5kCmVuZApmdW5jdGlvbiBtLmZvcmNlSW5jbHVkZXMoY2ZnLCBjb25kaXRpb24pCmlmICNjZmcuZm9yY2VpbmNsdWRlcyA+IDAgdGhlbgpsb2NhbCBpbmNsdWRlcyA9IHZzdHVkaW8ucGF0aChjZmcsIGNmZy5mb3JjZWluY2x1ZGVzKQppZiAjaW5jbHVkZXMgPiAwIHRoZW4KbS5lbGVtZW50KCJGb3JjZWRJbmNsdWRlRmlsZXMiLCBjb25kaXRpb24sIHRhYmxlLmNvbmNhdChpbmNsdWRlcywgJzsnKSkKZW5kCmVuZAppZiAjY2ZnLmZvcmNldXNpbmdzID4gMCB0aGVuCmxvY2FsIHVzaW5ncyA9IHZzdHVkaW8ucGF0aChjZmcsIGNmZy5mb3JjZXVzaW5ncykKaWYgI3VzaW5ncyA+IDAgdGhlbgptLmVsZW1lbnQoIkZvcmNlZFVzaW5nRmlsZXMiLCBjb25kaXRpb24sIHRhYmxlLmNvbmNhdCh1c2luZ3MsICc7JykpCmVuZAplbmQKZW5kCmZ1bmN0aW9uIG0uZnVuY3Rpb25MZXZlbExpbmtpbmcoY2ZnKQppZiBjb25maWcuaXNPcHRpbWl6ZWRCdWlsZChjZmcpIHRoZW4KbS5lbGVtZW50KCJGdW5jdGlvbkxldmVsTGlua2luZyIsIG5pbCwgInRydWUiKQplbmQKZW5kCmZ1bmN0aW9uIG0uZ2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uKGNmZykKbS5lbGVtZW50KCJHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24iLCBuaWwsIHRvc3RyaW5nKGNmZy5mbGFncy5TeW1ib2xzIH49IG5pbCkpCmVuZApmdW5jdGlvbiBtLmdlbmVyYXRlTWFuaWZlc3QoY2ZnKQppZiBjZmcuZmxhZ3MuTm9NYW5pZmVzdCB0aGVuCm0uZWxlbWVudCgiR2VuZXJhdGVNYW5pZmVzdCIsIG5pbCwgImZhbHNlIikKZW5kCmVuZApmdW5jdGlvbiBtLmdlbmVyYXRlTWFwRmlsZShjZmcpCmlmIGNmZy5mbGFncy5NYXBzIHRoZW4KbS5lbGVtZW50KCJHZW5lcmF0ZU1hcEZpbGUiLCBuaWwsICJ0cnVlIikKZW5kCmVuZApmdW5jdGlvbiBtLmlnbm9yZURlZmF1bHRMaWJyYXJpZXMoY2ZnKQppZiAjY2ZnLmlnbm9yZWRlZmF1bHRsaWJyYXJpZXMgPiAwIHRoZW4KbG9jYWwgaWdub3JlZCA9IGNmZy5pZ25vcmVkZWZhdWx0bGlicmFyaWVzCmZvciBpID0gMSwgI2lnbm9yZWQgZG8KaWYgbm90IHAudG9vbHMubXNjLmdldExpYnJhcnlFeHRlbnNpb25zKClbaWdub3JlZFtpXTptYXRjaCgiW14uXSskIildIHRoZW4KaWdub3JlZFtpXSA9IHBhdGguYXBwZW5kZXh0ZW5zaW9uKGlnbm9yZWRbaV0sICIubGliIikKZW5kCmVuZAptLmVsZW1lbnQoIklnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcyIsIGNvbmRpdGlvbiwgdGFibGUuY29uY2F0KGlnbm9yZWQsICc7JykpCmVuZAplbmQKZnVuY3Rpb24gbS5pZ25vcmVXYXJuRHVwbGljYXRlRmlsZW5hbWUocHJqKQppZiBfQUNUSU9OID4gInZzMjAxMiIgdGhlbgptLmVsZW1lbnQoIklnbm9yZVdhcm5Db21waWxlRHVwbGljYXRlZEZpbGVuYW1lIiwgbmlsLCAidHJ1ZSIpCmVuZAplbmQKZnVuY3Rpb24gbS5pZ25vcmVJbXBvcnRMaWJyYXJ5KGNmZykKaWYgY2ZnLmtpbmQgPT0gcC5TSEFSRURMSUIgYW5kIGNmZy5mbGFncy5Ob0ltcG9ydExpYiB0aGVuCm0uZWxlbWVudCgiSWdub3JlSW1wb3J0TGlicmFyeSIsIG5pbCwgInRydWUiKQplbmQKZW5kCmZ1bmN0aW9uIG0uaW1hZ2VYZXgoY2ZnKQppZiBjZmcuc3lzdGVtID09IHAuWEJPWDM2MCB0aGVuCnAucHVzaCgnPEltYWdlWGV4PicpCmlmIGNmZy5jb25maWdmaWxlIHRoZW4KbS5lbGVtZW50KCJDb25maWd1cmF0aW9uRmlsZSIsIG5pbCwgIiVzIiwgY2ZnLmNvbmZpZ2ZpbGUpCmVsc2UKcC53KCc8Q29uZmlndXJhdGlvbkZpbGU+JykKcC53KCc8L0NvbmZpZ3VyYXRpb25GaWxlPicpCmVuZApwLncoJzxBZGRpdGlvbmFsU2VjdGlvbnM+JykKcC53KCc8L0FkZGl0aW9uYWxTZWN0aW9ucz4nKQpwLnBvcCgnPC9JbWFnZVhleD4nKQplbmQKZW5kCmZ1bmN0aW9uIG0uaW1hZ2VYZXhPdXRwdXQoY2ZnKQppZiBjZmcuc3lzdGVtID09IHAuWEJPWDM2MCB0aGVuCm0uZWxlbWVudCgiSW1hZ2VYZXhPdXRwdXQiLCBuaWwsICIlcyIsICIkKE91dERpcikkKFRhcmdldE5hbWUpLnhleCIpCmVuZAplbmQKZnVuY3Rpb24gbS5pbXBvcnRMYW5ndWFnZVRhcmdldHMocHJqKQpwLncoJzxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPicpCmVuZAptLmVsZW1lbnRzLmltcG9ydEV4dGVuc2lvblRhcmdldHMgPSBmdW5jdGlvbihwcmopCnJldHVybiB7Cm0uaW1wb3J0UnVsZVRhcmdldHMsCn0KZW5kCmZ1bmN0aW9uIG0uaW1wb3J0RXh0ZW5zaW9uVGFyZ2V0cyhwcmopCnAucHVzaCgnPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4nKQpwLmNhbGxBcnJheShtLmVsZW1lbnRzLmltcG9ydEV4dGVuc2lvblRhcmdldHMsIHByaikKcC5wb3AoJzwvSW1wb3J0R3JvdXA+JykKZW5kCmZ1bmN0aW9uIG0uaW1wb3J0UnVsZVRhcmdldHMocHJqKQpmb3IgaSA9IDEsICNwcmoucnVsZXMgZG8KbG9jYWwgcnVsZSA9IHAuZ2xvYmFsLmdldFJ1bGUocHJqLnJ1bGVzW2ldKQpsb2NhbCBsb2MgPSB2c3R1ZGlvLnBhdGgocHJqLCBwLmZpbGVuYW1lKHJ1bGUsICIudGFyZ2V0cyIpKQpwLngoJzxJbXBvcnQgUHJvamVjdD0iJXMiIC8+JywgbG9jKQplbmQKZW5kCmZ1bmN0aW9uIG0uaW1wb3J0RGVmYXVsdFByb3BzKHByaikKcC53KCc8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4nKQplbmQKZnVuY3Rpb24gbS5pbXBvcnRMYW5ndWFnZVNldHRpbmdzKHByaikKcC53KCc8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+JykKZW5kCm0uZWxlbWVudHMuaW1wb3J0RXh0ZW5zaW9uU2V0dGluZ3MgPSBmdW5jdGlvbihwcmopCnJldHVybiB7Cm0uaW1wb3J0UnVsZVNldHRpbmdzLAp9CmVuZApmdW5jdGlvbiBtLmltcG9ydEV4dGVuc2lvblNldHRpbmdzKHByaikKcC5wdXNoKCc8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4nKQpwLmNhbGxBcnJheShtLmVsZW1lbnRzLmltcG9ydEV4dGVuc2lvblNldHRpbmdzLCBwcmopCnAucG9wKCc8L0ltcG9ydEdyb3VwPicpCmVuZApmdW5jdGlvbiBtLmltcG9ydFJ1bGVTZXR0aW5ncyhwcmopCmZvciBpID0gMSwgI3Byai5ydWxlcyBkbwpsb2NhbCBydWxlID0gcC5nbG9iYWwuZ2V0UnVsZShwcmoucnVsZXNbaV0pCmxvY2FsIGxvYyA9IHZzdHVkaW8ucGF0aChwcmosIHAuZmlsZW5hbWUocnVsZSwgIi5wcm9wcyIpKQpwLngoJzxJbXBvcnQgUHJvamVjdD0iJXMiIC8+JywgbG9jKQplbmQKZW5kCmZ1bmN0aW9uIG0uaW1wb3J0TGlicmFyeShjZmcpCmlmIGNmZy5raW5kID09IHAuU0hBUkVETElCIHRoZW4KbS5lbGVtZW50KCJJbXBvcnRMaWJyYXJ5IiwgbmlsLCAiJXMiLCBwYXRoLnRyYW5zbGF0ZShjZmcubGlua3RhcmdldC5yZWxwYXRoKSkKZW5kCmVuZApmdW5jdGlvbiBtLmluY2x1ZGVQYXRoKGNmZykKbG9jYWwgZGlycyA9IHZzdHVkaW8ucGF0aChjZmcsIGNmZy5zeXNpbmNsdWRlZGlycykKaWYgI2RpcnMgPiAwIHRoZW4KbS5lbGVtZW50KCJJbmNsdWRlUGF0aCIsIG5pbCwgIiVzOyQoSW5jbHVkZVBhdGgpIiwgdGFibGUuY29uY2F0KGRpcnMsICI7IikpCmVuZAplbmQKZnVuY3Rpb24gbS5pbnREaXIoY2ZnKQpsb2NhbCBvYmpkaXIgPSB2c3R1ZGlvLnBhdGgoY2ZnLCBjZmcub2JqZGlyKQptLmVsZW1lbnQoIkludERpciIsIG5pbCwgIiVzXFwiLCBvYmpkaXIpCmVuZApmdW5jdGlvbiBtLmludHJpbnNpY0Z1bmN0aW9ucyhjZmcpCmlmIGNvbmZpZy5pc09wdGltaXplZEJ1aWxkKGNmZykgdGhlbgptLmVsZW1lbnQoIkludHJpbnNpY0Z1bmN0aW9ucyIsIG5pbCwgInRydWUiKQplbmQKZW5kCmZ1bmN0aW9uIG0ua2V5d29yZChwcmopCmxvY2FsIGlzV2luLCBpc01hbmFnZWQsIGlzTWFrZWZpbGUKZm9yIGNmZyBpbiBwcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwppZiBjZmcuc3lzdGVtID09IHAuV0lORE9XUyB0aGVuCmlzV2luID0gdHJ1ZQplbmQKaWYgY2ZnLmNsciB+PSBwLk9GRiB0aGVuCmlzTWFuYWdlZCA9IHRydWUKZW5kCmlmIHZzdHVkaW8uaXNNYWtlZmlsZShjZmcpIHRoZW4KaXNNYWtlZmlsZSA9IHRydWUKZW5kCmVuZAppZiBpc1dpbiB0aGVuCmlmIGlzTWFrZWZpbGUgdGhlbgptLmVsZW1lbnQoIktleXdvcmQiLCBuaWwsICJNYWtlRmlsZVByb2oiKQplbHNlCmlmIGlzTWFuYWdlZCB0aGVuCm0udGFyZ2V0RnJhbWV3b3JrKHByaikKbS5lbGVtZW50KCJLZXl3b3JkIiwgbmlsLCAiTWFuYWdlZENQcm9qIikKZWxzZQptLmVsZW1lbnQoIktleXdvcmQiLCBuaWwsICJXaW4zMlByb2oiKQplbmQKbS5lbGVtZW50KCJSb290TmFtZXNwYWNlIiwgbmlsLCAiJXMiLCBwcmoubmFtZSkKZW5kCmVuZAplbmQKZnVuY3Rpb24gbS5saWJyYXJ5UGF0aChjZmcpCmxvY2FsIGRpcnMgPSB2c3R1ZGlvLnBhdGgoY2ZnLCBjZmcuc3lzbGliZGlycykKaWYgI2RpcnMgPiAwIHRoZW4KbS5lbGVtZW50KCJMaWJyYXJ5UGF0aCIsIG5pbCwgIiVzOyQoTGlicmFyeVBhdGgpIiwgdGFibGUuY29uY2F0KGRpcnMsICI7IikpCmVuZAplbmQKZnVuY3Rpb24gbS5saW5rSW5jcmVtZW50YWwoY2ZnKQppZiBjZmcua2luZCB+PSBwLlNUQVRJQ0xJQiB0aGVuCm0uZWxlbWVudCgiTGlua0luY3JlbWVudGFsIiwgbmlsLCAiJXMiLCB0b3N0cmluZyhjb25maWcuY2FuTGlua0luY3JlbWVudGFsKGNmZykpKQplbmQKZW5kCmZ1bmN0aW9uIG0ubGlua0xpYnJhcnlEZXBlbmRlbmNpZXMoY2ZnLCBleHBsaWNpdCkKaWYgZXhwbGljaXQgdGhlbgpwLnB1c2goJzxQcm9qZWN0UmVmZXJlbmNlPicpCm0uZWxlbWVudCgiTGlua0xpYnJhcnlEZXBlbmRlbmNpZXMiLCBuaWwsICJmYWxzZSIpCnAucG9wKCc8L1Byb2plY3RSZWZlcmVuY2U+JykKZW5kCmVuZApmdW5jdGlvbiBtLm1pbmltYWxSZWJ1aWxkKGNmZykKaWYgY29uZmlnLmlzT3B0aW1pemVkQnVpbGQoY2ZnKSBvcgogICBjZmcuZmxhZ3MuTm9NaW5pbWFsUmVidWlsZCBvcgogICBjZmcuZmxhZ3MuTXVsdGlQcm9jZXNzb3JDb21waWxlIG9yCiAgIGNmZy5kZWJ1Z2Zvcm1hdCA9PSBwLkM3CnRoZW4KbS5lbGVtZW50KCJNaW5pbWFsUmVidWlsZCIsIG5pbCwgImZhbHNlIikKZW5kCmVuZApmdW5jdGlvbiBtLm1vZHVsZURlZmluaXRpb25GaWxlKGNmZykKbG9jYWwgZGYgPSBjb25maWcuZmluZGZpbGUoY2ZnLCAiLmRlZiIpCmlmIGRmIHRoZW4KbS5lbGVtZW50KCJNb2R1bGVEZWZpbml0aW9uRmlsZSIsIG5pbCwgIiVzIiwgZGYpCmVuZAplbmQKZnVuY3Rpb24gbS5tdWx0aVByb2Nlc3NvckNvbXBpbGF0aW9uKGNmZykKaWYgY2ZnLmZsYWdzLk11bHRpUHJvY2Vzc29yQ29tcGlsZSB0aGVuCm0uZWxlbWVudCgiTXVsdGlQcm9jZXNzb3JDb21waWxhdGlvbiIsIG5pbCwgInRydWUiKQplbmQKZW5kCmZ1bmN0aW9uIG0ubm1ha2VDb21tYW5kTGluZShjZmcsIGNvbW1hbmRzLCBwaGFzZSkKaWYgI2NvbW1hbmRzID4gMCB0aGVuCmNvbW1hbmRzID0gb3MudHJhbnNsYXRlQ29tbWFuZHMoY29tbWFuZHMsIHAuV0lORE9XUykKY29tbWFuZHMgPSB0YWJsZS5jb25jYXQocC5lc2MoY29tbWFuZHMpLCBwLmVvbCgpKQpwLncoJzxOTWFrZSVzQ29tbWFuZExpbmU+JXM8L05NYWtlJXNDb21tYW5kTGluZT4nLCBwaGFzZSwgY29tbWFuZHMsIHBoYXNlKQplbmQKZW5kCmZ1bmN0aW9uIG0ubm1ha2VPdXREaXJzKGNmZykKaWYgdnN0dWRpby5pc01ha2VmaWxlKGNmZykgdGhlbgptLm91dERpcihjZmcpCm0uaW50RGlyKGNmZykKZW5kCmVuZApmdW5jdGlvbiBtLm5tYWtlT3V0cHV0KGNmZykKbS5lbGVtZW50KCJOTWFrZU91dHB1dCIsIG5pbCwgIiQoT3V0RGlyKSVzIiwgY2ZnLmJ1aWxkdGFyZ2V0Lm5hbWUpCmVuZApmdW5jdGlvbiBtLm9iamVjdEZpbGVOYW1lKGZjZmcpCmlmIGZjZmcub2JqbmFtZSB+PSBmY2ZnLmJhc2VuYW1lIHRoZW4KbS5lbGVtZW50KCJPYmplY3RGaWxlTmFtZSIsIG0uY29uZGl0aW9uKGZjZmcuY29uZmlnKSwgIiQoSW50RGlyKVxcJXMub2JqIiwgZmNmZy5vYmpuYW1lKQplbmQKZW5kCmZ1bmN0aW9uIG0ub21pdERlZmF1bHRMaWIoY2ZnKQppZiBjZmcuZmxhZ3MuT21pdERlZmF1bHRMaWJyYXJ5IHRoZW4KbS5lbGVtZW50KCJPbWl0RGVmYXVsdExpYk5hbWUiLCBuaWwsICJ0cnVlIikKZW5kCmVuZApmdW5jdGlvbiBtLm9taXRGcmFtZVBvaW50ZXJzKGNmZykKaWYgY2ZnLmZsYWdzLk5vRnJhbWVQb2ludGVyIHRoZW4KbS5lbGVtZW50KCJPbWl0RnJhbWVQb2ludGVycyIsIG5pbCwgInRydWUiKQplbmQKZW5kCmZ1bmN0aW9uIG0ub3B0aW1pemVSZWZlcmVuY2VzKGNmZykKaWYgY29uZmlnLmlzT3B0aW1pemVkQnVpbGQoY2ZnKSB0aGVuCm0uZWxlbWVudCgiRW5hYmxlQ09NREFURm9sZGluZyIsIG5pbCwgInRydWUiKQptLmVsZW1lbnQoIk9wdGltaXplUmVmZXJlbmNlcyIsIG5pbCwgInRydWUiKQplbmQKZW5kCmZ1bmN0aW9uIG0ub3B0aW1pemF0aW9uKGNmZywgY29uZGl0aW9uKQpsb2NhbCBtYXAgPSB7IE9mZj0iRGlzYWJsZWQiLCBPbj0iRnVsbCIsIERlYnVnPSJEaXNhYmxlZCIsIEZ1bGw9IkZ1bGwiLCBTaXplPSJNaW5TcGFjZSIsIFNwZWVkPSJNYXhTcGVlZCIgfQpsb2NhbCB2YWx1ZSA9IG1hcFtjZmcub3B0aW1pemVdCmlmIHZhbHVlIG9yIG5vdCBjb25kaXRpb24gdGhlbgptLmVsZW1lbnQoJ09wdGltaXphdGlvbicsIGNvbmRpdGlvbiwgdmFsdWUgb3IgIkRpc2FibGVkIikKZW5kCmVuZApmdW5jdGlvbiBtLm91dERpcihjZmcpCmxvY2FsIG91dGRpciA9IHZzdHVkaW8ucGF0aChjZmcsIGNmZy5idWlsZHRhcmdldC5kaXJlY3RvcnkpCm0uZWxlbWVudCgiT3V0RGlyIiwgbmlsLCAiJXNcXCIsIG91dGRpcikKZW5kCmZ1bmN0aW9uIG0ub3V0cHV0RmlsZShjZmcpCmlmIGNmZy5zeXN0ZW0gPT0gcC5YQk9YMzYwIHRoZW4KbS5lbGVtZW50KCJPdXRwdXRGaWxlIiwgbmlsLCAiJChPdXREaXIpJXMiLCBjZmcuYnVpbGR0YXJnZXQubmFtZSkKZW5kCmVuZApmdW5jdGlvbiBtLmV4ZWN1dGFibGVQYXRoKGNmZykKbG9jYWwgZGlycyA9IHZzdHVkaW8ucGF0aChjZmcsIGNmZy5iaW5kaXJzKQppZiAjZGlycyA+IDAgdGhlbgptLmVsZW1lbnQoIkV4ZWN1dGFibGVQYXRoIiwgbmlsLCAiJXM7JChFeGVjdXRhYmxlUGF0aCkiLCB0YWJsZS5jb25jYXQoZGlycywgIjsiKSkKZW5kCmVuZApmdW5jdGlvbiBtLnBsYXRmb3JtVG9vbHNldChjZmcpCmxvY2FsIHRvb2wsIHZlcnNpb24gPSBwLmNvbmZpZy50b29sc2V0KGNmZykKaWYgbm90IHZlcnNpb24gdGhlbgpsb2NhbCBhY3Rpb24gPSBwLmFjdGlvbi5jdXJyZW50KCkKdmVyc2lvbiA9IGFjdGlvbi52c3R1ZGlvLnBsYXRmb3JtVG9vbHNldAplbmQKaWYgdmVyc2lvbiB0aGVuCmlmIGNmZy5raW5kID09IHAuTk9ORSBvciBjZmcua2luZCA9PSBwLk1BS0VGSUxFIHRoZW4KaWYgcC5jb25maWcuaGFzRmlsZShjZmcsIHBhdGguaXNjcHBmaWxlKSB0aGVuCm0uZWxlbWVudCgiUGxhdGZvcm1Ub29sc2V0IiwgbmlsLCB2ZXJzaW9uKQplbmQKZWxzZQptLmVsZW1lbnQoIlBsYXRmb3JtVG9vbHNldCIsIG5pbCwgdmVyc2lvbikKZW5kCmVuZAplbmQKZnVuY3Rpb24gbS5wcmVjb21waWxlZEhlYWRlcihjZmcsIGNvbmRpdGlvbikKcHJqY2ZnLCBmaWxlY2ZnID0gcC5jb25maWcubm9ybWFsaXplKGNmZykKaWYgZmlsZWNmZyB0aGVuCmlmIHByamNmZy5wY2hzb3VyY2UgPT0gZmlsZWNmZy5hYnNwYXRoIGFuZCBub3QgcHJqY2ZnLmZsYWdzLk5vUENIIHRoZW4KbS5lbGVtZW50KCdQcmVjb21waWxlZEhlYWRlcicsIGNvbmRpdGlvbiwgJ0NyZWF0ZScpCmVsc2VpZiBmaWxlY2ZnLmZsYWdzLk5vUENIIHRoZW4KbS5lbGVtZW50KCdQcmVjb21waWxlZEhlYWRlcicsIGNvbmRpdGlvbiwgJ05vdFVzaW5nJykKZW5kCmVsc2UKaWYgbm90IHByamNmZy5mbGFncy5Ob1BDSCBhbmQgcHJqY2ZnLnBjaGhlYWRlciB0aGVuCm0uZWxlbWVudCgiUHJlY29tcGlsZWRIZWFkZXIiLCBuaWwsICJVc2UiKQptLmVsZW1lbnQoIlByZWNvbXBpbGVkSGVhZGVyRmlsZSIsIG5pbCwgIiVzIiwgcHJqY2ZnLnBjaGhlYWRlcikKZWxzZQptLmVsZW1lbnQoIlByZWNvbXBpbGVkSGVhZGVyIiwgbmlsLCAiTm90VXNpbmciKQplbmQKZW5kCmVuZApmdW5jdGlvbiBtLnByZXByb2Nlc3NvckRlZmluaXRpb25zKGNmZywgZGVmaW5lcywgZXNjYXBlUXVvdGVzLCBjb25kaXRpb24pCmlmICNkZWZpbmVzID4gMCB0aGVuCmRlZmluZXMgPSB0YWJsZS5jb25jYXQoZGVmaW5lcywgIjsiKQppZiBlc2NhcGVRdW90ZXMgdGhlbgpkZWZpbmVzID0gZGVmaW5lczpnc3ViKCciJywgJ1xcIicpCmVuZApkZWZpbmVzID0gcC5lc2MoZGVmaW5lcykgLi4gIjslJShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucykiCm0uZWxlbWVudCgnUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMnLCBjb25kaXRpb24sIGRlZmluZXMpCmVuZAplbmQKZnVuY3Rpb24gbS51bmRlZmluZVByZXByb2Nlc3NvckRlZmluaXRpb25zKGNmZywgdW5kZWZpbmVzLCBlc2NhcGVRdW90ZXMsIGNvbmRpdGlvbikKaWYgI3VuZGVmaW5lcyA+IDAgdGhlbgp1bmRlZmluZXMgPSB0YWJsZS5jb25jYXQodW5kZWZpbmVzLCAiOyIpCmlmIGVzY2FwZVF1b3RlcyB0aGVuCnVuZGVmaW5lcyA9IHVuZGVmaW5lczpnc3ViKCciJywgJ1xcIicpCmVuZAp1bmRlZmluZXMgPSBwLmVzYyh1bmRlZmluZXMpIC4uICI7JSUoVW5kZWZpbmVQcmVwcm9jZXNzb3JEZWZpbml0aW9ucykiCm0uZWxlbWVudCgnVW5kZWZpbmVQcmVwcm9jZXNzb3JEZWZpbml0aW9ucycsIGNvbmRpdGlvbiwgdW5kZWZpbmVzKQplbmQKZW5kCmZ1bmN0aW9uIG0ucHJvZ3JhbURhdGFCYXNlRmlsZU5hbWUoY2ZnKQplbmQKZnVuY3Rpb24gbS5wcm9qZWN0R3VpZChwcmopCm0uZWxlbWVudCgiUHJvamVjdEd1aWQiLCBuaWwsICJ7JXN9IiwgcHJqLnV1aWQpCmVuZApmdW5jdGlvbiBtLnByb2plY3ROYW1lKHByaikKaWYgcHJqLm5hbWUgfj0gcHJqLmZpbGVuYW1lIHRoZW4KbS5lbGVtZW50KCJQcm9qZWN0TmFtZSIsIG5pbCwgIiVzIiwgcHJqLm5hbWUpCmVuZAplbmQKZnVuY3Rpb24gbS5wcm9wZXJ0eUdyb3VwKGNmZywgbGFiZWwpCmxvY2FsIGNvbmQKaWYgY2ZnIHRoZW4KY29uZCA9IHN0cmluZy5mb3JtYXQoJyAlcycsIG0uY29uZGl0aW9uKGNmZykpCmVuZAppZiBsYWJlbCB0aGVuCmxhYmVsID0gc3RyaW5nLmZvcm1hdCgnIExhYmVsPSIlcyInLCBsYWJlbCkKZW5kCnAucHVzaCgnPFByb3BlcnR5R3JvdXAlcyVzPicsIGNvbmQgb3IgIiIsIGxhYmVsIG9yICIiKQplbmQKZnVuY3Rpb24gbS5wcm9wZXJ0eVNoZWV0cyhjZmcpCnAucHVzaCgnPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyIgJXM+JywgbS5jb25kaXRpb24oY2ZnKSkKcC53KCc8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXFxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKFwnJChVc2VyUm9vdERpcilcXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wc1wnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPicpCnAucG9wKCc8L0ltcG9ydEdyb3VwPicpCmVuZApmdW5jdGlvbiBtLnByb3BlcnR5U2hlZXRHcm91cChwcmopCmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KbS5wcm9wZXJ0eVNoZWV0cyhjZmcpCmVuZAplbmQKZnVuY3Rpb24gbS5yZWZlcmVuY2VDb3B5TG9jYWxTYXRlbGxpdGVBc3NlbWJsaWVzKHByaiwgcmVmKQptLmVsZW1lbnQoIkNvcHlMb2NhbFNhdGVsbGl0ZUFzc2VtYmxpZXMiLCBuaWwsICJmYWxzZSIpCmVuZApmdW5jdGlvbiBtLnJlZmVyZW5jZUxpbmtMaWJyYXJ5RGVwZW5kZW5jaWVzKHByaiwgcmVmKQptLmVsZW1lbnQoIkxpbmtMaWJyYXJ5RGVwZW5kZW5jaWVzIiwgbmlsLCAidHJ1ZSIpCmVuZApmdW5jdGlvbiBtLnJlZmVyZW5jZU91dHB1dEFzc2VtYmx5KHByaiwgcmVmKQptLmVsZW1lbnQoIlJlZmVyZW5jZU91dHB1dEFzc2VtYmx5IiwgbmlsLCAidHJ1ZSIpCmVuZApmdW5jdGlvbiBtLnJlZmVyZW5jZVByaXZhdGUocHJqLCByZWYpCm0uZWxlbWVudCgiUHJpdmF0ZSIsIG5pbCwgInRydWUiKQplbmQKZnVuY3Rpb24gbS5yZWZlcmVuY2VQcm9qZWN0KHByaiwgcmVmKQptLmVsZW1lbnQoIlByb2plY3QiLCBuaWwsICJ7JXN9IiwgcmVmLnV1aWQpCmVuZApmdW5jdGlvbiBtLnJlZmVyZW5jZVVzZUxpYnJhcnlEZXBlbmRlbmNlcyhwcmosIHJlZikKbS5lbGVtZW50KCJVc2VMaWJyYXJ5RGVwZW5kZW5jeUlucHV0cyIsIG5pbCwgImZhbHNlIikKZW5kCmZ1bmN0aW9uIG0ucmVzb3VyY2VBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKGNmZykKbS5hZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKGNmZywgdGFibGUuam9pbihjZmcuaW5jbHVkZWRpcnMsIGNmZy5yZXNpbmNsdWRlZGlycykpCmVuZApmdW5jdGlvbiBtLnJlc291cmNlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMoY2ZnKQptLnByZXByb2Nlc3NvckRlZmluaXRpb25zKGNmZywgdGFibGUuam9pbihjZmcuZGVmaW5lcywgY2ZnLnJlc2RlZmluZXMpLCB0cnVlKQplbmQKZnVuY3Rpb24gbS5ydW50aW1lTGlicmFyeShjZmcpCmxvY2FsIHJ1bnRpbWVzID0gewpTdGF0aWNEZWJ1ZyAgID0gIk11bHRpVGhyZWFkZWREZWJ1ZyIsClN0YXRpY1JlbGVhc2UgPSAiTXVsdGlUaHJlYWRlZCIsCn0KbG9jYWwgcnVudGltZSA9IHJ1bnRpbWVzW2NvbmZpZy5nZXRydW50aW1lKGNmZyldCmlmIHJ1bnRpbWUgdGhlbgptLmVsZW1lbnQoIlJ1bnRpbWVMaWJyYXJ5IiwgbmlsLCBydW50aW1lKQplbmQKZW5kCmZ1bmN0aW9uIG0uY2FsbGluZ0NvbnZlbnRpb24oY2ZnKQppZiBjZmcuY2FsbGluZ2NvbnZlbnRpb24gdGhlbgptLmVsZW1lbnQoIkNhbGxpbmdDb252ZW50aW9uIiwgbmlsLCBjZmcuY2FsbGluZ2NvbnZlbnRpb24pCmVuZAplbmQKZnVuY3Rpb24gbS5ydW50aW1lVHlwZUluZm8oY2ZnKQppZiBjZmcucnR0aSA9PSBwLk9GRiBhbmQgY2ZnLmNsciA9PSBwLk9GRiB0aGVuCm0uZWxlbWVudCgiUnVudGltZVR5cGVJbmZvIiwgbmlsLCAiZmFsc2UiKQplbHNlaWYgY2ZnLnJ0dGkgPT0gcC5PTiB0aGVuCm0uZWxlbWVudCgiUnVudGltZVR5cGVJbmZvIiwgbmlsLCAidHJ1ZSIpCmVuZAplbmQKZnVuY3Rpb24gbS5idWZmZXJTZWN1cml0eUNoZWNrKGNmZykKbG9jYWwgdG9vbCwgdG9vbFZlcnNpb24gPSBwLmNvbmZpZy50b29sc2V0KGNmZykKaWYgY2ZnLmZsYWdzLk5vQnVmZmVyU2VjdXJpdHlDaGVjayBvciAodG9vbFZlcnNpb24gYW5kIHRvb2xWZXJzaW9uOnN0YXJ0c3dpdGgoIkxMVk0tdnMiKSkgdGhlbgptLmVsZW1lbnQoIkJ1ZmZlclNlY3VyaXR5Q2hlY2siLCBuaWwsICJmYWxzZSIpCmVuZAplbmQKZnVuY3Rpb24gbS5zdHJpbmdQb29saW5nKGNmZykKaWYgY29uZmlnLmlzT3B0aW1pemVkQnVpbGQoY2ZnKSB0aGVuCm0uZWxlbWVudCgiU3RyaW5nUG9vbGluZyIsIG5pbCwgInRydWUiKQplbmQKZW5kCmZ1bmN0aW9uIG0uc3ViU3lzdGVtKGNmZykKaWYgY2ZnLnN5c3RlbSB+PSBwLlhCT1gzNjAgdGhlbgpsb2NhbCBzdWJzeXN0ZW0gPSBpaWYoY2ZnLmtpbmQgPT0gcC5DT05TT0xFQVBQLCAiQ29uc29sZSIsICJXaW5kb3dzIikKbS5lbGVtZW50KCJTdWJTeXN0ZW0iLCBuaWwsIHN1YnN5c3RlbSkKZW5kCmVuZApmdW5jdGlvbiBtLnRhcmdldEV4dChjZmcpCmxvY2FsIGV4dCA9IGNmZy5idWlsZHRhcmdldC5leHRlbnNpb24KaWYgZXh0IH49ICIiIHRoZW4KbS5lbGVtZW50KCJUYXJnZXRFeHQiLCBuaWwsICIlcyIsIGV4dCkKZWxzZQpwLncoJzxUYXJnZXRFeHQ+JykKcC53KCc8L1RhcmdldEV4dD4nKQplbmQKZW5kCmZ1bmN0aW9uIG0udGFyZ2V0TWFjaGluZShjZmcpCmxvY2FsIHRhcmdldG1hY2hpbmUgPSB7Cng4NiA9ICJNYWNoaW5lWDg2IiwKeDg2XzY0ID0gIk1hY2hpbmVYNjQiLAp9CmlmIGNmZy5raW5kID09IHAuU1RBVElDTElCIGFuZCBjb25maWcuaGFzRmlsZShjZmcsIHBhdGguaXNyZXNvdXJjZWZpbGUpIHRoZW4KbG9jYWwgdmFsdWUgPSB0YXJnZXRtYWNoaW5lW2NmZy5hcmNoaXRlY3R1cmVdCmlmIHZhbHVlIH49IG5pbCB0aGVuCm0uZWxlbWVudCgiVGFyZ2V0TWFjaGluZSIsIG5pbCwgJyVzJywgdmFsdWUpCmVuZAplbmQKZW5kCmZ1bmN0aW9uIG0udGFyZ2V0TmFtZShjZmcpCm0uZWxlbWVudCgiVGFyZ2V0TmFtZSIsIG5pbCwgIiVzJXMiLCBjZmcuYnVpbGR0YXJnZXQucHJlZml4LCBjZmcuYnVpbGR0YXJnZXQuYmFzZW5hbWUpCmVuZApmdW5jdGlvbiBtLnRyZWF0TGlua2VyV2FybmluZ0FzRXJyb3JzKGNmZykKaWYgY2ZnLmZsYWdzLkZhdGFsTGlua1dhcm5pbmdzIHRoZW4KbG9jYWwgZWwgPSBpaWYoY2ZnLmtpbmQgPT0gcC5TVEFUSUNMSUIsICJMaWIiLCAiTGlua2VyIikKbS5lbGVtZW50KCJUcmVhdCIgLi4gZWwgLi4gIldhcm5pbmdBc0Vycm9ycyIsIG5pbCwgInRydWUiKQplbmQKZW5kCmZ1bmN0aW9uIG0udHJlYXRXQ2hhcl90QXNCdWlsdEluVHlwZShjZmcpCmxvY2FsIG1hcCA9IHsgT24gPSAidHJ1ZSIsIE9mZiA9ICJmYWxzZSIgfQpsb2NhbCB2YWx1ZSA9IG1hcFtjZmcubmF0aXZld2NoYXJdCmlmIHZhbHVlIHRoZW4KbS5lbGVtZW50KCJUcmVhdFdDaGFyX3RBc0J1aWx0SW5UeXBlIiwgbmlsLCB2YWx1ZSkKZW5kCmVuZApmdW5jdGlvbiBtLnRyZWF0V2FybmluZ0FzRXJyb3IoY2ZnKQppZiBjZmcuZmxhZ3MuRmF0YWxDb21waWxlV2FybmluZ3MgYW5kIGNmZy53YXJuaW5ncyB+PSBwLk9GRiB0aGVuCm0uZWxlbWVudCgiVHJlYXRXYXJuaW5nQXNFcnJvciIsIG5pbCwgInRydWUiKQplbmQKZW5kCmZ1bmN0aW9uIG0uZGlzYWJsZVNwZWNpZmljV2FybmluZ3MoY2ZnLCBjb25kaXRpb24pCmlmICNjZmcuZGlzYWJsZXdhcm5pbmdzID4gMCB0aGVuCmxvY2FsIHdhcm5pbmdzID0gdGFibGUuY29uY2F0KGNmZy5kaXNhYmxld2FybmluZ3MsICI7IikKd2FybmluZ3MgPSBwLmVzYyh3YXJuaW5ncykgLi4gIjslJShEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncykiCm0uZWxlbWVudCgnRGlzYWJsZVNwZWNpZmljV2FybmluZ3MnLCBjb25kaXRpb24sIHdhcm5pbmdzKQplbmQKZW5kCmZ1bmN0aW9uIG0udHJlYXRTcGVjaWZpY1dhcm5pbmdzQXNFcnJvcnMoY2ZnLCBjb25kaXRpb24pCmlmICNjZmcuZmF0YWx3YXJuaW5ncyA+IDAgdGhlbgpsb2NhbCBmYXRhbCA9IHRhYmxlLmNvbmNhdChjZmcuZmF0YWx3YXJuaW5ncywgIjsiKQpmYXRhbCA9IHAuZXNjKGZhdGFsKSAuLiAiOyUlKFRyZWF0U3BlY2lmaWNXYXJuaW5nc0FzRXJyb3JzKSIKbS5lbGVtZW50KCdUcmVhdFNwZWNpZmljV2FybmluZ3NBc0Vycm9ycycsIGNvbmRpdGlvbiwgZmF0YWwpCmVuZAplbmQKZnVuY3Rpb24gbS51c2VEZWJ1Z0xpYnJhcmllcyhjZmcpCmxvY2FsIHJ1bnRpbWUgPSBjb25maWcuZ2V0cnVudGltZShjZmcpCm0uZWxlbWVudCgiVXNlRGVidWdMaWJyYXJpZXMiLCBuaWwsIHRvc3RyaW5nKHJ1bnRpbWU6ZW5kc3dpdGgoIkRlYnVnIikpKQplbmQKZnVuY3Rpb24gbS51c2VPZk1mYyhjZmcpCmlmIGNmZy5mbGFncy5NRkMgdGhlbgptLmVsZW1lbnQoIlVzZU9mTWZjIiwgbmlsLCBpaWYoY2ZnLmZsYWdzLlN0YXRpY1J1bnRpbWUsICJTdGF0aWMiLCAiRHluYW1pYyIpKQplbmQKZW5kCmZ1bmN0aW9uIG0udXNlT2ZBdGwoY2ZnKQppZiBjZmcuYXRsIHRoZW4KbS5lbGVtZW50KCJVc2VPZkFUTCIsIG5pbCwgY2ZnLmF0bCkKZW5kCmVuZApmdW5jdGlvbiBtLnVzZXJNYWNyb3MoY2ZnKQpwLncoJzxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPicpCmVuZApmdW5jdGlvbiBtLndhcm5pbmdMZXZlbChjZmcpCmxvY2FsIG1hcCA9IHsgT2ZmID0gIlR1cm5PZmZBbGxXYXJuaW5ncyIsIEV4dHJhID0gIkxldmVsNCIgfQptLmVsZW1lbnQoIldhcm5pbmdMZXZlbCIsIG5pbCwgIiVzIiwgbWFwW2NmZy53YXJuaW5nc10gb3IgIkxldmVsMyIpCmVuZApmdW5jdGlvbiBtLnhtbERlY2xhcmF0aW9uKCkKcC54bWxVdGY4KCkKZW5kCmZ1bmN0aW9uIG0uY29uZGl0aW9uKGNmZykKcmV0dXJuIHN0cmluZy5mb3JtYXQoJ0NvbmRpdGlvbj0iXCckKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pXCc9PVwnJXNcJyInLCBwLmVzYyh2c3R1ZGlvLnByb2plY3RDb25maWcoY2ZnKSkpCmVuZApmdW5jdGlvbiBtLmVsZW1lbnQobmFtZSwgY29uZGl0aW9uLCB2YWx1ZSwgLi4uKQppZiBzZWxlY3QoJyMnLC4uLikgPT0gMCB0aGVuCnZhbHVlID0gcC5lc2ModmFsdWUpCmVuZApsb2NhbCBmb3JtYXQKaWYgY29uZGl0aW9uIHRoZW4KZm9ybWF0ID0gc3RyaW5nLmZvcm1hdCgnPCVzICVzPiVzPC8lcz4nLCBuYW1lLCBjb25kaXRpb24sIHZhbHVlLCBuYW1lKQplbHNlCmZvcm1hdCA9IHN0cmluZy5mb3JtYXQoJzwlcz4lczwvJXM+JywgbmFtZSwgdmFsdWUsIG5hbWUpCmVuZApwLngoZm9ybWF0LCAuLi4pCmVuZAoAAAAAAABsb2NhbCBwID0gcHJlbWFrZQpsb2NhbCBtID0gcC52c3R1ZGlvLnZjMjAxMAptLmVsZW1lbnRzLnVzZXIgPSBmdW5jdGlvbihjZmcpCnJldHVybiB7Cm0uZGVidWdTZXR0aW5ncywKfQplbmQKZnVuY3Rpb24gbS5nZW5lcmF0ZVVzZXIocHJqKQpsb2NhbCBjb250ZW50cyA9IHt9CmxvY2FsIHNpemUgPSAwCmZvciBjZmcgaW4gcC5wcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwpjb250ZW50c1tjZmddID0gcC5jYXB0dXJlKGZ1bmN0aW9uKCkKcC5wdXNoKDIpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMudXNlciwgY2ZnKQpwLnBvcCgyKQplbmQpCnNpemUgPSBzaXplICsgI2NvbnRlbnRzW2NmZ10KZW5kCmlmIHNpemUgPiAwIHRoZW4KbS54bWxEZWNsYXJhdGlvbigpCm0udXNlclByb2plY3QoKQpmb3IgY2ZnIGluIHAucHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KcC5wdXNoKCc8UHJvcGVydHlHcm91cCAlcz4nLCBtLmNvbmRpdGlvbihjZmcpKQppZiAjY29udGVudHNbY2ZnXSA+IDAgdGhlbgpwLm91dGxuKGNvbnRlbnRzW2NmZ10pCmVuZApwLnBvcCgnPC9Qcm9wZXJ0eUdyb3VwPicpCmVuZApwLnBvcCgnPC9Qcm9qZWN0PicpCmVuZAplbmQKZnVuY3Rpb24gbS51c2VyUHJvamVjdCgpCmxvY2FsIGFjdGlvbiA9IHByZW1ha2UuYWN0aW9uLmN1cnJlbnQoKQpwLnB1c2goJzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iJXMiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPicsCmFjdGlvbi52c3R1ZGlvLnRvb2xzVmVyc2lvbikKZW5kCm0uZWxlbWVudHMuZGVidWdTZXR0aW5ncyA9IGZ1bmN0aW9uKGNmZykKcmV0dXJuIHsKbS5sb2NhbERlYnVnZ2VyQ29tbWFuZCwKbS5sb2NhbERlYnVnZ2VyV29ya2luZ0RpcmVjdG9yeSwKbS5kZWJ1Z2dlckZsYXZvciwKbS5sb2NhbERlYnVnZ2VyQ29tbWFuZEFyZ3VtZW50cywKbS5sb2NhbERlYnVnZ2VyRGVidWdnZXJUeXBlLAptLmxvY2FsRGVidWdnZXJFbnZpcm9ubWVudCwKbS5sb2NhbERlYnVnZ2VyTWVyZ2VFbnZpcm9ubWVudCwKfQplbmQKZnVuY3Rpb24gbS5kZWJ1Z1NldHRpbmdzKGNmZykKcC5jYWxsQXJyYXkobS5lbGVtZW50cy5kZWJ1Z1NldHRpbmdzLCBjZmcpCmVuZApmdW5jdGlvbiBtLmRlYnVnZ2VyRmxhdm9yKGNmZykKaWYgY2ZnLmRlYnVnZGlyIG9yIGNmZy5kZWJ1Z2NvbW1hbmQgdGhlbgpwLncoJzxEZWJ1Z2dlckZsYXZvcj5XaW5kb3dzTG9jYWxEZWJ1Z2dlcjwvRGVidWdnZXJGbGF2b3I+JykKZW5kCmVuZApmdW5jdGlvbiBtLmxvY2FsRGVidWdnZXJDb21tYW5kKGNmZykKaWYgY2ZnLmRlYnVnY29tbWFuZCB0aGVuCmxvY2FsIGRpciA9IHBhdGgudHJhbnNsYXRlKGNmZy5kZWJ1Z2NvbW1hbmQpCnAudygnPExvY2FsRGVidWdnZXJDb21tYW5kPiVzPC9Mb2NhbERlYnVnZ2VyQ29tbWFuZD4nLCBkaXIpCmVuZAplbmQKZnVuY3Rpb24gbS5sb2NhbERlYnVnZ2VyRGVidWdnZXJUeXBlKGNmZykKaWYgY2ZnLmRlYnVnZ2VydHlwZSB0aGVuCnAudygnPExvY2FsRGVidWdnZXJEZWJ1Z2dlclR5cGU+JXM8L0xvY2FsRGVidWdnZXJEZWJ1Z2dlclR5cGU+JywgY2ZnLmRlYnVnZ2VydHlwZSkKZW5kCmVuZApmdW5jdGlvbiBtLmxvY2FsRGVidWdnZXJDb21tYW5kQXJndW1lbnRzKGNmZykKaWYgI2NmZy5kZWJ1Z2FyZ3MgPiAwIHRoZW4KcC54KCc8TG9jYWxEZWJ1Z2dlckNvbW1hbmRBcmd1bWVudHM+JXM8L0xvY2FsRGVidWdnZXJDb21tYW5kQXJndW1lbnRzPicsIHRhYmxlLmNvbmNhdChjZmcuZGVidWdhcmdzLCAiICIpKQplbmQKZW5kCmZ1bmN0aW9uIG0ubG9jYWxEZWJ1Z2dlcldvcmtpbmdEaXJlY3RvcnkoY2ZnKQppZiBjZmcuZGVidWdkaXIgdGhlbgpsb2NhbCBkaXIgPSBwLnZzdHVkaW8ucGF0aChjZmcsIGNmZy5kZWJ1Z2RpcikKcC54KCc8TG9jYWxEZWJ1Z2dlcldvcmtpbmdEaXJlY3Rvcnk+JXM8L0xvY2FsRGVidWdnZXJXb3JraW5nRGlyZWN0b3J5PicsIGRpcikKZW5kCmVuZApmdW5jdGlvbiBtLmxvY2FsRGVidWdnZXJFbnZpcm9ubWVudChjZmcpCmlmICNjZmcuZGVidWdlbnZzID4gMCB0aGVuCmxvY2FsIGVudnMgPSB0YWJsZS5jb25jYXQoY2ZnLmRlYnVnZW52cywgIlxuIikKaWYgY2ZnLmZsYWdzLkRlYnVnRW52c0luaGVyaXQgdGhlbgplbnZzID0gZW52cyAuLiAiXG4kKExvY2FsRGVidWdnZXJFbnZpcm9ubWVudCkiCmVuZApwLncoJzxMb2NhbERlYnVnZ2VyRW52aXJvbm1lbnQ+JXM8L0xvY2FsRGVidWdnZXJFbnZpcm9ubWVudD4nLCBlbnZzKQppZiBjZmcuZmxhZ3MuRGVidWdFbnZzRG9udE1lcmdlIHRoZW4KcC53KDIsJzxMb2NhbERlYnVnZ2VyTWVyZ2VFbnZpcm9ubWVudD5mYWxzZTwvTG9jYWxEZWJ1Z2dlck1lcmdlRW52aXJvbm1lbnQ+JykKZW5kCmVuZAplbmQKZnVuY3Rpb24gbS5sb2NhbERlYnVnZ2VyTWVyZ2VFbnZpcm9ubWVudChjZmcpCmlmICNjZmcuZGVidWdlbnZzID4gMCBhbmQgY2ZnLmZsYWdzLkRlYnVnRW52c0RvbnRNZXJnZSB0aGVuCnAudygyLCc8TG9jYWxEZWJ1Z2dlck1lcmdlRW52aXJvbm1lbnQ+ZmFsc2U8L0xvY2FsRGVidWdnZXJNZXJnZUVudmlyb25tZW50PicpCmVuZAplbmQKAAAAAAAAAGxvY2FsIHAgPSBwcmVtYWtlCmxvY2FsIHByb2plY3QgPSBwLnByb2plY3QKbG9jYWwgdHJlZSA9IHAudHJlZQpsb2NhbCBtID0gcC52c3R1ZGlvLnZjMjAxMApmdW5jdGlvbiBtLmdlbmVyYXRlRmlsdGVycyhwcmopCm0ueG1sRGVjbGFyYXRpb24oKQptLmZpbHRlcnNQcm9qZWN0KCkKbS51bmlxdWVJZGVudGlmaWVycyhwcmopCm0uZmlsdGVyR3JvdXBzKHByaikKcC5vdXQoJzwvUHJvamVjdD4nKQplbmQKZnVuY3Rpb24gbS5maWx0ZXJzUHJvamVjdCgpCmxvY2FsIGFjdGlvbiA9IHByZW1ha2UuYWN0aW9uLmN1cnJlbnQoKQpwLnB1c2goJzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iJXMiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPicsCmFjdGlvbi52c3R1ZGlvLmZpbHRlclRvb2xzVmVyc2lvbiBvciBhY3Rpb24udnN0dWRpby50b29sc1ZlcnNpb24pCmVuZAptLmVsZW1lbnRzLmZpbHRlckdyb3VwcyA9IHsKIk5vbmUiLAoiQ2xJbmNsdWRlIiwKIkNsQ29tcGlsZSIsCiJSZXNvdXJjZUNvbXBpbGUiLAoiQ3VzdG9tQnVpbGQiLAoiQ3VzdG9tUnVsZSIKfQptLmVsZW1lbnRzLmZpbHRlcnMgPSBmdW5jdGlvbihwcmosIGdyb3VwcykKbG9jYWwgY2FsbHMgPSB7fQpmb3IgaSwgZ3JvdXAgaW4gaXBhaXJzKG0uZWxlbWVudHMuZmlsdGVyR3JvdXBzKSBkbwpjYWxsc1tpXSA9IG1bZ3JvdXAgLi4gIkZpbHRlcnMiXQplbmQKcmV0dXJuIGNhbGxzCmVuZApmdW5jdGlvbiBtLmZpbHRlckdyb3VwcyhwcmopCmxvY2FsIGdyb3VwcyA9IG0uY2F0ZWdvcml6ZVNvdXJjZXMocHJqKQpwLmNhbGxBcnJheShtLmVsZW1lbnRzLmZpbHRlcnMsIHByaiwgZ3JvdXBzKQplbmQKZnVuY3Rpb24gbS51bmlxdWVJZGVudGlmaWVycyhwcmopCmxvY2FsIHRyID0gcHJvamVjdC5nZXRzb3VyY2V0cmVlKHByaikKbG9jYWwgY29udGVudHMgPSBwLmNhcHR1cmUoZnVuY3Rpb24oKQpwLnB1c2goKQp0cmVlLnRyYXZlcnNlKHRyLCB7Cm9uYnJhbmNoID0gZnVuY3Rpb24obm9kZSwgZGVwdGgpCnAucHVzaCgnPEZpbHRlciBJbmNsdWRlPSIlcyI+JywgcGF0aC50cmFuc2xhdGUobm9kZS5wYXRoKSkKcC53KCc8VW5pcXVlSWRlbnRpZmllcj57JXN9PC9VbmlxdWVJZGVudGlmaWVyPicsIG9zLnV1aWQobm9kZS5wYXRoKSkKcC5wb3AoJzwvRmlsdGVyPicpCmVuZAp9LCBmYWxzZSkKcC5wb3AoKQplbmQpCmlmICNjb250ZW50cyA+IDAgdGhlbgpwLnB1c2goJzxJdGVtR3JvdXA+JykKcC5vdXRsbihjb250ZW50cykKcC5wb3AoJzwvSXRlbUdyb3VwPicpCmVuZAplbmQKZnVuY3Rpb24gbS5DbENvbXBpbGVGaWx0ZXJzKHByaiwgZ3JvdXBzKQptLmZpbHRlckdyb3VwKHByaiwgZ3JvdXBzLCAiQ2xDb21waWxlIikKZW5kCmZ1bmN0aW9uIG0uQ2xJbmNsdWRlRmlsdGVycyhwcmosIGdyb3VwcykKbS5maWx0ZXJHcm91cChwcmosIGdyb3VwcywgIkNsSW5jbHVkZSIpCmVuZApmdW5jdGlvbiBtLkN1c3RvbUJ1aWxkRmlsdGVycyhwcmosIGdyb3VwcykKbS5maWx0ZXJHcm91cChwcmosIGdyb3VwcywgIkN1c3RvbUJ1aWxkIikKZW5kCmZ1bmN0aW9uIG0uQ3VzdG9tUnVsZUZpbHRlcnMocHJqLCBncm91cHMpCmZvciBncm91cCwgZmlsZXMgaW4gcGFpcnMoZ3JvdXBzKSBkbwppZiBub3QgdGFibGUuY29udGFpbnMobS5lbGVtZW50cy5maWx0ZXJHcm91cHMsIGdyb3VwKSB0aGVuCm0uZmlsdGVyR3JvdXAocHJqLCBncm91cHMsIGdyb3VwKQplbmQKZW5kCmVuZApmdW5jdGlvbiBtLk5vbmVGaWx0ZXJzKHByaiwgZ3JvdXBzKQptLmZpbHRlckdyb3VwKHByaiwgZ3JvdXBzLCAiTm9uZSIpCmVuZApmdW5jdGlvbiBtLlJlc291cmNlQ29tcGlsZUZpbHRlcnMocHJqLCBncm91cHMpCm0uZmlsdGVyR3JvdXAocHJqLCBncm91cHMsICJSZXNvdXJjZUNvbXBpbGUiKQplbmQKZnVuY3Rpb24gbS5maWx0ZXJHcm91cChwcmosIGdyb3VwcywgZ3JvdXApCmxvY2FsIGZpbGVzID0gZ3JvdXBzW2dyb3VwXSBvciB7fQppZiAjZmlsZXMgPiAwIHRoZW4KcC5wdXNoKCc8SXRlbUdyb3VwPicpCmZvciBfLCBmaWxlIGluIGlwYWlycyhmaWxlcykgZG8KaWYgZmlsZS5wYXJlbnQucGF0aCB0aGVuCnAucHVzaCgnPCVzIEluY2x1ZGU9XCIlc1wiPicsIGdyb3VwLCBwYXRoLnRyYW5zbGF0ZShmaWxlLnJlbHBhdGgpKQpwLncoJzxGaWx0ZXI+JXM8L0ZpbHRlcj4nLCBwYXRoLnRyYW5zbGF0ZShmaWxlLnBhcmVudC5wYXRoKSkKcC5wb3AoJzwvJXM+JywgZ3JvdXApCmVsc2UKcC53KCc8JXMgSW5jbHVkZT1cIiVzXCIgLz4nLCBncm91cCwgcGF0aC50cmFuc2xhdGUoZmlsZS5yZWxwYXRoKSkKZW5kCmVuZApwLnBvcCgnPC9JdGVtR3JvdXA+JykKZW5kCmVuZAoAAAAAAHByZW1ha2UudnN0dWRpby52czIwMTAucnVsZXMgPSB7fQpwcmVtYWtlLnZzdHVkaW8udnMyMDEwLnJ1bGVzLnByb3BzID0ge30KbG9jYWwgbSA9IHByZW1ha2UudnN0dWRpby52czIwMTAucnVsZXMucHJvcHMKbS5lbGVtZW50cyA9IHt9CmxvY2FsIHAgPSBwcmVtYWtlCm0uZWxlbWVudHMucHJvamVjdCA9IGZ1bmN0aW9uKHIpCnJldHVybiB7CnAudnN0dWRpby5wcm9qZWN0RWxlbWVudCwKbS50YXJnZXRzR3JvdXAsCm0uZGVwZW5kc09uR3JvdXAsCm0ucnVsZUdyb3VwLAp9CmVuZApmdW5jdGlvbiBtLmdlbmVyYXRlKHIpCnAueG1sVXRmOCgpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMucHJvamVjdCwgcikKcC5wb3AoKQpwLm91dCgnPC9Qcm9qZWN0PicpCmVuZAptLmVsZW1lbnRzLnRhcmdldHNHcm91cCA9IGZ1bmN0aW9uKHIpCnJldHVybiB7Cm0uYmVmb3JlVGFyZ2V0cywKbS5hZnRlclRhcmdldHMsCn0KZW5kCmZ1bmN0aW9uIG0udGFyZ2V0c0dyb3VwKHIpCnAudygnPFByb3BlcnR5R3JvdXAnKQpwLnB1c2goJyAgQ29uZGl0aW9uPSJcJyQoJXNCZWZvcmVUYXJnZXRzKVwnID09IFwnXCcgYW5kIFwnJCglc0FmdGVyVGFyZ2V0cylcJyA9PSBcJ1wnIGFuZCBcJyQoQ29uZmlndXJhdGlvblR5cGUpXCcgIT0gXCdNYWtlZmlsZVwnIj4nLApyLm5hbWUsIHIubmFtZSkKcC5jYWxsQXJyYXkobS5lbGVtZW50cy50YXJnZXRzR3JvdXAsIHIpCnAucG9wKCc8L1Byb3BlcnR5R3JvdXA+JykKZW5kCm0uZWxlbWVudHMuZGVwZW5kc09uR3JvdXAgPSBmdW5jdGlvbihyKQpyZXR1cm4gewptLmRlcGVuZHNPbiwKfQplbmQKZnVuY3Rpb24gbS5kZXBlbmRzT25Hcm91cChyKQpwLnB1c2goJzxQcm9wZXJ0eUdyb3VwPicpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMuZGVwZW5kc09uR3JvdXAsIHIpCnAucG9wKCc8L1Byb3BlcnR5R3JvdXA+JykKZW5kCm0uZWxlbWVudHMucnVsZUdyb3VwID0gZnVuY3Rpb24ocikKcmV0dXJuIHsKbS5wcm9wZXJ0eURlZmF1bHRzLAptLmNvbW1hbmRMaW5lVGVtcGxhdGVzLAptLm91dHB1dHMsCm0uZXhlY3V0aW9uRGVzY3JpcHRpb24sCm0uYWRkaXRpb25hbERlcGVuZGVuY2llcywKfQplbmQKZnVuY3Rpb24gbS5ydWxlR3JvdXAocikKcC5wdXNoKCc8SXRlbURlZmluaXRpb25Hcm91cD4nKQpwLnB1c2goJzwlcz4nLCByLm5hbWUpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMucnVsZUdyb3VwLCByKQpwLnBvcCgnPC8lcz4nLCByLm5hbWUpCnAucG9wKCc8L0l0ZW1EZWZpbml0aW9uR3JvdXA+JykKZW5kCmZ1bmN0aW9uIG0ucHJvcGVydHlEZWZhdWx0cyhyKQpsb2NhbCBkZWZzID0gci5wcm9wZXJ0eWRlZmluaXRpb24KZm9yIGkgPSAxLCAjZGVmcyBkbwpsb2NhbCBkZWYgPSBkZWZzW2ldCmxvY2FsIHZhbHVlID0gZGVmLnZhbHVlCmlmIHZhbHVlIHRoZW4KaWYgZGVmLmtpbmQgPT0gInBhdGgiIHRoZW4KdmFsdWUgPSBwYXRoLnRyYW5zbGF0ZSh2YWx1ZSkKZW5kCnAudygnPCVzPiVzPC8lcz4nLCBkZWYubmFtZSwgdmFsdWUsIGRlZi5uYW1lKQplbmQKZW5kCmVuZApmdW5jdGlvbiBtLmFkZGl0aW9uYWxEZXBlbmRlbmNpZXMocikKbG9jYWwgZGVwcyA9IHRhYmxlLmNvbmNhdChyLmJ1aWxkZGVwZW5kZW5jaWVzLCAiOyIpCnAueCgnPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JXM8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JywgZGVwcykKZW5kCmZ1bmN0aW9uIG0uYWZ0ZXJUYXJnZXRzKHIpCnAudygnPCVzQWZ0ZXJUYXJnZXRzPkN1c3RvbUJ1aWxkPC8lc0FmdGVyVGFyZ2V0cz4nLCByLm5hbWUsIHIubmFtZSkKZW5kCmZ1bmN0aW9uIG0uYmVmb3JlVGFyZ2V0cyhyKQpwLncoJzwlc0JlZm9yZVRhcmdldHM+TWlkbDwvJXNCZWZvcmVUYXJnZXRzPicsIHIubmFtZSwgci5uYW1lKQplbmQKZnVuY3Rpb24gbS5jb21tYW5kTGluZVRlbXBsYXRlcyhyKQppZiAjci5idWlsZGNvbW1hbmRzIHRoZW4KbG9jYWwgY21kcyA9IG9zLnRyYW5zbGF0ZUNvbW1hbmRzKHIuYnVpbGRjb21tYW5kcywgcC5XSU5ET1dTKQpjbWRzID0gdGFibGUuY29uY2F0KGNtZHMsIHAuZW9sKCkpCnAueCgnPENvbW1hbmRMaW5lVGVtcGxhdGU+JXM8L0NvbW1hbmRMaW5lVGVtcGxhdGU+JywgY21kcykKZW5kCmVuZApmdW5jdGlvbiBtLmRlcGVuZHNPbihyKQogICAgcC53KCc8JXNEZXBlbmRzT24nLCByLm5hbWUpCiAgICBwLncoJyAgQ29uZGl0aW9uPSJcJyQoQ29uZmlndXJhdGlvblR5cGUpXCcgIT0gXCdNYWtlZmlsZVwnIj5fU2VsZWN0ZWRGaWxlczskKCVzRGVwZW5kc09uKTwvJXNEZXBlbmRzT24+JywKICAgIHIubmFtZSwgci5uYW1lLCByLm5hbWUpCmVuZApmdW5jdGlvbiBtLmV4ZWN1dGlvbkRlc2NyaXB0aW9uKHIpCmlmIHIuYnVpbGRtZXNzYWdlIHRoZW4KcC54KCc8RXhlY3V0aW9uRGVzY3JpcHRpb24+JXM8L0V4ZWN1dGlvbkRlc2NyaXB0aW9uPicsIHIuYnVpbGRtZXNzYWdlKQplbmQKZW5kCmZ1bmN0aW9uIG0ub3V0cHV0cyhyKQppZiAjci5idWlsZG91dHB1dHMgdGhlbgpsb2NhbCBvdXRwdXRzID0gdGFibGUuY29uY2F0KHIuYnVpbGRvdXRwdXRzLCAiOyIpCnAueCgnPE91dHB1dHM+JXM8L091dHB1dHM+JywgcGF0aC50cmFuc2xhdGUob3V0cHV0cykpCmVuZAplbmQKAAAAAHByZW1ha2UudnN0dWRpby52czIwMTAucnVsZXMudGFyZ2V0cyA9IHt9CmxvY2FsIG0gPSBwcmVtYWtlLnZzdHVkaW8udnMyMDEwLnJ1bGVzLnRhcmdldHMKbS5lbGVtZW50cyA9IHt9CmxvY2FsIHAgPSBwcmVtYWtlCm0uZWxlbWVudHMucHJvamVjdCA9IGZ1bmN0aW9uKHIpCnJldHVybiB7CnAudnN0dWRpby5wcm9qZWN0RWxlbWVudCwKbS5hdmFpbGFibGVJdGVtR3JvdXAsCm0uY29tcHV0ZUlucHV0c0dyb3VwLAptLnVzaW5nVGFzaywKbS5ydWxlVGFyZ2V0LAptLmNvbXB1dGVPdXRwdXRUYXJnZXQsCn0KZW5kCmZ1bmN0aW9uIG0uZ2VuZXJhdGUocikKcC54bWxVdGY4KCkKcC5jYWxsQXJyYXkobS5lbGVtZW50cy5wcm9qZWN0LCByKQpwLnBvcCgpCnAub3V0KCc8L1Byb2plY3Q+JykKZW5kCm0uZWxlbWVudHMuYXZhaWxhYmxlSXRlbUdyb3VwID0gZnVuY3Rpb24ocikKcmV0dXJuIHsKbS5wcm9wZXJ0eVBhZ2VTY2hlbWEsCm0uYXZhaWxhYmxlSXRlbU5hbWUsCn0KZW5kCmZ1bmN0aW9uIG0uYXZhaWxhYmxlSXRlbUdyb3VwKHIpCnAucHVzaCgnPEl0ZW1Hcm91cD4nKQpwLmNhbGxBcnJheShtLmVsZW1lbnRzLmF2YWlsYWJsZUl0ZW1Hcm91cCwgcikKcC5wb3AoJzwvSXRlbUdyb3VwPicpCmVuZAptLmVsZW1lbnRzLmNvbXB1dGVJbnB1dHNHcm91cCA9IGZ1bmN0aW9uKHIpCnJldHVybiB7Cm0uY29tcHV0ZUxpbmtJbnB1dHNUYXJnZXRzLAptLmNvbXB1dGVMaWJJbnB1dHNUYXJnZXRzLAp9CmVuZApmdW5jdGlvbiBtLmNvbXB1dGVJbnB1dHNHcm91cChyKQpwLnB1c2goJzxQcm9wZXJ0eUdyb3VwPicpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMuY29tcHV0ZUlucHV0c0dyb3VwLCByKQpwLnBvcCgnPC9Qcm9wZXJ0eUdyb3VwPicpCmVuZAptLmVsZW1lbnRzLnJ1bGVUYXJnZXRBdHRyaWJ1dGVzID0gZnVuY3Rpb24ocikKcmV0dXJuIHsKbS50YXJnZXROYW1lLAptLmJlZm9yZVRhcmdldHMsCm0uYWZ0ZXJUYXJnZXRzLAptLnRhcmdldENvbmRpdGlvbiwKbS50YXJnZXRPdXRwdXRzLAptLnRhcmdldElucHV0cywKbS5kZXBlbmRzT25UYXJnZXRzLAp9CmVuZAptLmVsZW1lbnRzLnJ1bGVUYXJnZXQgPSBmdW5jdGlvbihyKQpyZXR1cm4gewptLnNlbGVjdGVkRmlsZXMsCm0udGxvZywKbS5tZXNzYWdlLAptLnRsb2dXcml0ZSwKbS50bG9nUmVhZCwKbS5ydWxlLAp9CmVuZApmdW5jdGlvbiBtLnJ1bGVUYXJnZXQocikKbG9jYWwgYXR0cmlicyA9IHAuY2FwdHVyZShmdW5jdGlvbigpCnAucHVzaCgpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMucnVsZVRhcmdldEF0dHJpYnV0ZXMsIHIpCnAucG9wKCkKZW5kKQpwLnB1c2goJzxUYXJnZXQnKQpwLm91dGxuKGF0dHJpYnMgLi4gJz4nKQpwLmNhbGxBcnJheShtLmVsZW1lbnRzLnJ1bGVUYXJnZXQsIHIpCnAucG9wKCc8L1RhcmdldD4nKQplbmQKbS5lbGVtZW50cy50bG9nID0gZnVuY3Rpb24ocikKcmV0dXJuIHsKbS50bG9nU291cmNlLAptLnRsb2dJbnB1dHMsCm0udGxvZ1Byb3BlcnRpZXMsCn0KZW5kCmZ1bmN0aW9uIG0udGxvZyhyKQpwLnB1c2goJzxJdGVtR3JvdXA+JykKcC5wdXNoKCc8JXNfdGxvZycsIHIubmFtZSkKcC53KCdJbmNsdWRlPSIlJSglcy5PdXRwdXRzKSInLCByLm5hbWUpCnAudygnQ29uZGl0aW9uPSJcJyUlKCVzLk91dHB1dHMpXCcgIT0gXCdcJyBhbmQgXCclJSglcy5FeGNsdWRlZEZyb21CdWlsZClcJyAhPSBcJ3RydWVcJyI+Jywgci5uYW1lLCByLm5hbWUpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMudGxvZywgcikKcC5wb3AoJzwvJXNfdGxvZz4nLCByLm5hbWUpCnAucG9wKCc8L0l0ZW1Hcm91cD4nKQplbmQKbS5lbGVtZW50cy5ydWxlQXR0cmlidXRlcyA9IGZ1bmN0aW9uKHIpCnJldHVybiB7Cm0ucnVsZUNvbmRpdGlvbiwKbS5jb21tYW5kTGluZVRlbXBsYXRlLAptLnByb3BlcnRpZXMsCm0uYWRkaXRpb25hbE9wdGlvbnMsCm0uaW5wdXRzLAptLnN0YW5kYXJkT3V0cHV0SW1wb3J0YW5jZSwKfQplbmQKZnVuY3Rpb24gbS5ydWxlKHIpCmxvY2FsIGF0dHJpYnMgPSBwLmNhcHR1cmUoZnVuY3Rpb24oKQpwLnB1c2goKQpwLmNhbGxBcnJheShtLmVsZW1lbnRzLnJ1bGVBdHRyaWJ1dGVzLCByKQpwLnBvcCgpCmVuZCkKcC53KCc8JXMnLCByLm5hbWUpCnAub3V0bG4oYXR0cmlicyAuLiAnIC8+JykKZW5kCm0uZWxlbWVudHMuY29tcHV0ZU91dHB1dEl0ZW1zID0gZnVuY3Rpb24ocikKcmV0dXJuIHsKbS5vdXRwdXRzLAptLmxpbmtMaWIsCn0KZW5kCm0uZWxlbWVudHMuY29tcHV0ZU91dHB1dFRhcmdldCA9IGZ1bmN0aW9uKHIpCnJldHVybiB7Cm0ubWFrZURpciwKfQplbmQKZnVuY3Rpb24gbS5jb21wdXRlT3V0cHV0VGFyZ2V0KHIpCnAucHVzaCgnPFRhcmdldCcpCnAudygnTmFtZT0iQ29tcHV0ZSVzT3V0cHV0IicsIHIubmFtZSkKcC53KCdDb25kaXRpb249IlwnQCglcylcJyAhPSBcJ1wnIj4nLCByLm5hbWUpCnAucHVzaCgnPEl0ZW1Hcm91cD4nKQpwLmNhbGxBcnJheShtLmVsZW1lbnRzLmNvbXB1dGVPdXRwdXRJdGVtcywgcikKcC5wb3AoJzwvSXRlbUdyb3VwPicpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMuY29tcHV0ZU91dHB1dFRhcmdldCwgcikKcC5wb3AoJzwvVGFyZ2V0PicpCmVuZApmdW5jdGlvbiBtLmFkZGl0aW9uYWxPcHRpb25zKHIpCnAudygnQWRkaXRpb25hbE9wdGlvbnM9IiUlKCVzLkFkZGl0aW9uYWxPcHRpb25zKSInLCByLm5hbWUpCmVuZApmdW5jdGlvbiBtLmNvbW1hbmRMaW5lVGVtcGxhdGUocikKcC53KCdDb21tYW5kTGluZVRlbXBsYXRlPSIlJSglcy5Db21tYW5kTGluZVRlbXBsYXRlKSInLCByLm5hbWUpCmVuZApmdW5jdGlvbiBtLmFmdGVyVGFyZ2V0cyhyKQpwLncoJ0FmdGVyVGFyZ2V0cz0iJCglc0FmdGVyVGFyZ2V0cykiJywgci5uYW1lKQplbmQKZnVuY3Rpb24gbS5hdmFpbGFibGVJdGVtTmFtZShyKQpwLnB1c2goJzxBdmFpbGFibGVJdGVtTmFtZSBJbmNsdWRlPSIlcyI+Jywgci5uYW1lKQpwLncoJzxUYXJnZXRzPl8lczwvVGFyZ2V0cz4nLCByLm5hbWUpCnAucG9wKCc8L0F2YWlsYWJsZUl0ZW1OYW1lPicpCmVuZApmdW5jdGlvbiBtLmJlZm9yZVRhcmdldHMocikKcC53KCdCZWZvcmVUYXJnZXRzPSIkKCVzQmVmb3JlVGFyZ2V0cykiJywgci5uYW1lKQplbmQKZnVuY3Rpb24gbS5jb21wdXRlTGliSW5wdXRzVGFyZ2V0cyhyKQpwLnB1c2goJzxDb21wdXRlTGliSW5wdXRzVGFyZ2V0cz4nKQpwLncoJyQoQ29tcHV0ZUxpYklucHV0c1RhcmdldHMpOycpCnAudygnQ29tcHV0ZSVzT3V0cHV0OycsIHIubmFtZSkKcC5wb3AoJzwvQ29tcHV0ZUxpYklucHV0c1RhcmdldHM+JykKZW5kCmZ1bmN0aW9uIG0uY29tcHV0ZUxpbmtJbnB1dHNUYXJnZXRzKHIpCnAucHVzaCgnPENvbXB1dGVMaW5rSW5wdXRzVGFyZ2V0cz4nKQpwLncoJyQoQ29tcHV0ZUxpbmtJbnB1dHNUYXJnZXRzKTsnKQpwLncoJ0NvbXB1dGUlc091dHB1dDsnLCByLm5hbWUpCnAucG9wKCc8L0NvbXB1dGVMaW5rSW5wdXRzVGFyZ2V0cz4nKQplbmQKZnVuY3Rpb24gbS5kZXBlbmRzT25UYXJnZXRzKHIpCnAudygnRGVwZW5kc09uVGFyZ2V0cz0iJCglc0RlcGVuZHNPbik7Q29tcHV0ZSVzT3V0cHV0IicsIHIubmFtZSwgci5uYW1lKQplbmQKZnVuY3Rpb24gbS5pbnB1dHMocikKcC53KCdJbnB1dHM9IiUlKCVzLklkZW50aXR5KSInLCByLm5hbWUpCmVuZApmdW5jdGlvbiBtLmxpbmtMaWIocikKbG9jYWwgbGlua2FibGUKZm9yIGkgPSAxLCAjci5idWlsZG91dHB1dHMgZG8KaWYgKHBhdGguaXNsaW5rYWJsZShyLmJ1aWxkb3V0cHV0c1tpXSkpIHRoZW4KbGlua2FibGUgPSB0cnVlCmVuZAplbmQKaWYgbGlua2FibGUgdGhlbgpmb3IgaSwgZWwgaW4gcGFpcnMgeyAnTGluaycsICdMaWInLCAnSW1wTGliJyB9IGRvCnAucHVzaCgnPCVzJywgZWwpCnAudygnSW5jbHVkZT0iJSUoJXNPdXRwdXRzLklkZW50aXR5KSInLCByLm5hbWUpCnAudygnQ29uZGl0aW9uPSJcJyUlKEV4dGVuc2lvbilcJz09XCcub2JqXCcgb3IgXCclJShFeHRlbnNpb24pXCc9PVwnLnJlc1wnIG9yIFwnJSUoRXh0ZW5zaW9uKVwnPT1cJy5yc2NcJyBvciBcJyUlKEV4dGVuc2lvbilcJz09XCcubGliXCciIC8+JykKcC5wb3AoKQplbmQKZW5kCmVuZApmdW5jdGlvbiBtLm1ha2VEaXIocikKcC53KCc8TWFrZURpciBEaXJlY3Rvcmllcz0iQCglc091dHB1dHMtPlwnJSUoUm9vdERpciklJShEaXJlY3RvcnkpXCcpIiAvPicsIHIubmFtZSkKZW5kCmZ1bmN0aW9uIG0ubWVzc2FnZShyKQpwLncoJzxNZXNzYWdlJykKcC53KCcgIEltcG9ydGFuY2U9IkhpZ2giJykKcC53KCcgIFRleHQ9IiUlKCVzLkV4ZWN1dGlvbkRlc2NyaXB0aW9uKSIgLz4nLCByLm5hbWUpCiBlbmQKZnVuY3Rpb24gbS5vdXRwdXRzKHIpCnAudygnPCVzT3V0cHV0cycsIHIubmFtZSkKcC53KCcgIENvbmRpdGlvbj0iXCdAKCVzKVwnICE9IFwnXCcgYW5kIFwnJSUoJXMuRXhjbHVkZWRGcm9tQnVpbGQpXCcgIT0gXCd0cnVlXCciJywgci5uYW1lLCByLm5hbWUpCiAgICAgICAgcC53KCcgIEluY2x1ZGU9IiUlKCVzLk91dHB1dHMpIiAvPicsIHIubmFtZSkKZW5kCiBmdW5jdGlvbiBtLnByb3BlcnRpZXMocikKbG9jYWwgZGVmcyA9IHIucHJvcGVydHlkZWZpbml0aW9uCmZvciBpID0gMSwgI2RlZnMgZG8KbG9jYWwgbmFtZSA9IGRlZnNbaV0ubmFtZQpwLncoJyVzPSIlJSglcy4lcykiJywgbmFtZSwgci5uYW1lLCBuYW1lKQplbmQKIGVuZApmdW5jdGlvbiBtLnByb3BlcnR5UGFnZVNjaGVtYShyKQpwLncoJzxQcm9wZXJ0eVBhZ2VTY2hlbWEnKQpwLncoJyAgSW5jbHVkZT0iJChNU0J1aWxkVGhpc0ZpbGVEaXJlY3RvcnkpJChNU0J1aWxkVGhpc0ZpbGVOYW1lKS54bWwiIC8+JykKZW5kCmZ1bmN0aW9uIG0ucnVsZUNvbmRpdGlvbihyKQpwLncoJ0NvbmRpdGlvbj0iXCdAKCVzKVwnICE9IFwnXCcgYW5kIFwnJSUoJXMuRXhjbHVkZWRGcm9tQnVpbGQpXCcgIT0gXCd0cnVlXCciJywgci5uYW1lLCByLm5hbWUpCmVuZApmdW5jdGlvbiBtLnNlbGVjdGVkRmlsZXMocikKcC5wdXNoKCc8SXRlbUdyb3VwIENvbmRpdGlvbj0iXCdAKFNlbGVjdGVkRmlsZXMpXCcgIT0gXCdcJyI+JykKcC53KCc8JXMgUmVtb3ZlPSJAKCVzKSIgQ29uZGl0aW9uPSJcJyUlKElkZW50aXR5KVwnICE9IFwnQChTZWxlY3RlZEZpbGVzKVwnIiAvPicsIHIubmFtZSwgci5uYW1lKQpwLnBvcCgnPC9JdGVtR3JvdXA+JykKZW5kCmZ1bmN0aW9uIG0uc3RhbmRhcmRPdXRwdXRJbXBvcnRhbmNlKHIpCnAudygnU3RhbmRhcmRPdXRwdXRJbXBvcnRhbmNlPSJIaWdoIicpCnAudygnU3RhbmRhcmRFcnJvckltcG9ydGFuY2U9IkhpZ2giJykKZW5kCmZ1bmN0aW9uIG0udGFyZ2V0Q29uZGl0aW9uKHIpCnAudygnQ29uZGl0aW9uPSJcJ0AoJXMpXCcgIT0gXCdcJyInLCByLm5hbWUpCmVuZApmdW5jdGlvbiBtLnRhcmdldElucHV0cyhyKQpsb2NhbCBleHRyYSA9IHt9CmxvY2FsIGRlZnMgPSByLnByb3BlcnR5ZGVmaW5pdGlvbgpmb3IgaSA9IDEsICNkZWZzIGRvCmxvY2FsIGRlZiA9IGRlZnNbaV0KaWYgZGVmLmRlcGVuZGVuY3kgdGhlbgp0YWJsZS5pbnNlcnQoZXh0cmEsIHN0cmluZy5mb3JtYXQoIiUlKCVzLiVzKTsiLCByLm5hbWUsIGRlZi5uYW1lKSkKZW5kCmVuZApleHRyYSA9IHRhYmxlLmNvbmNhdChleHRyYSkKcC53KCdJbnB1dHM9IiUlKCVzLklkZW50aXR5KTslJSglcy5BZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTslcyQoTVNCdWlsZFByb2plY3RGaWxlKSInLCByLm5hbWUsIHIubmFtZSwgZXh0cmEpCmVuZApmdW5jdGlvbiBtLnRhcmdldE5hbWUocikKcC53KCdOYW1lPSJfJXMiJywgci5uYW1lKQplbmQKZnVuY3Rpb24gbS50YXJnZXRPdXRwdXRzKHIpCnAudygnT3V0cHV0cz0iJSUoJXMuT3V0cHV0cykiJywgci5uYW1lKQplbmQKZnVuY3Rpb24gbS50bG9nSW5wdXRzKHIpCnAudygiPElucHV0cz5AKCVzLCAnOycpPC9JbnB1dHM+Iiwgci5uYW1lKQplbmQKZnVuY3Rpb24gbS50bG9nUHJvcGVydGllcyhyKQpsb2NhbCBkZWZzID0gci5wcm9wZXJ0eWRlZmluaXRpb24KZm9yIGkgPSAxLCAjZGVmcyBkbwpsb2NhbCBkZWYgPSBkZWZzW2ldCmlmIGRlZi5kZXBlbmRlbmN5IHRoZW4KcC53KCc8JXM+JSUoJXMuJXMpPC8lcz4nLCBkZWYubmFtZSwgci5uYW1lLCBkZWYubmFtZSwgZGVmLm5hbWUpCmVuZAplbmQKZW5kCmZ1bmN0aW9uIG0udGxvZ1JlYWQocikKbG9jYWwgZXh0cmEgPSB7fQpsb2NhbCBkZWZzID0gci5wcm9wZXJ0eWRlZmluaXRpb24KZm9yIGkgPSAxLCAjZGVmcyBkbwpsb2NhbCBkZWYgPSBkZWZzW2ldCmlmIGRlZi5kZXBlbmRlbmN5IHRoZW4KdGFibGUuaW5zZXJ0KGV4dHJhLCBzdHJpbmcuZm9ybWF0KCIlJSglc190bG9nLiVzKTsiLCByLm5hbWUsIGRlZi5uYW1lKSkKZW5kCmVuZApleHRyYSA9IHRhYmxlLmNvbmNhdChleHRyYSkKcC53KCc8V3JpdGVMaW5lc1RvRmlsZScpCnAudygnICBDb25kaXRpb249IlwnQCglc190bG9nKVwnICE9IFwnXCcgYW5kIFwnJSUoJXNfdGxvZy5FeGNsdWRlZEZyb21CdWlsZClcJyAhPSBcJ3RydWVcJyInLCByLm5hbWUsIHIubmFtZSkKcC53KCcgIEZpbGU9IiQoSW50RGlyKSQoUHJvamVjdE5hbWUpLnJlYWQuMS50bG9nIicpCnAudygnICBMaW5lcz0iXiUlKCVzX3Rsb2cuSW5wdXRzKTslcyQoTVNCdWlsZFByb2plY3RGdWxsUGF0aCk7JSUoJXNfdGxvZy5GdWxscGF0aCkiIC8+Jywgci5uYW1lLCBleHRyYSwgci5uYW1lKQplbmQKZnVuY3Rpb24gbS50bG9nV3JpdGUocikKcC53KCc8V3JpdGVMaW5lc1RvRmlsZScpCnAudygnICBDb25kaXRpb249IlwnQCglc190bG9nKVwnICE9IFwnXCcgYW5kIFwnJSUoJXNfdGxvZy5FeGNsdWRlZEZyb21CdWlsZClcJyAhPSBcJ3RydWVcJyInLCByLm5hbWUsIHIubmFtZSkKcC53KCcgIEZpbGU9IiQoSW50RGlyKSQoUHJvamVjdE5hbWUpLndyaXRlLjEudGxvZyInKQpwLncoJyAgTGluZXM9Il4lJSglc190bG9nLlNvdXJjZSk7JSUoJXNfdGxvZy5GdWxscGF0aCkiIC8+Jywgci5uYW1lLCByLm5hbWUpCmVuZApmdW5jdGlvbiBtLnRsb2dTb3VyY2UocikKcC53KCI8U291cmNlPkAoJXMsICd8Jyk8L1NvdXJjZT4iLCByLm5hbWUpCmVuZApmdW5jdGlvbiBtLnVzaW5nVGFzayhyKQpwLnB1c2goJzxVc2luZ1Rhc2snKQpwLncoJ1Rhc2tOYW1lPSIlcyInLCByLm5hbWUpCnAudygnVGFza0ZhY3Rvcnk9IlhhbWxUYXNrRmFjdG9yeSInKQpwLncoJ0Fzc2VtYmx5TmFtZT0iTWljcm9zb2Z0LkJ1aWxkLlRhc2tzLnY0LjAiPicpCnAudygnPFRhc2s+JChNU0J1aWxkVGhpc0ZpbGVEaXJlY3RvcnkpJChNU0J1aWxkVGhpc0ZpbGVOYW1lKS54bWw8L1Rhc2s+JykKcC5wb3AoJzwvVXNpbmdUYXNrPicpCmVuZAoAAAAAAABwcmVtYWtlLnZzdHVkaW8udnMyMDEwLnJ1bGVzLnhtbCA9IHt9CmxvY2FsIG0gPSBwcmVtYWtlLnZzdHVkaW8udnMyMDEwLnJ1bGVzLnhtbAptLmVsZW1lbnRzID0ge30KbG9jYWwgcCA9IHByZW1ha2UKbS5lbGVtZW50cy5wcm9qZWN0ID0gZnVuY3Rpb24ocikKcmV0dXJuIHsKcC54bWxVdGY4LAptLnByb2plY3RTY2hlbWFEZWZpbml0aW9ucywKbS5ydWxlLAptLnJ1bGVJdGVtLAptLmZpbGVFeHRlbnNpb24sCm0uY29udGVudFR5cGUsCn0KZW5kCmZ1bmN0aW9uIG0uZ2VuZXJhdGUocikKcC5jYWxsQXJyYXkobS5lbGVtZW50cy5wcm9qZWN0LCByKQpwLm91dCgnPC9Qcm9qZWN0U2NoZW1hRGVmaW5pdGlvbnM+JykKZW5kCm0uZWxlbWVudHMucnVsZSA9IGZ1bmN0aW9uKHIpCnJldHVybiB7Cm0uZGF0YVNvdXJjZSwKbS5jYXRlZ29yaWVzLAptLmlucHV0cywKbS5wcm9wZXJ0aWVzLAptLmNvbW1hbmRMaW5lVGVtcGxhdGUsCm0uYmVmb3JlVGFyZ2V0cywKbS5hZnRlclRhcmdldHMsCm0ub3V0cHV0cywKbS5leGVjdXRpb25EZXNjcmlwdGlvbiwKbS5hZGRpdGlvbmFsRGVwZW5kZW5jaWVzLAptLmFkZGl0aW9uYWxPcHRpb25zLAp9CmVuZApmdW5jdGlvbiBtLnJ1bGUocikKcC5wdXNoKCc8UnVsZScpCnAudygnTmFtZT0iJXMiJywgci5uYW1lKQpwLncoJ1BhZ2VUZW1wbGF0ZT0idG9vbCInKQpwLncoJ0Rpc3BsYXlOYW1lPSIlcyInLCByLmRpc3BsYXkgb3Igci5uYW1lKQpwLncoJ09yZGVyPSIyMDAiPicpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMucnVsZSwgcikKcC5wb3AoJzwvUnVsZT4nKQplbmQKZnVuY3Rpb24gbS5jYXRlZ29yaWVzKHIpCmxvY2FsIGNhdGVnb3JpZXMgPSB7ClsxXSA9IHsgbmFtZT0iR2VuZXJhbCIgfSwKWzJdID0geyBuYW1lPSJDb21tYW5kIExpbmUiLCBzdWJ0eXBlPSJDb21tYW5kTGluZSIgfSwKfQpwLnB1c2goJzxSdWxlLkNhdGVnb3JpZXM+JykKZm9yIGkgPSAxLCAjY2F0ZWdvcmllcyBkbwptLmNhdGVnb3J5KGNhdGVnb3JpZXNbaV0pCmVuZApwLnBvcCgnPC9SdWxlLkNhdGVnb3JpZXM+JykKZW5kCmZ1bmN0aW9uIG0uY2F0ZWdvcnkoY2F0KQpsb2NhbCBhdHRyaWJzID0gcC5jYXB0dXJlKGZ1bmN0aW9uKCkKcC5wdXNoKCkKcC53KCdOYW1lPSIlcyInLCBjYXQubmFtZSkKaWYgY2F0LnN1YnR5cGUgdGhlbgpwLncoJ1N1YnR5cGU9IiVzIicsIGNhdC5zdWJ0eXBlKQplbmQKcC5wb3AoKQplbmQpCnAucHVzaCgnPENhdGVnb3J5JykKcC5vdXRsbihhdHRyaWJzIC4uICc+JykKcC5wdXNoKCc8Q2F0ZWdvcnkuRGlzcGxheU5hbWU+JykKcC53KCc8c3lzOlN0cmluZz4lczwvc3lzOlN0cmluZz4nLCBjYXQubmFtZSkKcC5wb3AoJzwvQ2F0ZWdvcnkuRGlzcGxheU5hbWU+JykKcC5wb3AoJzwvQ2F0ZWdvcnk+JykKZW5kCmZ1bmN0aW9uIG0ucHJvcGVydGllcyhyKQpsb2NhbCBkZWZzID0gci5wcm9wZXJ0eWRlZmluaXRpb24KZm9yIGkgPSAxLCAjZGVmcyBkbwpsb2NhbCBkZWYgPSBkZWZzW2ldCmlmIGRlZi5raW5kID09ICJib29sZWFuIiB0aGVuCm0uYm9vbFByb3BlcnR5KGRlZikKZWxzZWlmIGRlZi5raW5kID09ICJsaXN0IiB0aGVuCm0uc3RyaW5nTGlzdFByb3BlcnR5KGRlZikKZWxzZWlmIHR5cGUoZGVmLnZhbHVlcykgPT0gInRhYmxlIiB0aGVuCm0uZW51bVByb3BlcnR5KGRlZikKZWxzZQptLnN0cmluZ1Byb3BlcnR5KGRlZikKZW5kCmVuZAplbmQKZnVuY3Rpb24gbS5iYXNlUHJvcGVydHkoZGVmLCBzdWZmaXgpCmxvY2FsIGMgPSBwLmNhcHR1cmUoZnVuY3Rpb24gKCkKcC53KCdOYW1lPSIlcyInLCBkZWYubmFtZSkKcC53KCdIZWxwQ29udGV4dD0iMCInKQpwLncoJ0Rpc3BsYXlOYW1lPSIlcyInLCBkZWYuZGlzcGxheSBvciBkZWYubmFtZSkKaWYgZGVmLmRlc2NyaXB0aW9uIHRoZW4KcC53KCdEZXNjcmlwdGlvbj0iJXMiJywgZGVmLmRlc2NyaXB0aW9uKQplbmQKZW5kKQppZiBzdWZmaXggdGhlbgpjID0gYyAuLiBzdWZmaXgKZW5kCnAub3V0bG4oYykKZW5kCmZ1bmN0aW9uIG0uYm9vbFByb3BlcnR5KGRlZikKcC5wdXNoKCc8Qm9vbFByb3BlcnR5JykKbS5iYXNlUHJvcGVydHkoZGVmKQpwLncoJ1N3aXRjaD0iJXMiIC8+JywgZGVmLnN3aXRjaCBvciAiW3ZhbHVlXSIpCnAucG9wKCkKZW5kCmZ1bmN0aW9uIG0uZW51bVByb3BlcnR5KGRlZikKcC5wdXNoKCc8RW51bVByb3BlcnR5JykKbS5iYXNlUHJvcGVydHkoZGVmLCAnPicpCmxvY2FsIHZhbHVlcyA9IGRlZi52YWx1ZXMKbG9jYWwgc3dpdGNoZXMgPSBkZWYuc3dpdGNoIG9yIHt9CmxvY2FsIGtleXMgPSB0YWJsZS5rZXlzKGRlZi52YWx1ZXMpCnRhYmxlLnNvcnQoa2V5cykKZm9yIF8sIGtleSBpbiBwYWlycyhrZXlzKSBkbwpwLnB1c2goJzxFbnVtVmFsdWUnKQpwLncoJ05hbWU9IiVkIicsIGtleSkKaWYgc3dpdGNoZXNba2V5XSB0aGVuCnAudygnRGlzcGxheU5hbWU9IiVzIicsIHZhbHVlc1trZXldKQpwLncoJ1N3aXRjaD0iJXMiIC8+Jywgc3dpdGNoZXNba2V5XSkKZWxzZQpwLncoJ0Rpc3BsYXlOYW1lPSIlcyIgLz4nLCB2YWx1ZXNba2V5XSkKZW5kCnAucG9wKCkKZW5kCnAucG9wKCc8L0VudW1Qcm9wZXJ0eT4nKQplbmQKZnVuY3Rpb24gbS5zdHJpbmdQcm9wZXJ0eShkZWYpCnAucHVzaCgnPFN0cmluZ1Byb3BlcnR5JykKbS5iYXNlUHJvcGVydHkoZGVmKQpwLncoJ1N3aXRjaD0iJXMiIC8+JywgZGVmLnN3aXRjaCBvciAiW3ZhbHVlXSIpCnAucG9wKCkKZW5kCmZ1bmN0aW9uIG0uc3RyaW5nTGlzdFByb3BlcnR5KGRlZikKcC5wdXNoKCc8U3RyaW5nTGlzdFByb3BlcnR5JykKbS5iYXNlUHJvcGVydHkoZGVmKQpwLncoJ1NlcGFyYXRvcj0iJXMiJywgZGVmLnNlcGFyYXRvciBvciAiICIpCnAudygnU3dpdGNoPSIlcyIgLz4nLCBkZWYuc3dpdGNoIG9yICJbdmFsdWVdIikKcC5wb3AoKQplbmQKZnVuY3Rpb24gbS5hZGRpdGlvbmFsRGVwZW5kZW5jaWVzKHIpCnAucHVzaCgnPFN0cmluZ0xpc3RQcm9wZXJ0eScpCnAudygnTmFtZT0iQWRkaXRpb25hbERlcGVuZGVuY2llcyInKQpwLncoJ0Rpc3BsYXlOYW1lPSJBZGRpdGlvbmFsIERlcGVuZGVuY2llcyInKQpwLncoJ0luY2x1ZGVJbkNvbW1hbmRMaW5lPSJGYWxzZSInKQpwLncoJ1Zpc2libGU9ImZhbHNlIiAvPicpCnAucG9wKCkKZW5kCmZ1bmN0aW9uIG0uYWRkaXRpb25hbE9wdGlvbnMocikKcC5wdXNoKCc8U3RyaW5nUHJvcGVydHknKQpwLncoJ1N1YnR5cGU9IkFkZGl0aW9uYWxPcHRpb25zIicpCnAudygnTmFtZT0iQWRkaXRpb25hbE9wdGlvbnMiJykKcC53KCdDYXRlZ29yeT0iQ29tbWFuZCBMaW5lIj4nKQpwLnB1c2goJzxTdHJpbmdQcm9wZXJ0eS5EaXNwbGF5TmFtZT4nKQpwLncoJzxzeXM6U3RyaW5nPkFkZGl0aW9uYWwgT3B0aW9uczwvc3lzOlN0cmluZz4nKQpwLnBvcCgnPC9TdHJpbmdQcm9wZXJ0eS5EaXNwbGF5TmFtZT4nKQpwLnB1c2goJzxTdHJpbmdQcm9wZXJ0eS5EZXNjcmlwdGlvbj4nKQpwLncoJzxzeXM6U3RyaW5nPkFkZGl0aW9uYWwgT3B0aW9uczwvc3lzOlN0cmluZz4nKQpwLnBvcCgnPC9TdHJpbmdQcm9wZXJ0eS5EZXNjcmlwdGlvbj4nKQpwLnBvcCgnPC9TdHJpbmdQcm9wZXJ0eT4nKQplbmQKZnVuY3Rpb24gbS5hZnRlclRhcmdldHMocikKcC5wdXNoKCc8RHluYW1pY0VudW1Qcm9wZXJ0eScpCnAudygnTmFtZT0iJXNBZnRlclRhcmdldHMiJywgci5uYW1lKQpwLncoJ0NhdGVnb3J5PSJHZW5lcmFsIicpCnAudygnRW51bVByb3ZpZGVyPSJUYXJnZXRzIicpCnAudygnSW5jbHVkZUluQ29tbWFuZExpbmU9IkZhbHNlIj4nKQpwLnB1c2goJzxEeW5hbWljRW51bVByb3BlcnR5LkRpc3BsYXlOYW1lPicpCnAudygnPHN5czpTdHJpbmc+RXhlY3V0ZSBBZnRlcjwvc3lzOlN0cmluZz4nKQpwLnBvcCgnPC9EeW5hbWljRW51bVByb3BlcnR5LkRpc3BsYXlOYW1lPicpCnAucHVzaCgnPER5bmFtaWNFbnVtUHJvcGVydHkuRGVzY3JpcHRpb24+JykKcC53KCc8c3lzOlN0cmluZz5TcGVjaWZpZXMgdGhlIHRhcmdldHMgZm9yIHRoZSBidWlsZCBjdXN0b21pemF0aW9uIHRvIHJ1biBhZnRlci48L3N5czpTdHJpbmc+JykKcC5wb3AoJzwvRHluYW1pY0VudW1Qcm9wZXJ0eS5EZXNjcmlwdGlvbj4nKQpwLnB1c2goJzxEeW5hbWljRW51bVByb3BlcnR5LlByb3ZpZGVyU2V0dGluZ3M+JykKcC5wdXNoKCc8TmFtZVZhbHVlUGFpcicpCnAudygnTmFtZT0iRXhjbHVkZSInKQpwLncoJ1ZhbHVlPSJeJXNBZnRlclRhcmdldHN8XkNvbXB1dGUiIC8+Jywgci5uYW1lKQpwLnBvcCgpCnAucG9wKCc8L0R5bmFtaWNFbnVtUHJvcGVydHkuUHJvdmlkZXJTZXR0aW5ncz4nKQpwLnB1c2goJzxEeW5hbWljRW51bVByb3BlcnR5LkRhdGFTb3VyY2U+JykKcC5wdXNoKCc8RGF0YVNvdXJjZScpCnAudygnUGVyc2lzdGVuY2U9IlByb2plY3RGaWxlIicpCnAudygnSXRlbVR5cGU9IiInKQpwLncoJ0hhc0NvbmZpZ3VyYXRpb25Db25kaXRpb249InRydWUiIC8+JykKcC5wb3AoKQpwLnBvcCgnPC9EeW5hbWljRW51bVByb3BlcnR5LkRhdGFTb3VyY2U+JykKcC5wb3AoJzwvRHluYW1pY0VudW1Qcm9wZXJ0eT4nKQplbmQKZnVuY3Rpb24gbS5iZWZvcmVUYXJnZXRzKHIpCnAucHVzaCgnPER5bmFtaWNFbnVtUHJvcGVydHknKQpwLncoJ05hbWU9IiVzQmVmb3JlVGFyZ2V0cyInLCByLm5hbWUpCnAudygnQ2F0ZWdvcnk9IkdlbmVyYWwiJykKcC53KCdFbnVtUHJvdmlkZXI9IlRhcmdldHMiJykKcC53KCdJbmNsdWRlSW5Db21tYW5kTGluZT0iRmFsc2UiPicpCnAucHVzaCgnPER5bmFtaWNFbnVtUHJvcGVydHkuRGlzcGxheU5hbWU+JykKcC53KCc8c3lzOlN0cmluZz5FeGVjdXRlIEJlZm9yZTwvc3lzOlN0cmluZz4nKQpwLnBvcCgnPC9EeW5hbWljRW51bVByb3BlcnR5LkRpc3BsYXlOYW1lPicpCnAucHVzaCgnPER5bmFtaWNFbnVtUHJvcGVydHkuRGVzY3JpcHRpb24+JykKcC53KCc8c3lzOlN0cmluZz5TcGVjaWZpZXMgdGhlIHRhcmdldHMgZm9yIHRoZSBidWlsZCBjdXN0b21pemF0aW9uIHRvIHJ1biBiZWZvcmUuPC9zeXM6U3RyaW5nPicpCnAucG9wKCc8L0R5bmFtaWNFbnVtUHJvcGVydHkuRGVzY3JpcHRpb24+JykKcC5wdXNoKCc8RHluYW1pY0VudW1Qcm9wZXJ0eS5Qcm92aWRlclNldHRpbmdzPicpCnAucHVzaCgnPE5hbWVWYWx1ZVBhaXInKQpwLncoJ05hbWU9IkV4Y2x1ZGUiJykKcC53KCdWYWx1ZT0iXiVzQmVmb3JlVGFyZ2V0c3xeQ29tcHV0ZSIgLz4nLCByLm5hbWUpCnAucG9wKCkKcC5wb3AoJzwvRHluYW1pY0VudW1Qcm9wZXJ0eS5Qcm92aWRlclNldHRpbmdzPicpCnAucHVzaCgnPER5bmFtaWNFbnVtUHJvcGVydHkuRGF0YVNvdXJjZT4nKQpwLnB1c2goJzxEYXRhU291cmNlJykKcC53KCdQZXJzaXN0ZW5jZT0iUHJvamVjdEZpbGUiJykKcC53KCdIYXNDb25maWd1cmF0aW9uQ29uZGl0aW9uPSJ0cnVlIiAvPicpCnAucG9wKCkKcC5wb3AoJzwvRHluYW1pY0VudW1Qcm9wZXJ0eS5EYXRhU291cmNlPicpCnAucG9wKCc8L0R5bmFtaWNFbnVtUHJvcGVydHk+JykKZW5kCmZ1bmN0aW9uIG0uY29tbWFuZExpbmVUZW1wbGF0ZShyKQpwLnB1c2goJzxTdHJpbmdQcm9wZXJ0eScpCnAudygnTmFtZT0iQ29tbWFuZExpbmVUZW1wbGF0ZSInKQpwLncoJ0Rpc3BsYXlOYW1lPSJDb21tYW5kIExpbmUiJykKcC53KCdWaXNpYmxlPSJGYWxzZSInKQpwLncoJ0luY2x1ZGVJbkNvbW1hbmRMaW5lPSJGYWxzZSIgLz4nKQpwLnBvcCgpCmVuZApmdW5jdGlvbiBtLmNvbnRlbnRUeXBlKHIpCnAucHVzaCgnPENvbnRlbnRUeXBlJykKcC53KCdOYW1lPSIlcyInLCByLm5hbWUpCnAudygnRGlzcGxheU5hbWU9IiVzIicsIHIuZGlzcGxheSBvciByLm5hbWUpCnAudygnSXRlbVR5cGU9IiVzIiAvPicsIHIubmFtZSkKcC5wb3AoKQplbmQKZnVuY3Rpb24gbS5kYXRhU291cmNlKHIpCnAucHVzaCgnPFJ1bGUuRGF0YVNvdXJjZT4nKQpwLnB1c2goJzxEYXRhU291cmNlJykKcC53KCdQZXJzaXN0ZW5jZT0iUHJvamVjdEZpbGUiJykKcC53KCdJdGVtVHlwZT0iJXMiIC8+Jywgci5uYW1lKQpwLnBvcCgpCnAucG9wKCc8L1J1bGUuRGF0YVNvdXJjZT4nKQplbmQKZnVuY3Rpb24gbS5leGVjdXRpb25EZXNjcmlwdGlvbihyKQpwLnB1c2goJzxTdHJpbmdQcm9wZXJ0eScpCnAudygnTmFtZT0iRXhlY3V0aW9uRGVzY3JpcHRpb24iJykKcC53KCdEaXNwbGF5TmFtZT0iRXhlY3V0aW9uIERlc2NyaXB0aW9uIicpCnAudygnVmlzaWJsZT0iRmFsc2UiJykKcC53KCdJbmNsdWRlSW5Db21tYW5kTGluZT0iRmFsc2UiIC8+JykKcC5wb3AoKQplbmQKZnVuY3Rpb24gbS5maWxlRXh0ZW5zaW9uKHIpCnAucHVzaCgnPEZpbGVFeHRlbnNpb24nKQpwLncoJ05hbWU9IiolcyInLCByLmZpbGVleHRlbnNpb24pCnAudygnQ29udGVudFR5cGU9IiVzIiAvPicsIHIubmFtZSkKcC5wb3AoKQplbmQKZnVuY3Rpb24gbS5pbnB1dHMocikKcC5wdXNoKCc8U3RyaW5nTGlzdFByb3BlcnR5JykKcC53KCdOYW1lPSJJbnB1dHMiJykKcC53KCdDYXRlZ29yeT0iQ29tbWFuZCBMaW5lIicpCnAudygnSXNSZXF1aXJlZD0idHJ1ZSInKQpwLncoJ1N3aXRjaD0iICI+JykKcC5wdXNoKCc8U3RyaW5nTGlzdFByb3BlcnR5LkRhdGFTb3VyY2U+JykKcC5wdXNoKCc8RGF0YVNvdXJjZScpCnAudygnUGVyc2lzdGVuY2U9IlByb2plY3RGaWxlIicpCnAudygnSXRlbVR5cGU9IiVzIicsIHIubmFtZSkKcC53KCdTb3VyY2VUeXBlPSJJdGVtIiAvPicpCnAucG9wKCkKcC5wb3AoJzwvU3RyaW5nTGlzdFByb3BlcnR5LkRhdGFTb3VyY2U+JykKcC5wb3AoJzwvU3RyaW5nTGlzdFByb3BlcnR5PicpCmVuZApmdW5jdGlvbiBtLm91dHB1dHMocikKcC5wdXNoKCc8U3RyaW5nTGlzdFByb3BlcnR5JykKcC53KCdOYW1lPSJPdXRwdXRzIicpCnAudygnRGlzcGxheU5hbWU9Ik91dHB1dHMiJykKcC53KCdWaXNpYmxlPSJGYWxzZSInKQpwLncoJ0luY2x1ZGVJbkNvbW1hbmRMaW5lPSJGYWxzZSIgLz4nKQpwLnBvcCgpCmVuZApmdW5jdGlvbiBtLnJ1bGVJdGVtKHIpCnAucHVzaCgnPEl0ZW1UeXBlJykKcC53KCdOYW1lPSIlcyInLCByLm5hbWUpCnAudygnRGlzcGxheU5hbWU9IiVzIiAvPicsIHIuZGlzcGxheSBvciByLm5hbWUpCnAucG9wKCkKZW5kCmZ1bmN0aW9uIG0ucHJvamVjdFNjaGVtYURlZmluaXRpb25zKHIpCnAucHVzaCgnPFByb2plY3RTY2hlbWFEZWZpbml0aW9ucyB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9idWlsZC8yMDA5L3Byb3BlcnRpZXMiIHhtbG5zOng9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2luZngvMjAwNi94YW1sIiB4bWxuczpzeXM9ImNsci1uYW1lc3BhY2U6U3lzdGVtO2Fzc2VtYmx5PW1zY29ybGliIj4nKQplbmQKAAAAbG9jYWwgdnN0dWRpbyA9IHByZW1ha2UudnN0dWRpbwpsb2NhbCBjczIwMDUgPSB2c3R1ZGlvLmNzMjAwNQpsb2NhbCB2YzIwMTAgPSB2c3R1ZGlvLnZjMjAxMApsb2NhbCBwID0gcHJlbWFrZQpuZXdhY3Rpb24gewp0cmlnZ2VyICAgICA9ICJ2czIwMTIiLApzaG9ydG5hbWUgICA9ICJWaXN1YWwgU3R1ZGlvIDIwMTIiLApkZXNjcmlwdGlvbiA9ICJHZW5lcmF0ZSBWaXN1YWwgU3R1ZGlvIDIwMTIgcHJvamVjdCBmaWxlcyIsCm9zID0gIndpbmRvd3MiLAp2YWxpZF9raW5kcyAgICAgPSB7ICJDb25zb2xlQXBwIiwgIldpbmRvd2VkQXBwIiwgIlN0YXRpY0xpYiIsICJTaGFyZWRMaWIiLCAiTWFrZWZpbGUiLCAiTm9uZSIsICJVdGlsaXR5IiB9LAp2YWxpZF9sYW5ndWFnZXMgPSB7ICJDIiwgIkMrKyIsICJDIyIgfSwKdmFsaWRfdG9vbHMgICAgID0gewpjYyAgICAgPSB7ICJtc2MiICAgfSwKZG90bmV0ID0geyAibXNuZXQiIH0sCn0sCm9uV29ya3NwYWNlID0gZnVuY3Rpb24od2tzKQp2c3R1ZGlvLnZzMjAwNS5nZW5lcmF0ZVNvbHV0aW9uKHdrcykKZW5kLApvblByb2plY3QgPSBmdW5jdGlvbihwcmopCnZzdHVkaW8udnMyMDEwLmdlbmVyYXRlUHJvamVjdChwcmopCmVuZCwKb25SdWxlID0gZnVuY3Rpb24ocnVsZSkKdnN0dWRpby52czIwMTAuZ2VuZXJhdGVSdWxlKHJ1bGUpCmVuZCwKb25DbGVhbldvcmtzcGFjZSA9IGZ1bmN0aW9uKHdrcykKdnN0dWRpby5jbGVhblNvbHV0aW9uKHdrcykKZW5kLApvbkNsZWFuUHJvamVjdCA9IGZ1bmN0aW9uKHByaikKdnN0dWRpby5jbGVhblByb2plY3QocHJqKQplbmQsCm9uQ2xlYW5UYXJnZXQgPSBmdW5jdGlvbihwcmopCnZzdHVkaW8uY2xlYW5UYXJnZXQocHJqKQplbmQsCnBhdGhWYXJzICAgICAgICA9IHZzdHVkaW8ucGF0aFZhcnMsCnZzdHVkaW8gPSB7CnNvbHV0aW9uVmVyc2lvbiA9ICIxMiIsCnZlcnNpb25OYW1lICAgICA9ICIyMDEyIiwKdGFyZ2V0RnJhbWV3b3JrID0gIjQuNSIsCnRvb2xzVmVyc2lvbiAgICA9ICI0LjAiLApwbGF0Zm9ybVRvb2xzZXQgPSAidjExMCIKfQp9CgAAAABwcmVtYWtlLnZzdHVkaW8udmMyMDEzID0ge30KbG9jYWwgcCA9IHByZW1ha2UKbG9jYWwgdnN0dWRpbyA9IHAudnN0dWRpbwpsb2NhbCB2YzIwMTAgPSB2c3R1ZGlvLnZjMjAxMApsb2NhbCBtID0gdnN0dWRpby52YzIwMTMKbmV3YWN0aW9uIHsKdHJpZ2dlciAgICAgPSAidnMyMDEzIiwKc2hvcnRuYW1lICAgPSAiVmlzdWFsIFN0dWRpbyAyMDEzIiwKZGVzY3JpcHRpb24gPSAiR2VuZXJhdGUgVmlzdWFsIFN0dWRpbyAyMDEzIHByb2plY3QgZmlsZXMiLApvcyA9ICJ3aW5kb3dzIiwKdmFsaWRfa2luZHMgICAgID0geyAiQ29uc29sZUFwcCIsICJXaW5kb3dlZEFwcCIsICJTdGF0aWNMaWIiLCAiU2hhcmVkTGliIiwgIk1ha2VmaWxlIiwgIk5vbmUiLCAiVXRpbGl0eSIgfSwKdmFsaWRfbGFuZ3VhZ2VzID0geyAiQyIsICJDKysiLCAiQyMiIH0sCnZhbGlkX3Rvb2xzICAgICA9IHsKY2MgICAgID0geyAibXNjIiAgIH0sCmRvdG5ldCA9IHsgIm1zbmV0IiB9LAp9LApvbldvcmtzcGFjZSA9IGZ1bmN0aW9uKHdrcykKdnN0dWRpby52czIwMDUuZ2VuZXJhdGVTb2x1dGlvbih3a3MpCmVuZCwKb25Qcm9qZWN0ID0gZnVuY3Rpb24ocHJqKQp2c3R1ZGlvLnZzMjAxMC5nZW5lcmF0ZVByb2plY3QocHJqKQplbmQsCm9uUnVsZSA9IGZ1bmN0aW9uKHJ1bGUpCnZzdHVkaW8udnMyMDEwLmdlbmVyYXRlUnVsZShydWxlKQplbmQsCm9uQ2xlYW5Xb3Jrc3BhY2UgPSBmdW5jdGlvbih3a3MpCnZzdHVkaW8uY2xlYW5Tb2x1dGlvbih3a3MpCmVuZCwKb25DbGVhblByb2plY3QgPSBmdW5jdGlvbihwcmopCnZzdHVkaW8uY2xlYW5Qcm9qZWN0KHByaikKZW5kLApvbkNsZWFuVGFyZ2V0ID0gZnVuY3Rpb24ocHJqKQp2c3R1ZGlvLmNsZWFuVGFyZ2V0KHByaikKZW5kLApwYXRoVmFycyAgICAgICAgPSB2c3R1ZGlvLnBhdGhWYXJzLAp2c3R1ZGlvID0gewpzb2x1dGlvblZlcnNpb24gPSAiMTIiLAp2ZXJzaW9uTmFtZSAgICAgPSAiMjAxMyIsCnRhcmdldEZyYW1ld29yayA9ICI0LjUiLAp0b29sc1ZlcnNpb24gICAgPSAiMTIuMCIsCmZpbHRlclRvb2xzVmVyc2lvbiA9ICI0LjAiLApwbGF0Zm9ybVRvb2xzZXQgPSAidjEyMCIKfQp9CgAAAAAAAHByZW1ha2UudnN0dWRpby52YzIwMTUgPSB7fQpsb2NhbCBwID0gcHJlbWFrZQpsb2NhbCB2c3R1ZGlvID0gcC52c3R1ZGlvCmxvY2FsIHZjMjAxMCA9IHZzdHVkaW8udmMyMDEwCmxvY2FsIG0gPSB2c3R1ZGlvLnZjMjAxNQpuZXdhY3Rpb24gewp0cmlnZ2VyICAgICA9ICJ2czIwMTUiLApzaG9ydG5hbWUgICA9ICJWaXN1YWwgU3R1ZGlvIDIwMTUiLApkZXNjcmlwdGlvbiA9ICJHZW5lcmF0ZSBWaXN1YWwgU3R1ZGlvIDIwMTUgcHJvamVjdCBmaWxlcyIsCm9zID0gIndpbmRvd3MiLAp2YWxpZF9raW5kcyAgICAgPSB7ICJDb25zb2xlQXBwIiwgIldpbmRvd2VkQXBwIiwgIlN0YXRpY0xpYiIsICJTaGFyZWRMaWIiLCAiTWFrZWZpbGUiLCAiTm9uZSIsICJVdGlsaXR5IiB9LAp2YWxpZF9sYW5ndWFnZXMgPSB7ICJDIiwgIkMrKyIsICJDIyIgfSwKdmFsaWRfdG9vbHMgICAgID0gewpjYyAgICAgPSB7ICJtc2MiICAgfSwKZG90bmV0ID0geyAibXNuZXQiIH0sCn0sCm9uV29ya3NwYWNlID0gZnVuY3Rpb24od2tzKQp2c3R1ZGlvLnZzMjAwNS5nZW5lcmF0ZVNvbHV0aW9uKHdrcykKZW5kLApvblByb2plY3QgPSBmdW5jdGlvbihwcmopCnZzdHVkaW8udnMyMDEwLmdlbmVyYXRlUHJvamVjdChwcmopCmVuZCwKb25SdWxlID0gZnVuY3Rpb24ocnVsZSkKdnN0dWRpby52czIwMTAuZ2VuZXJhdGVSdWxlKHJ1bGUpCmVuZCwKb25DbGVhbldvcmtzcGFjZSA9IGZ1bmN0aW9uKHdrcykKdnN0dWRpby5jbGVhblNvbHV0aW9uKHdrcykKZW5kLApvbkNsZWFuUHJvamVjdCA9IGZ1bmN0aW9uKHByaikKdnN0dWRpby5jbGVhblByb2plY3QocHJqKQplbmQsCm9uQ2xlYW5UYXJnZXQgPSBmdW5jdGlvbihwcmopCnZzdHVkaW8uY2xlYW5UYXJnZXQocHJqKQplbmQsCnBhdGhWYXJzICAgICAgICA9IHZzdHVkaW8ucGF0aFZhcnMsCnZzdHVkaW8gPSB7CnNvbHV0aW9uVmVyc2lvbiA9ICIxMiIsCnZlcnNpb25OYW1lICAgICA9ICIyMDE1IiwKdGFyZ2V0RnJhbWV3b3JrID0gIjQuNSIsCnRvb2xzVmVyc2lvbiAgICA9ICIxNC4wIiwKZmlsdGVyVG9vbHNWZXJzaW9uID0gIjQuMCIsCnBsYXRmb3JtVG9vbHNldCA9ICJ2MTQwIgp9Cn0KAAAAAAAAcHJlbWFrZS5jbGVhbiA9IHt9Cm5ld2FjdGlvbiB7CnRyaWdnZXIgICAgID0gImNsZWFuIiwKZGVzY3JpcHRpb24gPSAiUmVtb3ZlIGFsbCBiaW5hcmllcyBhbmQgZ2VuZXJhdGVkIGZpbGVzIiwKZXhlY3V0ZSA9IGZ1bmN0aW9uKCkKcHJpbnQoIioqIFRoZSBjbGVhbiBhY3Rpb24gaGFzIG5vdCB5ZXQgYmVlbiBwb3J0ZWQiKQplbmQKfQoAbG9jYWwgcCA9IHByZW1ha2UKbG9jYWwgYXBpID0gcC5hcGkKbG9jYWwgRE9DX1VSTCA9ICJTZWUgaHR0cHM6Ly9naXRodWIuY29tL3ByZW1ha2UvcHJlbWFrZS1jb3JlL3dpa2kvIgphcGkucmVnaXN0ZXIgewpuYW1lID0gImFyY2hpdGVjdHVyZSIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAic3RyaW5nIiwKYWxsb3dlZCA9IHsKInVuaXZlcnNhbCIsCnAuWDg2LApwLlg4Nl82NCwKfSwKYWxpYXNlcyA9IHsKaTM4NiAgPSBwLlg4NiwKYW1kNjQgPSBwLlg4Nl82NCwKeDMyICAgPSBwLlg4NiwtLSB0aGVzZSBzaG91bGQgYmUgREVQUkVDQVRFRAp4NjQgICA9IHAuWDg2XzY0LAp9LAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiYXRsIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCAgPSAic3RyaW5nIiwKYWxsb3dlZCA9IHsKIk9mZiIsCiJEeW5hbWljIiwKIlN0YXRpYyIsCn0sCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJiYXNlZGlyIiwKc2NvcGUgPSAicHJvamVjdCIsCmtpbmQgPSAicGF0aCIKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImJ1aWxkYWN0aW9uIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJzdHJpbmciLAphbGxvd2VkID0gewoiQXBwbGljYXRpb24iLAoiQ29tcGlsZSIsCiJDb21wb25lbnQiLAoiQ29weSIsCiJFbWJlZCIsCiJGb3JtIiwKIk5vbmUiLAoiUmVzb3VyY2UiLAoiVXNlckNvbnRyb2wiLAp9LAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiYnVpbGRjb21tYW5kcyIsCnNjb3BlID0geyAiY29uZmlnIiwgInJ1bGUiIH0sCmtpbmQgPSAibGlzdDpzdHJpbmciLAp0b2tlbnMgPSB0cnVlLApwYXRoVmFycyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJidWlsZGRlcGVuZGVuY2llcyIsCnNjb3BlID0geyAicnVsZSIgfSwKa2luZCA9ICJsaXN0OnN0cmluZyIsCnRva2VucyA9IHRydWUsCnBhdGhWYXJzID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImJ1aWxkbG9nIiwKc2NvcGUgPSB7ICJjb25maWciIH0sCmtpbmQgPSAicGF0aCIsCnRva2VucyA9IHRydWUsCnBhdGhWYXJzID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImJ1aWxkbWVzc2FnZSIsCnNjb3BlID0geyAiY29uZmlnIiwgInJ1bGUiIH0sCmtpbmQgPSAic3RyaW5nIiwKdG9rZW5zID0gdHJ1ZSwKcGF0aFZhcnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiYnVpbGRvcHRpb25zIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0OnN0cmluZyIsCnRva2VucyA9IHRydWUsCnBhdGhWYXJzID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImJ1aWxkb3V0cHV0cyIsCnNjb3BlID0geyAiY29uZmlnIiwgInJ1bGUiIH0sCmtpbmQgPSAibGlzdDpwYXRoIiwKdG9rZW5zID0gdHJ1ZSwKcGF0aFZhcnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiYnVpbGRpbnB1dHMiLApzY29wZSA9ICJjb25maWciLApraW5kID0gImxpc3Q6cGF0aCIsCnRva2VucyA9IHRydWUsCnBhdGhWYXJzID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImJ1aWxkcnVsZSIsICAgICAtLSBERVBSRUNBVEVECnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAidGFibGUiLAp0b2tlbnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiY2hhcmFjdGVyc2V0IiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJzdHJpbmciLAphbGxvd2VkID0gewoiRGVmYXVsdCIsCiJNQkNTIiwKIlVuaWNvZGUiLAp9Cn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJjbGVhbmNvbW1hbmRzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0OnN0cmluZyIsCnRva2VucyA9IHRydWUsCnBhdGhWYXJzID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImNsZWFuZXh0ZW5zaW9ucyIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAibGlzdDpzdHJpbmciLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiY2xyIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJzdHJpbmciLAphbGxvd2VkID0gewoiT2ZmIiwKIk9uIiwKIlB1cmUiLAoiU2FmZSIsCiJVbnNhZmUiLAp9Cn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJjb25maWdtYXAiLApzY29wZSA9ICJwcm9qZWN0IiwKa2luZCA9ICJsaXN0OmtleWVkOmFycmF5OnN0cmluZyIsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJjb25maWdmaWxlIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJzdHJpbmciLAp0b2tlbnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiY29uZmlndXJhdGlvbnMiLApzY29wZSA9ICJwcm9qZWN0IiwKa2luZCA9ICJsaXN0OnN0cmluZyIsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJjb3B5bG9jYWwiLApzY29wZSA9ICJjb25maWciLApraW5kID0gImxpc3Q6bWl4ZWQiLAp0b2tlbnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiZGVidWdhcmdzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0OnN0cmluZyIsCnRva2VucyA9IHRydWUsCnBhdGhWYXJzID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImRlYnVnY29tbWFuZCIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAicGF0aCIsCnRva2VucyA9IHRydWUsCnBhdGhWYXJzID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImRlYnVnY29ubmVjdGNvbW1hbmRzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0OnN0cmluZyIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJkZWJ1Z2RpciIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAicGF0aCIsCnRva2VucyA9IHRydWUsCnBhdGhWYXJzID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImRlYnVnZW52cyIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAibGlzdDpzdHJpbmciLAp0b2tlbnMgPSB0cnVlLApwYXRoVmFycyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJkZWJ1Z2V4dGVuZGVkcHJvdG9jb2wiLApzY29wZSA9ICJjb25maWciLApraW5kID0gImJvb2xlYW4iLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiZGVidWdmb3JtYXQiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCmFsbG93ZWQgPSB7CiJjNyIsCn0sCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJkZWJ1Z2dlciIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAic3RyaW5nIiwKYWxsb3dlZCA9IHsKIkRlZmF1bHQiLAoiR0RCIiwKIkxMREIiLAp9Cn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJkZWJ1Z2dlcnR5cGUiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCmFsbG93ZWQgPSB7CiJNaXhlZCIsCiJOYXRpdmVPbmx5IiwKIk1hbmFnZWRPbmx5IiwKfQp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiZGVidWdwYXRobWFwIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0OmtleWVkOnBhdGgiLAp0b2tlbnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiZGVidWdwb3J0IiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJpbnRlZ2VyIiwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImRlYnVncmVtb3RlaG9zdCIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAic3RyaW5nIiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImRlYnVnc2VhcmNocGF0aHMiLApzY29wZSA9ICJjb25maWciLApraW5kID0gImxpc3Q6cGF0aCIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJkZWJ1Z3N0YXJ0dXBjb21tYW5kcyIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAibGlzdDpzdHJpbmciLAp0b2tlbnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiZGVidWd0b29sYXJncyIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAibGlzdDpzdHJpbmciLAp0b2tlbnMgPSB0cnVlLApwYXRoVmFycyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJkZWJ1Z3Rvb2xjb21tYW5kIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJwYXRoIiwKdG9rZW5zID0gdHJ1ZSwKcGF0aFZhcnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiZGVmYXVsdHBsYXRmb3JtIiwKc2NvcGUgPSAicHJvamVjdCIsCmtpbmQgPSAic3RyaW5nIiwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImRlZmluZXMiLApzY29wZSA9ICJjb25maWciLApraW5kID0gImxpc3Q6c3RyaW5nIiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImRlcGVuZHNvbiIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAibGlzdDpzdHJpbmciLAp0b2tlbnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiZGVwbG95bWVudG9wdGlvbnMiLApzY29wZSA9ICJjb25maWciLApraW5kID0gImxpc3Q6c3RyaW5nIiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImRpc2FibGV3YXJuaW5ncyIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAibGlzdDpzdHJpbmciLAp0b2tlbnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiZGlzcGxheSIsCnNjb3BlID0gInJ1bGUiLApraW5kID0gInN0cmluZyIsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJlZGl0YW5kY29udGludWUiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCmFsbG93ZWQgPSB7CiJEZWZhdWx0IiwKIk9uIiwKIk9mZiIsCn0sCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJleGNlcHRpb25oYW5kbGluZyIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAic3RyaW5nIiwKYWxsb3dlZCA9IHsKIkRlZmF1bHQiLAoiT24iLAoiT2ZmIiwKIlNFSCIKfSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImVuYWJsZXdhcm5pbmdzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0OnN0cmluZyIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJlbmRpYW4iLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCmFsbG93ZWQgPSB7CiJEZWZhdWx0IiwKIkxpdHRsZSIsCiJCaWciLAp9LAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiZW50cnlwb2ludCIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAic3RyaW5nIiwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImZhdGFsd2FybmluZ3MiLApzY29wZSA9ICJjb25maWciLApraW5kID0gImxpc3Q6c3RyaW5nIiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImZpbGVleHRlbnNpb24iLApzY29wZSA9ICJydWxlIiwKa2luZCA9ICJzdHJpbmciLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiZmlsZW5hbWUiLApzY29wZSA9IHsgInByb2plY3QiLCAicnVsZSIgfSwKa2luZCA9ICJzdHJpbmciLAp0b2tlbnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiZmlsZXMiLApzY29wZSA9ICJjb25maWciLApraW5kID0gImxpc3Q6ZmlsZSIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJmbGFncyIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgID0gImxpc3Q6c3RyaW5nIiwKYWxsb3dlZCA9IHsKIkNvbXBvbmVudCIsICAgICAgICAgICAtLSBERVBSRUNBVEVECiJEZWJ1Z0VudnNEb250TWVyZ2UiLAoiRGVidWdFbnZzSW5oZXJpdCIsCiJFbmFibGVTU0UiLCAgICAgICAgICAgLS0gREVQUkVDQVRFRAoiRW5hYmxlU1NFMiIsICAgICAgICAgIC0tIERFUFJFQ0FURUQKIkV4Y2x1ZGVGcm9tQnVpbGQiLAoiRXh0cmFXYXJuaW5ncyIsICAgICAgIC0tIERFUFJFQ0FURUQKIkZhdGFsQ29tcGlsZVdhcm5pbmdzIiwKIkZhdGFsTGlua1dhcm5pbmdzIiwKIkZsb2F0RmFzdCIsICAgICAgICAgICAtLSBERVBSRUNBVEVECiJGbG9hdFN0cmljdCIsICAgICAgICAgLS0gREVQUkVDQVRFRAoiTGlua1RpbWVPcHRpbWl6YXRpb24iLAoiTWFuYWdlZCIsICAgICAgICAgICAgIC0tIERFUFJFQ0FURUQKIk1hcHMiLAoiTUZDIiwKIk11bHRpUHJvY2Vzc29yQ29tcGlsZSIsCiJOYXRpdmVXQ2hhciIsICAgICAgICAgLS0gREVQUkVDQVRFRAoiTm82NEJpdENoZWNrcyIsCiJOb0NvcHlMb2NhbCIsCiJOb0VkaXRBbmRDb250aW51ZSIsICAgLS0gREVQUkVDQVRFRAoiTm9FeGNlcHRpb25zIiwgICAgICAgIC0tIERFUFJFQ0FURUQKIk5vRnJhbWVQb2ludGVyIiwKIk5vSW1wbGljaXRMaW5rIiwKIk5vSW1wb3J0TGliIiwKIk5vSW5jcmVtZW50YWxMaW5rIiwKIk5vTWFuaWZlc3QiLAoiTm9NaW5pbWFsUmVidWlsZCIsCiJOb05hdGl2ZVdDaGFyIiwgICAgICAgLS0gREVQUkVDQVRFRAoiTm9QQ0giLAoiTm9SdW50aW1lQ2hlY2tzIiwKIk5vUlRUSSIsICAgICAgICAgICAgICAtLSBERVBSRUNBVEVECiJOb0J1ZmZlclNlY3VyaXR5Q2hlY2siLAoiTm9XYXJuaW5ncyIsICAgICAgICAgIC0tIERFUFJFQ0FURUQKIk9taXREZWZhdWx0TGlicmFyeSIsCiJPcHRpbWl6ZSIsICAgICAgICAgICAgLS0gREVQUkVDQVRFRAoiT3B0aW1pemVTaXplIiwgICAgICAgIC0tIERFUFJFQ0FURUQKIk9wdGltaXplU3BlZWQiLCAgICAgICAtLSBERVBSRUNBVEVECiJSZWxhdGl2ZUxpbmtzIiwKIlJlbGVhc2VSdW50aW1lIiwgICAgICAtLSBERVBSRUNBVEVECiJTRUgiLCAgICAgICAgICAgICAgICAgLS0gREVQUkVDQVRFRAoiU2hhZG93ZWRWYXJpYWJsZXMiLAoiU3RhdGljUnVudGltZSIsCiJTeW1ib2xzIiwKIlVuZGVmaW5lZElkZW50aWZpZXJzIiwKIlVuaWNvZGUiLCAgICAgICAgICAgICAtLSBERVBSRUNBVEVECiJVbnNhZmUiLCAgICAgICAgICAgICAgLS0gREVQUkVDQVRFRAoiV2luTWFpbiIsCiJXUEYiLAoiQysrMTEiLAoiQysrMTQiLAp9LAphbGlhc2VzID0gewpGYXRhbFdhcm5pbmdzID0geyAiRmF0YWxXYXJuaW5ncyIsICJGYXRhbENvbXBpbGVXYXJuaW5ncyIsICJGYXRhbExpbmtXYXJuaW5ncyIgfSwKT3B0aW1pc2UgPSAnT3B0aW1pemUnLApPcHRpbWlzZVNpemUgPSAnT3B0aW1pemVTaXplJywKT3B0aW1pc2VTcGVlZCA9ICdPcHRpbWl6ZVNwZWVkJywKfSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImZsb2F0aW5ncG9pbnQiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCmFsbG93ZWQgPSB7CiJEZWZhdWx0IiwKIkZhc3QiLAoiU3RyaWN0IiwKfQp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiaW5saW5pbmciLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCmFsbG93ZWQgPSB7CiJEZWZhdWx0IiwKIkRpc2FibGVkIiwKIkV4cGxpY2l0IiwKIkF1dG8iCn0KfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImNhbGxpbmdjb252ZW50aW9uIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJzdHJpbmciLAphbGxvd2VkID0gewoiQ2RlY2wiLAoiRmFzdENhbGwiLAoiU3RkQ2FsbCIsCiJWZWN0b3JDYWxsIiwKfQp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiZm9yY2VpbmNsdWRlcyIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAibGlzdDptaXhlZCIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJmb3JjZXVzaW5ncyIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAibGlzdDpmaWxlIiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImZwdSIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAic3RyaW5nIiwKYWxsb3dlZCA9IHsKIlNvZnR3YXJlIiwKIkhhcmR3YXJlIiwKfQp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiZG90bmV0ZnJhbWV3b3JrIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJzdHJpbmciLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiZ2NjcHJlZml4IiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJzdHJpbmciLAp0b2tlbnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiaWdub3JlZGVmYXVsdGxpYnJhcmllcyIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAibGlzdDptaXhlZCIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJpY29uIiwKc2NvcGUgPSAicHJvamVjdCIsCmtpbmQgPSAiZmlsZSIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJpbWFnZW9wdGlvbnMiLApzY29wZSA9ICJjb25maWciLApraW5kID0gImxpc3Q6c3RyaW5nIiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImltYWdlcGF0aCIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAicGF0aCIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJpbXBsaWJkaXIiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInBhdGgiLAp0b2tlbnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiaW1wbGliZXh0ZW5zaW9uIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJzdHJpbmciLAp0b2tlbnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiaW1wbGlibmFtZSIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAic3RyaW5nIiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImltcGxpYnByZWZpeCIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAic3RyaW5nIiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImltcGxpYnN1ZmZpeCIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAic3RyaW5nIiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImluY2x1ZGVkaXJzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0OmRpcmVjdG9yeSIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJiaW5kaXJzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0OmRpcmVjdG9yeSIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJraW5kIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJzdHJpbmciLAphbGxvd2VkID0gewoiQ29uc29sZUFwcCIsCiJNYWtlZmlsZSIsCiJOb25lIiwKIlNoYXJlZExpYiIsCiJTdGF0aWNMaWIiLAoiV2luZG93ZWRBcHAiLAoiVXRpbGl0eSIsCn0sCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJsYW5ndWFnZSIsCnNjb3BlID0gInByb2plY3QiLApraW5kID0gInN0cmluZyIsCmFsbG93ZWQgPSB7CiJDIiwKIkMrKyIsCiJDIyIsCn0sCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJsaWJkaXJzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0OmRpcmVjdG9yeSIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJsaW5rb3B0aW9ucyIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAibGlzdDpzdHJpbmciLAp0b2tlbnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAibGlua3MiLApzY29wZSA9ICJjb25maWciLApraW5kID0gImxpc3Q6bWl4ZWQiLAp0b2tlbnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAibG9jYWxlIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJzdHJpbmciLAp0b2tlbnMgPSBmYWxzZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImxvY2F0aW9uIiwKc2NvcGUgPSB7ICJwcm9qZWN0IiwgInJ1bGUiIH0sCmtpbmQgPSAicGF0aCIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJtYWtlc2V0dGluZ3MiLApzY29wZSA9ICJjb25maWciLApraW5kID0gImxpc3Q6c3RyaW5nIiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gIm5hbWVzcGFjZSIsCnNjb3BlID0gInByb2plY3QiLApraW5kID0gInN0cmluZyIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJuYXRpdmV3Y2hhciIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAic3RyaW5nIiwKYWxsb3dlZCA9IHsKIkRlZmF1bHQiLAoiT24iLAoiT2ZmIiwKfQp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAib2JqZGlyIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJwYXRoIiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gIm9wdGltaXplIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJzdHJpbmciLAphbGxvd2VkID0gewoiT2ZmIiwKIk9uIiwKIkRlYnVnIiwKIlNpemUiLAoiU3BlZWQiLAoiRnVsbCIsCn0KfQphcGkucmVnaXN0ZXIgewpuYW1lID0gInJ1bnRpbWUiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCmFsbG93ZWQgPSB7CiJEZWJ1ZyIsCiJSZWxlYXNlIiwKfQp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAicGNoaGVhZGVyIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJzdHJpbmciLAp0b2tlbnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAicGNoc291cmNlIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJwYXRoIiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gInBpYyIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAic3RyaW5nIiwKYWxsb3dlZCA9IHsKIk9mZiIsCiJPbiIsCn0KfQphcGkucmVnaXN0ZXIgewpuYW1lID0gInBsYXRmb3JtcyIsCnNjb3BlID0gInByb2plY3QiLApraW5kID0gImxpc3Q6c3RyaW5nIiwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gInBvc3RidWlsZGNvbW1hbmRzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0OnN0cmluZyIsCnRva2VucyA9IHRydWUsCnBhdGhWYXJzID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gInBvc3RidWlsZG1lc3NhZ2UiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCnRva2VucyA9IHRydWUsCnBhdGhWYXJzID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gInByZWJ1aWxkY29tbWFuZHMiLApzY29wZSA9ICJjb25maWciLApraW5kID0gImxpc3Q6c3RyaW5nIiwKdG9rZW5zID0gdHJ1ZSwKcGF0aFZhcnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAicHJlYnVpbGRtZXNzYWdlIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJzdHJpbmciLAp0b2tlbnMgPSB0cnVlLApwYXRoVmFycyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJwcmVsaW5rY29tbWFuZHMiLApzY29wZSA9ICJjb25maWciLApraW5kID0gImxpc3Q6c3RyaW5nIiwKdG9rZW5zID0gdHJ1ZSwKcGF0aFZhcnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAicHJlbGlua21lc3NhZ2UiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCnRva2VucyA9IHRydWUsCnBhdGhWYXJzID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gInByb3BlcnR5ZGVmaW5pdGlvbiIsCnNjb3BlID0gInJ1bGUiLApraW5kID0gImxpc3Q6dGFibGUiLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAicmVidWlsZGNvbW1hbmRzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0OnN0cmluZyIsCnRva2VucyA9IHRydWUsCnBhdGhWYXJzID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gInJlc2RlZmluZXMiLApzY29wZSA9ICJjb25maWciLApraW5kID0gImxpc3Q6c3RyaW5nIiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gInJlc2luY2x1ZGVkaXJzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0OmRpcmVjdG9yeSIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJyZXNvcHRpb25zIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0OnN0cmluZyIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJydHRpIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJzdHJpbmciLAphbGxvd2VkID0gewoiRGVmYXVsdCIsCiJPbiIsCiJPZmYiLAp9LAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAicnVsZXMiLApzY29wZSA9ICJwcm9qZWN0IiwKa2luZCA9ICJsaXN0OnN0cmluZyIsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJzdGFydHByb2plY3QiLApzY29wZSA9ICJ3b3Jrc3BhY2UiLApraW5kID0gInN0cmluZyIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJzdHJpY3RhbGlhc2luZyIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAic3RyaW5nIiwKYWxsb3dlZCA9IHsKIk9mZiIsCiJMZXZlbDEiLAoiTGV2ZWwyIiwKIkxldmVsMyIsCn0KfQphcGkucmVnaXN0ZXIgewpuYW1lID0gInN5c2luY2x1ZGVkaXJzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0OmRpcmVjdG9yeSIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJzeXNsaWJkaXJzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0OmRpcmVjdG9yeSIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJzeXN0ZW0iLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCmFsbG93ZWQgPSB7CiJhaXgiLAoiYnNkIiwKImhhaWt1IiwKImxpbnV4IiwKIm1hY29zeCIsCiJzb2xhcmlzIiwKIndpaSIsCiJ3aW5kb3dzIiwKInhib3gzNjAiLAp9LAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAidGFyZ2V0ZGlyIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJwYXRoIiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gInRhcmdldGV4dGVuc2lvbiIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAic3RyaW5nIiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gInRhcmdldG5hbWUiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJ0YXJnZXRwcmVmaXgiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJ0YXJnZXRzdWZmaXgiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJ0b29sc2V0IiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJzdHJpbmciLAphbGxvd2VkID0gZnVuY3Rpb24odmFsdWUpCnZhbHVlID0gdmFsdWU6bG93ZXIoKQpsb2NhbCB0b29sLCB2ZXJzaW9uID0gcC50b29scy5jYW5vbmljYWwodmFsdWUpCmlmIHRvb2wgdGhlbgpyZXR1cm4gdmFsdWUKZW5kCmVuZCwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImN1c3RvbXRvb2xuYW1lc3BhY2UiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJ1bmRlZmluZXMiLApzY29wZSA9ICJjb25maWciLApraW5kID0gImxpc3Q6c3RyaW5nIiwKdG9rZW5zID0gdHJ1ZSwKfQogYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJ1c2luZ2RpcnMiLApzY29wZSA9ICJjb25maWciLApraW5kID0gImxpc3Q6ZGlyZWN0b3J5IiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gInV1aWQiLApzY29wZSA9ICJwcm9qZWN0IiwKa2luZCA9ICJzdHJpbmciLAphbGxvd2VkID0gZnVuY3Rpb24odmFsdWUpCmxvY2FsIG9rID0gdHJ1ZQppZiAoI3ZhbHVlIH49IDM2KSB0aGVuIG9rID0gZmFsc2UgZW5kCmZvciBpPTEsMzYgZG8KbG9jYWwgY2ggPSB2YWx1ZTpzdWIoaSxpKQppZiAobm90IGNoOmZpbmQoIltBQkNERUZhYmNkZWYwMTIzNDU2Nzg5LV0iKSkgdGhlbiBvayA9IGZhbHNlIGVuZAplbmQKaWYgKHZhbHVlOnN1Yig5LDkpIH49ICItIikgICB0aGVuIG9rID0gZmFsc2UgZW5kCmlmICh2YWx1ZTpzdWIoMTQsMTQpIH49ICItIikgdGhlbiBvayA9IGZhbHNlIGVuZAppZiAodmFsdWU6c3ViKDE5LDE5KSB+PSAiLSIpIHRoZW4gb2sgPSBmYWxzZSBlbmQKaWYgKHZhbHVlOnN1YigyNCwyNCkgfj0gIi0iKSB0aGVuIG9rID0gZmFsc2UgZW5kCmlmIChub3Qgb2spIHRoZW4KcmV0dXJuIG5pbCwgImludmFsaWQgVVVJRCIKZW5kCnJldHVybiB2YWx1ZTp1cHBlcigpCmVuZAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAidmVjdG9yZXh0ZW5zaW9ucyIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAic3RyaW5nIiwKYWxsb3dlZCA9IHsKIkRlZmF1bHQiLAoiQVZYIiwKIkFWWDIiLAoiU1NFIiwKIlNTRTIiLAoiU1NFMyIsCiJTU1NFMyIsCiJTU0U0LjEiLAp9Cn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJ2cGF0aHMiLApzY29wZSA9ICJwcm9qZWN0IiwKa2luZCA9ICJsaXN0OmtleWVkOmxpc3Q6cGF0aCIsCnRva2VucyA9IHRydWUsCnBhdGhWYXJzID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gIndhcm5pbmdzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJzdHJpbmciLAphbGxvd2VkID0gewoiT2ZmIiwKIkRlZmF1bHQiLAoiRXh0cmEiLAp9Cn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJsYXJnZWFkZHJlc3Nhd2FyZSIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAiYm9vbGVhbiIsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJlZGl0b3JpbnRlZ3JhdGlvbiIsCnNjb3BlID0gIndvcmtzcGFjZSIsCmtpbmQgPSAiYm9vbGVhbiIsCn0KYXBpLmFsaWFzKCJidWlsZGNvbW1hbmRzIiwgImJ1aWxkQ29tbWFuZHMiKQphcGkuYWxpYXMoImJ1aWxkZGVwZW5kZW5jaWVzIiwgImJ1aWxkRGVwZW5kZW5jaWVzIikKYXBpLmFsaWFzKCJidWlsZG1lc3NhZ2UiLCAiYnVpbGRNZXNzYWdlIikKYXBpLmFsaWFzKCJidWlsZG91dHB1dHMiLCAiYnVpbGRPdXRwdXRzIikKYXBpLmFsaWFzKCJjbGVhbmV4dGVuc2lvbnMiLCAiY2xlYW5FeHRlbnNpb25zIikKYXBpLmFsaWFzKCJjb25maWdmaWxlIiwgImNvbmZpZ0ZpbGUiKQphcGkuYWxpYXMoImRvdG5ldGZyYW1ld29yayIsICJmcmFtZXdvcmsiKQphcGkuYWxpYXMoImVkaXRhbmRjb250aW51ZSIsICJlZGl0QW5kQ29udGludWUiKQphcGkuYWxpYXMoImZpbGVleHRlbnNpb24iLCAiZmlsZUV4dGVuc2lvbiIpCmFwaS5hbGlhcygicHJvcGVydHlkZWZpbml0aW9uIiwgInByb3BlcnR5RGVmaW5pdGlvbiIpCmFwaS5hbGlhcygicmVtb3ZlZmlsZXMiLCAiZXhjbHVkZXMiKQphcGkuZGVwcmVjYXRlRmllbGQoImJ1aWxkcnVsZSIsIG5pbCwKZnVuY3Rpb24odmFsdWUpCmlmIHZhbHVlLmRlc2NyaXB0aW9uIHRoZW4KYnVpbGRtZXNzYWdlKHZhbHVlLmRlc2NyaXB0aW9uKQplbmQKYnVpbGRjb21tYW5kcyh2YWx1ZS5jb21tYW5kcykKYnVpbGRvdXRwdXRzKHZhbHVlLm91dHB1dHMpCmVuZCkKYXBpLmRlcHJlY2F0ZVZhbHVlKCJmbGFncyIsICJDb21wb25lbnQiLCBuaWwsCmZ1bmN0aW9uKHZhbHVlKQpidWlsZGFjdGlvbiAiQ29tcG9uZW50IgplbmQpCmFwaS5kZXByZWNhdGVWYWx1ZSgiZmxhZ3MiLCB7ICJFbmFibGVTU0UiLCAiRW5hYmxlU1NFMiIgfSwgbmlsLApmdW5jdGlvbih2YWx1ZSkKdmVjdG9yZXh0ZW5zaW9ucyh2YWx1ZTpzdWIoNykpCmVuZCwKZnVuY3Rpb24odmFsdWUpCnZlY3RvcmV4dGVuc2lvbiAiRGVmYXVsdCIKZW5kKQphcGkuZGVwcmVjYXRlVmFsdWUoImZsYWdzIiwgeyAiRmxvYXRGYXN0IiwgIkZsb2F0U3RyaWN0IiB9LCBuaWwsCmZ1bmN0aW9uKHZhbHVlKQpmbG9hdGluZ3BvaW50KHZhbHVlOnN1Yig2KSkKZW5kLApmdW5jdGlvbih2YWx1ZSkKZmxvYXRpbmdwb2ludCAiRGVmYXVsdCIKZW5kKQphcGkuZGVwcmVjYXRlVmFsdWUoImZsYWdzIiwgeyAiTmF0aXZlV0NoYXIiLCAiTm9OYXRpdmVXQ2hhciIgfSwgbmlsLApmdW5jdGlvbih2YWx1ZSkKbG9jYWwgbWFwID0geyBOYXRpdmVXQ2hhciA9ICJPbiIsIE5vTmF0aXZlV0NoYXIgPSAiT2ZmIiB9Cm5hdGl2ZXdjaGFyKG1hcFt2YWx1ZV0gb3IgIkRlZmF1bHQiKQplbmQsCmZ1bmN0aW9uKHZhbHVlKQpuYXRpdmV3Y2hhciAiRGVmYXVsdCIKZW5kKQphcGkuZGVwcmVjYXRlVmFsdWUoImZsYWdzIiwgeyAiT3B0aW1pemUiLCAiT3B0aW1pemVTaXplIiwgIk9wdGltaXplU3BlZWQiIH0sIG5pbCwKZnVuY3Rpb24odmFsdWUpCmxvY2FsIG1hcCA9IHsgT3B0aW1pemUgPSAiT24iLCBPcHRpbWl6ZVNpemUgPSAiU2l6ZSIsIE9wdGltaXplU3BlZWQgPSAiU3BlZWQiIH0Kb3B0aW1pemUgKG1hcFt2YWx1ZV0gb3IgIk9mZiIpCmVuZCwKZnVuY3Rpb24odmFsdWUpCm9wdGltaXplICJPZmYiCmVuZCkKYXBpLmRlcHJlY2F0ZVZhbHVlKCJmbGFncyIsIHsgIlJlbGVhc2VSdW50aW1lIiB9LCBuaWwsCmZ1bmN0aW9uKHZhbHVlKQpydW50aW1lICdSZWxlYXNlJwplbmQsCmZ1bmN0aW9uKHZhbHVlKQplbmQpCmFwaS5kZXByZWNhdGVWYWx1ZSgiZmxhZ3MiLCB7ICJPcHRpbWlzZSIsICJPcHRpbWlzZVNpemUiLCAiT3B0aW1pc2VTcGVlZCIgfSwgbmlsLApmdW5jdGlvbih2YWx1ZSkKbG9jYWwgbWFwID0geyBPcHRpbWlzZSA9ICJPbiIsIE9wdGltaXNlU2l6ZSA9ICJTaXplIiwgT3B0aW1pc2VTcGVlZCA9ICJTcGVlZCIgfQpvcHRpbWl6ZSAobWFwW3ZhbHVlXSBvciAiT2ZmIikKZW5kLApmdW5jdGlvbih2YWx1ZSkKb3B0aW1pemUgIk9mZiIKZW5kKQphcGkuZGVwcmVjYXRlVmFsdWUoImZsYWdzIiwgeyAiRXh0cmFXYXJuaW5ncyIsICJOb1dhcm5pbmdzIiB9LCBuaWwsCmZ1bmN0aW9uKHZhbHVlKQpsb2NhbCBtYXAgPSB7IEV4dHJhV2FybmluZ3MgPSAiRXh0cmEiLCBOb1dhcm5pbmdzID0gIk9mZiIgfQp3YXJuaW5ncyAobWFwW3ZhbHVlXSBvciAiRGVmYXVsdCIpCmVuZCwKZnVuY3Rpb24odmFsdWUpCndhcm5pbmdzICJEZWZhdWx0IgplbmQpCmFwaS5kZXByZWNhdGVWYWx1ZSgiZmxhZ3MiLCAiTWFuYWdlZCIsIG5pbCwKZnVuY3Rpb24odmFsdWUpCmNsciAiT24iCmVuZCwKZnVuY3Rpb24odmFsdWUpCmNsciAiT2ZmIgplbmQpCmFwaS5kZXByZWNhdGVWYWx1ZSgiZmxhZ3MiLCAiTm9FZGl0QW5kQ29udGludWUiLCBuaWwsCmZ1bmN0aW9uKHZhbHVlKQplZGl0YW5kY29udGludWUgIk9mZiIKZW5kLApmdW5jdGlvbih2YWx1ZSkKZWRpdGFuZGNvbnRpbnVlICJPbiIKZW5kKQphcGkuZGVwcmVjYXRlVmFsdWUoImZsYWdzIiwgIk5vRXhjZXB0aW9ucyIsICdVc2UgYGV4Y2VwdGlvbmhhbmRsaW5nICJPZmYiYCBpbnN0ZWFkJywKZnVuY3Rpb24odmFsdWUpCmV4Y2VwdGlvbmhhbmRsaW5nICJPZmYiCmVuZCwKZnVuY3Rpb24odmFsdWUpCmV4Y2VwdGlvbmhhbmRsaW5nICJPbiIKZW5kKQphcGkuZGVwcmVjYXRlVmFsdWUoImZsYWdzIiwgIk5vUlRUSSIsICdVc2UgYHJ0dGkgIk9mZiJgIGluc3RlYWQnLApmdW5jdGlvbih2YWx1ZSkKcnR0aSAiT2ZmIgplbmQsCmZ1bmN0aW9uKHZhbHVlKQpydHRpICJPbiIKZW5kKQphcGkuZGVwcmVjYXRlVmFsdWUoImZsYWdzIiwgIlNFSCIsICdVc2UgYGV4Y2VwdGlvbmhhbmRsaW5nICJTRUgiYCBpbnN0ZWFkJywKZnVuY3Rpb24odmFsdWUpCmV4Y2VwdGlvbmhhbmRsaW5nICJTRUgiCmVuZCwKZnVuY3Rpb24odmFsdWUpCmV4Y2VwdGlvbmhhbmRsaW5nICJEZWZhdWx0IgplbmQpCmFwaS5kZXByZWNhdGVWYWx1ZSgiZmxhZ3MiLCAiVW5zYWZlIiwgbmlsLApmdW5jdGlvbih2YWx1ZSkKY2xyICJVbnNhZmUiCmVuZCwKZnVuY3Rpb24odmFsdWUpCmNsciAiT24iCmVuZCkKYXBpLmRlcHJlY2F0ZVZhbHVlKCJmbGFncyIsICJVbmljb2RlIiwgbmlsLApmdW5jdGlvbih2YWx1ZSkKY2hhcmFjdGVyc2V0ICJVbmljb2RlIgplbmQsCmZ1bmN0aW9uKHZhbHVlKQpjaGFyYWN0ZXJzZXQgIkRlZmF1bHQiCmVuZCkKbmV3b3B0aW9uCnsKdHJpZ2dlciAgICAgPSAiY2MiLAp2YWx1ZSAgICAgICA9ICJWQUxVRSIsCmRlc2NyaXB0aW9uID0gIkNob29zZSBhIEMvQysrIGNvbXBpbGVyIHNldCIsCmFsbG93ZWQgPSB7CnsgImNsYW5nIiwgIkNsYW5nIChjbGFuZykiIH0sCnsgImdjYyIsICJHTlUgR0NDIChnY2MvZysrKSIgfSwKfQp9Cm5ld29wdGlvbgp7CnRyaWdnZXIgICAgID0gImRvdG5ldCIsCnZhbHVlICAgICAgID0gIlZBTFVFIiwKZGVzY3JpcHRpb24gPSAiQ2hvb3NlIGEgLk5FVCBjb21waWxlciBzZXQiLAphbGxvd2VkID0gewp7ICJtc25ldCIsICAgIk1pY3Jvc29mdCAuTkVUIChjc2MpIiB9LAp7ICJtb25vIiwgICAgIk5vdmVsbCBNb25vIChtY3MpIiAgICB9LAp7ICJwbmV0IiwgICAgIlBvcnRhYmxlLk5FVCAoY3NjYykiICB9LAp9Cn0KbmV3b3B0aW9uCnsKdHJpZ2dlciAgICAgPSAiZmF0YWwiLApkZXNjcmlwdGlvbiA9ICJUcmVhdCB3YXJuaW5ncyBmcm9tIHByb2plY3Qgc2NyaXB0cyBhcyBlcnJvcnMiCn0KbmV3b3B0aW9uCnsKdHJpZ2dlciAgICAgPSAiZmlsZSIsCnZhbHVlICAgICAgID0gIkZJTEUiLApkZXNjcmlwdGlvbiA9ICJSZWFkIEZJTEUgYXMgYSBQcmVtYWtlIHNjcmlwdDsgZGVmYXVsdCBpcyAncHJlbWFrZTUubHVhJyIKfQpuZXdvcHRpb24Kewp0cmlnZ2VyICAgICA9ICJoZWxwIiwKZGVzY3JpcHRpb24gPSAiRGlzcGxheSB0aGlzIGluZm9ybWF0aW9uIgp9Cm5ld29wdGlvbgp7CnRyaWdnZXIgICAgID0gInZlcmJvc2UiLApkZXNjcmlwdGlvbiA9ICJHZW5lcmF0ZSBleHRyYSBkZWJ1ZyB0ZXh0IG91dHB1dCIKfQpuZXdvcHRpb24Kewp0cmlnZ2VyID0gImludGVyYWN0aXZlIiwKZGVzY3JpcHRpb24gPSAiSW50ZXJhY3RpdmUgY29tbWFuZCBwcm9tcHQiCn0KbmV3b3B0aW9uCnsKdHJpZ2dlciAgICAgPSAib3MiLAp2YWx1ZSAgICAgICA9ICJWQUxVRSIsCmRlc2NyaXB0aW9uID0gIkdlbmVyYXRlIGZpbGVzIGZvciBhIGRpZmZlcmVudCBvcGVyYXRpbmcgc3lzdGVtIiwKYWxsb3dlZCA9IHsKeyAiYWl4IiwgICAgICAiSUJNIEFJWCIgfSwKeyAiYnNkIiwgICAgICAiT3BlbkJTRCwgTmV0QlNELCBvciBGcmVlQlNEIiB9LAp7ICJoYWlrdSIsICAgICJIYWlrdSIgfSwKeyAiaHVyZCIsICAgICAiR05VL0h1cmQiIH0sCnsgImxpbnV4IiwgICAgIkxpbnV4IiB9LAp7ICJtYWNvc3giLCAgICJBcHBsZSBNYWMgT1MgWCIgfSwKeyAic29sYXJpcyIsICAiU29sYXJpcyIgfSwKeyAid2luZG93cyIsICAiTWljcm9zb2Z0IFdpbmRvd3MiIH0sCn0KfQpuZXdvcHRpb24Kewp0cmlnZ2VyICAgICA9ICJzY3JpcHRzIiwKdmFsdWUgICAgICAgPSAiUEFUSCIsCmRlc2NyaXB0aW9uID0gIlNlYXJjaCBmb3IgYWRkaXRpb25hbCBzY3JpcHRzIG9uIHRoZSBnaXZlbiBwYXRoIgp9Cm5ld29wdGlvbgp7CnRyaWdnZXIgICAgID0gInN5c3RlbXNjcmlwdCIsCnZhbHVlICAgICAgID0gIkZJTEUiLApkZXNjcmlwdGlvbiA9ICJPdmVycmlkZSBkZWZhdWx0IHN5c3RlbSBzY3JpcHQgKHByZW1ha2U1LXN5c3RlbS5sdWEpIgp9Cm5ld29wdGlvbgp7CnRyaWdnZXIgICAgID0gInZlcnNpb24iLApkZXNjcmlwdGlvbiA9ICJEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24iCn0KY2hhcmFjdGVyc2V0ICJEZWZhdWx0IgpjbHIgIk9mZiIKZWRpdG9yaW50ZWdyYXRpb24gIk9mZiIKZXhjZXB0aW9uaGFuZGxpbmcgIkRlZmF1bHQiCnJ0dGkgIkRlZmF1bHQiCmxhbmd1YWdlICJDKysiCmZpbHRlciB7ICJraW5kOlNoYXJlZExpYiIgfQp0YXJnZXRwcmVmaXggImxpYiIKdGFyZ2V0ZXh0ZW5zaW9uICIuc28iCmZpbHRlciB7ICJraW5kOlN0YXRpY0xpYiIgfQp0YXJnZXRwcmVmaXggImxpYiIKdGFyZ2V0ZXh0ZW5zaW9uICIuYSIKZmlsdGVyIHsgInN5c3RlbTpNYWNPU1giLCAia2luZDpTaGFyZWRMaWIiIH0KdGFyZ2V0ZXh0ZW5zaW9uICIuZHlsaWIiCmZpbHRlciB7ICJzeXN0ZW06V2luZG93cyBvciBsYW5ndWFnZTpDIyIsICJraW5kOkNvbnNvbGVBcHAgb3IgV2luZG93ZWRBcHAiIH0KdGFyZ2V0ZXh0ZW5zaW9uICIuZXhlIgpmaWx0ZXIgeyAic3lzdGVtOlhib3gzNjAiLCAia2luZDpDb25zb2xlQXBwIG9yIFdpbmRvd2VkQXBwIiB9CnRhcmdldGV4dGVuc2lvbiAiLmV4ZSIKZmlsdGVyIHsgInN5c3RlbTpXaW5kb3dzIG9yIFhib3gzNjAiLCAia2luZDpTaGFyZWRMaWIiIH0KdGFyZ2V0cHJlZml4ICIiCnRhcmdldGV4dGVuc2lvbiAiLmRsbCIKaW1wbGliZXh0ZW5zaW9uICIubGliIgpmaWx0ZXIgeyAic3lzdGVtOldpbmRvd3Mgb3IgWGJveDM2MCIsICJraW5kOlN0YXRpY0xpYiIgfQp0YXJnZXRwcmVmaXggIiIKdGFyZ2V0ZXh0ZW5zaW9uICIubGliIgpmaWx0ZXIgeyAibGFuZ3VhZ2U6QyMiLCAia2luZDpTaGFyZWRMaWIiIH0KdGFyZ2V0cHJlZml4ICIiCnRhcmdldGV4dGVuc2lvbiAiLmRsbCIKaW1wbGliZXh0ZW5zaW9uICIuZGxsIgpmaWx0ZXIgeyAia2luZDpTaGFyZWRMaWIiLCAic3lzdGVtOm5vdCBXaW5kb3dzIiB9CnBpYyAiT24iCmZpbHRlciB7fQoAAAAAAAAAbG9jYWwgcCA9IHByZW1ha2UKbmV3YWN0aW9uCnsKdHJpZ2dlciAgICAgICAgID0gImNvZGVsaXRlIiwKc2hvcnRuYW1lICAgICAgID0gIkNvZGVMaXRlIiwKZGVzY3JpcHRpb24gICAgID0gIkdlbmVyYXRlIENvZGVMaXRlIHByb2plY3QgZmlsZXMiLAp2YWxpZF9raW5kcyAgICAgPSB7ICJDb25zb2xlQXBwIiwgIldpbmRvd2VkQXBwIiwgIk1ha2VmaWxlIiwgIlNoYXJlZExpYiIsICJTdGF0aWNMaWIiIH0sCnZhbGlkX2xhbmd1YWdlcyA9IHsgIkMiLCAiQysrIiB9LAp2YWxpZF90b29scyAgICAgPSB7CiAgICBjYyA9IHsgImdjYyIsICJjbGFuZyIsICJtc2MiIH0KfSwKb25Xb3Jrc3BhY2UgPSBmdW5jdGlvbih3a3MpCnAubW9kdWxlcy5jb2RlbGl0ZS5nZW5lcmF0ZVdvcmtzcGFjZSh3a3MpCmVuZCwKb25Qcm9qZWN0ID0gZnVuY3Rpb24ocHJqKQpwLm1vZHVsZXMuY29kZWxpdGUuZ2VuZXJhdGVQcm9qZWN0KHByaikKZW5kLApvbkNsZWFuV29ya3NwYWNlID0gZnVuY3Rpb24od2tzKQpwLm1vZHVsZXMuY29kZWxpdGUuY2xlYW5Xb3Jrc3BhY2Uod2tzKQplbmQsCm9uQ2xlYW5Qcm9qZWN0ID0gZnVuY3Rpb24ocHJqKQpwLm1vZHVsZXMuY29kZWxpdGUuY2xlYW5Qcm9qZWN0KHByaikKZW5kLApvbkNsZWFuVGFyZ2V0ID0gZnVuY3Rpb24ocHJqKQpwLm1vZHVsZXMuY29kZWxpdGUuY2xlYW5UYXJnZXQocHJqKQplbmQsCn0KcmV0dXJuIGZ1bmN0aW9uKGNmZykKcmV0dXJuIChfQUNUSU9OID09ICJjb2RlbGl0ZSIpCmVuZAoAAABsb2NhbCBwID0gcHJlbWFrZQpwLm1vZHVsZXMuY29kZWxpdGUgPSB7fQpwLm1vZHVsZXMuY29kZWxpdGUuX1ZFUlNJT04gPSBwLl9WRVJTSU9OCmxvY2FsIGNvZGVsaXRlID0gcC5tb2R1bGVzLmNvZGVsaXRlCmxvY2FsIHByb2plY3QgPSBwLnByb2plY3QKZnVuY3Rpb24gY29kZWxpdGUuY2ZnbmFtZShjZmcpCmxvY2FsIGNmZ25hbWUgPSBjZmcuYnVpbGRjZmcKaWYgY29kZWxpdGUud29ya3NwYWNlLm11bHRpcGxlUGxhdGZvcm1zIHRoZW4KY2ZnbmFtZSA9IHN0cmluZy5mb3JtYXQoIiVzfCVzIiwgY2ZnLnBsYXRmb3JtLCBjZmcuYnVpbGRjZmcpCmVuZApyZXR1cm4gY2ZnbmFtZQplbmQKZnVuY3Rpb24gY29kZWxpdGUuZXNjKHZhbHVlKQpyZXR1cm4gdmFsdWUKZW5kCmZ1bmN0aW9uIGNvZGVsaXRlLmdlbmVyYXRlV29ya3NwYWNlKHdrcykKcC5lb2woIlxyXG4iKQpwLmluZGVudCgiICAiKQpwLmVzY2FwZXIoY29kZWxpdGUuZXNjKQpwLmdlbmVyYXRlKHdrcywgIi53b3Jrc3BhY2UiLCBjb2RlbGl0ZS53b3Jrc3BhY2UuZ2VuZXJhdGUpCmVuZApmdW5jdGlvbiBjb2RlbGl0ZS5nZW5lcmF0ZVByb2plY3QocHJqKQpwLmVvbCgiXHJcbiIpCnAuaW5kZW50KCIgICIpCnAuZXNjYXBlcihjb2RlbGl0ZS5lc2MpCmlmIHByb2plY3QuaXNjcHAocHJqKSB0aGVuCnAuZ2VuZXJhdGUocHJqLCAiLnByb2plY3QiLCBjb2RlbGl0ZS5wcm9qZWN0LmdlbmVyYXRlKQplbmQKZW5kCmZ1bmN0aW9uIGNvZGVsaXRlLmNsZWFuV29ya3NwYWNlKHdrcykKcC5jbGVhbi5maWxlKHdrcywgd2tzLm5hbWUgLi4gIi53b3Jrc3BhY2UiKQpwLmNsZWFuLmZpbGUod2tzLCB3a3MubmFtZSAuLiAiX3dzcC5tayIpCnAuY2xlYW4uZmlsZSh3a3MsIHdrcy5uYW1lIC4uICIudGFncyIpCnAuY2xlYW4uZmlsZSh3a3MsICIuY2xhbmciKQplbmQKZnVuY3Rpb24gY29kZWxpdGUuY2xlYW5Qcm9qZWN0KHByaikKcC5jbGVhbi5maWxlKHByaiwgcHJqLm5hbWUgLi4gIi5wcm9qZWN0IikKcC5jbGVhbi5maWxlKHByaiwgcHJqLm5hbWUgLi4gIi5tayIpCnAuY2xlYW4uZmlsZShwcmosIHByai5uYW1lIC4uICIubGlzdCIpCnAuY2xlYW4uZmlsZShwcmosIHByai5uYW1lIC4uICIub3V0IikKZW5kCmZ1bmN0aW9uIGNvZGVsaXRlLmNsZWFuVGFyZ2V0KHByaikKZW5kCmluY2x1ZGUoImNvZGVsaXRlX3dvcmtzcGFjZS5sdWEiKQppbmNsdWRlKCJjb2RlbGl0ZV9wcm9qZWN0Lmx1YSIpCnJldHVybiBjb2RlbGl0ZQoAAGxvY2FsIHAgPSBwcmVtYWtlCmxvY2FsIHByb2plY3QgPSBwLnByb2plY3QKbG9jYWwgd29ya3NwYWNlID0gcC53b3Jrc3BhY2UKbG9jYWwgdHJlZSA9IHAudHJlZQpsb2NhbCBjb2RlbGl0ZSA9IHAubW9kdWxlcy5jb2RlbGl0ZQpjb2RlbGl0ZS53b3Jrc3BhY2UgPSB7fQpsb2NhbCBtID0gY29kZWxpdGUud29ya3NwYWNlCmZ1bmN0aW9uIG0uZ2VuZXJhdGUod2tzKQpwLnV0ZjgoKQpfcCgnPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4nKQpsb2NhbCB0YWdzZGIgPSAiIgpfcCgnPENvZGVMaXRlX1dvcmtzcGFjZSBOYW1lPSIlcyIgRGF0YWJhc2U9IiVzIiBTV1RMVz0iTm8iPicsIHdrcy5uYW1lLCB0YWdzZGIpCmxvY2FsIHRyID0gd29ya3NwYWNlLmdyb3VwdHJlZSh3a3MpCnRyZWUudHJhdmVyc2UodHIsIHsKb25sZWFmID0gZnVuY3Rpb24obikKbG9jYWwgcHJqID0gbi5wcm9qZWN0CmxvY2FsIHByanBhdGggPSBwLmZpbGVuYW1lKHByaiwgIi5wcm9qZWN0IikKcHJqcGF0aCA9IHBhdGgudHJhbnNsYXRlKHBhdGguZ2V0cmVsYXRpdmUocHJqLndvcmtzcGFjZS5sb2NhdGlvbiwgcHJqcGF0aCkpCmxvY2FsIGFjdGl2ZSAgPSBpaWYocHJqLm5hbWUgPT0gd2tzLnN0YXJ0cHJvamVjdCwgJyBBY3RpdmU9IlllcyInLCAnJykKX3goMSwgJzxQcm9qZWN0IE5hbWU9IiVzIiBQYXRoPSIlcyIlcy8+JywgcHJqLm5hbWUsIHByanBhdGgsIGFjdGl2ZSkKZW5kLApvbmJyYW5jaCA9IGZ1bmN0aW9uKG4pCmVuZCwKfSkKbG9jYWwgcGxhdGZvcm1zUHJlc2VudCA9IHt9CmxvY2FsIG51bVBsYXRmb3JtcyA9IDAKZm9yIGNmZyBpbiB3b3Jrc3BhY2UuZWFjaGNvbmZpZyh3a3MpIGRvCmxvY2FsIHBsYXRmb3JtID0gY2ZnLnBsYXRmb3JtCmlmIHBsYXRmb3JtIGFuZCBub3QgcGxhdGZvcm1zUHJlc2VudFtwbGF0Zm9ybV0gdGhlbgpudW1QbGF0Zm9ybXMgPSBudW1QbGF0Zm9ybXMgKyAxCnBsYXRmb3Jtc1ByZXNlbnRbcGxhdGZvcm1dID0gdHJ1ZQplbmQKZW5kCmlmIG51bVBsYXRmb3JtcyA+PSAyIHRoZW4KY29kZWxpdGUud29ya3NwYWNlLm11bHRpcGxlUGxhdGZvcm1zID0gdHJ1ZQplbmQKX3AoMSwgJzxCdWlsZE1hdHJpeD4nKQpmb3IgY2ZnIGluIHdvcmtzcGFjZS5lYWNoY29uZmlnKHdrcykgZG8KbG9jYWwgY2ZnbmFtZSA9IGNvZGVsaXRlLmNmZ25hbWUoY2ZnKQpfcCgyLCAnPFdvcmtzcGFjZUNvbmZpZ3VyYXRpb24gTmFtZT0iJXMiIFNlbGVjdGVkPSJ5ZXMiPicsIGNmZ25hbWUpCmxvY2FsIHRyID0gd29ya3NwYWNlLmdyb3VwdHJlZSh3a3MpCnRyZWUudHJhdmVyc2UodHIsIHsKb25sZWFmID0gZnVuY3Rpb24obikKbG9jYWwgcHJqID0gbi5wcm9qZWN0Cl9wKDMsICc8UHJvamVjdCBOYW1lPSIlcyIgQ29uZmlnTmFtZT0iJXMiLz4nLCBwcmoubmFtZSwgY2ZnbmFtZSkKZW5kCn0pCl9wKDIsICc8L1dvcmtzcGFjZUNvbmZpZ3VyYXRpb24+JykKZW5kCl9wKDEsICc8L0J1aWxkTWF0cml4PicpCl9wKCc8L0NvZGVMaXRlX1dvcmtzcGFjZT4nKQplbmQKAGxvY2FsIHAgPSBwcmVtYWtlCmxvY2FsIHRyZWUgPSBwLnRyZWUKbG9jYWwgcHJvamVjdCA9IHAucHJvamVjdApsb2NhbCBjb25maWcgPSBwLmNvbmZpZwpsb2NhbCBjb2RlbGl0ZSA9IHAubW9kdWxlcy5jb2RlbGl0ZQpjb2RlbGl0ZS5wcm9qZWN0ID0ge30KbG9jYWwgbSA9IGNvZGVsaXRlLnByb2plY3QKZnVuY3Rpb24gY29kZWxpdGUuZ2V0TGlua3MoY2ZnKQpyZXR1cm4gY29uZmlnLmdldGxpbmtzKGNmZywgInN5c3RlbSIsICJmdWxscGF0aCIpCmVuZApmdW5jdGlvbiBjb2RlbGl0ZS5nZXRTaWJsaW5nTGlua3MoY2ZnKQpyZXR1cm4gY29uZmlnLmdldGxpbmtzKGNmZywgInNpYmxpbmdzIiwgImZ1bGxwYXRoIikKZW5kCm0uZWxlbWVudHMgPSB7fQptLmN0b29scyA9IHsKZ2NjID0gImdudSBnY2MiLApjbGFuZyA9ICJjbGFuZyIsCm1zYyA9ICJWaXN1YWwgQysrIiwKfQptLmN4eHRvb2xzID0gewpnY2MgPSAiZ251IGcrKyIsCmNsYW5nID0gImNsYW5nKysiLAptc2MgPSAiVmlzdWFsIEMrKyIsCn0KZnVuY3Rpb24gbS5nZXRjb21waWxlcm5hbWUoY2ZnKQpsb2NhbCB0b29sID0gX09QVElPTlMuY2Mgb3IgY2ZnLnRvb2xzZXQgb3IgcC5DTEFORwpsb2NhbCB0b29sc2V0ID0gcC50b29sc1t0b29sXQppZiBub3QgdG9vbHNldCB0aGVuCmVycm9yKCJJbnZhbGlkIHRvb2xzZXQgJyIgKyAoX09QVElPTlMuY2Mgb3IgY2ZnLnRvb2xzZXQpICsgIiciKQplbmQKaWYgY2ZnLmxhbmd1YWdlID09ICJDIiB0aGVuCnJldHVybiBtLmN0b29sc1t0b29sXQplbHNlaWYgY2ZnLmxhbmd1YWdlID09ICJDKysiIHRoZW4KcmV0dXJuIG0uY3h4dG9vbHNbdG9vbF0KZW5kCmVuZApmdW5jdGlvbiBtLmdldGNvbXBpbGVyKGNmZykKbG9jYWwgdG9vbHNldCA9IHAudG9vbHNbX09QVElPTlMuY2Mgb3IgY2ZnLnRvb2xzZXQgb3IgcC5DTEFOR10KaWYgbm90IHRvb2xzZXQgdGhlbgplcnJvcigiSW52YWxpZCB0b29sc2V0ICciICsgKF9PUFRJT05TLmNjIG9yIGNmZy50b29sc2V0KSArICInIikKZW5kCnJldHVybiB0b29sc2V0CmVuZApsb2NhbCBmdW5jdGlvbiBjb25maWd1cmF0aW9uX2lzY3VzdG9tYnVpbGQoY2ZnKQpyZXR1cm4gY2ZnIGFuZCAoY2ZnLmtpbmQgPT0gcC5NQUtFRklMRSkgYW5kICgjY2ZnLmJ1aWxkY29tbWFuZHMgPiAwKQplbmQKbG9jYWwgZnVuY3Rpb24gY29uZmlndXJhdGlvbl9pc2ZpbGVsaXN0KGNmZykKcmV0dXJuIGNmZyBhbmQgKGNmZy5idWlsZGFjdGlvbiA9PSAiTm9uZSIpIGFuZCBub3QgY29uZmlndXJhdGlvbl9pc2N1c3RvbWJ1aWxkKGNmZykKZW5kCmxvY2FsIGZ1bmN0aW9uIGNvbmZpZ3VyYXRpb25fbmVlZHJlc29wdGlvbnMoY2ZnKQpyZXR1cm4gY2ZnIGFuZCBjb25maWcuZmluZGZpbGUoY2ZnLCAiLnJjIikgYW5kIG5vdCBjb25maWd1cmF0aW9uX2lzY3VzdG9tYnVpbGQoY2ZnKQplbmQKbS5pbnRlcm5hbFR5cGVNYXAgPSB7CkNvbnNvbGVBcHAgPSAiQ29uc29sZSIsCldpbmRvd2VkQXBwID0gIkNvbnNvbGUiLApNYWtlZmlsZSA9ICIiLApTaGFyZWRMaWIgPSAiTGlicmFyeSIsClN0YXRpY0xpYiA9ICJMaWJyYXJ5Igp9CmZ1bmN0aW9uIG0uaGVhZGVyKHByaikKX3AoJzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+JykKbG9jYWwgdHlwZSA9IG0uaW50ZXJuYWxUeXBlTWFwW3Byai5raW5kXSBvciAiIgpfeCgnPENvZGVMaXRlX1Byb2plY3QgTmFtZT0iJXMiIEludGVybmFsVHlwZT0iJXMiPicsIHByai5uYW1lLCB0eXBlKQplbmQKZnVuY3Rpb24gbS5wbHVnaW5zKHByaikKX3AoMSwgJzxQbHVnaW5zLz4nKQplbmQKZnVuY3Rpb24gbS5kZXNjcmlwdGlvbihwcmopCl9wKDEsICc8RGVzY3JpcHRpb24vPicpCmVuZApmdW5jdGlvbiBtLmZpbGVzKHByaikKbG9jYWwgdHIgPSBwcm9qZWN0LmdldHNvdXJjZXRyZWUocHJqKQp0cmVlLnRyYXZlcnNlKHRyLCB7Cm9uYnJhbmNoZW50ZXIgPSBmdW5jdGlvbihub2RlLCBkZXB0aCkKX3AoZGVwdGgsICc8VmlydHVhbERpcmVjdG9yeSBOYW1lPSIlcyI+Jywgbm9kZS5uYW1lKQplbmQsCm9uYnJhbmNoZXhpdCA9IGZ1bmN0aW9uKG5vZGUsIGRlcHRoKQpfcChkZXB0aCwgJzwvVmlydHVhbERpcmVjdG9yeT4nKQplbmQsCm9ubGVhZiA9IGZ1bmN0aW9uKG5vZGUsIGRlcHRoKQpfcChkZXB0aCwgJzxGaWxlIE5hbWU9IiVzIi8+Jywgbm9kZS5yZWxwYXRoKQplbmQsCn0sIGZhbHNlLCAxKQplbmQKZnVuY3Rpb24gbS5kZXBlbmRlbmNpZXMocHJqKQpsb2NhbCBkZXBlbmRlbmNpZXMgPSBwcm9qZWN0LmdldGRlcGVuZGVuY2llcyhwcmopCmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KY2ZnbmFtZSA9IGNvZGVsaXRlLmNmZ25hbWUoY2ZnKQppZiAjZGVwZW5kZW5jaWVzID4gMCB0aGVuCl9wKDEsICc8RGVwZW5kZW5jaWVzIE5hbWU9IiVzIj4nLCBjZmduYW1lKQpmb3IgXywgZGVwZW5kZW5jeSBpbiBpcGFpcnMoZGVwZW5kZW5jaWVzKSBkbwpfcCgyLCAnPFByb2plY3QgTmFtZT0iJXMiLz4nLCBkZXBlbmRlbmN5Lm5hbWUpCmVuZApfcCgxLCAnPC9EZXBlbmRlbmNpZXM+JykKZWxzZQpfcCgxLCAnPERlcGVuZGVuY2llcyBOYW1lPSIlcyIvPicsIGNmZ25hbWUpCmVuZAplbmQKZW5kCmZ1bmN0aW9uIG0uZ2xvYmFsX2NvbXBpbGVyKHByaikKX3AoMywgJzxDb21waWxlciBPcHRpb25zPSIiIENfT3B0aW9ucz0iIiBBc3NlbWJsZXI9IiI+JykKX3AoNCwgJzxJbmNsdWRlUGF0aCBWYWx1ZT0iLiIvPicpCl9wKDMsICc8L0NvbXBpbGVyPicpCmVuZApmdW5jdGlvbiBtLmdsb2JhbF9saW5rZXIocHJqKQpfcCgzLCAnPExpbmtlciBPcHRpb25zPSIiPicpCl9wKDQsICc8TGlicmFyeVBhdGggVmFsdWU9Ii4iLz4nKQpfcCgzLCAnPC9MaW5rZXI+JykKZW5kCmZ1bmN0aW9uIG0uZ2xvYmFsX3Jlc291cmNlQ29tcGlsZXIocHJqKQpfcCgzLCAnPFJlc291cmNlQ29tcGlsZXIgT3B0aW9ucz0iIi8+JykKZW5kCm0uZWxlbWVudHMuZ2xvYmFsU2V0dGluZ3MgPSBmdW5jdGlvbihwcmopCnJldHVybiB7Cm0uZ2xvYmFsX2NvbXBpbGVyLAptLmdsb2JhbF9saW5rZXIsCm0uZ2xvYmFsX3Jlc291cmNlQ29tcGlsZXIsCn0KZW5kCmZ1bmN0aW9uIG0uY29tcGlsZXIoY2ZnKQppZiBjb25maWd1cmF0aW9uX2lzY3VzdG9tYnVpbGQoY2ZnKSBvciBjb25maWd1cmF0aW9uX2lzZmlsZWxpc3QoY2ZnKSB0aGVuCl9wKDMsICc8Q29tcGlsZXIgUmVxdWlyZWQ9Im5vIi8+JykKcmV0dXJuCmVuZApsb2NhbCB0b29sc2V0ID0gbS5nZXRjb21waWxlcihjZmcpCmxvY2FsIGN4eGZsYWdzID0gdGFibGUuY29uY2F0KHRhYmxlLmpvaW4odG9vbHNldC5nZXRjZmxhZ3MoY2ZnKSwgdG9vbHNldC5nZXRjeHhmbGFncyhjZmcpLCBjZmcuYnVpbGRvcHRpb25zKSwgIjsiKQpsb2NhbCBjZmxhZ3MgICA9IHRhYmxlLmNvbmNhdCh0YWJsZS5qb2luKHRvb2xzZXQuZ2V0Y2ZsYWdzKGNmZyksIGNmZy5idWlsZG9wdGlvbnMpLCAiOyIpCmxvY2FsIGFzbWZsYWdzID0gIiIKbG9jYWwgcGNoICAgICAgPSAiIgpfeCgzLCAnPENvbXBpbGVyIE9wdGlvbnM9IiVzIiBDX09wdGlvbnM9IiVzIiBBc3NlbWJsZXI9IiVzIiBSZXF1aXJlZD0ieWVzIiBQcmVDb21waWxlZEhlYWRlcj0iJXMiIFBDSEluQ29tbWFuZExpbmU9Im5vIiBVc2VEaWZmZXJlbnRQQ0hGbGFncz0ibm8iIFBDSEZsYWdzPSIiPicsIGN4eGZsYWdzLCBjZmxhZ3MsIGFzbWZsYWdzLCBwY2gpCmZvciBfLCBpbmNsdWRlZGlyIGluIGlwYWlycyhjZmcuaW5jbHVkZWRpcnMpIGRvCl94KDQsICc8SW5jbHVkZVBhdGggVmFsdWU9IiVzIi8+JywgcHJvamVjdC5nZXRyZWxhdGl2ZShjZmcucHJvamVjdCwgaW5jbHVkZWRpcikpCmVuZApmb3IgXywgZGVmaW5lIGluIGlwYWlycyhjZmcuZGVmaW5lcykgZG8KX3goNCwgJzxQcmVwcm9jZXNzb3IgVmFsdWU9IiVzIi8+JywgZGVmaW5lKQplbmQKX3AoMywgJzwvQ29tcGlsZXI+JykKZW5kCmZ1bmN0aW9uIG0ubGlua2VyKGNmZykKaWYgY29uZmlndXJhdGlvbl9pc2N1c3RvbWJ1aWxkKGNmZykgb3IgY29uZmlndXJhdGlvbl9pc2ZpbGVsaXN0KGNmZykgdGhlbgpfcCgzLCAnPExpbmtlciBSZXF1aXJlZD0ibm8iLz4nKQpyZXR1cm4KZW5kCmxvY2FsIHRvb2xzZXQgPSBtLmdldGNvbXBpbGVyKGNmZykKbG9jYWwgZmxhZ3MgPSB0YWJsZS5qb2luKHRvb2xzZXQuZ2V0bGRmbGFncyhjZmcpLCBjZmcubGlua29wdGlvbnMpCmxvY2FsIHdpdGhkZXBzID0gdGFibGUuam9pbihmbGFncywgY29kZWxpdGUuZ2V0U2libGluZ0xpbmtzKGNmZykpCmxvY2FsIGxkZmxhZ3MgPSB0YWJsZS5jb25jYXQod2l0aGRlcHMsICI7IikKX3goMywgJzxMaW5rZXIgUmVxdWlyZWQ9InllcyIgT3B0aW9ucz0iJXMiPicsIGxkZmxhZ3MpCmlmICNjZmcubGliZGlycyA+IDAgdGhlbgpsb2NhbCBsaWJkaXJzID0gcHJvamVjdC5nZXRyZWxhdGl2ZShjZmcucHJvamVjdCwgY2ZnLmxpYmRpcnMpCmZvciBfLCBsaWJwYXRoIGluIGlwYWlycyhsaWJkaXJzKSBkbwpfeCg0LCAnPExpYnJhcnlQYXRoIFZhbHVlPSIlcyIgLz4nLCBsaWJwYXRoKQplbmQKZW5kCmxvY2FsIGxpbmtzID0gY29kZWxpdGUuZ2V0TGlua3MoY2ZnKQpmb3IgXywgbGlibmFtZSBpbiBpcGFpcnMobGlua3MpIGRvCl94KDQsICc8TGlicmFyeSBWYWx1ZT0iJXMiIC8+JywgbGlibmFtZSkKZW5kCl9wKDMsICc8L0xpbmtlcj4nKQplbmQKZnVuY3Rpb24gbS5yZXNvdXJjZUNvbXBpbGVyKGNmZykKaWYgbm90IGNvbmZpZ3VyYXRpb25fbmVlZHJlc29wdGlvbnMoY2ZnKSB0aGVuCl9wKDMsICc8UmVzb3VyY2VDb21waWxlciBPcHRpb25zPSIiIFJlcXVpcmVkPSJubyIvPicpCnJldHVybgplbmQKbG9jYWwgdG9vbHNldCA9IG0uZ2V0Y29tcGlsZXIoY2ZnKQpsb2NhbCBkZWZpbmVzID0gdGFibGUuaW1wbG9kZSh0b29sc2V0LmdldGRlZmluZXModGFibGUuam9pbihjZmcuZGVmaW5lcywgY2ZnLnJlc2RlZmluZXMpKSwgIiIsICI7IiwgIiIpCmxvY2FsIG9wdGlvbnMgPSB0YWJsZS5jb25jYXQoY2ZnLnJlc29wdGlvbnMsICI7IikKX3goMywgJzxSZXNvdXJjZUNvbXBpbGVyIE9wdGlvbnM9IiVzJXMiIFJlcXVpcmVkPSJ5ZXMiPicsIGRlZmluZXMsIG9wdGlvbnMpCmZvciBfLCBpbmNsdWRlcGF0aCBpbiBpcGFpcnModGFibGUuam9pbihjZmcuaW5jbHVkZWRpcnMsIGNmZy5yZXNpbmNsdWRlZGlycykpIGRvCl94KDQsICc8SW5jbHVkZVBhdGggVmFsdWU9IiVzIi8+JywgcHJvamVjdC5nZXRyZWxhdGl2ZShjZmcucHJvamVjdCwgaW5jbHVkZXBhdGgpKQplbmQKX3AoMywgJzwvUmVzb3VyY2VDb21waWxlcj4nKQplbmQKZnVuY3Rpb24gbS5nZW5lcmFsKGNmZykKaWYgY29uZmlndXJhdGlvbl9pc2ZpbGVsaXN0KGNmZykgdGhlbgpfcCgzLCAnPEdlbmVyYWwgSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIuIiBXb3JraW5nRGlyZWN0b3J5PSIuIiBQYXVzZUV4ZWNXaGVuUHJvY1Rlcm1pbmF0ZXM9Im5vIi8+JykKcmV0dXJuCmVuZApsb2NhbCBwcmogPSBjZmcucHJvamVjdApsb2NhbCBpc0V4ZSA9IHByai5raW5kID09ICJXaW5kb3dlZEFwcCIgb3IgcHJqLmtpbmQgPT0gIkNvbnNvbGVBcHAiCmxvY2FsIHRhcmdldHBhdGggPSBwcm9qZWN0LmdldHJlbGF0aXZlKHByaiwgY2ZnLmJ1aWxkdGFyZ2V0LmRpcmVjdG9yeSkKbG9jYWwgb2JqZGlyICAgICA9IHByb2plY3QuZ2V0cmVsYXRpdmUocHJqLCBjZmcub2JqZGlyKQpsb2NhbCB0YXJnZXRuYW1lID0gcHJvamVjdC5nZXRyZWxhdGl2ZShwcmosIGNmZy5idWlsZHRhcmdldC5hYnNwYXRoKQpsb2NhbCBjb21tYW5kICAgID0gaWlmKGlzRXhlLCB0YXJnZXRuYW1lLCAiIikKbG9jYWwgY21kYXJncyAgICA9IGlpZihpc0V4ZSwgdGFibGUuY29uY2F0KGNmZy5kZWJ1Z2FyZ3MsICIgIiksICIiKSAtLSBUT0RPOiBzaG91bGQgdGhpcyBiZSBkZWJ1Z2FyZ3MgaW5zdGVhZD8KbG9jYWwgdXNlc2VwYXJhdGVkZWJ1Z2FyZ3MgPSAibm8iCmxvY2FsIGRlYnVnYXJncyAgPSAiIgpsb2NhbCB3b3JraW5nZGlyID0gaWlmKGlzRXhlLCBwcm9qZWN0LmdldHJlbGF0aXZlKHByaiwgY2ZnLmRlYnVnZGlyKSwgIiIpCmxvY2FsIHBhdXNlZXhlYyAgPSBpaWYocHJqLmtpbmQgPT0gIkNvbnNvbGVBcHAiLCAieWVzIiwgIm5vIikKbG9jYWwgaXNndWlwcm9ncmFtID0gaWlmKHByai5raW5kID09ICJXaW5kb3dlZEFwcCIsICJ5ZXMiLCAibm8iKQpsb2NhbCBpc2VuYWJsZWQgID0gaWlmKGNmZy5mbGFncy5FeGNsdWRlRnJvbUJ1aWxkLCAibm8iLCAieWVzIikKX3goMywgJzxHZW5lcmFsIE91dHB1dEZpbGU9IiVzIiBJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9IiVzIiBDb21tYW5kPSIlcyIgQ29tbWFuZEFyZ3VtZW50cz0iJXMiIFVzZVNlcGFyYXRlRGVidWdBcmdzPSIlcyIgRGVidWdBcmd1bWVudHM9IiVzIiBXb3JraW5nRGlyZWN0b3J5PSIlcyIgUGF1c2VFeGVjV2hlblByb2NUZXJtaW5hdGVzPSIlcyIgSXNHVUlQcm9ncmFtPSIlcyIgSXNFbmFibGVkPSIlcyIvPicsCnRhcmdldG5hbWUsIG9iamRpciwgY29tbWFuZCwgY21kYXJncywgdXNlc2VwYXJhdGVkZWJ1Z2FyZ3MsIGRlYnVnYXJncywgd29ya2luZ2RpciwgcGF1c2VleGVjLCBpc2d1aXByb2dyYW0sIGlzZW5hYmxlZCkKZW5kCmZ1bmN0aW9uIG0uZW52aXJvbm1lbnQoY2ZnKQpfcCgzLCAnPEVudmlyb25tZW50IEVudlZhclNldE5hbWU9IiZsdDtVc2UgRGVmYXVsdHMmZ3Q7IiBEYmdTZXROYW1lPSImbHQ7VXNlIERlZmF1bHRzJmd0OyI+JykKbG9jYWwgdmFyaWFibGVzID0gIiIKX3goNCwgJzwhW0NEQVRBWyVzXV0+JywgdmFyaWFibGVzKQpfcCgzLCAnPC9FbnZpcm9ubWVudD4nKQplbmQKZnVuY3Rpb24gbS5kZWJ1Z2dlcihjZmcpCl9wKDMsICc8RGVidWdnZXIgSXNSZW1vdGU9IiVzIiBSZW1vdGVIb3N0TmFtZT0iJXMiIFJlbW90ZUhvc3RQb3J0PSIlcyIgRGVidWdnZXJQYXRoPSIiIElzRXh0ZW5kZWQ9IiVzIj4nLCBpaWYoY2ZnLmRlYnVncmVtb3RlaG9zdCwgInllcyIsICJubyIpLCBjZmcuZGVidWdyZW1vdGVob3N0IG9yICIiLCBpaWYoY2ZnLmRlYnVncG9ydCwgdG9zdHJpbmcoY2ZnLmRlYnVncG9ydCksICIiKSwgaWlmKGNmZy5kZWJ1Z2V4dGVuZGVkcHJvdG9jb2wsICJ5ZXMiLCAibm8iKSkKaWYgI2NmZy5kZWJ1Z3NlYXJjaHBhdGhzID4gMCB0aGVuCl9wKDQsICc8RGVidWdnZXJTZWFyY2hQYXRocz4lczwvRGVidWdnZXJTZWFyY2hQYXRocz4nLCB0YWJsZS5jb25jYXQocHJlbWFrZS5lc2MocHJvamVjdC5nZXRyZWxhdGl2ZShjZmcucHJvamVjdCwgY2ZnLmRlYnVnc2VhcmNocGF0aHMpKSwgIlxuIikpCmVsc2UKX3AoNCwgJzxEZWJ1Z2dlclNlYXJjaFBhdGhzLz4nKQplbmQKaWYgI2NmZy5kZWJ1Z2Nvbm5lY3Rjb21tYW5kcyA+IDAgdGhlbgpfcCg0LCAnPFBvc3RDb25uZWN0Q29tbWFuZHM+JXM8L1Bvc3RDb25uZWN0Q29tbWFuZHM+JywgdGFibGUuY29uY2F0KHByZW1ha2UuZXNjKGNmZy5kZWJ1Z2Nvbm5lY3Rjb21tYW5kcyksICJcbiIpKQplbHNlCl9wKDQsICc8UG9zdENvbm5lY3RDb21tYW5kcy8+JykKZW5kCmlmICNjZmcuZGVidWdzdGFydHVwY29tbWFuZHMgPiAwIHRoZW4KX3AoNCwgJzxTdGFydHVwQ29tbWFuZHM+JXM8L1N0YXJ0dXBDb21tYW5kcz4nLCB0YWJsZS5jb25jYXQocHJlbWFrZS5lc2MoY2ZnLmRlYnVnc3RhcnR1cGNvbW1hbmRzKSwgIlxuIikpCmVsc2UKX3AoNCwgJzxTdGFydHVwQ29tbWFuZHMvPicpCmVuZApfcCgzLCAnPC9EZWJ1Z2dlcj4nKQplbmQKZnVuY3Rpb24gbS5wcmVCdWlsZChjZmcpCmlmICNjZmcucHJlYnVpbGRjb21tYW5kcyA+IDAgdGhlbgpfcCgzLCAnPFByZUJ1aWxkPicpCmZvciBfLCBjb21tYW5kcyBpbiBpcGFpcnMoY2ZnLnByZWJ1aWxkY29tbWFuZHMpIGRvCl94KDQsICc8Q29tbWFuZCBFbmFibGVkPSJ5ZXMiPiVzPC9Db21tYW5kPicsCnAuZXNjKGNvbW1hbmRzKSkKZW5kCl9wKDMsICc8L1ByZUJ1aWxkPicpCmVuZAplbmQKZnVuY3Rpb24gbS5wb3N0QnVpbGQoY2ZnKQppZiAjY2ZnLnBvc3RidWlsZGNvbW1hbmRzID4gMCB0aGVuCl9wKDMsICc8UG9zdEJ1aWxkPicpCmZvciBfLCBjb21tYW5kcyBpbiBpcGFpcnMoY2ZnLnBvc3RidWlsZGNvbW1hbmRzKSBkbwpfeCg0LCAnPENvbW1hbmQgRW5hYmxlZD0ieWVzIj4lczwvQ29tbWFuZD4nLApwLmVzYyhjb21tYW5kcykpCmVuZApfcCgzLCAnPC9Qb3N0QnVpbGQ+JykKZW5kCmVuZApmdW5jdGlvbiBtLmN1c3RvbUJ1aWxkKGNmZykKaWYgbm90IGNvbmZpZ3VyYXRpb25faXNjdXN0b21idWlsZChjZmcpIHRoZW4KX3AoMywgJzxDdXN0b21CdWlsZCBFbmFibGVkPSJubyIvPicpCnJldHVybgplbmQKbG9jYWwgYnVpbGQgICA9IHRhYmxlLmltcGxvZGUoY2ZnLmJ1aWxkY29tbWFuZHMsIiIsIiIsIiIpCmxvY2FsIGNsZWFuICAgPSB0YWJsZS5pbXBsb2RlKGNmZy5jbGVhbmNvbW1hbmRzLCIiLCIiLCIiKQpsb2NhbCByZWJ1aWxkID0gdGFibGUuaW1wbG9kZShjZmcucmVidWlsZGNvbW1hbmRzLCIiLCIiLCIiKQpfcCgzLCAnPEN1c3RvbUJ1aWxkIEVuYWJsZWQ9InllcyI+JykKX3goNCwgJzxCdWlsZENvbW1hbmQ+JXM8L0J1aWxkQ29tbWFuZD4nLCBidWlsZCkKX3goNCwgJzxDbGVhbkNvbW1hbmQ+JXM8L0NsZWFuQ29tbWFuZD4nLCBjbGVhbikKX3goNCwgJzxSZWJ1aWxkQ29tbWFuZD4lczwvUmVidWlsZENvbW1hbmQ+JywgcmVidWlsZCkKX3AoNCwgJzxQcmVwcm9jZXNzRmlsZUNvbW1hbmQ+PC9QcmVwcm9jZXNzRmlsZUNvbW1hbmQ+JykKX3AoNCwgJzxTaW5nbGVGaWxlQ29tbWFuZD48L1NpbmdsZUZpbGVDb21tYW5kPicpCl9wKDQsICc8TWFrZWZpbGVHZW5lcmF0aW9uQ29tbWFuZD48L01ha2VmaWxlR2VuZXJhdGlvbkNvbW1hbmQ+JykKX3AoNCwgJzxUaGlyZFBhcnR5VG9vbE5hbWU+PC9UaGlyZFBhcnR5VG9vbE5hbWU+JykKX3AoNCwgJzxXb3JraW5nRGlyZWN0b3J5PjwvV29ya2luZ0RpcmVjdG9yeT4nKQpfcCgzLCAnPC9DdXN0b21CdWlsZD4nKQplbmQKZnVuY3Rpb24gbS5hZGRpdGlvbmFsUnVsZXMoY2ZnKQppZiBjb25maWd1cmF0aW9uX2lzY3VzdG9tYnVpbGQoY2ZnKSB0aGVuCl9wKDMsICc8QWRkaXRpb25hbFJ1bGVzLz4nKQpyZXR1cm4KZW5kCl9wKDMsICc8QWRkaXRpb25hbFJ1bGVzPicpCl9wKDQsICc8Q3VzdG9tUG9zdEJ1aWxkLz4nKQpfcCg0LCAnPEN1c3RvbVByZUJ1aWxkLz4nKQpfcCgzLCAnPC9BZGRpdGlvbmFsUnVsZXM+JykKZW5kCmZ1bmN0aW9uIG0uY29tcGxldGlvbihjZmcpCl9wKDMsICc8Q29tcGxldGlvbiBFbmFibGVDcHAxMT0iJXMiIEVuYWJsZUNwcDE0PSIlcyI+JywgaWlmKGNmZy5mbGFnc1siQysrMTEiXSwgInllcyIsICJubyIpLCBpaWYoY2ZnLmZsYWdzWyJDKysxNCJdLCAieWVzIiwgIm5vIikpCl9wKDQsICc8Q2xhbmdDbXBGbGFnc0MvPicpCl9wKDQsICc8Q2xhbmdDbXBGbGFncy8+JykKX3AoNCwgJzxDbGFuZ1BQLz4nKSAtLSBUT0RPOiB3ZSBtaWdodCB3YW50IHRvIHNldCBzcGVjaWFsIGNvZGUgY29tcGxldGlvbiBtYWNyb3MuLi4/Cl9wKDQsICc8U2VhcmNoUGF0aHMvPicpIC0tIFRPRE86IHNlYXJjaCBwYXRocyBmb3IgY29kZSBjb21wbGV0aW9uPwpfcCgzLCAnPC9Db21wbGV0aW9uPicpCmVuZAptLmVsZW1lbnRzLnNldHRpbmdzID0gZnVuY3Rpb24oY2ZnKQpyZXR1cm4gewptLmNvbXBpbGVyLAptLmxpbmtlciwKbS5yZXNvdXJjZUNvbXBpbGVyLAptLmdlbmVyYWwsCm0uZW52aXJvbm1lbnQsCm0uZGVidWdnZXIsCm0ucHJlQnVpbGQsCm0ucG9zdEJ1aWxkLAptLmN1c3RvbUJ1aWxkLAptLmFkZGl0aW9uYWxSdWxlcywKbS5jb21wbGV0aW9uLAp9CmVuZAptLnR5cGVzID0KewpDb25zb2xlQXBwICA9ICJFeGVjdXRhYmxlIiwKTWFrZWZpbGUgICAgPSAiIiwKU2hhcmVkTGliICAgPSAiRHluYW1pYyBMaWJyYXJ5IiwKU3RhdGljTGliICAgPSAiU3RhdGljIExpYnJhcnkiLApXaW5kb3dlZEFwcCA9ICJFeGVjdXRhYmxlIgp9Cm0uZGVidWdnZXJzID0KewpEZWZhdWx0ID0gIkdOVSBnZGIgZGVidWdnZXIiLApHREIgPSAiR05VIGdkYiBkZWJ1Z2dlciIsCkxMREIgPSAiTExEQiBEZWJ1Z2dlciIsCn0KZnVuY3Rpb24gbS5zZXR0aW5ncyhwcmopCl9wKDEsICc8U2V0dGluZ3MgVHlwZT0iJXMiPicsIG0udHlwZXNbcHJqLmtpbmRdIG9yICIiKQpfcCgyLCAnPEdsb2JhbFNldHRpbmdzPicpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMuZ2xvYmFsU2V0dGluZ3MsIHByaikKX3AoMiwgJzwvR2xvYmFsU2V0dGluZ3M+JykKZm9yIGNmZyBpbiBwcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwpsb2NhbCBjZmduYW1lICA9IGNvZGVsaXRlLmNmZ25hbWUoY2ZnKQpsb2NhbCBjb21waWxlciA9IG0uZ2V0Y29tcGlsZXJuYW1lKGNmZykKbG9jYWwgZGVidWdnZXIgPSBtLmRlYnVnZ2Vyc1tjZmcuZGVidWdnZXJdIG9yIG0uZGVidWdnZXJzLkRlZmF1bHQKbG9jYWwgdHlwZSA9IG0udHlwZXNbY2ZnLmtpbmRdCl94KDIsICc8Q29uZmlndXJhdGlvbiBOYW1lPSIlcyIgQ29tcGlsZXJUeXBlPSIlcyIgRGVidWdnZXJUeXBlPSIlcyIgVHlwZT0iJXMiIEJ1aWxkQ21wV2l0aEdsb2JhbFNldHRpbmdzPSJhcHBlbmQiIEJ1aWxkTG5rV2l0aEdsb2JhbFNldHRpbmdzPSJhcHBlbmQiIEJ1aWxkUmVzV2l0aEdsb2JhbFNldHRpbmdzPSJhcHBlbmQiPicsIGNmZ25hbWUsIGNvbXBpbGVyLCBkZWJ1Z2dlciwgdHlwZSkKcC5jYWxsQXJyYXkobS5lbGVtZW50cy5zZXR0aW5ncywgY2ZnKQpfcCgyLCAnPC9Db25maWd1cmF0aW9uPicpCmVuZApfcCgxLCAnPC9TZXR0aW5ncz4nKQplbmQKbS5lbGVtZW50cy5wcm9qZWN0ID0gZnVuY3Rpb24ocHJqKQpyZXR1cm4gewptLmhlYWRlciwKbS5wbHVnaW5zLAptLmRlc2NyaXB0aW9uLAptLmZpbGVzLAptLmRlcGVuZGVuY2llcywKbS5zZXR0aW5ncywKfQplbmQKZnVuY3Rpb24gbS5nZW5lcmF0ZShwcmopCnAudXRmOCgpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMucHJvamVjdCwgcHJqKQpfcCgnPC9Db2RlTGl0ZV9Qcm9qZWN0PicpCmVuZAoAAAAAAABsb2NhbCBwID0gcHJlbWFrZQpsb2NhbCBhcGkgPSBwLmFwaQpwLkQgPSAiRCIKYXBpLmFkZEFsbG93ZWQoImxhbmd1YWdlIiwgcC5EKQphcGkuYWRkQWxsb3dlZCgiZmxvYXRpbmdwb2ludCIsICJOb25lIikKYXBpLmFkZEFsbG93ZWQoImZsYWdzIiwgewoiQ29kZUNvdmVyYWdlIiwKIkRlcHJlY2F0ZWQiLAoiRG9jdW1lbnRhdGlvbiIsCiJHZW5lcmF0ZUhlYWRlciIsCiJHZW5lcmF0ZUpTT04iLAoiR2VuZXJhdGVNYXAiLAoiTm9Cb3VuZHNDaGVjayIsCiJQcm9maWxlIiwKIlF1aWV0IiwKIlJldGFpblBhdGhzIiwKIlNlcGFyYXRlQ29tcGlsYXRpb24iLAoiU3ltYm9sc0xpa2VDIiwKIlVuaXRUZXN0IiwKIlZlcmJvc2UiLAp9KQphcGkucmVnaXN0ZXIgewpuYW1lID0gInZlcnNpb25jb25zdGFudHMiLApzY29wZSA9ICJjb25maWciLApraW5kID0gImxpc3Q6c3RyaW5nIiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gInZlcnNpb25sZXZlbCIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAiaW50ZWdlciIsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJkZWJ1Z2NvbnN0YW50cyIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAibGlzdDpzdHJpbmciLAp0b2tlbnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiZGVidWdsZXZlbCIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAiaW50ZWdlciIsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJkb2NkaXIiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInBhdGgiLAp0b2tlbnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiZG9jbmFtZSIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAic3RyaW5nIiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImhlYWRlcmRpciIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAicGF0aCIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJoZWFkZXJuYW1lIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJzdHJpbmciLAp0b2tlbnMgPSB0cnVlLAp9Cm5ld29wdGlvbgp7CnRyaWdnZXI9ICJkYyIsCnZhbHVlPSAiVkFMVUUiLApkZXNjcmlwdGlvbj0gIkNob29zZSBhIEQgY29tcGlsZXIiLAphbGxvd2VkID0gewp7ICJkbWQiLCAiRGlnaXRhbCBNYXJzIChkbWQpIiB9LAp7ICJnZGMiLCAiR05VIEdEQyAoZ2RjKSIgfSwKeyAibGRjIiwgIkxMVk0gTERDIChsZGMyKSIgfSwKfQp9CnJldHVybiBmdW5jdGlvbiAoY2ZnKQpyZXR1cm4gKGNmZy5sYW5ndWFnZSA9PSBwLkQpCmVuZAoAAAAAbG9jYWwgcCA9IHByZW1ha2UKcC5tb2R1bGVzLmQgPSB7fQpsb2NhbCBtID0gcC5tb2R1bGVzLmQKbS5fVkVSU0lPTiA9IHAuX1ZFUlNJT04KbS5lbGVtZW50cyA9IHt9CmxvY2FsIGFwaSA9IHAuYXBpCmZ1bmN0aW9uIHAucHJvamVjdC5pc2QocHJqKQpyZXR1cm4gcHJqLmxhbmd1YWdlID09IHByZW1ha2UuRAplbmQKZnVuY3Rpb24gcGF0aC5pc2RmaWxlKGZuYW1lKQpyZXR1cm4gcGF0aC5oYXNleHRlbnNpb24oZm5hbWUsIHsgIi5kIiwgIi5kaSIgfSkKZW5kCmluY2x1ZGUoICJ0b29scy9kbWQubHVhIiApCmluY2x1ZGUoICJ0b29scy9nZGMubHVhIiApCmluY2x1ZGUoICJ0b29scy9sZGMubHVhIiApCmluY2x1ZGUoICJhY3Rpb25zL2dtYWtlLmx1YSIgKQppbmNsdWRlKCAiYWN0aW9ucy92c3R1ZGlvLmx1YSIgKQppZiBwLm1vZHVsZXMubW9ub2RldmVsb3AgdGhlbgppbmNsdWRlKCAiYWN0aW9ucy9tb25vZGV2Lmx1YSIgKQplbmQKcmV0dXJuIG0KAAAAAABsb2NhbCBwID0gcHJlbWFrZQpsb2NhbCBtID0gcC5tb2R1bGVzLmQKbS5tYWtlID0ge30KbG9jYWwgZG1ha2UgPSBtLm1ha2UKbG9jYWwgbWFrZSA9IHAubWFrZQpsb2NhbCBjcHAgPSBwLm1ha2UuY3BwCmxvY2FsIHByb2plY3QgPSBwLnByb2plY3QKbG9jYWwgY29uZmlnID0gcC5jb25maWcKbG9jYWwgZmlsZWNvbmZpZyA9IHAuZmlsZWNvbmZpZwpsb2NhbCBnbWFrZSA9IHAuYWN0aW9uLmdldCggJ2dtYWtlJyApCmlmIGdtYWtlID09IG5pbCB0aGVuCmVycm9yKCAiRmFpbGVkIHRvIGxvY2F0ZSBwcmVxdWlzaXRlIGFjdGlvbiAnZ21ha2UnIiApCmVuZApnbWFrZS52YWxpZF9sYW5ndWFnZXMgPSB0YWJsZS5qb2luKGdtYWtlLnZhbGlkX2xhbmd1YWdlcywgeyBwLkQgfSApCmdtYWtlLnZhbGlkX3Rvb2xzLmRjID0geyAiZG1kIiwgImdkYyIsICJsZGMiIH0KZnVuY3Rpb24gbS5tYWtlLnNlcGFyYXRlQ29tcGlsYXRpb24ocHJqKQpsb2NhbCBzb21lID0gZmFsc2UKbG9jYWwgYWxsID0gdHJ1ZQpmb3IgY2ZnIGluIHByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCmlmIGNmZy5mbGFncy5TZXBhcmF0ZUNvbXBpbGF0aW9uIHRoZW4Kc29tZSA9IHRydWUKZWxzZQphbGwgPSBmYWxzZQplbmQKZW5kCnJldHVybiBpaWYoYWxsLCAiYWxsIiwgaWlmKHNvbWUsICJzb21lIiwgIm5vbmUiKSkKZW5kCnAub3ZlcnJpZGUoIGdtYWtlLCAib25Qcm9qZWN0IiwgZnVuY3Rpb24ob2xkZm4sIHByaikKcC5lc2NhcGVyKG1ha2UuZXNjKQppZiBwcm9qZWN0LmlzZChwcmopIHRoZW4KbG9jYWwgbWFrZWZpbGUgPSBtYWtlLmdldG1ha2VmaWxlbmFtZShwcmosIHRydWUpCnAuZ2VuZXJhdGUocHJqLCBtYWtlZmlsZSwgbS5tYWtlLmdlbmVyYXRlKQpyZXR1cm4KZW5kCm9sZGZuKHByaikKZW5kKQpwLm92ZXJyaWRlKCBtYWtlLCAib2JqZGlyIiwgZnVuY3Rpb24ob2xkZm4sIGNmZykKaWYgY2ZnLnByb2plY3QubGFuZ3VhZ2Ugfj0gIkQiIG9yIGNmZy5mbGFncy5TZXBhcmF0ZUNvbXBpbGF0aW9uIHRoZW4Kb2xkZm4oY2ZnKQplbmQKZW5kKQpwLm92ZXJyaWRlKCBtYWtlLCAib2JqRGlyUnVsZXMiLCBmdW5jdGlvbihvbGRmbiwgcHJqKQppZiBwcmoubGFuZ3VhZ2Ugfj0gIkQiIG9yIG0ubWFrZS5zZXBhcmF0ZUNvbXBpbGF0aW9uKHByaikgfj0gIm5vbmUiIHRoZW4Kb2xkZm4ocHJqKQplbmQKZW5kKQptLmVsZW1lbnRzID0ge30KbS5lbGVtZW50cy5tYWtlZmlsZSA9IGZ1bmN0aW9uKHByaikKcmV0dXJuIHsKbWFrZS5oZWFkZXIsCm1ha2UucGhvbnlSdWxlcywKbS5tYWtlLmNvbmZpZ3MsCm0ubWFrZS5vYmplY3RzLC0tIFRPRE86IFRoaXMgaXMgYmFzaWNhbGx5IGlkZW50aWNhbCB0byBtYWtlLmNwcE9iamVjdHMoKSwgYW5kIHNob3VsZCBpZGVhbGx5IGJlIG1lcmdlZC9zaGFyZWQKbWFrZS5zaGVsbFR5cGUsCm0ubWFrZS50YXJnZXRSdWxlcywKbWFrZS50YXJnZXREaXJSdWxlcywKbWFrZS5vYmpEaXJSdWxlcywKbWFrZS5jcHBDbGVhblJ1bGVzLC0tIEQgY2xlYW4gY29kZSBpcyBpZGVudGljYWwgdG8gQy9DKysKbWFrZS5wcmVCdWlsZFJ1bGVzLAptYWtlLnByZUxpbmtSdWxlcywKbS5tYWtlLmRGaWxlUnVsZXMsCn0KZW5kCmZ1bmN0aW9uIG0ubWFrZS5nZW5lcmF0ZShwcmopCnAuY2FsbEFycmF5KG0uZWxlbWVudHMubWFrZWZpbGUsIHByaikKZW5kCmZ1bmN0aW9uIG0ubWFrZS5idWlsZFJ1bGUocHJqKQpfcCgnJChUQVJHRVQpOiAkKFNPVVJDRUZJTEVTKSAkKExEREVQUyknKQpfcCgnXHRAZWNobyBCdWlsZGluZyAlcycsIHByai5uYW1lKQpfcCgnXHQkKFNJTEVOVCkgJChCVUlMRENNRCknKQpfcCgnXHQkKFBPU1RCVUlMRENNRFMpJykKZW5kCmZ1bmN0aW9uIG0ubWFrZS5saW5rUnVsZShwcmopCl9wKCckKFRBUkdFVCk6ICQoT0JKRUNUUykgJChMRERFUFMpJykKX3AoJ1x0QGVjaG8gTGlua2luZyAlcycsIHByai5uYW1lKQpfcCgnXHQkKFNJTEVOVCkgJChMSU5LQ01EKScpCl9wKCdcdCQoUE9TVEJVSUxEQ01EUyknKQplbmQKZnVuY3Rpb24gbS5tYWtlLnRhcmdldFJ1bGVzKHByaikKbG9jYWwgc2VwYXJhdGVDb21waWxhdGlvbiA9IG0ubWFrZS5zZXBhcmF0ZUNvbXBpbGF0aW9uKHByaikKaWYgc2VwYXJhdGVDb21waWxhdGlvbiA9PSAiYWxsIiB0aGVuCm0ubWFrZS5saW5rUnVsZShwcmopCmVsc2VpZiBzZXBhcmF0ZUNvbXBpbGF0aW9uID09ICJub25lIiB0aGVuCm0ubWFrZS5idWlsZFJ1bGUocHJqKQplbHNlCmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KX3goJ2lmZXEgKCQoY29uZmlnKSwlcyknLCBjZmcuc2hvcnRuYW1lKQppZiBjZmcuZmxhZ3MuU2VwYXJhdGVDb21waWxhdGlvbiB0aGVuCm0ubWFrZS5saW5rUnVsZShwcmopCmVsc2UKbS5tYWtlLmJ1aWxkUnVsZShwcmopCmVuZApfcCgnZW5kaWYnKQplbmQKZW5kCl9wKCcnKQplbmQKZnVuY3Rpb24gbS5tYWtlLmRGaWxlUnVsZXMocHJqKQpsb2NhbCBzZXBhcmF0ZUNvbXBpbGF0aW9uID0gbS5tYWtlLnNlcGFyYXRlQ29tcGlsYXRpb24ocHJqKQppZiBzZXBhcmF0ZUNvbXBpbGF0aW9uIH49ICJub25lIiB0aGVuCm1ha2UuY3BwRmlsZVJ1bGVzKHByaikKZW5kCmVuZApwLm92ZXJyaWRlKGNwcCwgInN0YW5kYXJkRmlsZVJ1bGVzIiwgZnVuY3Rpb24ob2xkZm4sIHByaiwgbm9kZSkKaWYgcGF0aC5pc2RmaWxlKG5vZGUuYWJzcGF0aCkgdGhlbgpfeCgnJChPQkpESVIpLyVzLm86ICVzJywgbm9kZS5vYmpuYW1lLCBub2RlLnJlbHBhdGgpCl9wKCdcdEBlY2hvICQobm90ZGlyICQ8KScpCl9wKCdcdCQoU0lMRU5UKSAkKERDKSAkKEFMTF9ERkxBR1MpICQoT1VUUFVURkxBRykgLWMgJDwnKQplbHNlCiBvbGRmbihwcmosIG5vZGUpCiBlbmQKZW5kKQptLmVsZW1lbnRzLm1ha2Vjb25maWcgPSBmdW5jdGlvbihjZmcpCnJldHVybiB7Cm0ubWFrZS5kVG9vbHMsCm1ha2UudGFyZ2V0LAptLm1ha2UudGFyZ2V0LAptYWtlLm9iamRpciwKbS5tYWtlLnZlcnNpb25zLAptLm1ha2UuZGVidWcsCm0ubWFrZS5pbXBvcnRzLAptLm1ha2UuZEZsYWdzLAptYWtlLmxpYnMsCm1ha2UubGREZXBzLAptYWtlLmxkRmxhZ3MsCm0ubWFrZS5saW5rQ21kLAptYWtlLnByZUJ1aWxkQ21kcywKbWFrZS5wcmVMaW5rQ21kcywKbWFrZS5wb3N0QnVpbGRDbWRzLAptLm1ha2UuYWxsUnVsZXMsCm1ha2Uuc2V0dGluZ3MsCn0KZW5kCmZ1bmN0aW9uIG0ubWFrZS5jb25maWdzKHByaikKZm9yIGNmZyBpbiBwcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwpsb2NhbCB0b29sc2V0ID0gcC50b29sc1tfT1BUSU9OUy5kYyBvciBjZmcudG9vbHNldCBvciAiZG1kIl0KaWYgbm90IHRvb2xzZXQgdGhlbgplcnJvcigiSW52YWxpZCB0b29sc2V0ICciICsgKF9PUFRJT05TLmRjIG9yIGNmZy50b29sc2V0KSArICInIikKZW5kCl94KCdpZmVxICgkKGNvbmZpZyksJXMpJywgY2ZnLnNob3J0bmFtZSkKcC5jYWxsQXJyYXkobS5lbGVtZW50cy5tYWtlY29uZmlnLCBjZmcsIHRvb2xzZXQpCl9wKCdlbmRpZicpCl9wKCcnKQplbmQKZW5kCmZ1bmN0aW9uIG0ubWFrZS5kVG9vbHMoY2ZnLCB0b29sc2V0KQpsb2NhbCB0b29sID0gdG9vbHNldC5nZXR0b29sbmFtZShjZmcsICJkYyIpCmlmIHRvb2wgdGhlbgpfcCgnICBEQyA9ICVzJywgdG9vbCkKZW5kCmVuZApmdW5jdGlvbiBtLm1ha2UudGFyZ2V0KGNmZywgdG9vbHNldCkKaWYgY2ZnLmZsYWdzLlNlcGFyYXRlQ29tcGlsYXRpb24gdGhlbgpfcCgnICBPVVRQVVRGTEFHID0gJXMnLCB0b29sc2V0LmdldHRhcmdldCgnIiRAIicpKQplbmQKZW5kCmZ1bmN0aW9uIG0ubWFrZS52ZXJzaW9ucyhjZmcsIHRvb2xzZXQpCl9wKCcgIFZFUlNJT05TICs9JXMnLCBtYWtlLmxpc3QodG9vbHNldC5nZXR2ZXJzaW9ucyhjZmcudmVyc2lvbmNvbnN0YW50cywgY2ZnLnZlcnNpb25sZXZlbCkpKQplbmQKZnVuY3Rpb24gbS5tYWtlLmRlYnVnKGNmZywgdG9vbHNldCkKX3AoJyAgREVCVUcgKz0lcycsIG1ha2UubGlzdCh0b29sc2V0LmdldGRlYnVnKGNmZy5kZWJ1Z2NvbnN0YW50cywgY2ZnLmRlYnVnbGV2ZWwpKSkKZW5kCmZ1bmN0aW9uIG0ubWFrZS5pbXBvcnRzKGNmZywgdG9vbHNldCkKbG9jYWwgaW5jbHVkZXMgPSBwLmVzYyh0b29sc2V0LmdldGltcG9ydGRpcnMoY2ZnLCBjZmcuaW5jbHVkZWRpcnMpKQpfcCgnICBJTVBPUlRTICs9JXMnLCBtYWtlLmxpc3QoaW5jbHVkZXMpKQplbmQKZnVuY3Rpb24gbS5tYWtlLmRGbGFncyhjZmcsIHRvb2xzZXQpCl9wKCcgIEFMTF9ERkxBR1MgKz0gJChERkxBR1MpJXMgJChWRVJTSU9OUykgJChERUJVRykgJChJTVBPUlRTKSAkKEFSQ0gpJywgbWFrZS5saXN0KHRhYmxlLmpvaW4odG9vbHNldC5nZXRkZmxhZ3MoY2ZnKSwgY2ZnLmJ1aWxkb3B0aW9ucykpKQplbmQKZnVuY3Rpb24gbS5tYWtlLmxpbmtDbWQoY2ZnLCB0b29sc2V0KQppZiBjZmcuZmxhZ3MuU2VwYXJhdGVDb21waWxhdGlvbiB0aGVuCl9wKCcgIExJTktDTUQgPSAkKERDKSAnIC4uIHRvb2xzZXQuZ2V0dGFyZ2V0KCIkKFRBUkdFVCkiKSAuLiAnICQoQUxMX0xERkxBR1MpICQoTElCUykgJChPQkpFQ1RTKScpCmVsc2UKX3AoJyAgQlVJTERDTUQgPSAkKERDKSAnIC4uIHRvb2xzZXQuZ2V0dGFyZ2V0KCIkKFRBUkdFVCkiKSAuLiAnICQoQUxMX0RGTEFHUykgJChBTExfTERGTEFHUykgJChMSUJTKSAkKFNPVVJDRUZJTEVTKScpCmVuZAplbmQKZnVuY3Rpb24gbS5tYWtlLmFsbFJ1bGVzKGNmZywgdG9vbHNldCkKaWYgY2ZnLmZsYWdzLlNlcGFyYXRlQ29tcGlsYXRpb24gdGhlbgpfcCgnYWxsOiAkKFRBUkdFVERJUikgJChPQkpESVIpIHByZWJ1aWxkIHByZWxpbmsgJChUQVJHRVQpJykKZWxzZQpfcCgnYWxsOiAkKFRBUkdFVERJUikgcHJlYnVpbGQgcHJlbGluayAkKFRBUkdFVCknKQplbmQKX3AoJ1x0QDonKQplbmQKZnVuY3Rpb24gbS5tYWtlLm9iamVjdHMocHJqKQpsb2NhbCByb290ID0geyBzb3VyY2VmaWxlcz17fSwgb2JqZWN0cz17fSB9CmxvY2FsIGNvbmZpZ3MgPSB7fQpmb3IgY2ZnIGluIHByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCmNvbmZpZ3NbY2ZnXSA9IHsgc291cmNlZmlsZXM9e30sIG9iamVjdHM9e30gfQplbmQKbG9jYWwgdHIgPSBwcm9qZWN0LmdldHNvdXJjZXRyZWUocHJqKQpwLnRyZWUudHJhdmVyc2UodHIsIHsKb25sZWFmID0gZnVuY3Rpb24obm9kZSwgZGVwdGgpCmxvY2FsIGluY2ZnID0ge30KbG9jYWwgaW5hbGwgPSB0cnVlCmxvY2FsIGN1c3RvbSA9IGZhbHNlCmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KbG9jYWwgZmlsZWNmZyA9IGZpbGVjb25maWcuZ2V0Y29uZmlnKG5vZGUsIGNmZykKaWYgZmlsZWNmZyBhbmQgbm90IGZpbGVjZmcuZmxhZ3MuRXhjbHVkZUZyb21CdWlsZCB0aGVuCmluY2ZnW2NmZ10gPSBmaWxlY2ZnCmN1c3RvbSA9IGZpbGVjb25maWcuaGFzQ3VzdG9tQnVpbGRSdWxlKGZpbGVjZmcpCmVsc2UKaW5hbGwgPSBmYWxzZQplbmQKZW5kCmlmIG5vdCBjdXN0b20gdGhlbgppZiBub3QgcGF0aC5pc2RmaWxlKG5vZGUuYWJzcGF0aCkgdGhlbgpyZXR1cm4KZW5kCmxvY2FsIHNvdXJjZW5hbWUgPSBub2RlLnJlbHBhdGgKbG9jYWwgb2JqZWN0bmFtZSA9ICIkKE9CSkRJUikvIiAuLiBub2RlLm9iam5hbWUgLi4gIi5vIgppZiBpbmFsbCB0aGVuCnRhYmxlLmluc2VydChyb290LnNvdXJjZWZpbGVzLCBzb3VyY2VuYW1lKQp0YWJsZS5pbnNlcnQocm9vdC5vYmplY3RzLCBvYmplY3RuYW1lKQplbHNlCmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KaWYgaW5jZmdbY2ZnXSB0aGVuCnRhYmxlLmluc2VydChjb25maWdzW2NmZ10uc291cmNlZmlsZXMsIHNvdXJjZW5hbWUpCnRhYmxlLmluc2VydChjb25maWdzW2NmZ10ub2JqZWN0cywgb2JqZWN0bmFtZSkKZW5kCmVuZAplbmQKZWxzZQpmb3IgY2ZnIGluIHByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCmxvY2FsIGZpbGVjZmcgPSBpbmNmZ1tjZmddCmlmIGZpbGVjZmcgdGhlbgpsb2NhbCBvdXRwdXQgPSBwcm9qZWN0LmdldHJlbGF0aXZlKHByaiwgZmlsZWNmZy5idWlsZG91dHB1dHNbMV0pCmlmIHBhdGguaXNvYmplY3RmaWxlKG91dHB1dCkgdGhlbgp0YWJsZS5pbnNlcnQoY29uZmlnc1tjZmddLm9iamVjdHMsIG91dHB1dCkKZW5kCmVuZAplbmQKZW5kCmVuZAp9KQpsb2NhbCBzZXBhcmF0ZUNvbXBpbGF0aW9uID0gbS5tYWtlLnNlcGFyYXRlQ29tcGlsYXRpb24ocHJqKQpmdW5jdGlvbiBsaXN0b2JqZWN0cyh2YXIsIGxpc3QpCl9wKCclcyBcXCcsIHZhcikKZm9yIF8sIG9iamVjdG5hbWUgaW4gaXBhaXJzKGxpc3QpIGRvCl94KCdcdCVzIFxcJywgb2JqZWN0bmFtZSkKZW5kCl9wKCcnKQplbmQKaWYgc2VwYXJhdGVDb21waWxhdGlvbiB+PSAiYWxsIiB0aGVuCmxpc3RvYmplY3RzKCdTT1VSQ0VGSUxFUyA6PScsIHJvb3Quc291cmNlZmlsZXMpCmVuZAppZiBzZXBhcmF0ZUNvbXBpbGF0aW9uIH49ICJub25lIiB0aGVuCmxpc3RvYmplY3RzKCdPQkpFQ1RTIDo9Jywgcm9vdC5vYmplY3RzLCAnbycpCmVuZApmb3IgY2ZnIGluIHByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCmxvY2FsIGZpbGVzID0gY29uZmlnc1tjZmddCmlmICgjZmlsZXMuc291cmNlZmlsZXMgPiAwIGFuZCBzZXBhcmF0ZUNvbXBpbGF0aW9uIH49ICJhbGwiKSBvciAoI2ZpbGVzLm9iamVjdHMgPiAwIGFuZCBzZXBhcmF0ZUNvbXBpbGF0aW9uIH49ICJub25lIikgdGhlbgpfeCgnaWZlcSAoJChjb25maWcpLCVzKScsIGNmZy5zaG9ydG5hbWUpCmlmICNmaWxlcy5zb3VyY2VmaWxlcyA+IDAgYW5kIHNlcGFyYXRlQ29tcGlsYXRpb24gfj0gImFsbCIgdGhlbgpsaXN0b2JqZWN0cygnICBTT1VSQ0VGSUxFUyArPScsIGZpbGVzLnNvdXJjZWZpbGVzKQplbmQKaWYgI2ZpbGVzLm9iamVjdHMgPiAwIGFuZCBzZXBhcmF0ZUNvbXBpbGF0aW9uIH49ICJub25lIiB0aGVuCmxpc3RvYmplY3RzKCcgIE9CSkVDVFMgKz0nLCBmaWxlcy5vYmplY3RzKQplbmQKX3AoJ2VuZGlmJykKZW5kCmVuZApfcCgnJykKZW5kCgAAbG9jYWwgcCA9IHByZW1ha2UKbG9jYWwgbSA9IHAubW9kdWxlcy5kCm0ubW9ub2QgPSB7fQpsb2NhbCBtb25vZGV2ZWxvcCA9IHAubW9kdWxlcy5tb25vZGV2ZWxvcApsb2NhbCB2c3R1ZGlvID0gcC52c3R1ZGlvCmxvY2FsIHByb2plY3QgPSBwLnByb2plY3QKbG9jYWwgY29uZmlnID0gcC5jb25maWcKbG9jYWwgZmlsZWNvbmZpZyA9IHAuZmlsZWNvbmZpZwpsb2NhbCB0cmVlID0gcC50cmVlCmxvY2FsIG1kID0gcC5hY3Rpb24uZ2V0KCJtb25vZGV2ZWxvcCIpCmlmIG1kIH49IG5pbCB0aGVuCnRhYmxlLmluc2VydCggbWQudmFsaWRfbGFuZ3VhZ2VzLCBwLkQgKQptZC52YWxpZF90b29scy5kYyA9IHsgImRtZCIsICJnZGMiLCAibGRjIiB9CnAub3ZlcnJpZGUobWQsICJvblByb2plY3QiLCBmdW5jdGlvbihvbGRmbiwgcHJqKQpvbGRmbihwcmopCmlmIHByb2plY3QuaXNkKHByaikgdGhlbgpwLmdlbmVyYXRlKHByaiwgIi5kcHJvaiIsIG1vbm9kZXZlbG9wLmdlbmVyYXRlKQplbmQKZW5kKQplbmQKcC5vdmVycmlkZSh2c3R1ZGlvLCAicHJvamVjdGZpbGUiLCBmdW5jdGlvbihvbGRmbiwgcHJqKQppZiBfQUNUSU9OID09ICJtb25vZGV2ZWxvcCIgdGhlbgppZiBwcm9qZWN0LmlzZChwcmopIHRoZW4KcmV0dXJuIHAuZmlsZW5hbWUocHJqLCAiLmRwcm9qIikKZW5kCmVuZApyZXR1cm4gb2xkZm4ocHJqKQplbmQpCnAub3ZlcnJpZGUodnN0dWRpbywgInRvb2wiLCBmdW5jdGlvbihvbGRmbiwgcHJqKQppZiBfQUNUSU9OID09ICJtb25vZGV2ZWxvcCIgdGhlbgppZiBwcm9qZWN0LmlzZChwcmopIHRoZW4KcmV0dXJuICIzOTQ3RTY2Ny00QzkwLTRDM0EtQkVCOS03MTQ4RDZGRTBEN0MiCmVuZAplbmQKcmV0dXJuIG9sZGZuKHByaikKZW5kKQpwLm92ZXJyaWRlKG1vbm9kZXZlbG9wLCAiZ2V0VGFyZ2V0R3JvdXAiLCBmdW5jdGlvbihvbGRmbiwgbm9kZSwgcHJqLCBncm91cHMpCmlmIHByb2plY3QuaXNkKHByaikgdGhlbgpsb2NhbCBoYXNidWlsZHJ1bGUgPSBmYWxzZQpmb3IgY2ZnIGluIHByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCmxvY2FsIGZpbGVjZmcgPSBmaWxlY29uZmlnLmdldGNvbmZpZyhub2RlLCBjZmcpCmlmIGZpbGVjZmcgYW5kIGZpbGVjb25maWcuaGFzQ3VzdG9tQnVpbGRSdWxlKGZpbGVjZmcpIHRoZW4KaGFzYnVpbGRydWxlID0gdHJ1ZQpicmVhawplbmQKZW5kCmlmIGhhc2J1aWxkcnVsZSB0aGVuCnJldHVybiBncm91cHMuQ3VzdG9tQnVpbGQKZWxzZWlmIHBhdGguaXNkZmlsZShub2RlLm5hbWUpIHRoZW4KcmV0dXJuIGdyb3Vwcy5Db21waWxlCmVsc2VpZiBwYXRoLmlzcmVzb3VyY2VmaWxlKG5vZGUubmFtZSkgdGhlbgpyZXR1cm4gZ3JvdXBzLlJlc291cmNlQ29tcGlsZQplbHNlCnJldHVybiBncm91cHMuTm9uZQplbmQKZWxzZQpyZXR1cm4gb2xkZm4obm9kZSwgcHJqLCBncm91cHMpCmVuZAplbmQpCnAub3ZlcnJpZGUobW9ub2RldmVsb3AuZWxlbWVudHMsICJwcm9qZWN0UHJvcGVydGllcyIsIGZ1bmN0aW9uKG9sZGZuLCBwcmopCmlmIHByb2plY3QuaXNkKHByaikgdGhlbgpyZXR1cm4gewptb25vZGV2ZWxvcC5jcHJvai5wcm9qZWN0R3VpZCwKbS5tb25vZC51c2VEZWZhdWx0Q29tcGlsZXIsCm0ubW9ub2QuaW5jcmVtZW50YWxMaW5raW5nLAptLm1vbm9kLnByZWZlck9uZVN0ZXBCdWlsZCwKbS5tb25vZC5jb21waWxlciwKbW9ub2RldmVsb3AuY3Byb2oudmVyc2lvbiwKbW9ub2RldmVsb3AuY3Byb2ouc3luY2hXa3NWZXJzaW9uLAptb25vZGV2ZWxvcC5jcHJvai5kZXNjcmlwdGlvbiwKfQplbmQKcmV0dXJuIG9sZGZuKHByaikKZW5kKQpmdW5jdGlvbiBtLm1vbm9kLnVzZURlZmF1bHRDb21waWxlcihwcmopCl9wKDIsJzxVc2VEZWZhdWx0Q29tcGlsZXI+JXM8L1VzZURlZmF1bHRDb21waWxlcj4nLCBpaWYoX09QVElPTlMuZGMsICdmYWxzZScsICd0cnVlJykpCmVuZApmdW5jdGlvbiBtLm1vbm9kLmluY3JlbWVudGFsTGlua2luZyhwcmopCl9wKDIsJzxJbmNyZW1lbnRhbExpbmtpbmc+dHJ1ZTwvSW5jcmVtZW50YWxMaW5raW5nPicpCmVuZApmdW5jdGlvbiBtLm1vbm9kLnByZWZlck9uZVN0ZXBCdWlsZChwcmopCl9wKDIsJzxQcmVmZXJPbmVTdGVwQnVpbGQ+dHJ1ZTwvUHJlZmVyT25lU3RlcEJ1aWxkPicpCmVuZApmdW5jdGlvbiBtLm1vbm9kLmJhc2VEaXJlY3RvcnkocHJqKQpfcCgyLCc8QmFzZURpcmVjdG9yeT4uPC9CYXNlRGlyZWN0b3J5PicpCmVuZApmdW5jdGlvbiBtLm1vbm9kLmNvbXBpbGVyKHByaikKbG9jYWwgY29tcGlsZXIgPSB7IGRtZD0iRE1EMiIsIGdkYz0iR0RDIiwgbGRjPSJsZGMyIiB9Cl9wKDIsJzxDb21waWxlcj4lczwvQ29tcGlsZXI+JywgY29tcGlsZXJbX09QVElPTlMuZGMgb3IgImRtZCJdKQplbmQKcC5vdmVycmlkZShtb25vZGV2ZWxvcC5lbGVtZW50cywgImNvbmZpZ3VyYXRpb25Qcm9wZXJ0aWVzIiwgZnVuY3Rpb24ob2xkZm4sIGNmZykKaWYgcHJvamVjdC5pc2QoY2ZnLnByb2plY3QpIHRoZW4KcmV0dXJuIHsKbW9ub2RldmVsb3AuY3Byb2ouZGVidWdpbmZvLAptb25vZGV2ZWxvcC5jcHJvai5vdXRwdXRQYXRoLAptLm1vbm9kLnVuaXR0ZXN0TW9kZSwKbS5tb25vZC5vYmplY3RzRGlyZWN0b3J5LCAtLSBUT0RPOiBzaG91bGQgdGhpcyBiZSBtb3ZlZCBpbnRvIHRoZSAuY3Byb2ogb3B0aW9ucz8KbS5tb25vZC5kZWJ1Z0xldmVsLAptb25vZGV2ZWxvcC5jcHJvai5leHRlcm5hbGNvbnNvbGUsCm0ubW9ub2QudGFyZ2V0LAptLm1vbm9kLnRoaXJkUGFydHksCm1vbm9kZXZlbG9wLmNwcm9qLm91dHB1dE5hbWUsCm0ubW9ub2QuYWRkaXRpb25hbE9wdGlvbnMsCm0ubW9ub2QuZERvY0RpcmVjdG9yeSwKbS5tb25vZC52ZXJzaW9uSWRzLAptLm1vbm9kLmRlYnVnSWRzLAptb25vZGV2ZWxvcC5jcHJvai5hZGRpdGlvbmFsTGlua09wdGlvbnMsCm1vbm9kZXZlbG9wLmNwcm9qLmFkZGl0aW9uYWxEZXBlbmRlbmNpZXMsCm1vbm9kZXZlbG9wLmNwcm9qLmJ1aWxkRXZlbnRzLAp9CmVuZApyZXR1cm4gb2xkZm4oY2ZnKQplbmQpCmZ1bmN0aW9uIG0ubW9ub2QudW5pdHRlc3RNb2RlKGNmZykKX3AoMiwnPFVuaXR0ZXN0TW9kZT4lczwvVW5pdHRlc3RNb2RlPicsIGlpZihjZmcuZmxhZ3MuVW5pdFRlc3QsICd0cnVlJywgJ2ZhbHNlJykpCmVuZApmdW5jdGlvbiBtLm1vbm9kLm9iamVjdHNEaXJlY3RvcnkoY2ZnKQpsb2NhbCBvYmpkaXIgPSBwcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCBjZmcub2JqZGlyKQpfcCgyLCc8T2JqZWN0c0RpcmVjdG9yeT4lczwvT2JqZWN0c0RpcmVjdG9yeT4nLCBwYXRoLnRyYW5zbGF0ZShvYmpkaXIpKQplbmQKZnVuY3Rpb24gbS5tb25vZC5kZWJ1Z0xldmVsKGNmZykKX3AoMiwnPERlYnVnTGV2ZWw+JWQ8L0RlYnVnTGV2ZWw+JywgaWlmKGNmZy5kZWJ1Z2xldmVsLCBjZmcuZGVidWdsZXZlbCwgMCkpCmVuZApmdW5jdGlvbiBtLm1vbm9kLnRhcmdldChjZmcpCmxvY2FsIG1hcCA9IHsKU2hhcmVkTGliID0gIlNoYXJlZExpYnJhcnkiLApTdGF0aWNMaWIgPSAiU3RhdGljTGlicmFyeSIsCkNvbnNvbGVBcHAgPSAiRXhlY3V0YWJsZSIsCldpbmRvd2VkQXBwID0gIkV4ZWN1dGFibGUiCn0KX3AoMiwnPFRhcmdldD4lczwvVGFyZ2V0PicsIG1hcFtjZmcua2luZF0pCmVuZApmdW5jdGlvbiBtLm1vbm9kLnRoaXJkUGFydHkoY2ZnKQpsb2NhbCBsaW5rVGhpcmRQYXJ0eSA9ICJmYWxzZSIKX3AoMiwnPExpbmtpblRoaXJkUGFydHlMaWJyYXJpZXM+JXM8L0xpbmtpblRoaXJkUGFydHlMaWJyYXJpZXM+JywgbGlua1RoaXJkUGFydHkpCmVuZApmdW5jdGlvbiBtLm1vbm9kLmFkZGl0aW9uYWxPcHRpb25zKGNmZykKbG9jYWwgb3B0cyA9IHsgfQpsb2NhbCBvcHRpb25zCmlmICNvcHRzID4gMCB0aGVuCm9wdGlvbnMgPSB0YWJsZS5jb25jYXQob3B0cywgIiAiKQplbmQKaWYgI2NmZy5idWlsZG9wdGlvbnMgPiAwIHRoZW4KbG9jYWwgYnVpbGRPcHRzID0gdGFibGUuY29uY2F0KGNmZy5idWlsZG9wdGlvbnMsICIgIikKb3B0aW9ucyA9IChvcHRpb25zIGFuZCBvcHRpb25zIC4uICIgIiAuLiBidWlsZE9wdHMpIG9yIGJ1aWxkT3B0cwplbmQKaWYgb3B0aW9ucyB0aGVuCl94KDIsJzxFeHRyYUNvbXBpbGVyQXJndW1lbnRzPiVzPC9FeHRyYUNvbXBpbGVyQXJndW1lbnRzPicsIG9wdGlvbnMpCmVuZAplbmQKZnVuY3Rpb24gbS5tb25vZC5kRG9jRGlyZWN0b3J5KGNmZykKaWYgY2ZnLmRvY2RpciB0aGVuCmxvY2FsIGRvY2RpciA9IHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGNmZy5kb2NkaXIpCl94KDIsJzxERG9jRGlyZWN0b3J5PiVzPC9ERG9jRGlyZWN0b3J5PicsIHBhdGgudHJhbnNsYXRlKGRvY2RpcikpCmVuZAplbmQKZnVuY3Rpb24gbS5tb25vZC52ZXJzaW9uSWRzKGNmZykKaWYgI2NmZy52ZXJzaW9uY29uc3RhbnRzID4gMCB0aGVuCl94KDIsJzxWZXJzaW9uSWRzPicpCl94KDMsJzxWZXJzaW9uSWRzPicpCmZvciBfLCB2IGluIGlwYWlycyhjZmcudmVyc2lvbmNvbnN0YW50cykgZG8KX3goNCwnPFN0cmluZz4lczwvU3RyaW5nPicsIHYpCmVuZApfeCgzLCc8L1ZlcnNpb25JZHM+JykKX3goMiwnPC9WZXJzaW9uSWRzPicpCmVuZAplbmQKZnVuY3Rpb24gbS5tb25vZC5kZWJ1Z0lkcyhjZmcpCmlmICNjZmcuZGVidWdjb25zdGFudHMgPiAwIHRoZW4KX3goMiwnPERlYnVnSWRzPicpCl94KDMsJzxEZWJ1Z0lkcz4nKQpmb3IgXywgZCBpbiBpcGFpcnMoY2ZnLmRlYnVnY29uc3RhbnRzKSBkbwpfeCg0LCc8U3RyaW5nPiVzPC9TdHJpbmc+JywgZCkKZW5kCl94KDMsJzwvRGVidWdJZHM+JykKX3goMiwnPC9EZWJ1Z0lkcz4nKQplbmQKZW5kCgAAAGxvY2FsIHAgPSBwcmVtYWtlCmxvY2FsIG0gPSBwLm1vZHVsZXMuZAptLnZpc3VhbGQgPSB7fQpsb2NhbCB2c3R1ZGlvID0gcC52c3R1ZGlvCmxvY2FsIHdvcmtzcGFjZSA9IHAud29ya3NwYWNlCmxvY2FsIHByb2plY3QgPSBwLnByb2plY3QKbG9jYWwgY29uZmlnID0gcC5jb25maWcKbG9jYWwgdHJlZSA9IHAudHJlZQpmb3Igayx2IGluIHBhaXJzKHsgInZzMjAwNSIsICJ2czIwMDgiLCAidnMyMDEwIiwgInZzMjAxMiIsICJ2czIwMTMiLCAidnMyMDE1IiB9KSBkbwpsb2NhbCB2cyA9IHAuYWN0aW9uLmdldCh2KQppZiB2cyB+PSBuaWwgdGhlbgp0YWJsZS5pbnNlcnQoIHZzLnZhbGlkX2xhbmd1YWdlcywgcC5EICkKdnMudmFsaWRfdG9vbHMuZGMgPSB7ICJkbWQiLCAiZ2RjIiwgImxkYyIgfQpwLm92ZXJyaWRlKHZzLCAib25Qcm9qZWN0IiwgZnVuY3Rpb24ob2xkZm4sIHByaikKb2xkZm4ocHJqKQppZiBwcm9qZWN0LmlzZChwcmopIHRoZW4KcC5nZW5lcmF0ZShwcmosICIudmlzdWFsZHByb2oiLCBtLnZpc3VhbGQuZ2VuZXJhdGUpCmVuZAplbmQpCmVuZAplbmQKcC5vdmVycmlkZShwcm9qZWN0LCAiaXNuYXRpdmUiLCBmdW5jdGlvbihvbGRmbiwgcHJqKQpyZXR1cm4gcHJvamVjdC5pc2QocHJqKSBvciBvbGRmbihwcmopCmVuZCkKcC5vdmVycmlkZSh2c3R1ZGlvLCAicHJvamVjdGZpbGUiLCBmdW5jdGlvbihvbGRmbiwgcHJqKQppZiBwcm9qZWN0LmlzZChwcmopIHRoZW4KcmV0dXJuIHAuZmlsZW5hbWUocHJqLCAiLnZpc3VhbGRwcm9qIikKZW5kCnJldHVybiBvbGRmbihwcmopCmVuZCkKcC5vdmVycmlkZSh2c3R1ZGlvLCAidG9vbCIsIGZ1bmN0aW9uKG9sZGZuLCBwcmopCmlmIHByb2plY3QuaXNkKHByaikgdGhlbgpyZXR1cm4gIjAwMkEyREU5LThCQjYtNDg0RC05ODAyLTdFNEFENDA4NDcxNSIKZW5kCnJldHVybiBvbGRmbihwcmopCmVuZCkKbS5lbGVtZW50cy5wcm9qZWN0ID0gZnVuY3Rpb24ocHJqKQpyZXR1cm4gewptLnZpc3VhbGQuaGVhZGVyLAptLnZpc3VhbGQuZ2xvYmFscywKbS52aXN1YWxkLnByb2plY3RDb25maWd1cmF0aW9ucywKbS52aXN1YWxkLmZpbGVzLAp9CmVuZApmdW5jdGlvbiBtLnZpc3VhbGQuZ2VuZXJhdGUocHJqKQpwLmVvbCgiXHJcbiIpCnAuaW5kZW50KCIgIikKcC5jYWxsQXJyYXkobS5lbGVtZW50cy5wcm9qZWN0LCBwcmopCl9wKCc8L0RQcm9qZWN0PicpCmVuZApmdW5jdGlvbiBtLnZpc3VhbGQuaGVhZGVyKHByaikKX3AoJzxEUHJvamVjdD4nKQplbmQKZnVuY3Rpb24gbS52aXN1YWxkLmdsb2JhbHMocHJqKQpfcCgxLCc8UHJvamVjdEd1aWQ+eyVzfTwvUHJvamVjdEd1aWQ+JywgcHJqLnV1aWQpCmVuZApmdW5jdGlvbiBtLnZpc3VhbGQucHJvamVjdENvbmZpZ3VyYXRpb25zKHByaikKZm9yIGNmZyBpbiBwcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwpsb2NhbCBwcmpQbGF0Zm9ybSA9IHAuZXNjKHZzdHVkaW8ucHJvamVjdFBsYXRmb3JtKGNmZykpCmxvY2FsIHNsblBsYXRmb3JtID0gdnN0dWRpby5zb2x1dGlvblBsYXRmb3JtKGNmZykKbG9jYWwgaXM2NGJpdCA9IHNsblBsYXRmb3JtID09ICJ4NjQiIC0tIFRPRE86IHRoaXMgc2VlbXMgbGlrZSBhIGhhY2sKX3AoMSwnPENvbmZpZyBuYW1lPSIlcyIgcGxhdGZvcm09IiVzIj4nLCBwcmpQbGF0Zm9ybSwgc2xuUGxhdGZvcm0pCl9wKDIsJzxvYmo+MDwvb2JqPicpCl9wKDIsJzxsaW5rPjA8L2xpbms+JykKbG9jYWwgaXNXaW5kb3dzID0gZmFsc2UKbG9jYWwgaXNEZWJ1ZyA9IHN0cmluZy5maW5kKGNmZy5idWlsZGNmZywgJ0RlYnVnJykgfj0gbmlsCmxvY2FsIGlzT3B0aW1pc2VkID0gY29uZmlnLmlzT3B0aW1pemVkQnVpbGQoY2ZnKQppZiBjZmcua2luZCA9PSBwLkNPTlNPTEVBUFAgdGhlbgpfcCgyLCc8bGliPjA8L2xpYj4nKQpfcCgyLCc8c3Vic3lzdGVtPjE8L3N1YnN5c3RlbT4nKQplbHNlaWYgY2ZnLmtpbmQgPT0gcC5TVEFUSUNMSUIgdGhlbgpfcCgyLCc8bGliPjE8L2xpYj4nKQpfcCgyLCc8c3Vic3lzdGVtPjA8L3N1YnN5c3RlbT4nKQplbHNlaWYgY2ZnLmtpbmQgPT0gcC5TSEFSRURMSUIgdGhlbgpfcCgyLCc8bGliPjI8L2xpYj4nKQpfcCgyLCc8c3Vic3lzdGVtPjA8L3N1YnN5c3RlbT4nKSAtLSBTSE9VTEQgVEhJUyBCRSAnMicgKHdpbmRvd3MpPz8KZWxzZQpfcCgyLCc8bGliPjA8L2xpYj4nKQpfcCgyLCc8c3Vic3lzdGVtPjI8L3N1YnN5c3RlbT4nKQppc1dpbmRvd3MgPSB0cnVlCmVuZApfcCgyLCc8bXVsdGlvYmo+MDwvbXVsdGlvYmo+JykKX3AoMiwnPHNpbmdsZUZpbGVDb21waWxhdGlvbj4wPC9zaW5nbGVGaWxlQ29tcGlsYXRpb24+JykKX3AoMiwnPG9uZW9iaj4wPC9vbmVvYmo+JykKX3AoMiwnPHRyYWNlPiVzPC90cmFjZT4nLCBpaWYoY2ZnLmZsYWdzLlByb2ZpbGUsICcxJywgJzAnKSkKX3AoMiwnPHF1aWV0PiVzPC9xdWlldD4nLCBpaWYoY2ZnLmZsYWdzLlF1aWV0LCAnMScsICcwJykpCl9wKDIsJzx2ZXJib3NlPiVzPC92ZXJib3NlPicsIGlpZihjZmcuZmxhZ3MuVmVyYm9zZSwgJzEnLCAnMCcpKQpfcCgyLCc8dnRscz4wPC92dGxzPicpCl9wKDIsJzxzeW1kZWJ1Zz4lczwvc3ltZGVidWc+JywgaWlmKGNmZy5mbGFncy5TeW1ib2xzIG9yIGNmZy5mbGFncy5TeW1ib2xzTGlrZUMsIGlpZihjZmcuZmxhZ3MuU3ltYm9sc0xpa2VDLCAnMicsICcxJyksICcwJykpCl9wKDIsJzxvcHRpbWl6ZT4lczwvb3B0aW1pemU+JywgaWlmKGlzT3B0aW1pc2VkLCAnMScsICcwJykpCl9wKDIsJzxjcHU+MDwvY3B1PicpCl9wKDIsJzxpc1g4Nl82ND4lczwvaXNYODZfNjQ+JywgaWlmKGlzNjRiaXQsICcxJywgJzAnKSkKX3AoMiwnPGlzTGludXg+MDwvaXNMaW51eD4nKQpfcCgyLCc8aXNPU1g+MDwvaXNPU1g+JykKX3AoMiwnPGlzV2luZG93cz4lczwvaXNXaW5kb3dzPicsIGlpZihpc1dpbmRvd3MsICcxJywgJzAnKSkKX3AoMiwnPGlzRnJlZUJTRD4wPC9pc0ZyZWVCU0Q+JykKX3AoMiwnPGlzU29sYXJpcz4wPC9pc1NvbGFyaXM+JykKX3AoMiwnPHNjaGVkdWxlcj4wPC9zY2hlZHVsZXI+JykKX3AoMiwnPHVzZURlcHJlY2F0ZWQ+JXM8L3VzZURlcHJlY2F0ZWQ+JywgaWlmKGNmZy5mbGFncy5EZXByZWNhdGVkLCAnMScsICcwJykpCl9wKDIsJzxlcnJEZXByZWNhdGVkPjA8L2VyckRlcHJlY2F0ZWQ+JykKX3AoMiwnPHVzZUFzc2VydD4wPC91c2VBc3NlcnQ+JykKX3AoMiwnPHVzZUludmFyaWFudHM+MDwvdXNlSW52YXJpYW50cz4nKQpfcCgyLCc8dXNlSW4+MDwvdXNlSW4+JykKX3AoMiwnPHVzZU91dD4wPC91c2VPdXQ+JykKX3AoMiwnPHVzZUFycmF5Qm91bmRzPjA8L3VzZUFycmF5Qm91bmRzPicpCl9wKDIsJzxub2JvdW5kc2NoZWNrPiVzPC9ub2JvdW5kc2NoZWNrPicsIGlpZihjZmcuZmxhZ3MuTm9Cb3VuZHNDaGVjaywgJzEnLCAnMCcpKQpfcCgyLCc8dXNlU3dpdGNoRXJyb3I+MDwvdXNlU3dpdGNoRXJyb3I+JykKX3AoMiwnPHVzZVVuaXRUZXN0cz4lczwvdXNlVW5pdFRlc3RzPicsIGlpZihjZmcuZmxhZ3MuVW5pdFRlc3QsICcxJywgJzAnKSkKX3AoMiwnPHVzZUlubGluZT4lczwvdXNlSW5saW5lPicsIGlpZihjZmcuZmxhZ3MuSW5saW5lIG9yIGlzT3B0aW1pc2VkLCAnMScsICcwJykpCl9wKDIsJzxyZWxlYXNlPiVzPC9yZWxlYXNlPicsIGlpZihjZmcuZmxhZ3MuUmVsZWFzZSBvciBub3QgaXNEZWJ1ZywgJzEnLCAnMCcpKQpfcCgyLCc8cHJlc2VydmVQYXRocz4wPC9wcmVzZXJ2ZVBhdGhzPicpCl9wKDIsJzx3YXJuaW5ncz4lczwvd2FybmluZ3M+JywgaWlmKGNmZy5mbGFncy5GYXRhbENvbXBpbGVXYXJuaW5ncywgJzEnLCAnMCcpKQpfcCgyLCc8aW5mb3dhcm5pbmdzPiVzPC9pbmZvd2FybmluZ3M+JywgaWlmKGNmZy53YXJuaW5ncyBhbmQgY2ZnLndhcm5pbmdzIH49ICJPZmYiLCAnMScsICcwJykpCl9wKDIsJzxjaGVja1Byb3BlcnR5PjA8L2NoZWNrUHJvcGVydHk+JykKX3AoMiwnPGdlblN0YWNrRnJhbWU+MDwvZ2VuU3RhY2tGcmFtZT4nKQpfcCgyLCc8cGljPiVzPC9waWM+JywgaWlmKGNmZy5waWMgPT0gIk9uIiwgJzEnLCAnMCcpKQpfcCgyLCc8Y292PiVzPC9jb3Y+JywgaWlmKGNmZy5mbGFncy5Db2RlQ292ZXJhZ2UsICcxJywgJzAnKSkKX3AoMiwnPG5vZmxvYXQ+JXM8L25vZmxvYXQ+JywgaWlmKGNmZy5mbG9hdGluZ3BvaW50IGFuZCBjZmcuZmxvYXRpbmdwb2ludCA9PSAiTm9uZSIsICcxJywgJzAnKSkKX3AoMiwnPER2ZXJzaW9uPjI8L0R2ZXJzaW9uPicpCl9wKDIsJzxpZ25vcmVVbnN1cHBvcnRlZFByYWdtYXM+MDwvaWdub3JlVW5zdXBwb3J0ZWRQcmFnbWFzPicpCmxvY2FsIGNvbXBpbGVyID0geyBkbWQ9IjAiLCBnZGM9IjEiLCBsZGM9IjIiIH0KbS52aXN1YWxkLmVsZW1lbnQoMiwgImNvbXBpbGVyIiwgY29tcGlsZXJbX09QVElPTlMuZGMgb3IgY2ZnLnRvb2xzZXQgb3IgImRtZCJdKQptLnZpc3VhbGQuZWxlbWVudCgyLCAib3RoZXJETUQiLCAnMCcpCm0udmlzdWFsZC5lbGVtZW50KDIsICJwcm9ncmFtIiwgJyQoRE1ESW5zdGFsbERpcil3aW5kb3dzXFxiaW5cXGRtZC5leGUnKQptLnZpc3VhbGQuZWxlbWVudCgyLCAiaW1wcGF0aCIsIGNmZy5pbmNsdWRlZGlycykKbS52aXN1YWxkLmVsZW1lbnQoMiwgImZpbGVJbXBwYXRoIikKbS52aXN1YWxkLmVsZW1lbnQoMiwgIm91dGRpciIsIHBhdGgudHJhbnNsYXRlKHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGNmZy5idWlsZHRhcmdldC5kaXJlY3RvcnkpKSkKbS52aXN1YWxkLmVsZW1lbnQoMiwgIm9iamRpciIsIHBhdGgudHJhbnNsYXRlKHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGNmZy5vYmpkaXIpKSkKbS52aXN1YWxkLmVsZW1lbnQoMiwgIm9iam5hbWUiKQptLnZpc3VhbGQuZWxlbWVudCgyLCAibGlibmFtZSIpCm0udmlzdWFsZC5lbGVtZW50KDIsICJkb0RvY0NvbW1lbnRzIiwgaWlmKGNmZy5mbGFncy5Eb2N1bWVudGF0aW9uLCAnMScsICcwJykpCm0udmlzdWFsZC5lbGVtZW50KDIsICJkb2NkaXIiLCBjZmcuZG9jZGlyKQptLnZpc3VhbGQuZWxlbWVudCgyLCAiZG9jbmFtZSIsIGNmZy5kb2NuYW1lKQptLnZpc3VhbGQuZWxlbWVudCgyLCAibW9kdWxlc19kZG9jIikKbS52aXN1YWxkLmVsZW1lbnQoMiwgImRkb2NmaWxlcyIpCm0udmlzdWFsZC5lbGVtZW50KDIsICJkb0hkckdlbmVyYXRpb24iLCBpaWYoY2ZnLmZsYWdzLkdlbmVyYXRlSGVhZGVyLCAnMScsICcwJykpCm0udmlzdWFsZC5lbGVtZW50KDIsICJoZHJkaXIiLCBjZmcuaGVhZGVyZGlyKQptLnZpc3VhbGQuZWxlbWVudCgyLCAiaGRybmFtZSIsIGNmZy5oZWFkZXJuYW1lKQptLnZpc3VhbGQuZWxlbWVudCgyLCAiZG9YR2VuZXJhdGlvbiIsIGlpZihjZmcuZmxhZ3MuR2VuZXJhdGVKU09OLCAnMScsICcwJykpCm0udmlzdWFsZC5lbGVtZW50KDIsICJ4ZmlsZW5hbWUiLCAnJChJbnREaXIpXFwkKFRhcmdldE5hbWUpLmpzb24nKQptLnZpc3VhbGQuZWxlbWVudCgyLCAiZGVidWdsZXZlbCIsIGlpZihjZmcuZGVidWdsZXZlbCwgdG9zdHJpbmcoY2ZnLmRlYnVnbGV2ZWwpLCAnMCcpKQptLnZpc3VhbGQuZWxlbWVudCgyLCAiZGVidWdpZHMiLCBjZmcuZGVidWdjb25zdGFudHMpCm0udmlzdWFsZC5lbGVtZW50KDIsICJ2ZXJzaW9ubGV2ZWwiLCBpaWYoY2ZnLnZlcnNpb25sZXZlbCwgdG9zdHJpbmcoY2ZnLnZlcnNpb25sZXZlbCksICcwJykpCm0udmlzdWFsZC5lbGVtZW50KDIsICJ2ZXJzaW9uaWRzIiwgY2ZnLnZlcnNpb25jb25zdGFudHMpCl9wKDIsJzxkdW1wX3NvdXJjZT4wPC9kdW1wX3NvdXJjZT4nKQpfcCgyLCc8bWFwdmVyYm9zaXR5PjA8L21hcHZlcmJvc2l0eT4nKQpfcCgyLCc8Y3JlYXRlSW1wbGliPiVzPC9jcmVhdGVJbXBsaWI+JywgaWlmKGNmZy5raW5kIH49IHAuU0hBUkVETElCIG9yIGNmZy5mbGFncy5Ob0ltcG9ydExpYiwgJzAnLCAnMScpKQpfcCgyLCc8ZGVmYXVsdGxpYm5hbWUgLz4nKQpfcCgyLCc8ZGVidWdsaWJuYW1lIC8+JykKX3AoMiwnPG1vZHVsZURlcHNGaWxlIC8+JykKX3AoMiwnPHJ1bj4wPC9ydW4+JykKX3AoMiwnPHJ1bmFyZ3MgLz4nKQpfcCgyLCc8cnVuQ3YycGRiPjE8L3J1bkN2MnBkYj4nKSAtLSB3ZSB3aWxsIGp1c3QgbGVhdmUgdGhpcyBhbHdheXMgZW5hYmxlZCwgc2luY2UgaXQncyBpZ25vcmVkIGlmIG5vIGRlYnVnaW5mbyBpcyB3cml0dGVuCl9wKDIsJzxwYXRoQ3YycGRiPiQoVmlzdWFsREluc3RhbGxEaXIpY3YycGRiXFxjdjJwZGIuZXhlPC9wYXRoQ3YycGRiPicpCl9wKDIsJzxjdjJwZGJQcmUyMDQzPjA8L2N2MnBkYlByZTIwNDM+JykKX3AoMiwnPGN2MnBkYk5vRGVtYW5nbGU+MDwvY3YycGRiTm9EZW1hbmdsZT4nKQpfcCgyLCc8Y3YycGRiRW51bVR5cGU+MDwvY3YycGRiRW51bVR5cGU+JykKX3AoMiwnPGN2MnBkYk9wdGlvbnMgLz4nKQpfcCgyLCc8b2JqZmlsZXMgLz4nKQpfcCgyLCc8bGlua3N3aXRjaGVzIC8+JykKbG9jYWwgbGlua3MKbG9jYWwgZXhwbGljaXQgPSB2c3R1ZGlvLm5lZWRzRXhwbGljaXRMaW5rKGNmZykKbG9jYWwgdG9vbHNldCA9IGNvbmZpZy50b29sc2V0KGNmZykKaWYgdG9vbHNldCB0aGVuCmxpbmtzID0gdG9vbHNldC5nZXRsaW5rcyhjZmcsIG5vdCBleHBsaWNpdCkKZWxzZQpsb2NhbCBzY29wZSA9IGlpZihleHBsaWNpdCwgImFsbCIsICJzeXN0ZW0iKQpsaW5rcyA9IGNvbmZpZy5nZXRsaW5rcyhjZmcsIHNjb3BlLCAiZnVsbHBhdGgiKQplbmQKbS52aXN1YWxkLmVsZW1lbnQoMiwgImxpYmZpbGVzIiwgdGFibGUuY29uY2F0KGxpbmtzLCAiICIpKQptLnZpc3VhbGQuZWxlbWVudCgyLCAibGlicGF0aHMiLCBjZmcubGliZGlycykKX3AoMiwnPGRlZmZpbGUgLz4nKQpfcCgyLCc8cmVzZmlsZSAvPicpCmxvY2FsIHRhcmdldCA9IGNvbmZpZy5nZXR0YXJnZXRpbmZvKGNmZykKX3AoMiwnPGV4ZWZpbGU+JChPdXREaXIpXFwlczwvZXhlZmlsZT4nLCB0YXJnZXQubmFtZSkKX3AoMiwnPHVzZVN0ZExpYlBhdGg+MTwvdXNlU3RkTGliUGF0aD4nKQpsb2NhbCBydW50aW1lID0gMAppZiBub3QgY2ZnLmZsYWdzLk9taXREZWZhdWx0TGlicmFyeSB0aGVuCmlmIGNvbmZpZy5pc0RlYnVnQnVpbGQoY2ZnKSB0aGVuCnJ1bnRpbWUgPSBpaWYoY2ZnLmZsYWdzLlN0YXRpY1J1bnRpbWUsICIyIiwgIjQiKQplbHNlCnJ1bnRpbWUgPSBpaWYoY2ZnLmZsYWdzLlN0YXRpY1J1bnRpbWUsICIxIiwgIjMiKQplbmQKZW5kCm0udmlzdWFsZC5lbGVtZW50KDIsICJjUnVudGltZSIsIHJ1bnRpbWUpCmxvY2FsIGFkZGl0aW9uYWxPcHRpb25zCmlmICNjZmcuYnVpbGRvcHRpb25zID4gMCB0aGVuCmFkZGl0aW9uYWxPcHRpb25zID0gdGFibGUuY29uY2F0KGNmZy5idWlsZG9wdGlvbnMsICIgIikKZW5kCmlmICNjZmcubGlua29wdGlvbnMgPiAwIHRoZW4KbG9jYWwgbGlua09wdHMgPSB0YWJsZS5pbXBsb2RlKGNmZy5saW5rb3B0aW9ucywgIi1MIiwgIiIsICIgIikKaWYgYWRkaXRpb25hbE9wdGlvbnMgdGhlbgphZGRpdGlvbmFsT3B0aW9ucyA9IGFkZGl0aW9uYWxPcHRpb25zIC4uICIgIiAuLiBsaW5rT3B0cwplbHNlCmFkZGl0aW9uYWxPcHRpb25zID0gbGlua09wdHMKZW5kCmVuZAptLnZpc3VhbGQuZWxlbWVudCgyLCAiYWRkaXRpb25hbE9wdGlvbnMiLCBhZGRpdGlvbmFsT3B0aW9ucykKaWYgI2NmZy5wcmVidWlsZGNvbW1hbmRzID4gMCB0aGVuCl9wKDIsJzxwcmVCdWlsZENvbW1hbmQ+JXM8L3ByZUJ1aWxkQ29tbWFuZD4nLHAuZXNjKHRhYmxlLmltcGxvZGUoY2ZnLnByZWJ1aWxkY29tbWFuZHMsICIiLCAiIiwgIlxyXG4iKSkpCmVsc2UKX3AoMiwnPHByZUJ1aWxkQ29tbWFuZCAvPicpCmVuZAppZiAjY2ZnLnBvc3RidWlsZGNvbW1hbmRzID4gMCB0aGVuCl9wKDIsJzxwb3N0QnVpbGRDb21tYW5kPiVzPC9wb3N0QnVpbGRDb21tYW5kPicscC5lc2ModGFibGUuaW1wbG9kZShjZmcucG9zdGJ1aWxkY29tbWFuZHMsICIiLCAiIiwgIlxyXG4iKSkpCmVsc2UKX3AoMiwnPHBvc3RCdWlsZENvbW1hbmQgLz4nKQplbmQKX3AoMiwnPGZpbGVzVG9DbGVhbj4qLm9iajsqLmNtZDsqLmJ1aWxkOyouanNvbjsqLmRlcDsqLm88L2ZpbGVzVG9DbGVhbj4nKQpfcCgxLCc8L0NvbmZpZz4nKQplbmQKZW5kCmZ1bmN0aW9uIG0udmlzdWFsZC5maWxlcyhwcmopCl9wKDEsJzxGb2xkZXIgbmFtZT0iJXMiPicsIHByai5uYW1lKQpsb2NhbCB0ciA9IHByb2plY3QuZ2V0c291cmNldHJlZShwcmopCnRyZWUudHJhdmVyc2UodHIsIHsKb25icmFuY2hlbnRlciA9IGZ1bmN0aW9uKG5vZGUsIGRlcHRoKQpfcChkZXB0aCwgJzxGb2xkZXIgbmFtZT0iJXMiPicsIG5vZGUubmFtZSkKZW5kLApvbmJyYW5jaGV4aXQgPSBmdW5jdGlvbihub2RlLCBkZXB0aCkKX3AoZGVwdGgsICc8L0ZvbGRlcj4nKQplbmQsCm9ubGVhZiA9IGZ1bmN0aW9uKG5vZGUsIGRlcHRoKQpfcChkZXB0aCwgJzxGaWxlIHBhdGg9IiVzIiAvPicsIHBhdGgudHJhbnNsYXRlKG5vZGUucmVscGF0aCkpCmVuZAp9LCBmYWxzZSwgMikKX3AoMSwnPC9Gb2xkZXI+JykKZW5kCmZ1bmN0aW9uIG0udmlzdWFsZC5maWxlQ29uZmlndXJhdGlvbihwcmosIG5vZGUsIGRlcHRoKQplbmQKZnVuY3Rpb24gbS52aXN1YWxkLmVsZW1lbnQoZGVwdGgsIG5hbWUsIHZhbHVlLCAuLi4pCmxvY2FsIGlzVGFibGUgPSB0eXBlKHZhbHVlKSA9PSAidGFibGUiCmlmIG5vdCB2YWx1ZSBvciAoaXNUYWJsZSBhbmQgI3ZhbHVlID09IDApIHRoZW4KX3AoZGVwdGgsICc8JXMgLz4nLCBuYW1lKQplbHNlCmlmIGlzVGFibGUgdGhlbgp2YWx1ZSA9IHAuZXNjKHRhYmxlLmltcGxvZGUodmFsdWUsICIiLCAiIiwgIjsiKSkKX3AoZGVwdGgsICc8JXM+JXM8LyVzPicsIG5hbWUsIHZhbHVlLCBuYW1lKQplbHNlCmlmIHNlbGVjdCgnIycsLi4uKSA9PSAwIHRoZW4KdmFsdWUgPSBwLmVzYyh2YWx1ZSkKZW5kCl94KGRlcHRoLCBzdHJpbmcuZm9ybWF0KCc8JXM+JXM8LyVzPicsIG5hbWUsIHZhbHVlLCBuYW1lKSwgLi4uKQplbmQKZW5kCmVuZAoAAAAAbG9jYWwgdGRtZCA9IHt9CmxvY2FsIHByb2plY3QgPSBwcmVtYWtlLnByb2plY3QKbG9jYWwgY29uZmlnID0gcHJlbWFrZS5jb25maWcKICAgIGxvY2FsIGQgPSBwcmVtYWtlLm1vZHVsZXMuZAp0ZG1kLmdjYyA9IHt9CnRkbWQuZ2NjLmRjID0gImRtZCIKdGRtZC5vcHRsaW5rID0ge30KdGRtZC5vcHRsaW5rLmRjID0gImRtZCIKdGRtZC5nY2MubGRmbGFncyA9IHsKYXJjaGl0ZWN0dXJlID0gewp4ODYgPSB7ICItbTMyIiB9LAp4ODZfNjQgPSB7ICItbTY0IiB9LAp9LApraW5kID0gewpTaGFyZWRMaWIgPSAiLXNoYXJlZCIsClN0YXRpY0xpYiA9ICItbGliIiwKfQp9CmZ1bmN0aW9uIHRkbWQuZ2NjLmdldGxkZmxhZ3MoY2ZnKQpsb2NhbCBmbGFncyA9IGNvbmZpZy5tYXBGbGFncyhjZmcsIHRkbWQuZ2NjLmxkZmxhZ3MpCnJldHVybiBmbGFncwplbmQKdGRtZC5nY2MubGlicmFyeURpcmVjdG9yaWVzID0gewphcmNoaXRlY3R1cmUgPSB7Cng4NiA9ICItTC1ML3Vzci9saWIiLAp4ODZfNjQgPSAiLUwtTC91c3IvbGliNjQiLAp9Cn0KZnVuY3Rpb24gdGRtZC5nY2MuZ2V0TGlicmFyeURpcmVjdG9yaWVzKGNmZykKbG9jYWwgZmxhZ3MgPSBjb25maWcubWFwRmxhZ3MoY2ZnLCB0ZG1kLmdjYy5saWJyYXJ5RGlyZWN0b3JpZXMpCmZvciBfLCBkaXIgaW4gaXBhaXJzKGNvbmZpZy5nZXRsaW5rcyhjZmcsICJzeXN0ZW0iLCAiZGlyZWN0b3J5IikpIGRvCnRhYmxlLmluc2VydChmbGFncywgJy1MLUwnIC4uIHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGRpcikpCmVuZApyZXR1cm4gZmxhZ3MKZW5kCmZ1bmN0aW9uIHRkbWQuZ2NjLmdldGxpbmtzKGNmZywgc3lzdGVtb25seSkKbG9jYWwgcmVzdWx0ID0ge30KbG9jYWwgbGlua3MKaWYgbm90IHN5c3RlbW9ubHkgdGhlbgpsaW5rcyA9IGNvbmZpZy5nZXRsaW5rcyhjZmcsICJzaWJsaW5ncyIsICJvYmplY3QiKQpmb3IgXywgbGluayBpbiBpcGFpcnMobGlua3MpIGRvCmlmIG5vdCBsaW5rLnByb2plY3QuZXh0ZXJuYWwgdGhlbgppZiBsaW5rLmtpbmQgPT0gcHJlbWFrZS5TVEFUSUNMSUIgdGhlbgp0YWJsZS5pbnNlcnQocmVzdWx0LCAiLUwiIC4uIHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGxpbmsubGlua3RhcmdldC5hYnNwYXRoKSkKZWxzZQp0YWJsZS5pbnNlcnQocmVzdWx0LCAiLUwtbCIgLi4gbGluay5saW5rdGFyZ2V0LmJhc2VuYW1lKQplbmQKZW5kCmVuZAplbmQKbGlua3MgPSBjb25maWcuZ2V0bGlua3MoY2ZnLCAic3lzdGVtIiwgImZ1bGxwYXRoIikKZm9yIF8sIGxpbmsgaW4gaXBhaXJzKGxpbmtzKSBkbwppZiBwYXRoLmlzZnJhbWV3b3JrKGxpbmspIHRoZW4KdGFibGUuaW5zZXJ0KHJlc3VsdCwgIi1mcmFtZXdvcmsgIiAuLiBwYXRoLmdldGJhc2VuYW1lKGxpbmspKQplbHNlaWYgcGF0aC5pc29iamVjdGZpbGUobGluaykgdGhlbgp0YWJsZS5pbnNlcnQocmVzdWx0LCAiLUwiIC4uIGxpbmspCmVsc2UKdGFibGUuaW5zZXJ0KHJlc3VsdCwgIi1MLWwiIC4uIHBhdGguZ2V0YmFzZW5hbWUobGluaykpCmVuZAplbmQKcmV0dXJuIHJlc3VsdAplbmQKdGRtZC5vcHRsaW5rLmxkZmxhZ3MgPSB7CmFyY2hpdGVjdHVyZSA9IHsKeDg2ID0geyAiLW0zMiIgfSwKeDg2XzY0ID0geyAiLW02NCIgfSwKfSwKa2luZCA9IHsKU2hhcmVkTGliID0gIi1zaGFyZWQiLApTdGF0aWNMaWIgPSAiLWxpYiIsCn0KfQpmdW5jdGlvbiB0ZG1kLm9wdGxpbmsuZ2V0bGRmbGFncyhjZmcpCmxvY2FsIGZsYWdzID0gY29uZmlnLm1hcEZsYWdzKGNmZywgdGRtZC5vcHRsaW5rLmxkZmxhZ3MpCnJldHVybiBmbGFncwplbmQKZnVuY3Rpb24gdGRtZC5vcHRsaW5rLmdldExpYnJhcnlEaXJlY3RvcmllcyhjZmcpCmxvY2FsIGZsYWdzID0ge30KZm9yIF8sIGRpciBpbiBpcGFpcnMoY29uZmlnLmdldGxpbmtzKGNmZywgInN5c3RlbSIsICJkaXJlY3RvcnkiKSkgZG8KdGFibGUuaW5zZXJ0KGZsYWdzLCAnLUxsaWIgIicgLi4gcHJvamVjdC5nZXRyZWxhdGl2ZShjZmcucHJvamVjdCwgZGlyKSAuLiAnIicpCmVuZApyZXR1cm4gZmxhZ3MKZW5kCmZ1bmN0aW9uIHRkbWQub3B0bGluay5nZXRsaW5rcyhjZmcpCmxvY2FsIHJlc3VsdCA9IHt9CmxvY2FsIGxpbmtzID0gY29uZmlnLmdldGxpbmtzKGNmZywgImRlcGVuZGVuY2llcyIsICJvYmplY3QiKQpmb3IgXywgbGluayBpbiBpcGFpcnMobGlua3MpIGRvCmlmIG5vdCBsaW5rLnByb2plY3QuZXh0ZXJuYWxuYW1lIHRoZW4KbG9jYWwgbGlua2luZm8gPSBjb25maWcuZ2V0bGlua2luZm8obGluaykKaWYgbGluay5raW5kID09IHByZW1ha2UuU1RBVElDTElCIHRoZW4KdGFibGUuaW5zZXJ0KHJlc3VsdCwgcHJvamVjdC5nZXRyZWxhdGl2ZShjZmcucHJvamVjdCwgbGlua2luZm8uYWJzcGF0aCkpCmVuZAplbmQKZW5kCmxpbmtzID0gY29uZmlnLmdldGxpbmtzKGNmZywgInN5c3RlbSIsICJiYXNlbmFtZSIpCmZvciBfLCBsaW5rIGluIGlwYWlycyhsaW5rcykgZG8KaWYgcGF0aC5pc29iamVjdGZpbGUobGluaykgdGhlbgp0YWJsZS5pbnNlcnQocmVzdWx0LCBsaW5rKQplbHNlaWYgcGF0aC5oYXNleHRlbnNpb24obGluaywgcHJlbWFrZS5zeXN0ZW1zW2NmZy5zeXN0ZW1dLnN0YXRpY2xpYi5leHRlbnNpb24pIHRoZW4KdGFibGUuaW5zZXJ0KHJlc3VsdCwgbGluaykKZW5kCmVuZApyZXR1cm4gcmVzdWx0CmVuZAppZiBzdHJpbmcubWF0Y2goIG9zLmdldHZlcnNpb24oKS5kZXNjcmlwdGlvbiwgIldpbmRvd3MiICkgfj0gbmlsIHRoZW4KcHJlbWFrZS50b29scy5kbWQgPSB0ZG1kLm9wdGxpbmsKZWxzZQpwcmVtYWtlLnRvb2xzLmRtZCA9IHRkbWQuZ2NjCmVuZApsb2NhbCBkbWQgPSBwcmVtYWtlLnRvb2xzLmRtZApkbWQuZGZsYWdzID0gewphcmNoaXRlY3R1cmUgPSB7Cng4NiA9ICItbTMyIiwKeDg2XzY0ID0gIi1tNjQiLAp9LApmbGFncyA9IHsKQ29kZUNvdmVyYWdlPSAiLWNvdiIsCkRlcHJlY2F0ZWQ9ICItZCIsCkRvY3VtZW50YXRpb249ICItRCIsCkZhdGFsV2FybmluZ3M9ICItdyIsCkdlbmVyYXRlSGVhZGVyPSAiLUgiLApHZW5lcmF0ZUpTT049ICItWCIsCkdlbmVyYXRlTWFwPSAiLW1hcCIsCk5vQm91bmRzQ2hlY2s9ICItbm9ib3VuZHNjaGVjayIsClByb2ZpbGU9ICItcHJvZmlsZSIsClF1aWV0PSAiLXF1aWV0IiwKUmV0YWluUGF0aHM9ICItb3AiLApTeW1ib2xzPSAiLWciLApTeW1ib2xzTGlrZUM9ICItZ2MiLApVbml0VGVzdD0gIi11bml0dGVzdCIsClZlcmJvc2U9ICItdiIsCn0sCmZsb2F0aW5ncG9pbnQgPSB7Ck5vbmUgPSAiLW5vZmxvYXQiLAp9LApvcHRpbWl6ZSA9IHsKT24gPSAiLU8gLWlubGluZSIsCkZ1bGwgPSAiLU8gLWlubGluZSIsClNpemUgPSAiLU8gLWlubGluZSIsClNwZWVkID0gIi1PIC1pbmxpbmUiLAp9LApwaWMgPSB7Ck9uID0gIi1mUElDIiwKfSwKd2FybmluZ3MgPSB7CkRlZmF1bHQgPSAiLXdpIiwKRXh0cmEgPSAiLXdpIiwKfQp9CmZ1bmN0aW9uIGRtZC5nZXRkZmxhZ3MoY2ZnKQpsb2NhbCBmbGFncyA9IGNvbmZpZy5tYXBGbGFncyhjZmcsIGRtZC5kZmxhZ3MpCmlmIGNvbmZpZy5pc0RlYnVnQnVpbGQoY2ZnKSB0aGVuCnRhYmxlLmluc2VydChmbGFncywgIi1kZWJ1ZyIpCmVsc2UKdGFibGUuaW5zZXJ0KGZsYWdzLCAiLXJlbGVhc2UiKQplbmQKaWYgY2ZnLmZsYWdzLkRvY3VtZW50YXRpb24gdGhlbgppZiBjZmcuZG9jbmFtZSB0aGVuCnRhYmxlLmluc2VydChmbGFncywgIi1EZiIgLi4gcHJlbWFrZS5xdW90ZWQoY2ZnLmRvY25hbWUpKQplbmQKaWYgY2ZnLmRvY2RpciB0aGVuCnRhYmxlLmluc2VydChmbGFncywgIi1EZCIgLi4gcHJlbWFrZS5xdW90ZWQoY2ZnLmRvY2RpcikpCmVuZAplbmQKaWYgY2ZnLmZsYWdzLkdlbmVyYXRlSGVhZGVyIHRoZW4KaWYgY2ZnLmhlYWRlcm5hbWUgdGhlbgp0YWJsZS5pbnNlcnQoZmxhZ3MsICItSGYiIC4uIHByZW1ha2UucXVvdGVkKGNmZy5oZWFkZXJuYW1lKSkKZW5kCmlmIGNmZy5oZWFkZXJkaXIgdGhlbgp0YWJsZS5pbnNlcnQoZmxhZ3MsICItSGQiIC4uIHByZW1ha2UucXVvdGVkKGNmZy5oZWFkZXJkaXIpKQplbmQKZW5kCnJldHVybiBmbGFncwplbmQKZnVuY3Rpb24gZG1kLmdldHZlcnNpb25zKHZlcnNpb25zLCBsZXZlbCkKbG9jYWwgcmVzdWx0ID0ge30KZm9yIF8sIHZlcnNpb24gaW4gaXBhaXJzKHZlcnNpb25zKSBkbwp0YWJsZS5pbnNlcnQocmVzdWx0LCAnLXZlcnNpb249JyAuLiB2ZXJzaW9uKQplbmQKaWYgbGV2ZWwgdGhlbgp0YWJsZS5pbnNlcnQocmVzdWx0LCAnLXZlcnNpb249JyAuLiBsZXZlbCkKZW5kCnJldHVybiByZXN1bHQKZW5kCmZ1bmN0aW9uIGRtZC5nZXRkZWJ1Zyhjb25zdGFudHMsIGxldmVsKQpsb2NhbCByZXN1bHQgPSB7fQpmb3IgXywgY29uc3RhbnQgaW4gaXBhaXJzKGNvbnN0YW50cykgZG8KdGFibGUuaW5zZXJ0KHJlc3VsdCwgJy1kZWJ1Zz0nIC4uIGNvbnN0YW50KQplbmQKaWYgbGV2ZWwgdGhlbgp0YWJsZS5pbnNlcnQocmVzdWx0LCAnLWRlYnVnPScgLi4gbGV2ZWwpCmVuZApyZXR1cm4gcmVzdWx0CmVuZApmdW5jdGlvbiBkbWQuZ2V0aW1wb3J0ZGlycyhjZmcsIGRpcnMpCmxvY2FsIHJlc3VsdCA9IHt9CmZvciBfLCBkaXIgaW4gaXBhaXJzKGRpcnMpIGRvCmRpciA9IHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGRpcikKdGFibGUuaW5zZXJ0KHJlc3VsdCwgJy1JJyAuLiBwcmVtYWtlLnF1b3RlZChkaXIpKQplbmQKcmV0dXJuIHJlc3VsdAplbmQKZnVuY3Rpb24gZG1kLmdldHRhcmdldChuYW1lKQpyZXR1cm4gIi1vZiIgLi4gbmFtZQplbmQKZG1kLm1ha2VzZXR0aW5ncyA9IHsKfQpmdW5jdGlvbiBkbWQuZ2V0bWFrZXNldHRpbmdzKGNmZykKbG9jYWwgc2V0dGluZ3MgPSBjb25maWcubWFwRmxhZ3MoY2ZnLCBkbWQubWFrZXNldHRpbmdzKQpyZXR1cm4gdGFibGUuY29uY2F0KHNldHRpbmdzKQplbmQKZG1kLnRvb2xzID0gewp9CmZ1bmN0aW9uIGRtZC5nZXR0b29sbmFtZShjZmcsIHRvb2wpCmxvY2FsIG5hbWVzID0gZG1kLnRvb2xzW2NmZy5hcmNoaXRlY3R1cmVdIG9yIGRtZC50b29sc1tjZmcuc3lzdGVtXSBvciB7fQpsb2NhbCBuYW1lID0gbmFtZXNbdG9vbF0KcmV0dXJuIG5hbWUgb3IgZG1kW3Rvb2xdCmVuZAoAAAAAAHByZW1ha2UudG9vbHMuZ2RjID0geyB9CmxvY2FsIGdkYyA9IHByZW1ha2UudG9vbHMuZ2RjCmxvY2FsIHByb2plY3QgPSBwcmVtYWtlLnByb2plY3QKbG9jYWwgY29uZmlnID0gcHJlbWFrZS5jb25maWcKICAgIGxvY2FsIGQgPSBwcmVtYWtlLm1vZHVsZXMuZApnZGMuZGMgPSAiZ2RjIgpnZGMuZGZsYWdzID0gewphcmNoaXRlY3R1cmUgPSB7Cng4NiA9ICItbTMyIiwKeDg2XzY0ID0gIi1tNjQiLAp9LApmbGFncyA9IHsKRGVwcmVjYXRlZD0gIi1mZGVwcmVjYXRlZCIsCkRvY3VtZW50YXRpb249ICItZmRvYyIsCkZhdGFsV2FybmluZ3M9ICItV2Vycm9yIiwKR2VuZXJhdGVIZWFkZXI9ICItZmludGZjIiwKR2VuZXJhdGVKU09OPSAiLWZYIiwKTm9Cb3VuZHNDaGVjaz0gIi1mbm8tYm91bmRzLWNoZWNrIiwKUmV0YWluUGF0aHM9ICItb3AiLApTeW1ib2xzPSAiLWciLApTeW1ib2xzTGlrZUM9ICItZmRlYnVnLWMiLApVbml0VGVzdD0gIi1mdW5pdHRlc3QiLApWZXJib3NlPSAiLWZkLXZlcmJvc2UiLAp9LApmbG9hdGluZ3BvaW50ID0gewpGYXN0ID0gIi1mZmFzdC1tYXRoIiwKU3RyaWN0ID0gIi1mZmxvYXQtc3RvcmUiLAp9LApvcHRpbWl6ZSA9IHsKT2ZmID0gIi1PMCIsCk9uID0gIi1PMiAtZmlubGluZS1mdW5jdGlvbnMiLApEZWJ1ZyA9ICItT2ciLApGdWxsID0gIi1PMyAtZmlubGluZS1mdW5jdGlvbnMiLApTaXplID0gIi1PcyAtZmlubGluZS1mdW5jdGlvbnMiLApTcGVlZCA9ICItTzMgLWZpbmxpbmUtZnVuY3Rpb25zIiwKfSwKcGljID0gewpPbiA9ICItZlBJQyIsCn0sCnZlY3RvcmV4dGVuc2lvbnMgPSB7CkFWWCA9ICItbWF2eCIsClNTRSA9ICItbXNzZSIsClNTRTIgPSAiLW1zc2UyIiwKfSwKd2FybmluZ3MgPSB7CkV4dHJhID0gIi1XYWxsIC1XZXh0cmEiLAp9Cn0KZnVuY3Rpb24gZ2RjLmdldGRmbGFncyhjZmcpCmxvY2FsIGZsYWdzID0gY29uZmlnLm1hcEZsYWdzKGNmZywgZ2RjLmRmbGFncykKaWYgY29uZmlnLmlzRGVidWdCdWlsZChjZmcpIHRoZW4KdGFibGUuaW5zZXJ0KGZsYWdzLCAiLWZkZWJ1ZyIpCmVsc2UKdGFibGUuaW5zZXJ0KGZsYWdzLCAiLWZyZWxlYXNlIikKZW5kCmlmIGNmZy5mbGFncy5Eb2N1bWVudGF0aW9uIHRoZW4KaWYgY2ZnLmRvY25hbWUgdGhlbgp0YWJsZS5pbnNlcnQoZmxhZ3MsICItZmRvYy1maWxlPSIgLi4gcHJlbWFrZS5xdW90ZWQoY2ZnLmRvY25hbWUpKQplbmQKaWYgY2ZnLmRvY2RpciB0aGVuCnRhYmxlLmluc2VydChmbGFncywgIi1mZG9jLWRpcj0iIC4uIHByZW1ha2UucXVvdGVkKGNmZy5kb2NkaXIpKQplbmQKZW5kCmlmIGNmZy5mbGFncy5HZW5lcmF0ZUhlYWRlciB0aGVuCmlmIGNmZy5oZWFkZXJuYW1lIHRoZW4KdGFibGUuaW5zZXJ0KGZsYWdzLCAiLWZpbnRmYy1maWxlPSIgLi4gcHJlbWFrZS5xdW90ZWQoY2ZnLmhlYWRlcm5hbWUpKQplbmQKaWYgY2ZnLmhlYWRlcmRpciB0aGVuCnRhYmxlLmluc2VydChmbGFncywgIi1maW50ZmMtZGlyPSIgLi4gcHJlbWFrZS5xdW90ZWQoY2ZnLmhlYWRlcmRpcikpCmVuZAplbmQKcmV0dXJuIGZsYWdzCmVuZApmdW5jdGlvbiBnZGMuZ2V0dmVyc2lvbnModmVyc2lvbnMsIGxldmVsKQpsb2NhbCByZXN1bHQgPSB7fQpmb3IgXywgdmVyc2lvbiBpbiBpcGFpcnModmVyc2lvbnMpIGRvCnRhYmxlLmluc2VydChyZXN1bHQsICctZnZlcnNpb249JyAuLiB2ZXJzaW9uKQplbmQKaWYgbGV2ZWwgdGhlbgp0YWJsZS5pbnNlcnQocmVzdWx0LCAnLWZ2ZXJzaW9uPScgLi4gbGV2ZWwpCmVuZApyZXR1cm4gcmVzdWx0CmVuZApmdW5jdGlvbiBnZGMuZ2V0ZGVidWcoY29uc3RhbnRzLCBsZXZlbCkKbG9jYWwgcmVzdWx0ID0ge30KZm9yIF8sIGNvbnN0YW50IGluIGlwYWlycyhjb25zdGFudHMpIGRvCnRhYmxlLmluc2VydChyZXN1bHQsICctZmRlYnVnPScgLi4gY29uc3RhbnQpCmVuZAppZiBsZXZlbCB0aGVuCnRhYmxlLmluc2VydChyZXN1bHQsICctZmRlYnVnPScgLi4gbGV2ZWwpCmVuZApyZXR1cm4gcmVzdWx0CmVuZApmdW5jdGlvbiBnZGMuZ2V0aW1wb3J0ZGlycyhjZmcsIGRpcnMpCmxvY2FsIHJlc3VsdCA9IHt9CmZvciBfLCBkaXIgaW4gaXBhaXJzKGRpcnMpIGRvCmRpciA9IHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGRpcikKdGFibGUuaW5zZXJ0KHJlc3VsdCwgJy1JJyAuLiBwcmVtYWtlLnF1b3RlZChkaXIpKQplbmQKcmV0dXJuIHJlc3VsdAplbmQKZnVuY3Rpb24gZ2RjLmdldHRhcmdldChuYW1lKQpyZXR1cm4gIi1vICIgLi4gbmFtZQplbmQKZ2RjLmxkZmxhZ3MgPSB7CmFyY2hpdGVjdHVyZSA9IHsKeDg2ID0geyAiLW0zMiIgfSwKeDg2XzY0ID0geyAiLW02NCIgfSwKfSwKa2luZCA9IHsKU2hhcmVkTGliID0gZnVuY3Rpb24oY2ZnKQpsb2NhbCByID0geyBpaWYoY2ZnLnN5c3RlbSA9PSBwcmVtYWtlLk1BQ09TWCwgIi1keW5hbWljbGliIiwgIi1zaGFyZWQiKSB9CmlmIGNmZy5zeXN0ZW0gPT0gIndpbmRvd3MiIGFuZCBub3QgY2ZnLmZsYWdzLk5vSW1wb3J0TGliIHRoZW4KdGFibGUuaW5zZXJ0KHIsICctV2wsLS1vdXQtaW1wbGliPSInIC4uIGNmZy5saW5rdGFyZ2V0LnJlbHBhdGggLi4gJyInKQplbmQKcmV0dXJuIHIKZW5kLApXaW5kb3dlZEFwcCA9IGZ1bmN0aW9uKGNmZykKaWYgY2ZnLnN5c3RlbSA9PSBwcmVtYWtlLldJTkRPV1MgdGhlbiByZXR1cm4gIi1td2luZG93cyIgZW5kCmVuZCwKfSwKfQpmdW5jdGlvbiBnZGMuZ2V0bGRmbGFncyhjZmcpCmxvY2FsIGZsYWdzID0gY29uZmlnLm1hcEZsYWdzKGNmZywgZ2RjLmxkZmxhZ3MpCnJldHVybiBmbGFncwplbmQKZ2RjLmxpYnJhcnlEaXJlY3RvcmllcyA9IHsKYXJjaGl0ZWN0dXJlID0gewp4ODYgPSAiLUwvdXNyL2xpYiIsCng4Nl82NCA9ICItTC91c3IvbGliNjQiLAp9Cn0KZnVuY3Rpb24gZ2RjLmdldExpYnJhcnlEaXJlY3RvcmllcyhjZmcpCmxvY2FsIGZsYWdzID0gY29uZmlnLm1hcEZsYWdzKGNmZywgZ2RjLmxpYnJhcnlEaXJlY3RvcmllcykKZm9yIF8sIGRpciBpbiBpcGFpcnMoY29uZmlnLmdldGxpbmtzKGNmZywgInN5c3RlbSIsICJkaXJlY3RvcnkiKSkgZG8KdGFibGUuaW5zZXJ0KGZsYWdzLCAnLVdsLC1MJyAuLiBwcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCBkaXIpKQplbmQKcmV0dXJuIGZsYWdzCmVuZApmdW5jdGlvbiBnZGMuZ2V0bGlua3MoY2ZnLCBzeXN0ZW1vbmx5KQpsb2NhbCByZXN1bHQgPSB7fQpsb2NhbCBsaW5rcwppZiBub3Qgc3lzdGVtb25seSB0aGVuCmxpbmtzID0gY29uZmlnLmdldGxpbmtzKGNmZywgInNpYmxpbmdzIiwgIm9iamVjdCIpCmZvciBfLCBsaW5rIGluIGlwYWlycyhsaW5rcykgZG8KaWYgbm90IGxpbmsucHJvamVjdC5leHRlcm5hbCB0aGVuCmlmIGxpbmsua2luZCA9PSBwcmVtYWtlLlNUQVRJQ0xJQiB0aGVuCnRhYmxlLmluc2VydChyZXN1bHQsICItV2wsIiAuLiBwcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCBsaW5rLmxpbmt0YXJnZXQuYWJzcGF0aCkpCmVsc2UKdGFibGUuaW5zZXJ0KHJlc3VsdCwgIi1XbCwtbCIgLi4gbGluay5saW5rdGFyZ2V0LmJhc2VuYW1lKQplbmQKZW5kCmVuZAplbmQKbGlua3MgPSBjb25maWcuZ2V0bGlua3MoY2ZnLCAic3lzdGVtIiwgImZ1bGxwYXRoIikKZm9yIF8sIGxpbmsgaW4gaXBhaXJzKGxpbmtzKSBkbwppZiBwYXRoLmlzZnJhbWV3b3JrKGxpbmspIHRoZW4KdGFibGUuaW5zZXJ0KHJlc3VsdCwgIi1mcmFtZXdvcmsgIiAuLiBwYXRoLmdldGJhc2VuYW1lKGxpbmspKQplbHNlaWYgcGF0aC5pc29iamVjdGZpbGUobGluaykgdGhlbgp0YWJsZS5pbnNlcnQocmVzdWx0LCAiLVdsLCIgLi4gbGluaykKZWxzZQp0YWJsZS5pbnNlcnQocmVzdWx0LCAiLVdsLC1sIiAuLiBwYXRoLmdldGJhc2VuYW1lKGxpbmspKQplbmQKZW5kCnJldHVybiByZXN1bHQKZW5kCmdkYy5tYWtlc2V0dGluZ3MgPSB7Cn0KZnVuY3Rpb24gZ2RjLmdldG1ha2VzZXR0aW5ncyhjZmcpCmxvY2FsIHNldHRpbmdzID0gY29uZmlnLm1hcEZsYWdzKGNmZywgZ2RjLm1ha2VzZXR0aW5ncykKcmV0dXJuIHRhYmxlLmNvbmNhdChzZXR0aW5ncykKZW5kCmdkYy50b29scyA9IHsKcHMzID0gewpkYyA9ICJwcHUtbHYyLWdkYyIsCmFyID0gInBwdS1sdjItYXIiLAp9LAp9CmZ1bmN0aW9uIGdkYy5nZXR0b29sbmFtZShjZmcsIHRvb2wpCmxvY2FsIG5hbWVzID0gZ2RjLnRvb2xzW2NmZy5hcmNoaXRlY3R1cmVdIG9yIGdkYy50b29sc1tjZmcuc3lzdGVtXSBvciB7fQpsb2NhbCBuYW1lID0gbmFtZXNbdG9vbF0KcmV0dXJuIG5hbWUgb3IgZ2RjW3Rvb2xdCmVuZAoAAAAAAABwcmVtYWtlLnRvb2xzLmxkYyA9IHsgfQpsb2NhbCBsZGMgPSBwcmVtYWtlLnRvb2xzLmxkYwpsb2NhbCBwcm9qZWN0ID0gcHJlbWFrZS5wcm9qZWN0CmxvY2FsIGNvbmZpZyA9IHByZW1ha2UuY29uZmlnCiAgICBsb2NhbCBkID0gcHJlbWFrZS5tb2R1bGVzLmQKbGRjLm5hbWVzdHlsZSA9ICJwb3NpeCIKbGRjLmRmbGFncyA9IHsKYXJjaGl0ZWN0dXJlID0gewp4ODYgPSAiLW0zMiIsCng4Nl82NCA9ICItbTY0IiwKfSwKZmxhZ3MgPSB7CkRlcHJlY2F0ZWQ9ICItZCIsCkRvY3VtZW50YXRpb249ICItRCIsCkZhdGFsV2FybmluZ3M9ICItdyIsIC0tIFVzZSBMTFZNIGZsYWc/IDogIi1mYXRhbC1hc3NlbWJsZXItd2FybmluZ3MiLApHZW5lcmF0ZUhlYWRlcj0gIi1IIiwKR2VuZXJhdGVKU09OPSAiLVgiLApOb0JvdW5kc0NoZWNrPSAiLWRpc2FibGUtYm91bmRzY2hlY2siLApSZXRhaW5QYXRocz0gIi1vcCIsClN5bWJvbHM9ICItZyIsClN5bWJvbHNMaWtlQz0gIi1nYyIsClVuaXRUZXN0PSAiLXVuaXR0ZXN0IiwKVmVyYm9zZT0gIi12IiwKfSwKZmxvYXRpbmdwb2ludCA9IHsKRmFzdCA9ICItZnAtY29udHJhY3Q9ZmFzdCAtZW5hYmxlLXVuc2FmZS1mcC1tYXRoIiwKfSwKb3B0aW1pemUgPSB7Ck9mZiA9ICItTzAiLApPbiA9ICItTzIiLApEZWJ1ZyA9ICItTzAiLApGdWxsID0gIi1PMyIsClNpemUgPSAiLU96IiwKU3BlZWQgPSAiLU8zIiwKfSwKcGljID0gewpPbiA9ICItcmVsb2NhdGlvbi1tb2RlbD1waWMiLAp9LAp2ZWN0b3JleHRlbnNpb25zID0gewpBVlggPSAiLW1hdHRyPSthdngiLApTU0UgPSAiLW1hdHRyPStzc2UiLApTU0UyID0gIi1tYXR0cj0rc3NlMiIsCn0sCndhcm5pbmdzID0gewpEZWZhdWx0ID0gIi13aSIsCkV4dHJhID0gIi13aSIsLS0gVE9ETzogaXMgdGhlcmUgYSB3YXkgdG8gZ2V0IGV4dHJhIHdhcm5pbmdzPwp9Cn0KZnVuY3Rpb24gbGRjLmdldGRmbGFncyhjZmcpCmxvY2FsIGZsYWdzID0gY29uZmlnLm1hcEZsYWdzKGNmZywgbGRjLmRmbGFncykKaWYgY29uZmlnLmlzRGVidWdCdWlsZChjZmcpIHRoZW4KdGFibGUuaW5zZXJ0KGZsYWdzLCAiLWQtZGVidWciKQplbHNlCnRhYmxlLmluc2VydChmbGFncywgIi1yZWxlYXNlIikKZW5kCmlmIGNmZy5mbGFncy5Eb2N1bWVudGF0aW9uIHRoZW4KaWYgY2ZnLmRvY25hbWUgdGhlbgp0YWJsZS5pbnNlcnQoZmxhZ3MsICItRGY9IiAuLiBwcmVtYWtlLnF1b3RlZChjZmcuZG9jbmFtZSkpCmVuZAppZiBjZmcuZG9jZGlyIHRoZW4KdGFibGUuaW5zZXJ0KGZsYWdzLCAiLURkPSIgLi4gcHJlbWFrZS5xdW90ZWQoY2ZnLmRvY2RpcikpCmVuZAplbmQKaWYgY2ZnLmZsYWdzLkdlbmVyYXRlSGVhZGVyIHRoZW4KaWYgY2ZnLmhlYWRlcm5hbWUgdGhlbgp0YWJsZS5pbnNlcnQoZmxhZ3MsICItSGY9IiAuLiBwcmVtYWtlLnF1b3RlZChjZmcuaGVhZGVybmFtZSkpCmVuZAppZiBjZmcuaGVhZGVyZGlyIHRoZW4KdGFibGUuaW5zZXJ0KGZsYWdzLCAiLUhkPSIgLi4gcHJlbWFrZS5xdW90ZWQoY2ZnLmhlYWRlcmRpcikpCmVuZAplbmQKcmV0dXJuIGZsYWdzCmVuZApmdW5jdGlvbiBsZGMuZ2V0dmVyc2lvbnModmVyc2lvbnMsIGxldmVsKQpsb2NhbCByZXN1bHQgPSB7fQpmb3IgXywgdmVyc2lvbiBpbiBpcGFpcnModmVyc2lvbnMpIGRvCnRhYmxlLmluc2VydChyZXN1bHQsICctZC12ZXJzaW9uPScgLi4gdmVyc2lvbikKZW5kCmlmIGxldmVsIHRoZW4KdGFibGUuaW5zZXJ0KHJlc3VsdCwgJy1kLXZlcnNpb249JyAuLiBsZXZlbCkKZW5kCnJldHVybiByZXN1bHQKZW5kCmZ1bmN0aW9uIGxkYy5nZXRkZWJ1Zyhjb25zdGFudHMsIGxldmVsKQpsb2NhbCByZXN1bHQgPSB7fQpmb3IgXywgY29uc3RhbnQgaW4gaXBhaXJzKGNvbnN0YW50cykgZG8KdGFibGUuaW5zZXJ0KHJlc3VsdCwgJy1kLWRlYnVnPScgLi4gY29uc3RhbnQpCmVuZAppZiBsZXZlbCB0aGVuCnRhYmxlLmluc2VydChyZXN1bHQsICctZC1kZWJ1Zz0nIC4uIGxldmVsKQplbmQKcmV0dXJuIHJlc3VsdAplbmQKZnVuY3Rpb24gbGRjLmdldGltcG9ydGRpcnMoY2ZnLCBkaXJzKQpsb2NhbCByZXN1bHQgPSB7fQpmb3IgXywgZGlyIGluIGlwYWlycyhkaXJzKSBkbwpkaXIgPSBwcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCBkaXIpCnRhYmxlLmluc2VydChyZXN1bHQsICctST0nIC4uIHByZW1ha2UucXVvdGVkKGRpcikpCmVuZApyZXR1cm4gcmVzdWx0CmVuZApmdW5jdGlvbiBsZGMuZ2V0dGFyZ2V0KG5hbWUpCnJldHVybiAiLW9mPSIgLi4gbmFtZQplbmQKbGRjLmxkZmxhZ3MgPSB7CmFyY2hpdGVjdHVyZSA9IHsKeDg2ID0geyAiLW0zMiIgfSwKeDg2XzY0ID0geyAiLW02NCIgfSwKfSwKa2luZCA9IHsKU2hhcmVkTGliID0gIi1zaGFyZWQiLApTdGF0aWNMaWIgPSAiLWxpYiIsCn0sCn0KZnVuY3Rpb24gbGRjLmdldGxkZmxhZ3MoY2ZnKQpsb2NhbCBmbGFncyA9IGNvbmZpZy5tYXBGbGFncyhjZmcsIGxkYy5sZGZsYWdzKQpyZXR1cm4gZmxhZ3MKZW5kCmxkYy5saWJyYXJ5RGlyZWN0b3JpZXMgPSB7CmFyY2hpdGVjdHVyZSA9IHsKeDg2ID0gIi1MPS1ML3Vzci9saWIiLAp4ODZfNjQgPSAiLUw9LUwvdXNyL2xpYjY0IiwKfQp9CmZ1bmN0aW9uIGxkYy5nZXRMaWJyYXJ5RGlyZWN0b3JpZXMoY2ZnKQpsb2NhbCBmbGFncyA9IGNvbmZpZy5tYXBGbGFncyhjZmcsIGxkYy5saWJyYXJ5RGlyZWN0b3JpZXMpCmZvciBfLCBkaXIgaW4gaXBhaXJzKGNvbmZpZy5nZXRsaW5rcyhjZmcsICJzeXN0ZW0iLCAiZGlyZWN0b3J5IikpIGRvCnRhYmxlLmluc2VydChmbGFncywgJy1MPS1MJyAuLiBwcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCBkaXIpKQplbmQKcmV0dXJuIGZsYWdzCmVuZApmdW5jdGlvbiBsZGMuZ2V0bGlua3MoY2ZnLCBzeXN0ZW1vbmx5KQpsb2NhbCByZXN1bHQgPSB7fQpsb2NhbCBsaW5rcwppZiBub3Qgc3lzdGVtb25seSB0aGVuCmxpbmtzID0gY29uZmlnLmdldGxpbmtzKGNmZywgInNpYmxpbmdzIiwgIm9iamVjdCIpCmZvciBfLCBsaW5rIGluIGlwYWlycyhsaW5rcykgZG8KaWYgbm90IGxpbmsucHJvamVjdC5leHRlcm5hbCB0aGVuCmlmIGxpbmsua2luZCA9PSBwcmVtYWtlLlNUQVRJQ0xJQiB0aGVuCnRhYmxlLmluc2VydChyZXN1bHQsICItTD0iIC4uIHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGxpbmsubGlua3RhcmdldC5hYnNwYXRoKSkKZWxzZQp0YWJsZS5pbnNlcnQocmVzdWx0LCAiLUw9LWwiIC4uIGxpbmsubGlua3RhcmdldC5iYXNlbmFtZSkKZW5kCmVuZAplbmQKZW5kCmxpbmtzID0gY29uZmlnLmdldGxpbmtzKGNmZywgInN5c3RlbSIsICJmdWxscGF0aCIpCmZvciBfLCBsaW5rIGluIGlwYWlycyhsaW5rcykgZG8KaWYgcGF0aC5pc2ZyYW1ld29yayhsaW5rKSB0aGVuCnRhYmxlLmluc2VydChyZXN1bHQsICItZnJhbWV3b3JrICIgLi4gcGF0aC5nZXRiYXNlbmFtZShsaW5rKSkKZWxzZWlmIHBhdGguaXNvYmplY3RmaWxlKGxpbmspIHRoZW4KdGFibGUuaW5zZXJ0KHJlc3VsdCwgIi1MPSIgLi4gbGluaykKZWxzZQp0YWJsZS5pbnNlcnQocmVzdWx0LCAiLUw9LWwiIC4uIHBhdGguZ2V0YmFzZW5hbWUobGluaykpCmVuZAplbmQKcmV0dXJuIHJlc3VsdAplbmQKbGRjLm1ha2VzZXR0aW5ncyA9IHsKfQpmdW5jdGlvbiBsZGMuZ2V0bWFrZXNldHRpbmdzKGNmZykKbG9jYWwgc2V0dGluZ3MgPSBjb25maWcubWFwRmxhZ3MoY2ZnLCBsZGMubWFrZXNldHRpbmdzKQpyZXR1cm4gdGFibGUuY29uY2F0KHNldHRpbmdzKQplbmQKbGRjLnRvb2xzID0gewpkYyA9ICJsZGMyIiwKYXIgPSAiYXIiLAp9CmZ1bmN0aW9uIGxkYy5nZXR0b29sbmFtZShjZmcsIHRvb2wpCnJldHVybiBsZGMudG9vbHNbdG9vbF0KZW5kCgAAAAAAAGxvY2FsIHAgPSBwcmVtYWtlCm5ld2FjdGlvbgp7CnRyaWdnZXIgICAgICAgICA9ICJtb25vZGV2ZWxvcCIsIC0tIFRPRE86IEknZCBraW5kYSBsaWtlIGFuIGFsaWFzICd4YW1hcmluc3R1ZGlvJyBhc3dlbGwuLi4Kc2hvcnRuYW1lICAgICAgID0gIk1vbm9EZXZlbG9wIiwKZGVzY3JpcHRpb24gICAgID0gIkdlbmVyYXRlIE1vbm9EZXZlbG9wL1hhbWFyaW4gU3R1ZGlvIHByb2plY3QgZmlsZXMiLAp2YWxpZF9raW5kcyAgICAgPSB7ICJDb25zb2xlQXBwIiwgIldpbmRvd2VkQXBwIiwgIlN0YXRpY0xpYiIsICJTaGFyZWRMaWIiIH0sCnZhbGlkX2xhbmd1YWdlcyA9IHsgIkMiLCAiQysrIiwgIkMjIiB9LAp2YWxpZF90b29scyAgICAgPSB7CmNjICAgICA9IHsgImdjYyIgfSwKZG90bmV0ID0geyAibW9ubyIsICJtc25ldCIgfSwKfSwKb25Xb3Jrc3BhY2UgPSBmdW5jdGlvbih3a3MpCnAudnN0dWRpby52czIwMDUuZ2VuZXJhdGVXb3Jrc3BhY2Uod2tzKQplbmQsCm9uUHJvamVjdCA9IGZ1bmN0aW9uKHByaikKcC5tb2R1bGVzLm1vbm9kZXZlbG9wLmdlbmVyYXRlUHJvamVjdChwcmopCmVuZCwKb25DbGVhbldvcmtzcGFjZSA9IGZ1bmN0aW9uKHdrcykKcC52c3R1ZGlvLmNsZWFuV29ya3NwYWNlKHdrcykKZW5kLApvbkNsZWFuUHJvamVjdCA9IGZ1bmN0aW9uKHByaikKcC52c3R1ZGlvLmNsZWFuUHJvamVjdChwcmopCmVuZCwKb25DbGVhblRhcmdldCA9IGZ1bmN0aW9uKHByaikKcC52c3R1ZGlvLmNsZWFuVGFyZ2V0KHByaikKZW5kLAp2c3R1ZGlvID0gewpjc3Byb2pTY2hlbWFWZXJzaW9uID0gIjIuMCIsCnByb2R1Y3RWZXJzaW9uICAgICAgPSAiMTAuMC4wIiwKc29sdXRpb25WZXJzaW9uICAgICA9ICIxMiIsCnZlcnNpb25OYW1lICAgICAgICAgPSAiMjAxMiIsCnRhcmdldEZyYW1ld29yayAgICAgPSAiNC41IiwKdG9vbHNWZXJzaW9uICAgICAgICA9ICI0LjAiLAp9LAp9CnJldHVybiBmdW5jdGlvbihjZmcpCnJldHVybiAoX0FDVElPTiA9PSAibW9ub2RldmVsb3AiKQplbmQKAAAAAAAAbG9jYWwgcCA9IHByZW1ha2UKcC5tb2R1bGVzLm1vbm9kZXZlbG9wID0ge30KbG9jYWwgbSA9IHAubW9kdWxlcy5tb25vZGV2ZWxvcAptLl9WRVJTSU9OID0gcC5fVkVSU0lPTgptLmVsZW1lbnRzID0ge30KbG9jYWwgdnMyMDEwID0gcC52c3R1ZGlvLnZzMjAxMApsb2NhbCB2c3R1ZGlvID0gcC52c3R1ZGlvCmxvY2FsIHNsbjIwMDUgPSBwLnZzdHVkaW8uc2xuMjAwNQpsb2NhbCBwcm9qZWN0ID0gcC5wcm9qZWN0CmxvY2FsIGNvbmZpZyA9IHAuY29uZmlnCmZ1bmN0aW9uIG0uTW9ub0RldmVsb3BQcm9wZXJ0aWVzKHdrcykKX3AoJ1x0R2xvYmFsU2VjdGlvbihNb25vRGV2ZWxvcFByb3BlcnRpZXMpID0gcHJlU29sdXRpb24nKQppZiB3a3Muc3RhcnRwcm9qZWN0IHRoZW4KZm9yIHByaiBpbiBwLndvcmtzcGFjZS5lYWNocHJvamVjdCh3a3MpIGRvCmlmIHByai5uYW1lID09IHdrcy5zdGFydHByb2plY3QgdGhlbgplbmQKZW5kCmVuZApfcCgnXHRFbmRHbG9iYWxTZWN0aW9uJykKZW5kCnAub3ZlcnJpZGUodnN0dWRpbywgInByb2plY3RQbGF0Zm9ybSIsIGZ1bmN0aW9uKG9sZGZuLCBjZmcpCmlmIF9BQ1RJT04gPT0gIm1vbm9kZXZlbG9wIiB0aGVuCmlmIGNmZy5wbGF0Zm9ybSB0aGVuCnJldHVybiBjZmcuYnVpbGRjZmcgLi4gIiAiIC4uIGNmZy5wbGF0Zm9ybQplbHNlCnJldHVybiBjZmcuYnVpbGRjZmcKZW5kCmVuZApyZXR1cm4gb2xkZm4oY2ZnKQplbmQpCnAub3ZlcnJpZGUodnN0dWRpbywgImFyY2hGcm9tQ29uZmlnIiwgZnVuY3Rpb24ob2xkZm4sIGNmZywgd2luMzIpCmlmIF9BQ1RJT04gPT0gIm1vbm9kZXZlbG9wIiB0aGVuCnJldHVybiAiQW55IENQVSIKZW5kCnJldHVybiBvbGRmbihjZmcsIHdpbjMyKQplbmQpCnAub3ZlcnJpZGUoc2xuMjAwNSwgInNvbHV0aW9uU2VjdGlvbnMiLCBmdW5jdGlvbihvbGRmbiwgd2tzKQppZiBfQUNUSU9OID09ICJtb25vZGV2ZWxvcCIgdGhlbgpyZXR1cm4gewoiQ29uZmlndXJhdGlvblBsYXRmb3JtcyIsCiJNb25vRGV2ZWxvcFByb3BlcnRpZXMiLAoiTmVzdGVkUHJvamVjdHMiLAp9CmVuZApyZXR1cm4gb2xkZm4ocHJqKQplbmQpCnAub3ZlcnJpZGUoc2xuMjAwNS5lbGVtZW50cywgInNlY3Rpb25zIiwgZnVuY3Rpb24ob2xkZm4sIHdrcykKbG9jYWwgZWxlbWVudHMgPSBvbGRmbih3a3MpCmVsZW1lbnRzID0gdGFibGUuam9pbihlbGVtZW50cywgewptLk1vbm9EZXZlbG9wUHJvcGVydGllcywKfSkKcmV0dXJuIGVsZW1lbnRzCmVuZCkKcC5vdmVycmlkZSh2c3R1ZGlvLCAicHJvamVjdGZpbGUiLCBmdW5jdGlvbihvbGRmbiwgcHJqKQppZiBfQUNUSU9OID09ICJtb25vZGV2ZWxvcCIgdGhlbgppZiBwcm9qZWN0LmlzY3BwKHByaikgdGhlbgpyZXR1cm4gcC5maWxlbmFtZShwcmosICIuY3Byb2oiKQplbmQKZW5kCnJldHVybiBvbGRmbihwcmopCmVuZCkKcC5vdmVycmlkZSh2c3R1ZGlvLCAidG9vbCIsIGZ1bmN0aW9uKG9sZGZuLCBwcmopCmlmIF9BQ1RJT04gPT0gIm1vbm9kZXZlbG9wIiB0aGVuCmlmIHByb2plY3QuaXNjcHAocHJqKSB0aGVuCnJldHVybiAiMjg1N0I3M0UtRjg0Ny00QjAyLTkyMzgtMDY0OTc5MDE3RTkzIgplbmQKZW5kCnJldHVybiBvbGRmbihwcmopCmVuZCkKZnVuY3Rpb24gbS5nZW5lcmF0ZVByb2plY3QocHJqKQpwLmVvbCgiXHJcbiIpCnAuaW5kZW50KCIgICIpCnAuZXNjYXBlcih2czIwMTAuZXNjKQppZiBwcm9qZWN0LmlzZG90bmV0KHByaikgdGhlbgpwLmdlbmVyYXRlKHByaiwgIi5jc3Byb2oiLCB2c3R1ZGlvLmNzMjAwNS5nZW5lcmF0ZSkKcC5nZW5lcmF0ZShwcmosICIuY3Nwcm9qLnVzZXIiLCB2c3R1ZGlvLmNzMjAwNS5nZW5lcmF0ZVVzZXIpCmVsc2VpZiBwcm9qZWN0LmlzY3BwKHByaikgdGhlbgpwLmdlbmVyYXRlKHByaiwgIi5jcHJvaiIsIG0uZ2VuZXJhdGUpCmVuZAplbmQKaW5jbHVkZSgibW9ub2RldmVsb3BfY3Byb2oubHVhIikKcmV0dXJuIG0KAABsb2NhbCBwID0gcHJlbWFrZQpsb2NhbCBtID0gcC5tb2R1bGVzLm1vbm9kZXZlbG9wCm0uY3Byb2ogPSB7fQpsb2NhbCB2c3R1ZGlvID0gcC52c3R1ZGlvCmxvY2FsIHByb2plY3QgPSBwLnByb2plY3QKbG9jYWwgY29uZmlnID0gcC5jb25maWcKbG9jYWwgZmlsZWNvbmZpZyA9IHAuZmlsZWNvbmZpZwpsb2NhbCB0cmVlID0gcC50cmVlCmZ1bmN0aW9uIG0uZ2VuZXJhdGUocHJqKQptLmhlYWRlcigiQnVpbGQiKQptLnByb2plY3RQcm9wZXJ0aWVzKHByaikKZm9yIGNmZyBpbiBwcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwptLmNvbmZpZ3VyYXRpb25Qcm9wZXJ0aWVzKGNmZykKZW5kCm0uZmlsZXMocHJqKQpfcCgnPC9Qcm9qZWN0PicpCmVuZApmdW5jdGlvbiBtLmhlYWRlcih0YXJnZXQpCl9wKCc8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PicpCmxvY2FsIGRlZmF1bHRUYXJnZXRzID0gIiIKaWYgdGFyZ2V0IHRoZW4KZGVmYXVsdFRhcmdldHMgPSBzdHJpbmcuZm9ybWF0KCcgRGVmYXVsdFRhcmdldHM9IiVzIicsIHRhcmdldCkKZW5kCl9wKCc8UHJvamVjdCVzIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4nLCBkZWZhdWx0VGFyZ2V0cykKZW5kCm0uZWxlbWVudHMucHJvamVjdFByb3BlcnRpZXMgPSBmdW5jdGlvbihwcmopCmlmIHByb2plY3QuaXNjcHAocHJqKSB0aGVuCnJldHVybiB7Cm0uY3Byb2oucHJvZHVjdFZlcnNpb24sCm0uY3Byb2ouc2NoZW1hVmVyc2lvbiwKbS5jcHJvai5wcm9qZWN0R3VpZCwKbS5jcHJvai5jb21waWxlciwKbS5jcHJvai5sYW5ndWFnZSwKbS5jcHJvai50YXJnZXQsCm0uY3Byb2oudmVyc2lvbiwKbS5jcHJvai5zeW5jaFNsblZlcnNpb24sCm0uY3Byb2ouZGVzY3JpcHRpb24sCn0KZW5kCmVuZApmdW5jdGlvbiBtLnByb2plY3RQcm9wZXJ0aWVzKHByaikKX3AoMSwnPFByb3BlcnR5R3JvdXA+JykKX3AoMiwnPENvbmZpZ3VyYXRpb24gQ29uZGl0aW9uPSIgXCckKENvbmZpZ3VyYXRpb24pXCcgPT0gXCdcJyAiPiVzPC9Db25maWd1cmF0aW9uPicsICdEZWJ1ZycpCl9wKDIsJzxQbGF0Zm9ybSBDb25kaXRpb249IiBcJyQoUGxhdGZvcm0pXCcgPT0gXCdcJyAiPiVzPC9QbGF0Zm9ybT4nLCAnQW55Q1BVJykKcC5jYWxsQXJyYXkobS5lbGVtZW50cy5wcm9qZWN0UHJvcGVydGllcywgcHJqKQpfcCgxLCc8L1Byb3BlcnR5R3JvdXA+JykKZW5kCm0uZWxlbWVudHMuY29uZmlndXJhdGlvblByb3BlcnRpZXMgPSBmdW5jdGlvbihjZmcpCmlmIHByb2plY3QuaXNjcHAoY2ZnLnByb2plY3QpIHRoZW4KcmV0dXJuIHsKbS5jcHJvai5kZWJ1Z2luZm8sCm0uY3Byb2oub3V0cHV0UGF0aCwKbS5jcHJvai5vdXRwdXROYW1lLAptLmNwcm9qLmNvbmZpZ190eXBlLAptLmNwcm9qLnByZXByb2Nlc3NvckRlZmluaXRpb25zLAptLmNwcm9qLnNvdXJjZURpcmVjdG9yeSwKbS5jcHJvai53YXJuaW5ncywKbS5jcHJvai5vcHRpbWl6YXRpb24sCm0uY3Byb2ouZXh0ZXJuYWxjb25zb2xlLAptLmNwcm9qLmFkZGl0aW9uYWxPcHRpb25zLAptLmNwcm9qLmFkZGl0aW9uYWxMaW5rT3B0aW9ucywKbS5jcHJvai5hZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzLAptLmNwcm9qLmFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXMsCm0uY3Byb2ouYWRkaXRpb25hbERlcGVuZGVuY2llcywKbS5jcHJvai5idWlsZEV2ZW50cywKfQplbmQKZW5kCmZ1bmN0aW9uIG0uY29uZmlndXJhdGlvblByb3BlcnRpZXMoY2ZnKQpfcCgxLCc8UHJvcGVydHlHcm91cCAlcz4nLCBtLmNvbmRpdGlvbihjZmcpKQpwLmNhbGxBcnJheShtLmVsZW1lbnRzLmNvbmZpZ3VyYXRpb25Qcm9wZXJ0aWVzLCBjZmcpCl9wKDEsJzwvUHJvcGVydHlHcm91cD4nKQplbmQKZnVuY3Rpb24gbS5jb25kaXRpb24oY2ZnKQpyZXR1cm4gc3RyaW5nLmZvcm1hdCgnQ29uZGl0aW9uPSIgXCckKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pXCcgPT0gXCclc3xBbnlDUFVcJyAiJywgcC5lc2ModnN0dWRpby5wcm9qZWN0UGxhdGZvcm0oY2ZnKSkpCmVuZApmdW5jdGlvbiBtLmZpbGVzKHByaikKbS5maWxlZ3JvdXAocHJqLCAiSW5jbHVkZSIsICJOb25lIikKbS5maWxlZ3JvdXAocHJqLCAiQ29tcGlsZSIsICJDb21waWxlIikKbS5maWxlZ3JvdXAocHJqLCAiRm9sZGVyIiwgIk5vbmUiKQptLmZpbGVncm91cChwcmosICJOb25lIiwgIk5vbmUiKQptLmZpbGVncm91cChwcmosICJSZXNvdXJjZUNvbXBpbGUiLCAiTm9uZSIpCm0uZmlsZWdyb3VwKHByaiwgIkN1c3RvbUJ1aWxkIiwgIk5vbmUiKQplbmQKZnVuY3Rpb24gbS5maWxlZ3JvdXAocHJqLCBncm91cCwgYWN0aW9uKQpsb2NhbCBmaWxlcyA9IG0uZ2V0ZmlsZWdyb3VwKHByaiwgZ3JvdXApCmlmICNmaWxlcyA+IDAgIHRoZW4KX3AoMSwnPEl0ZW1Hcm91cD4nKQpmb3IgXywgZmlsZSBpbiBpcGFpcnMoZmlsZXMpIGRvCm0ucHV0ZmlsZShhY3Rpb24sIGZpbGUpCmVuZApfcCgxLCc8L0l0ZW1Hcm91cD4nKQplbmQKZW5kCmZ1bmN0aW9uIG0ucHV0ZmlsZShhY3Rpb24sIGZpbGUpCmxvY2FsIGZpbGVuYW1lID0gZmlsZS5yZWxwYXRoCmlmIG5vdCBzdHJpbmcuc3RhcnRzd2l0aChmaWxlbmFtZSwgJy4uJykgdGhlbgpfeCgyLCc8JXMgSW5jbHVkZT1cIiVzXCIgLz4nLCBhY3Rpb24sIHBhdGgudHJhbnNsYXRlKGZpbGVuYW1lKSkKZWxzZQpfeCgyLCc8JXMgSW5jbHVkZT1cIiVzXCI+JywgYWN0aW9uLCBwYXRoLnRyYW5zbGF0ZShmaWxlbmFtZSkpCndoaWxlIHN0cmluZy5zdGFydHN3aXRoKGZpbGVuYW1lLCAnLi4nKSBkbwpmaWxlbmFtZSA9IGZpbGVuYW1lOnN1Yig0KQplbmQKX3goMywnPExpbms+JXM8L0xpbms+JywgZmlsZW5hbWUpCl94KDIsJzwvJXM+JywgYWN0aW9uKQplbmQKZW5kCmZ1bmN0aW9uIG0uZ2V0VGFyZ2V0R3JvdXAobm9kZSwgcHJqLCBncm91cHMpCmxvY2FsIGhhc2J1aWxkcnVsZSA9IGZhbHNlCmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KbG9jYWwgZmlsZWNmZyA9IGZpbGVjb25maWcuZ2V0Y29uZmlnKG5vZGUsIGNmZykKaWYgZmlsZWNmZyBhbmQgZmlsZWNvbmZpZy5oYXNDdXN0b21CdWlsZFJ1bGUoZmlsZWNmZykgdGhlbgpoYXNidWlsZHJ1bGUgPSB0cnVlCmJyZWFrCmVuZAplbmQKaWYgaGFzYnVpbGRydWxlIHRoZW4KcmV0dXJuIGdyb3Vwcy5DdXN0b21CdWlsZAplbHNlaWYgcGF0aC5pc2NwcGZpbGUobm9kZS5uYW1lKSB0aGVuCnJldHVybiBncm91cHMuQ29tcGlsZQplbHNlaWYgcGF0aC5pc2NwcGhlYWRlcihub2RlLm5hbWUpIHRoZW4KcmV0dXJuIGdyb3Vwcy5JbmNsdWRlCmVsc2VpZiBwYXRoLmlzcmVzb3VyY2VmaWxlKG5vZGUubmFtZSkgdGhlbgpyZXR1cm4gZ3JvdXBzLlJlc291cmNlQ29tcGlsZQplbHNlCnJldHVybiBncm91cHMuTm9uZQplbmQKZW5kCmZ1bmN0aW9uIG0uZ2V0ZmlsZWdyb3VwKHByaiwgZ3JvdXApCmxvY2FsIGdyb3VwcyA9IHByai5tb25vZGV2ZWxvcF9maWxlX2dyb3VwcwppZiBub3QgZ3JvdXBzIHRoZW4KZ3JvdXBzID0gewpDb21waWxlID0ge30sCkluY2x1ZGUgPSB7fSwKRm9sZGVyID0ge30sCk5vbmUgPSB7fSwKUmVzb3VyY2VDb21waWxlID0ge30sCkN1c3RvbUJ1aWxkID0ge30sCn0KcHJqLm1vbm9kZXZlbG9wX2ZpbGVfZ3JvdXBzID0gZ3JvdXBzCmxvY2FsIHRyID0gcHJvamVjdC5nZXRzb3VyY2V0cmVlKHByaikKdHJlZS50cmF2ZXJzZSh0ciwgewpvbmxlYWYgPSBmdW5jdGlvbihub2RlKQp0YWJsZS5pbnNlcnQobS5nZXRUYXJnZXRHcm91cChub2RlLCBwcmosIGdyb3VwcyksIG5vZGUpCmVuZAp9KQplbmQKcmV0dXJuIGdyb3Vwc1tncm91cF0KZW5kCmZ1bmN0aW9uIG0ucHJvamVjdFJlZmVyZW5jZXMocHJqKQpsb2NhbCBkZXBzID0gcHJvamVjdC5nZXRkZXBlbmRlbmNpZXMocHJqKQppZiAjZGVwcyA+IDAgdGhlbgpsb2NhbCBwcmpwYXRoID0gcHJvamVjdC5nZXRsb2NhdGlvbihwcmopCl9wKDEsJzxJdGVtR3JvdXA+JykKZm9yIF8sIGRlcCBpbiBpcGFpcnMoZGVwcykgZG8KbG9jYWwgcmVscGF0aCA9IHBhdGguZ2V0cmVsYXRpdmUocHJqcGF0aCwgdnN0dWRpby5wcm9qZWN0ZmlsZShkZXApKQpfeCgyLCc8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPVwiJXNcIj4nLCBwYXRoLnRyYW5zbGF0ZShyZWxwYXRoKSkKX3AoMywnPFByb2plY3Q+eyVzfTwvUHJvamVjdD4nLCBkZXAudXVpZCkKX3AoMiwnPC9Qcm9qZWN0UmVmZXJlbmNlPicpCmVuZApfcCgxLCc8L0l0ZW1Hcm91cD4nKQplbmQKZW5kCmZ1bmN0aW9uIG0uY3Byb2oucHJvZHVjdFZlcnNpb24ocHJqKQpsb2NhbCBhY3Rpb24gPSBwLmFjdGlvbi5jdXJyZW50KCkKX3AoMiwnPFByb2R1Y3RWZXJzaW9uPiVzPC9Qcm9kdWN0VmVyc2lvbj4nLCBhY3Rpb24udnN0dWRpby5wcm9kdWN0VmVyc2lvbikKZW5kCmZ1bmN0aW9uIG0uY3Byb2ouc2NoZW1hVmVyc2lvbihwcmopCmxvY2FsIGFjdGlvbiA9IHAuYWN0aW9uLmN1cnJlbnQoKQpfcCgyLCc8U2NoZW1hVmVyc2lvbj4lczwvU2NoZW1hVmVyc2lvbj4nLCBhY3Rpb24udnN0dWRpby5jc3Byb2pTY2hlbWFWZXJzaW9uKQplbmQKZnVuY3Rpb24gbS5jcHJvai5wcm9qZWN0R3VpZChwcmopCl9wKDIsJzxQcm9qZWN0R3VpZD57JXN9PC9Qcm9qZWN0R3VpZD4nLCBwcmoudXVpZCkKZW5kCmZ1bmN0aW9uIG0uY3Byb2ouY29tcGlsZXIocHJqKQpfcCgyLCc8Q29tcGlsZXI+JykKX3AoMywnPENvbXBpbGVyIGN0eXBlPSIlcyIgLz4nLCBpaWYocHJqLmxhbmd1YWdlID09ICdDJywgJ0djY0NvbXBpbGVyJywgJ0dwcENvbXBpbGVyJykpCl9wKDIsJzwvQ29tcGlsZXI+JykKZW5kCmZ1bmN0aW9uIG0uY3Byb2oubGFuZ3VhZ2UocHJqKQpfcCgyLCc8TGFuZ3VhZ2U+JXM8L0xhbmd1YWdlPicsIGlpZihwcmoubGFuZ3VhZ2UgPT0gJ0MnLCAnQycsICdDUFAnKSkKZW5kCmZ1bmN0aW9uIG0uY3Byb2oudGFyZ2V0KHByaikKX3AoMiwnPFRhcmdldD4lczwvVGFyZ2V0PicsICdCaW4nKQplbmQKZnVuY3Rpb24gbS5jcHJvai52ZXJzaW9uKHByaikKZW5kCmZ1bmN0aW9uIG0uY3Byb2ouc3luY2hTbG5WZXJzaW9uKHByaikKZW5kCmZ1bmN0aW9uIG0uY3Byb2ouZGVzY3JpcHRpb24ocHJqKQplbmQKZnVuY3Rpb24gbS5jcHJvai5kZWJ1Z2luZm8oY2ZnKQppZiBjZmcuZmxhZ3MuU3ltYm9scyB0aGVuCl9wKDIsJzxEZWJ1Z1N5bWJvbHM+JXM8L0RlYnVnU3ltYm9scz4nLCBpaWYoY2ZnLmZsYWdzLlN5bWJvbHMsICd0cnVlJywgJ2ZhbHNlJykpCmVuZAplbmQKZnVuY3Rpb24gbS5jcHJvai5vdXRwdXRQYXRoKGNmZykKbG9jYWwgb3V0ZGlyID0gcHJvamVjdC5nZXRyZWxhdGl2ZShjZmcucHJvamVjdCwgY2ZnLmJ1aWxkdGFyZ2V0LmRpcmVjdG9yeSkKX3goMiwnPE91dHB1dFBhdGg+JXM8L091dHB1dFBhdGg+JywgcGF0aC50cmFuc2xhdGUob3V0ZGlyKSkKZW5kCmZ1bmN0aW9uIG0uY3Byb2oub3V0cHV0TmFtZShjZmcpCl94KDIsJzxPdXRwdXROYW1lPiVzPC9PdXRwdXROYW1lPicsIGNmZy5idWlsZHRhcmdldC5uYW1lKQplbmQKZnVuY3Rpb24gbS5jcHJvai5jb25maWdfdHlwZShjZmcpCmxvY2FsIG1hcCA9IHsKU2hhcmVkTGliID0gIlNoYXJlZExpYnJhcnkiLApTdGF0aWNMaWIgPSAiU3RhdGljTGlicmFyeSIsCkNvbnNvbGVBcHAgPSAiQmluIiwKV2luZG93ZWRBcHAgPSAiQmluIgp9Cl9wKDIsJzxDb21waWxlVGFyZ2V0PiVzPC9Db21waWxlVGFyZ2V0PicsIG1hcFtjZmcua2luZF0pCmVuZApmdW5jdGlvbiBtLmNwcm9qLnByZXByb2Nlc3NvckRlZmluaXRpb25zKGNmZykKbG9jYWwgZGVmaW5lcyA9IGNmZy5kZWZpbmVzCmlmICNkZWZpbmVzID4gMCB0aGVuCmRlZmluZXMgPSB0YWJsZS5jb25jYXQoZGVmaW5lcywgJyAnKQpfeCgyLCc8RGVmaW5lU3ltYm9scz4lczwvRGVmaW5lU3ltYm9scz4nLCBkZWZpbmVzKQplbmQKZW5kCmZ1bmN0aW9uIG0uY3Byb2ouc291cmNlRGlyZWN0b3J5KGNmZykKX3goMiwnPFNvdXJjZURpcmVjdG9yeT4lczwvU291cmNlRGlyZWN0b3J5PicsICcuJykKZW5kCmZ1bmN0aW9uIG0uY3Byb2oud2FybmluZ3MoY2ZnKQpsb2NhbCBtYXAgPSB7IE9mZiA9ICJOb25lIiwgRXh0cmEgPSAiQWxsIiB9CmlmIGNmZy53YXJuaW5ncyB+PSBuaWwgYW5kIG1hcFtjZmcud2FybmluZ3NdIH49IG5pbCB0aGVuCl9wKDIsJzxXYXJuaW5nTGV2ZWw+JXM8L1dhcm5pbmdMZXZlbD4nLCBtYXBbY2ZnLndhcm5pbmdzXSkKZW5kCmlmIGNmZy53YXJuaW5ncyB+PSAiT2ZmIiBhbmQgY2ZnLmZsYWdzLkZhdGFsQ29tcGlsZVdhcm5pbmdzIHRoZW4KX3AoMiwnPFdhcm5pbmdzQXNFcnJvcnM+JXM8L1dhcm5pbmdzQXNFcnJvcnM+JywgaWlmKGNmZy5mbGFncy5GYXRhbENvbXBpbGVXYXJuaW5ncywgJ3RydWUnLCAnZmFsc2UnKSkKZW5kCmVuZApmdW5jdGlvbiBtLmNwcm9qLm9wdGltaXphdGlvbihjZmcpCmxvY2FsIG1hcCA9IHsgT2ZmID0gIjAiLCBPbiA9ICIyIiwgRGVidWcgPSAiMCIsIFNpemUgPSAiMiIsIFNwZWVkID0gIjMiLCBGdWxsID0gIjMiIH0KaWYgY2ZnLm9wdGltaXplIH49IG5pbCBhbmQgbWFwW2NmZy5vcHRpbWl6ZV0gdGhlbgpfcCgyLCc8T3B0aW1pemF0aW9uTGV2ZWw+JXM8L09wdGltaXphdGlvbkxldmVsPicsIG1hcFtjZmcub3B0aW1pemVdKQplbmQKZW5kCmZ1bmN0aW9uIG0uY3Byb2ouZXh0ZXJuYWxjb25zb2xlKGNmZykKX3goMiwnPEV4dGVybmFsY29uc29sZT4lczwvRXh0ZXJuYWxjb25zb2xlPicsICd0cnVlJykKZW5kCmZ1bmN0aW9uIG0uY3Byb2ouYWRkaXRpb25hbE9wdGlvbnMoY2ZnKQpsb2NhbCBvcHRzID0geyB9CmlmIGNmZy5wcm9qZWN0Lmxhbmd1YWdlID09ICdDKysnIHRoZW4KaWYgY2ZnLmV4Y2VwdGlvbmhhbmRsaW5nID09IHAuT0ZGIHRoZW4KdGFibGUuaW5zZXJ0KG9wdHMsICItZm5vLWV4Y2VwdGlvbnMiKQplbmQKaWYgY2ZnLnJ0dGkgPT0gcC5PRkYgdGhlbgp0YWJsZS5pbnNlcnQob3B0cywgIi1mbm8tcnR0aSIpCmVuZAplbmQKaWYgY2ZnLnZlY3RvcmV4dGVuc2lvbnMgPT0gIlNTRTIiIHRoZW4KdGFibGUuaW5zZXJ0KG9wdHMsICItbXNzZTIiKQplbHNlaWYgY2ZnLnZlY3RvcmV4dGVuc2lvbnMgPT0gIlNTRSIgdGhlbgp0YWJsZS5pbnNlcnQob3B0cywgIi1tc3NlIikKZW5kCmxvY2FsIG9wdGlvbnMKaWYgI29wdHMgPiAwIHRoZW4Kb3B0aW9ucyA9IHRhYmxlLmNvbmNhdChvcHRzLCAiICIpCmVuZAppZiAjY2ZnLmJ1aWxkb3B0aW9ucyA+IDAgdGhlbgpsb2NhbCBidWlsZE9wdHMgPSB0YWJsZS5jb25jYXQoY2ZnLmJ1aWxkb3B0aW9ucywgIiAiKQppZiBvcHRpb25zIHRoZW4Kb3B0aW9ucyA9IG9wdGlvbnMgLi4gIiAiIC4uIGJ1aWxkT3B0cwplbHNlCm9wdGlvbnMgPSBidWlsZE9wdHMKZW5kCmVuZAppZiBvcHRpb25zIHRoZW4KX3goMiwnPEV4dHJhQ29tcGlsZXJBcmd1bWVudHM+JXM8L0V4dHJhQ29tcGlsZXJBcmd1bWVudHM+Jywgb3B0aW9ucykKZW5kCmVuZApmdW5jdGlvbiBtLmNwcm9qLmFkZGl0aW9uYWxMaW5rT3B0aW9ucyhjZmcpCmlmICNjZmcubGlua29wdGlvbnMgPiAwIHRoZW4KbG9jYWwgb3B0cyA9IHRhYmxlLmNvbmNhdChjZmcubGlua29wdGlvbnMsICIgIikKX3goMiwgJzxFeHRyYUxpbmtlckFyZ3VtZW50cz4lczwvRXh0cmFMaW5rZXJBcmd1bWVudHM+Jywgb3B0cykKZW5kCmVuZApmdW5jdGlvbiBtLmNwcm9qLmFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMoY2ZnKQppZiAjY2ZnLmluY2x1ZGVkaXJzID4gMCB0aGVuCl94KDIsJzxJbmNsdWRlcz4nKQpfeCgzLCc8SW5jbHVkZXM+JykKZm9yIF8sIGkgaW4gaXBhaXJzKHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGNmZy5pbmNsdWRlZGlycykpIGRvCl94KDQsJzxJbmNsdWRlPiVzPC9JbmNsdWRlPicsIHBhdGgudHJhbnNsYXRlKGkpKQplbmQKX3goMywnPC9JbmNsdWRlcz4nKQpfeCgyLCc8L0luY2x1ZGVzPicpCmVuZAplbmQKZnVuY3Rpb24gbS5jcHJvai5hZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzKGNmZykKaWYgI2NmZy5saWJkaXJzID4gMCB0aGVuCl94KDIsJzxMaWJQYXRocz4nKQpfeCgzLCc8TGliUGF0aHM+JykKZm9yIF8sIGwgaW4gaXBhaXJzKHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGNmZy5saWJkaXJzKSkgZG8KX3goNCwnPExpYlBhdGg+JXM8L0xpYlBhdGg+JywgcGF0aC50cmFuc2xhdGUobCkpCmVuZApfeCgzLCc8L0xpYlBhdGhzPicpCl94KDIsJzwvTGliUGF0aHM+JykKZW5kCmVuZApmdW5jdGlvbiBtLmNwcm9qLmFkZGl0aW9uYWxEZXBlbmRlbmNpZXMoY2ZnKQpsb2NhbCBsaW5rcwpsb2NhbCB0b29sc2V0ID0gY29uZmlnLnRvb2xzZXQoY2ZnKQppZiB0b29sc2V0IHRoZW4KbGlua3MgPSB0b29sc2V0LmdldGxpbmtzKGNmZywgZmFsc2UpCmVsc2UKbGlua3MgPSBjb25maWcuZ2V0bGlua3MoY2ZnLCAiYWxsIiwgImZ1bGxwYXRoIikKZW5kCmlmICNsaW5rcyA+IDAgdGhlbgpfeCgyLCc8TGlicz4nKQpfeCgzLCc8TGlicz4nKQpmb3IgXywgbGliIGluIGlwYWlycyhsaW5rcykgZG8KX3goNCwnPExpYj4lczwvTGliPicsIHBhdGgudHJhbnNsYXRlKGxpYikpCmVuZApfeCgzLCc8L0xpYnM+JykKX3goMiwnPC9MaWJzPicpCmVuZAplbmQKZnVuY3Rpb24gbS5jcHJvai5idWlsZEV2ZW50cyhjZmcpCmlmICNjZmcucHJlYnVpbGRjb21tYW5kcyA+IDAgb3IgI2NmZy5wb3N0YnVpbGRjb21tYW5kcyA+IDAgdGhlbgpfeCgyLCc8Q3VzdG9tQ29tbWFuZHM+JykKX3goMywnPEN1c3RvbUNvbW1hbmRzPicpCmZvciBfLCBjIGluIGlwYWlycyhjZmcucHJlYnVpbGRjb21tYW5kcykgZG8KX3goNCwnPENvbW1hbmQgdHlwZT0iQmVmb3JlQnVpbGQiIGNvbW1hbmQ9IiVzIiAvPicsIGMpCmVuZApmb3IgXywgYyBpbiBpcGFpcnMoY2ZnLnBvc3RidWlsZGNvbW1hbmRzKSBkbwpfeCg0LCc8Q29tbWFuZCB0eXBlPSJBZnRlckJ1aWxkIiBjb21tYW5kPSIlcyIgLz4nLCBjKQplbmQKX3goMywnPC9DdXN0b21Db21tYW5kcz4nKQpfeCgyLCc8L0N1c3RvbUNvbW1hbmRzPicpCmVuZAplbmQKAAAAAABsb2NhbCBwID0gcHJlbWFrZQpwLmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAieGNvZGVidWlsZHNldHRpbmdzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJrZXktYXJyYXkiLAp9CnAuYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJ4Y29kZWJ1aWxkcmVzb3VyY2VzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0IiwKfQpuZXdhY3Rpb24gewp0cmlnZ2VyICAgICA9ICJ4Y29kZTQiLApzaG9ydG5hbWUgICA9ICJBcHBsZSBYY29kZSA0IiwKZGVzY3JpcHRpb24gPSAiR2VuZXJhdGUgQXBwbGUgWGNvZGUgNCBwcm9qZWN0IGZpbGVzIiwKb3MgPSAibWFjb3N4IiwKdmFsaWRfa2luZHMgICAgID0geyAiQ29uc29sZUFwcCIsICJXaW5kb3dlZEFwcCIsICJTaGFyZWRMaWIiLCAiU3RhdGljTGliIiwgIk1ha2VmaWxlIiwgIk5vbmUiIH0sCnZhbGlkX2xhbmd1YWdlcyA9IHsgIkMiLCAiQysrIiB9LAp2YWxpZF90b29scyAgICAgPSB7CmNjID0geyAiZ2NjIiwgImNsYW5nIiB9LAp9LApvbldvcmtzcGFjZSA9IGZ1bmN0aW9uKHdrcykKcC5nZW5lcmF0ZSh3a3MsICIueGN3b3Jrc3BhY2UvY29udGVudHMueGN3b3Jrc3BhY2VkYXRhIiwgcC5tb2R1bGVzLnhjb2RlLmdlbmVyYXRlV29ya3NwYWNlKQplbmQsCm9uUHJvamVjdCA9IGZ1bmN0aW9uKHByaikKcC5nZW5lcmF0ZShwcmosICIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiIsIHAubW9kdWxlcy54Y29kZS5nZW5lcmF0ZVByb2plY3QpCmVuZCwKfQpyZXR1cm4gZnVuY3Rpb24oY2ZnKQpyZXR1cm4gKF9BQ1RJT04gPT0gInhjb2RlNCIpCmVuZApsb2NhbCBwID0gcHJlbWFrZQpwLm1vZHVsZXMueGNvZGUgPSB7fQpsb2NhbCBtID0gcC5tb2R1bGVzLnhjb2RlCm0uX1ZFUlNJT04gPSBwLl9WRVJTSU9OCm0uZWxlbWVudHMgPSB7fQppbmNsdWRlKCJ4Y29kZV9jb21tb24ubHVhIikKaW5jbHVkZSgieGNvZGU0X3dvcmtzcGFjZS5sdWEiKQppbmNsdWRlKCJ4Y29kZV9wcm9qZWN0Lmx1YSIpCnJldHVybiBtCgAAAAAAbG9jYWwgcCA9IHByZW1ha2UKbG9jYWwgbSA9IHAubW9kdWxlcy54Y29kZQptLmVsZW1lbnRzLndvcmtzcGFjZSA9IGZ1bmN0aW9uKHdrcykKcmV0dXJuIHsKbS54bWxEZWNsYXJhdGlvbiwKbS53b3Jrc3BhY2UsCm0ud29ya3NwYWNlRmlsZVJlZnMsCm0ud29ya3NwYWNlVGFpbCwKfQplbmQKZnVuY3Rpb24gbS5nZW5lcmF0ZVdvcmtzcGFjZSh3a3MpCm0ucHJlcGFyZVdvcmtzcGFjZSh3a3MpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMud29ya3NwYWNlLCB3a3MpCmVuZApmdW5jdGlvbiBtLndvcmtzcGFjZSgpCnAucHVzaCgnPFdvcmtzcGFjZScpCnAudygndmVyc2lvbiA9ICIxLjAiPicpCmVuZApmdW5jdGlvbiBtLndvcmtzcGFjZVRhaWwoKQpwcmVtYWtlLm91dCgnPC9Xb3Jrc3BhY2U+JykKZW5kCm0uZWxlbWVudHMud29ya3NwYWNlRmlsZVJlZiA9IGZ1bmN0aW9uKHByaikKcmV0dXJuIHsKbS53b3Jrc3BhY2VMb2NhdGlvbiwKfQplbmQKZnVuY3Rpb24gbS53b3Jrc3BhY2VGaWxlUmVmcyh3a3MpCmZvciBwcmogaW4gcC53b3Jrc3BhY2UuZWFjaHByb2plY3Qod2tzKSBkbwpwLnB1c2goJzxGaWxlUmVmJykKbG9jYWwgY29udGVudHMgPSBwLmNhcHR1cmUoZnVuY3Rpb24oKQpwLmNhbGxBcnJheShtLmVsZW1lbnRzLndvcmtzcGFjZUZpbGVSZWYsIHByaikKZW5kKQpwLm91dGxuKGNvbnRlbnRzIC4uICI+IikKcC5wb3AoJzwvRmlsZVJlZj4nKQplbmQKZW5kCmZ1bmN0aW9uIG0ud29ya3NwYWNlTG9jYXRpb24ocHJqKQpsb2NhbCBmbmFtZSA9IHAuZmlsZW5hbWUocHJqLCAiLnhjb2RlcHJvaiIpCmZuYW1lID0gcGF0aC5nZXRyZWxhdGl2ZShwcmoud29ya3NwYWNlLmxvY2F0aW9uLCBmbmFtZSkKcC53KCdsb2NhdGlvbiA9ICJncm91cDolcyInLCBmbmFtZSkKZW5kCmZ1bmN0aW9uIG0ueG1sRGVjbGFyYXRpb24oKQpwLnhtbFV0ZjgodHJ1ZSkKZW5kCgAAAAAAAABsb2NhbCBwID0gcHJlbWFrZQpsb2NhbCB4Y29kZSA9IHAubW9kdWxlcy54Y29kZQpsb2NhbCB0cmVlICA9IHAudHJlZQogICAgbG9jYWwgd29ya3NwYWNlID0gcC53b3Jrc3BhY2UKbG9jYWwgcHJvamVjdCA9IHAucHJvamVjdAogICAgbG9jYWwgY29uZmlnID0gcC5jb25maWcKbG9jYWwgZmlsZWNvbmZpZyA9IHAuZmlsZWNvbmZpZwpmdW5jdGlvbiB4Y29kZS5nZXRidWlsZGNhdGVnb3J5KG5vZGUpCmxvY2FsIGNhdGVnb3JpZXMgPSB7ClsiLmEiXSA9ICJGcmFtZXdvcmtzIiwKWyIuYyJdID0gIlNvdXJjZXMiLApbIi5jYyJdID0gIlNvdXJjZXMiLApbIi5jcHAiXSA9ICJTb3VyY2VzIiwKWyIuY3h4Il0gPSAiU291cmNlcyIsClsiLmR5bGliIl0gPSAiRnJhbWV3b3JrcyIsClsiLmZyYW1ld29yayJdID0gIkZyYW1ld29ya3MiLApbIi5tIl0gPSAiU291cmNlcyIsClsiLm1tIl0gPSAiU291cmNlcyIsClsiLnN0cmluZ3MiXSA9ICJSZXNvdXJjZXMiLApbIi5uaWIiXSA9ICJSZXNvdXJjZXMiLApbIi54aWIiXSA9ICJSZXNvdXJjZXMiLApbIi5zdG9yeWJvYXJkIl0gPSAiUmVzb3VyY2VzIiwKWyIuaWNucyJdID0gIlJlc291cmNlcyIsClsiLnMiXSA9ICJTb3VyY2VzIiwKWyIuUyJdID0gIlNvdXJjZXMiLAp9CmlmIG5vZGUuaXNSZXNvdXJjZSB0aGVuCnJldHVybiAiUmVzb3VyY2VzIgplbmQKcmV0dXJuIGNhdGVnb3JpZXNbcGF0aC5nZXRleHRlbnNpb24obm9kZS5uYW1lKV0KZW5kCmZ1bmN0aW9uIHhjb2RlLmlzSXRlbVJlc291cmNlKHByb2plY3QsIG5vZGUpCmxvY2FsIHJlczsKaWYgcHJvamVjdCBhbmQgcHJvamVjdC54Y29kZWJ1aWxkcmVzb3VyY2VzIHRoZW4KaWYgdHlwZShwcm9qZWN0Lnhjb2RlYnVpbGRyZXNvdXJjZXMpID09ICJ0YWJsZSIgdGhlbgpyZXMgPSBwcm9qZWN0Lnhjb2RlYnVpbGRyZXNvdXJjZXMKZW5kCmVuZApsb2NhbCBmdW5jdGlvbiBjaGVja0l0ZW1Jbkxpc3QoaXRlbSwgbGlzdCkKaWYgaXRlbSB0aGVuCmlmIGxpc3QgdGhlbgppZiB0eXBlKGxpc3QpID09ICJ0YWJsZSIgdGhlbgpmb3IgXyx2IGluIHBhaXJzKGxpc3QpIGRvCmlmIHN0cmluZy5maW5kKGl0ZW0sIHYpIHRoZW4KcmV0dXJuIHRydWUKZW5kCmVuZAplbmQKZW5kCmVuZApyZXR1cm4gZmFsc2UKZW5kCmlmIChjaGVja0l0ZW1Jbkxpc3Qobm9kZS5wYXRoLCByZXMpKSB0aGVuCnJldHVybiB0cnVlCmVuZApyZXR1cm4gZmFsc2UKZW5kCmZ1bmN0aW9uIHhjb2RlLmdldGZpbGV0eXBlKG5vZGUsIGNmZykKaWYgbm9kZS5jb25maWdzIHRoZW4KbG9jYWwgZmlsZWNmZyA9IGZpbGVjb25maWcuZ2V0Y29uZmlnKG5vZGUsIGNmZykKaWYgZmlsZWNmZyB0aGVuCmlmIGZpbGVjZmcubGFuZ3VhZ2UgPT0gIk9iakMiIHRoZW4KcmV0dXJuICJzb3VyY2Vjb2RlLmMub2JqYyIKZWxzZWlmIGZpbGVjZmcubGFuZ3VhZ2UgPT0gIk9iakNwcCIgdGhlbgpyZXR1cm4gInNvdXJjZWNvZGUuY3BwLm9iamNwcCIKZW5kCmVuZAplbmQKbG9jYWwgdHlwZXMgPSB7ClsiLmMiXSAgICAgICAgID0gInNvdXJjZWNvZGUuYy5jIiwKWyIuY2MiXSAgICAgICAgPSAic291cmNlY29kZS5jcHAuY3BwIiwKWyIuY3BwIl0gICAgICAgPSAic291cmNlY29kZS5jcHAuY3BwIiwKWyIuY3NzIl0gICAgICAgPSAidGV4dC5jc3MiLApbIi5jeHgiXSAgICAgICA9ICJzb3VyY2Vjb2RlLmNwcC5jcHAiLApbIi5TIl0gICAgICAgICA9ICJzb3VyY2Vjb2RlLmFzbS5hc20iLApbIi5mcmFtZXdvcmsiXSA9ICJ3cmFwcGVyLmZyYW1ld29yayIsClsiLmdpZiJdICAgICAgID0gImltYWdlLmdpZiIsClsiLmgiXSAgICAgICAgID0gInNvdXJjZWNvZGUuYy5oIiwKWyIuaHRtbCJdICAgICAgPSAidGV4dC5odG1sIiwKWyIubHVhIl0gICAgICAgPSAic291cmNlY29kZS5sdWEiLApbIi5tIl0gICAgICAgICA9ICJzb3VyY2Vjb2RlLmMub2JqYyIsClsiLm1tIl0gICAgICAgID0gInNvdXJjZWNvZGUuY3BwLm9iamMiLApbIi5uaWIiXSAgICAgICA9ICJ3cmFwcGVyLm5pYiIsClsiLnN0b3J5Ym9hcmQiXSA9ICJmaWxlLnN0b3J5Ym9hcmQiLApbIi5wY2giXSAgICAgICA9ICJzb3VyY2Vjb2RlLmMuaCIsClsiLnBsaXN0Il0gICAgID0gInRleHQucGxpc3QueG1sIiwKWyIuc3RyaW5ncyJdICAgPSAidGV4dC5wbGlzdC5zdHJpbmdzIiwKWyIueGliIl0gICAgICAgPSAiZmlsZS54aWIiLApbIi5pY25zIl0gICAgICA9ICJpbWFnZS5pY25zIiwKWyIucyJdICAgICAgICAgPSAic291cmNlY29kZS5hc20iLApbIi5ibXAiXSAgICAgICA9ICJpbWFnZS5ibXAiLApbIi53YXYiXSAgICAgICA9ICJhdWRpby53YXYiLApbIi54Y2Fzc2V0cyJdICA9ICJmb2xkZXIuYXNzZXRjYXRhbG9nIiwKfQpyZXR1cm4gdHlwZXNbcGF0aC5nZXRleHRlbnNpb24obm9kZS5wYXRoKV0gb3IgInRleHQiCmVuZApsb2NhbCBmdW5jdGlvbiB4Y29kZVByaW50VXNlckNvbmZpZ1JlZmVyZW5jZXMob2Zmc2V0LCBjZmcsIHRyLCBraW5kKQpsb2NhbCByZWZlcmVuY2VOYW1lCmlmIGtpbmQgPT0gInByb2plY3QiIHRoZW4KcmVmZXJlbmNlTmFtZSA9IGNmZy54Y29kZWNvbmZpZ3JlZmVyZW5jZXByb2plY3QKZWxzZWlmIGtpbmQgPT0gInRhcmdldCIgdGhlbgpyZWZlcmVuY2VOYW1lID0gY2ZnLnhjb2RlY29uZmlncmVmZXJlbmNldGFyZ2V0CmVuZAp0cmVlLnRyYXZlcnNlKHRyLCB7Cm9ubGVhZiA9IGZ1bmN0aW9uKG5vZGUpCmZpbGVuYW1lID0gbm9kZS5uYW1lCmlmIG5vZGUuaWQgYW5kIHBhdGguZ2V0ZXh0ZW5zaW9uKGZpbGVuYW1lKSA9PSAiLnhjY29uZmlnIiB0aGVuCmlmIGZpbGVuYW1lID09IHJlZmVyZW5jZU5hbWUgdGhlbgpfcChvZmZzZXQsICdiYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9ICVzIC8qICVzICovOycsIG5vZGUuaWQsIGZpbGVuYW1lKQpyZXR1cm4KZW5kCmVuZAplbmQKfSwgZmFsc2UpCmVuZApsb2NhbCBlc2NhcGVTcGVjaWFsQ2hhcnMgPSB7ClsnXG4nXSA9ICdcXG4nLApbJ1xyJ10gPSAnXFxyJywKWydcdCddID0gJ1xcdCcsCn0KbG9jYWwgZnVuY3Rpb24gZXNjYXBlQ2hhcihjKQpyZXR1cm4gZXNjYXBlU3BlY2lhbENoYXJzW2NdIG9yICdcXCcuLmMKZW5kCmxvY2FsIGZ1bmN0aW9uIGVzY2FwZUFyZyh2YWx1ZSkKdmFsdWUgPSB2YWx1ZTpnc3ViKCdbXCciXFxcblxyXHQgXScsIGVzY2FwZUNoYXIpCnJldHVybiB2YWx1ZQplbmQKbG9jYWwgZnVuY3Rpb24gZXNjYXBlU2V0dGluZyh2YWx1ZSkKdmFsdWUgPSB2YWx1ZTpnc3ViKCdbIlxcXG5cclx0XScsIGVzY2FwZUNoYXIpCnJldHVybiB2YWx1ZQplbmQKbG9jYWwgZnVuY3Rpb24gc3RyaW5naWZ5U2V0dGluZyh2YWx1ZSkKdmFsdWUgPSB2YWx1ZS4uJycKaWYgbm90IHZhbHVlOm1hdGNoKCdeWyVhJWRfLi9dKyQnKSB0aGVuCnZhbHVlID0gJyInLi5lc2NhcGVTZXR0aW5nKHZhbHVlKS4uJyInCmVuZApyZXR1cm4gdmFsdWUKZW5kCmxvY2FsIGZ1bmN0aW9uIGN1c3RvbVN0cmluZ2lmeVNldHRpbmcodmFsdWUpCnZhbHVlID0gdmFsdWUuLicnCmxvY2FsIHRlc3QgPSB2YWx1ZTptYXRjaCgnXlslYSVkXy4vJStdKyQnKQppZiB0ZXN0IHRoZW4KdmFsdWUgPSAnIicuLmVzY2FwZVNldHRpbmcodmFsdWUpLi4nIicKZW5kCnJldHVybiB2YWx1ZQplbmQKbG9jYWwgZnVuY3Rpb24gcHJpbnRTZXR0aW5nKGxldmVsLCBuYW1lLCB2YWx1ZSkKaWYgdHlwZSh2YWx1ZSkgPT0gJ2Z1bmN0aW9uJyB0aGVuCnZhbHVlKGxldmVsLCBuYW1lKQplbHNlaWYgdHlwZSh2YWx1ZSkgfj0gJ3RhYmxlJyB0aGVuCl9wKGxldmVsLCAnJXMgPSAlczsnLCBzdHJpbmdpZnlTZXR0aW5nKG5hbWUpLCBzdHJpbmdpZnlTZXR0aW5nKHZhbHVlKSkKZWxzZWlmICN2YWx1ZSA+PSAxIHRoZW4KX3AobGV2ZWwsICclcyA9ICgnLCBzdHJpbmdpZnlTZXR0aW5nKG5hbWUpKQpmb3IgXywgaXRlbSBpbiBpcGFpcnModmFsdWUpIGRvCl9wKGxldmVsICsgMSwgJyVzLCcsIHN0cmluZ2lmeVNldHRpbmcoaXRlbSkpCmVuZApfcChsZXZlbCwgJyk7JykKZW5kCmVuZApsb2NhbCBmdW5jdGlvbiBwcmludFNldHRpbmdzVGFibGUobGV2ZWwsIHNldHRpbmdzKQpsb2NhbCBrZXlzID0gdGFibGUua2V5cyhzZXR0aW5ncykKdGFibGUuc29ydChrZXlzKQpmb3IgXywgayBpbiBpcGFpcnMoa2V5cykgZG8KcHJpbnRTZXR0aW5nKGxldmVsLCBrLCBzZXR0aW5nc1trXSkKZW5kCmVuZApsb2NhbCBmdW5jdGlvbiBvdmVycmlkZVNldHRpbmdzKHNldHRpbmdzLCBvdmVycmlkZXMpCmlmIHR5cGUob3ZlcnJpZGVzKSA9PSAndGFibGUnIHRoZW4KZm9yIG5hbWUsIHZhbHVlIGluIHBhaXJzKG92ZXJyaWRlcykgZG8Kc2V0dGluZ3NbbmFtZV0gPSBpaWYodmFsdWUgfj0gZmFsc2UsIHZhbHVlLCBuaWwpCmVuZAplbmQKZW5kCmZ1bmN0aW9uIHhjb2RlLmdldHByb2R1Y3R0eXBlKG5vZGUpCmxvY2FsIHR5cGVzID0gewpDb25zb2xlQXBwICA9ICJjb20uYXBwbGUucHJvZHVjdC10eXBlLnRvb2wiLApXaW5kb3dlZEFwcCA9ICJjb20uYXBwbGUucHJvZHVjdC10eXBlLmFwcGxpY2F0aW9uIiwKU3RhdGljTGliICAgPSAiY29tLmFwcGxlLnByb2R1Y3QtdHlwZS5saWJyYXJ5LnN0YXRpYyIsClNoYXJlZExpYiAgID0gImNvbS5hcHBsZS5wcm9kdWN0LXR5cGUubGlicmFyeS5keW5hbWljIiwKfQpyZXR1cm4gdHlwZXNbbm9kZS5jZmcua2luZF0KZW5kCmZ1bmN0aW9uIHhjb2RlLmdldHRhcmdldHR5cGUobm9kZSkKbG9jYWwgdHlwZXMgPSB7CkNvbnNvbGVBcHAgID0gIlwiY29tcGlsZWQubWFjaC1vLmV4ZWN1dGFibGVcIiIsCldpbmRvd2VkQXBwID0gIndyYXBwZXIuYXBwbGljYXRpb24iLApTdGF0aWNMaWIgICA9ICJhcmNoaXZlLmFyIiwKU2hhcmVkTGliICAgPSAiXCJjb21waWxlZC5tYWNoLW8uZHlsaWJcIiIsCn0KcmV0dXJuIHR5cGVzW25vZGUuY2ZnLmtpbmRdCmVuZApmdW5jdGlvbiB4Y29kZS5nZXR4Y29kZXByb2puYW1lKHByaikKbG9jYWwgZm5hbWUgPSBwcmVtYWtlLmZpbGVuYW1lKHByaiwgIi54Y29kZXByb2oiKQpyZXR1cm4gZm5hbWUKZW5kCmZ1bmN0aW9uIHhjb2RlLmlzZnJhbWV3b3JrKGZuYW1lKQpyZXR1cm4gKHBhdGguZ2V0ZXh0ZW5zaW9uKGZuYW1lKSA9PSAiLmZyYW1ld29yayIpCmVuZApmdW5jdGlvbiB4Y29kZS5uZXdpZCguLi4pCmxvY2FsIG5hbWUgPSAnJwpsb2NhbCBhcmcgPSB7Li4ufQpmb3IgaSwgdiBpbiBwYWlycyhhcmcpIGRvCm5hbWUgPSBuYW1lLi52Li4nKioqKicKZW5kCnJldHVybiAoIiUwOFglMDhYJTA4WCIpOmZvcm1hdChuYW1lOmhhc2goMTY3Nzc2MTkpLCBuYW1lOmhhc2goMjE2NjEzNjI2MSksIG5hbWU6aGFzaCg0NjU3NzYxOSkpCmVuZApmdW5jdGlvbiB4Y29kZS5wcmVwYXJlV29ya3NwYWNlKHdrcykKd2tzLnhjb2RlID0geyB9CmZvciBwcmogaW4gcHJlbWFrZS53b3Jrc3BhY2UuZWFjaHByb2plY3Qod2tzKSBkbwpsb2NhbCBjZmcgPSBwcm9qZWN0LmdldGNvbmZpZyhwcmosIHByai5jb25maWd1cmF0aW9uc1sxXSwgcHJqLnBsYXRmb3Jtc1sxXSkKbG9jYWwgYnVuZGxlcGF0aCA9IGNmZy5idWlsZHRhcmdldC5idW5kbGVuYW1lIH49ICIiIGFuZCBjZmcuYnVpbGR0YXJnZXQuYnVuZGxlbmFtZSBvciBjZmcuYnVpbGR0YXJnZXQubmFtZTsKaWYgKHByai5leHRlcm5hbCkgdGhlbgpidW5kbGVwYXRoID0gY2ZnLnByb2plY3QubmFtZQplbmQKbG9jYWwgbm9kZSA9IHByZW1ha2UudHJlZS5uZXcocGF0aC5nZXRuYW1lKGJ1bmRsZXBhdGgpKQpub2RlLmNmZyA9IGNmZwpub2RlLmlkID0geGNvZGUubmV3aWQobm9kZS5uYW1lLCAicHJvZHVjdCIpCm5vZGUudGFyZ2V0aWQgPSB4Y29kZS5uZXdpZChub2RlLm5hbWUsICJ0YXJnZXQiKQpwcmoueGNvZGUgPSB7fQpwcmoueGNvZGUucHJvamVjdG5vZGUgPSBub2RlCmVuZAplbmQKZnVuY3Rpb24geGNvZGUuUEJYQnVpbGRGaWxlKHRyKQpsb2NhbCBzZXR0aW5ncyA9IHt9Owp0cmVlLnRyYXZlcnNlKHRyLCB7Cm9ubm9kZSA9IGZ1bmN0aW9uKG5vZGUpCmlmIG5vZGUuYnVpbGRpZCB0aGVuCnNldHRpbmdzW25vZGUuYnVpbGRpZF0gPSBmdW5jdGlvbihsZXZlbCkKX3AobGV2ZWwsJyVzIC8qICVzIGluICVzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9ICVzIC8qICVzICovOyB9OycsCm5vZGUuYnVpbGRpZCwgbm9kZS5uYW1lLCB4Y29kZS5nZXRidWlsZGNhdGVnb3J5KG5vZGUpLCBub2RlLmlkLCBub2RlLm5hbWUpCmVuZAplbmQKZW5kCn0pCmlmIG5vdCB0YWJsZS5pc2VtcHR5KHNldHRpbmdzKSB0aGVuCl9wKCcvKiBCZWdpbiBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLycpCnByaW50U2V0dGluZ3NUYWJsZSgyLCBzZXR0aW5ncyk7Cl9wKCcvKiBFbmQgUEJYQnVpbGRGaWxlIHNlY3Rpb24gKi8nKQpfcCgnJykKZW5kCmVuZApmdW5jdGlvbiB4Y29kZS5QQlhDb250YWluZXJJdGVtUHJveHkodHIpCmxvY2FsIHNldHRpbmdzID0ge30KZm9yIF8sIG5vZGUgaW4gaXBhaXJzKHRyLnByb2plY3RzLmNoaWxkcmVuKSBkbwpzZXR0aW5nc1tub2RlLnByb2R1Y3Rwcm94eWlkXSA9IGZ1bmN0aW9uKCkKX3AoMiwnJXMgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovID0geycsIG5vZGUucHJvZHVjdHByb3h5aWQpCl9wKDMsJ2lzYSA9IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsnKQpfcCgzLCdjb250YWluZXJQb3J0YWwgPSAlcyAvKiAlcyAqLzsnLCBub2RlLmlkLCBwYXRoLmdldHJlbGF0aXZlKG5vZGUucGFyZW50LnBhcmVudC5wcm9qZWN0LmxvY2F0aW9uLCBub2RlLnBhdGgpKQpfcCgzLCdwcm94eVR5cGUgPSAyOycpCl9wKDMsJ3JlbW90ZUdsb2JhbElEU3RyaW5nID0gJXM7Jywgbm9kZS5wcm9qZWN0Lnhjb2RlLnByb2plY3Rub2RlLmlkKQpfcCgzLCdyZW1vdGVJbmZvID0gJXM7Jywgc3RyaW5naWZ5U2V0dGluZyhub2RlLnByb2plY3QueGNvZGUucHJvamVjdG5vZGUubmFtZSkpCl9wKDIsJ307JykKZW5kCnNldHRpbmdzW25vZGUudGFyZ2V0cHJveHlpZF0gPSBmdW5jdGlvbigpCl9wKDIsJyVzIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLyA9IHsnLCBub2RlLnRhcmdldHByb3h5aWQpCl9wKDMsJ2lzYSA9IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsnKQpfcCgzLCdjb250YWluZXJQb3J0YWwgPSAlcyAvKiAlcyAqLzsnLCBub2RlLmlkLCBwYXRoLmdldHJlbGF0aXZlKG5vZGUucGFyZW50LnBhcmVudC5wcm9qZWN0LmxvY2F0aW9uLCBub2RlLnBhdGgpKQpfcCgzLCdwcm94eVR5cGUgPSAxOycpCl9wKDMsJ3JlbW90ZUdsb2JhbElEU3RyaW5nID0gJXM7Jywgbm9kZS5wcm9qZWN0Lnhjb2RlLnByb2plY3Rub2RlLnRhcmdldGlkKQpfcCgzLCdyZW1vdGVJbmZvID0gJXM7Jywgc3RyaW5naWZ5U2V0dGluZyhub2RlLnByb2plY3QueGNvZGUucHJvamVjdG5vZGUubmFtZSkpCl9wKDIsJ307JykKZW5kCmVuZAppZiBub3QgdGFibGUuaXNlbXB0eShzZXR0aW5ncykgdGhlbgpfcCgnLyogQmVnaW4gUEJYQ29udGFpbmVySXRlbVByb3h5IHNlY3Rpb24gKi8nKQpwcmludFNldHRpbmdzVGFibGUoMiwgc2V0dGluZ3MpOwpfcCgnLyogRW5kIFBCWENvbnRhaW5lckl0ZW1Qcm94eSBzZWN0aW9uICovJykKX3AoJycpCmVuZAplbmQKZnVuY3Rpb24geGNvZGUuUEJYRmlsZVJlZmVyZW5jZSh0cikKbG9jYWwgY2ZnID0gcHJvamVjdC5nZXRmaXJzdGNvbmZpZyh0ci5wcm9qZWN0KQpsb2NhbCBzZXR0aW5ncyA9IHt9CnRyZWUudHJhdmVyc2UodHIsIHsKb25sZWFmID0gZnVuY3Rpb24obm9kZSkKaWYgbm90IG5vZGUucGF0aCB0aGVuCnJldHVybgplbmQKaWYgbm9kZS5raW5kID09ICJwcm9kdWN0IiB0aGVuCnNldHRpbmdzW25vZGUuaWRdID0gZnVuY3Rpb24obGV2ZWwpCl9wKGxldmVsLCclcyAvKiAlcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gJXM7IGluY2x1ZGVJbkluZGV4ID0gMDsgbmFtZSA9ICVzOyBwYXRoID0gJXM7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07JywKbm9kZS5pZCwgbm9kZS5uYW1lLCB4Y29kZS5nZXR0YXJnZXR0eXBlKG5vZGUpLCBzdHJpbmdpZnlTZXR0aW5nKG5vZGUubmFtZSksIHN0cmluZ2lmeVNldHRpbmcocGF0aC5nZXRuYW1lKG5vZGUuY2ZnLmJ1aWxkdGFyZ2V0LmJ1bmRsZW5hbWUgfj0gIiIgYW5kIG5vZGUuY2ZnLmJ1aWxkdGFyZ2V0LmJ1bmRsZW5hbWUgb3Igbm9kZS5jZmcuYnVpbGR0YXJnZXQucmVscGF0aCkpKQplbmQKZWxzZWlmIG5vZGUucGFyZW50LnBhcmVudCA9PSB0ci5wcm9qZWN0cyB0aGVuCnNldHRpbmdzW25vZGUucGFyZW50LmlkXSA9IGZ1bmN0aW9uKGxldmVsKQpsb2NhbCByZWxwYXRoID0gcGF0aC5nZXRyZWxhdGl2ZShwYXRoLmdldGFic29sdXRlKHRyLnByb2plY3QubG9jYXRpb24pLCBwYXRoLmdldGFic29sdXRlKG5vZGUucGFyZW50LnByb2plY3QubG9jYXRpb24pKQpfcChsZXZlbCwnJXMgLyogJXMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSAid3JhcHBlci5wYi1wcm9qZWN0IjsgbmFtZSA9ICVzOyBwYXRoID0gJXM7IHNvdXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsnLApub2RlLnBhcmVudC5pZCwgbm9kZS5uYW1lLCBjdXN0b21TdHJpbmdpZnlTZXR0aW5nKG5vZGUucGFyZW50Lm5hbWUpLCBzdHJpbmdpZnlTZXR0aW5nKHBhdGguam9pbihyZWxwYXRoLCBub2RlLnBhcmVudC5uYW1lKSkpCmVuZAplbHNlCnNldHRpbmdzW25vZGUuaWRdID0gZnVuY3Rpb24obGV2ZWwpCmxvY2FsIHB0aCwgc3JjCmlmIHhjb2RlLmlzZnJhbWV3b3JrKG5vZGUucGF0aCkgdGhlbgpsb2NhbCBub2RlUGF0aCA9IG5vZGUucGF0aApsb2NhbCBfLCBtYXRjaEVuZCwgdmFyaWFibGUgPSBzdHJpbmcuZmluZChub2RlUGF0aCwgIl4lJCUoKC4rKSUpLyIpCmlmIHZhcmlhYmxlIHRoZW4Kbm9kZVBhdGggPSBzdHJpbmcuc3ViKG5vZGVQYXRoLCBtYXRjaEVuZCArIDEpCmVuZAppZiBzdHJpbmcuZmluZChub2RlUGF0aCwnLycpICB0aGVuCmlmIHN0cmluZy5maW5kKG5vZGVQYXRoLCdeJS4nKXRoZW4KcHRoID0gcGF0aC5nZXRyZWxhdGl2ZSh0ci5wcm9qZWN0LmxvY2F0aW9uLCBub2RlLnBhdGgpCnNyYyA9ICJTT1VSQ0VfUk9PVCIKdmFyaWFibGUgPSBzcmMKZWxzZQpwdGggPSBub2RlUGF0aApzcmMgPSAiPGFic29sdXRlPiIKZW5kCmVuZAppZiB2YXJpYWJsZSB0aGVuCnNyYyA9IHZhcmlhYmxlCmlmIHN0cmluZy5maW5kKHB0aCwgJ14vJykgdGhlbgpwdGggPSBzdHJpbmcuc3ViKHB0aCwgMikKZW5kCmVsc2UKcHRoID0gIlN5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvIiAuLiBub2RlLnBhdGgKc3JjID0gIlNES1JPT1QiCmVuZAplbHNlCnNyYyA9ICI8Z3JvdXA+IgppZiBub2RlLmFic3BhdGggdGhlbgpwdGggPSBwYXRoLmdldHJlbGF0aXZlKHRyLnByb2plY3QubG9jYXRpb24sIG5vZGUuYWJzcGF0aCkKZWxzZQpwdGggPSBub2RlLnBhdGgKZW5kCmVuZApfcChsZXZlbCwnJXMgLyogJXMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSAlczsgbmFtZSA9ICVzOyBwYXRoID0gJXM7IHNvdXJjZVRyZWUgPSAlczsgfTsnLApub2RlLmlkLCBub2RlLm5hbWUsIHhjb2RlLmdldGZpbGV0eXBlKG5vZGUsIGNmZyksIHN0cmluZ2lmeVNldHRpbmcobm9kZS5uYW1lKSwgc3RyaW5naWZ5U2V0dGluZyhwdGgpLCBzdHJpbmdpZnlTZXR0aW5nKHNyYykpCmVuZAplbmQKZW5kCn0pCmlmIG5vdCB0YWJsZS5pc2VtcHR5KHNldHRpbmdzKSB0aGVuCl9wKCcvKiBCZWdpbiBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8nKQpwcmludFNldHRpbmdzVGFibGUoMiwgc2V0dGluZ3MpCl9wKCcvKiBFbmQgUEJYRmlsZVJlZmVyZW5jZSBzZWN0aW9uICovJykKX3AoJycpCmVuZAplbmQKZnVuY3Rpb24geGNvZGUuUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2UodHIpCl9wKCcvKiBCZWdpbiBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZSBzZWN0aW9uICovJykKX3AoMiwnJXMgLyogRnJhbWV3b3JrcyAqLyA9IHsnLCB0ci5wcm9kdWN0cy5jaGlsZHJlblsxXS5meHN0YWdlaWQpCl9wKDMsJ2lzYSA9IFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlOycpCl9wKDMsJ2J1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7JykKX3AoMywnZmlsZXMgPSAoJykKdHJlZS50cmF2ZXJzZSh0ci5mcmFtZXdvcmtzLCB7Cm9ubGVhZiA9IGZ1bmN0aW9uKG5vZGUpCmlmIG5vZGUuYnVpbGRpZCB0aGVuCl9wKDQsJyVzIC8qICVzIGluIEZyYW1ld29ya3MgKi8sJywgbm9kZS5idWlsZGlkLCBub2RlLm5hbWUpCmVuZAplbmQKfSkKdHJlZS50cmF2ZXJzZSh0ci5wcm9qZWN0cywgewpvbmxlYWYgPSBmdW5jdGlvbihub2RlKQppZiBub2RlLmJ1aWxkaWQgdGhlbgpfcCg0LCclcyAvKiAlcyBpbiBGcmFtZXdvcmtzICovLCcsIG5vZGUuYnVpbGRpZCwgbm9kZS5uYW1lKQplbmQKZW5kCn0pCl9wKDMsJyk7JykKX3AoMywncnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7JykKX3AoMiwnfTsnKQpfcCgnLyogRW5kIFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlIHNlY3Rpb24gKi8nKQpfcCgnJykKZW5kCmZ1bmN0aW9uIHhjb2RlLlBCWEdyb3VwKHRyKQpsb2NhbCBzZXR0aW5ncyA9IHt9CnRyZWUudHJhdmVyc2UodHIsIHsKb25ub2RlID0gZnVuY3Rpb24obm9kZSkKaWYgKG5vZGUucGF0aCBhbmQgI25vZGUuY2hpbGRyZW4gPT0gMCkgb3Igbm9kZS5raW5kID09ICJ2Z3JvdXAiIHRoZW4KcmV0dXJuCmVuZApzZXR0aW5nc1tub2RlLnByb2R1Y3Rncm91cGlkIG9yIG5vZGUuaWRdID0gZnVuY3Rpb24oKQppZiBub2RlLnBhcmVudCA9PSB0ci5wcm9qZWN0cyB0aGVuCl9wKDIsJyVzIC8qIFByb2R1Y3RzICovID0geycsIG5vZGUucHJvZHVjdGdyb3VwaWQpCmVsc2UKX3AoMiwnJXMgLyogJXMgKi8gPSB7Jywgbm9kZS5pZCwgbm9kZS5uYW1lKQplbmQKX3AoMywnaXNhID0gUEJYR3JvdXA7JykKX3AoMywnY2hpbGRyZW4gPSAoJykKZm9yIF8sIGNoaWxkbm9kZSBpbiBpcGFpcnMobm9kZS5jaGlsZHJlbikgZG8KX3AoNCwnJXMgLyogJXMgKi8sJywgY2hpbGRub2RlLmlkLCBjaGlsZG5vZGUubmFtZSkKZW5kCl9wKDMsJyk7JykKaWYgbm9kZS5wYXJlbnQgPT0gdHIucHJvamVjdHMgdGhlbgpfcCgzLCduYW1lID0gUHJvZHVjdHM7JykKZWxzZQpfcCgzLCduYW1lID0gJXM7Jywgc3RyaW5naWZ5U2V0dGluZyhub2RlLm5hbWUpKQpsb2NhbCB2cGF0aCA9IHByb2plY3QuZ2V0dnBhdGgodHIucHJvamVjdCwgbm9kZS5uYW1lKQppZiBub2RlLnBhdGggYW5kIG5vZGUubmFtZSB+PSB2cGF0aCB0aGVuCmxvY2FsIHAgPSBub2RlLnBhdGgKaWYgbm9kZS5wYXJlbnQucGF0aCB0aGVuCnAgPSBwYXRoLmdldHJlbGF0aXZlKG5vZGUucGFyZW50LnBhdGgsIG5vZGUucGF0aCkKZW5kCl9wKDMsJ3BhdGggPSAlczsnLCBzdHJpbmdpZnlTZXR0aW5nKHApKQplbmQKZW5kCl9wKDMsJ3NvdXJjZVRyZWUgPSAiPGdyb3VwPiI7JykKX3AoMiwnfTsnKQplbmQKZW5kCn0sIHRydWUpCmlmIG5vdCB0YWJsZS5pc2VtcHR5KHNldHRpbmdzKSB0aGVuCl9wKCcvKiBCZWdpbiBQQlhHcm91cCBzZWN0aW9uICovJykKcHJpbnRTZXR0aW5nc1RhYmxlKDIsIHNldHRpbmdzKQpfcCgnLyogRW5kIFBCWEdyb3VwIHNlY3Rpb24gKi8nKQpfcCgnJykKZW5kCmVuZApmdW5jdGlvbiB4Y29kZS5QQlhOYXRpdmVUYXJnZXQodHIpCl9wKCcvKiBCZWdpbiBQQlhOYXRpdmVUYXJnZXQgc2VjdGlvbiAqLycpCmZvciBfLCBub2RlIGluIGlwYWlycyh0ci5wcm9kdWN0cy5jaGlsZHJlbikgZG8KbG9jYWwgbmFtZSA9IHRyLnByb2plY3QubmFtZQpsb2NhbCBmdW5jdGlvbiBoYXNCdWlsZENvbW1hbmRzKHdoaWNoKQppZiAjdHIucHJvamVjdFt3aGljaF0gPiAwIHRoZW4KcmV0dXJuIHRydWUKZW5kCmZvciBfLCBjZmcgaW4gaXBhaXJzKHRyLmNvbmZpZ3MpIGRvCmlmICNjZmdbd2hpY2hdID4gMCB0aGVuCnJldHVybiB0cnVlCmVuZAplbmQKZW5kCl9wKDIsJyVzIC8qICVzICovID0geycsIG5vZGUudGFyZ2V0aWQsIG5hbWUpCl9wKDMsJ2lzYSA9IFBCWE5hdGl2ZVRhcmdldDsnKQpfcCgzLCdidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gJXMgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgIiVzIiAqLzsnLCBub2RlLmNmZ3NlY3Rpb24sIGVzY2FwZVNldHRpbmcobmFtZSkpCl9wKDMsJ2J1aWxkUGhhc2VzID0gKCcpCmlmIGhhc0J1aWxkQ29tbWFuZHMoJ3ByZWJ1aWxkY29tbWFuZHMnKSB0aGVuCl9wKDQsJzk2MDdBRTEwMTBDODU3RTUwMENEMTM3NiAvKiBQcmVidWlsZCAqLywnKQplbmQKX3AoNCwnJXMgLyogUmVzb3VyY2VzICovLCcsIG5vZGUucmVzc3RhZ2VpZCkKX3AoNCwnJXMgLyogU291cmNlcyAqLywnLCBub2RlLnNvdXJjZXNpZCkKaWYgaGFzQnVpbGRDb21tYW5kcygncHJlbGlua2NvbW1hbmRzJykgdGhlbgpfcCg0LCc5NjA3QUUzNTEwQzg1RTdFMDBDRDEzNzYgLyogUHJlbGluayAqLywnKQplbmQKX3AoNCwnJXMgLyogRnJhbWV3b3JrcyAqLywnLCBub2RlLmZ4c3RhZ2VpZCkKaWYgaGFzQnVpbGRDb21tYW5kcygncG9zdGJ1aWxkY29tbWFuZHMnKSB0aGVuCl9wKDQsJzk2MDdBRTM3MTBDODVFOEYwMENEMTM3NiAvKiBQb3N0YnVpbGQgKi8sJykKZW5kCl9wKDMsJyk7JykKX3AoMywnYnVpbGRSdWxlcyA9ICgnKQpfcCgzLCcpOycpCl9wKDMsJ2RlcGVuZGVuY2llcyA9ICgnKQpmb3IgXywgbm9kZSBpbiBpcGFpcnModHIucHJvamVjdHMuY2hpbGRyZW4pIGRvCl9wKDQsJyVzIC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8sJywgbm9kZS50YXJnZXRkZXBlbmRpZCkKZW5kCl9wKDMsJyk7JykKX3AoMywnbmFtZSA9ICVzOycsIHN0cmluZ2lmeVNldHRpbmcobmFtZSkpCmxvY2FsIHAKaWYgbm9kZS5jZmcua2luZCA9PSAiQ29uc29sZUFwcCIgdGhlbgpwID0gIiQoSE9NRSkvYmluIgplbHNlaWYgbm9kZS5jZmcua2luZCA9PSAiV2luZG93ZWRBcHAiIHRoZW4KcCA9ICIkKEhPTUUpL0FwcGxpY2F0aW9ucyIKZW5kCmlmIHAgdGhlbgpfcCgzLCdwcm9kdWN0SW5zdGFsbFBhdGggPSAlczsnLCBzdHJpbmdpZnlTZXR0aW5nKHApKQplbmQKX3AoMywncHJvZHVjdE5hbWUgPSAlczsnLCBzdHJpbmdpZnlTZXR0aW5nKG5hbWUpKQpfcCgzLCdwcm9kdWN0UmVmZXJlbmNlID0gJXMgLyogJXMgKi87Jywgbm9kZS5pZCwgbm9kZS5uYW1lKQpfcCgzLCdwcm9kdWN0VHlwZSA9ICVzOycsIHN0cmluZ2lmeVNldHRpbmcoeGNvZGUuZ2V0cHJvZHVjdHR5cGUobm9kZSkpKQpfcCgyLCd9OycpCmVuZApfcCgnLyogRW5kIFBCWE5hdGl2ZVRhcmdldCBzZWN0aW9uICovJykKX3AoJycpCmVuZApmdW5jdGlvbiB4Y29kZS5QQlhQcm9qZWN0KHRyKQpfcCgnLyogQmVnaW4gUEJYUHJvamVjdCBzZWN0aW9uICovJykKX3AoMiwnMDhGQjc3OTNGRTg0MTU1REMwMkFBQzA3IC8qIFByb2plY3Qgb2JqZWN0ICovID0geycpCl9wKDMsJ2lzYSA9IFBCWFByb2plY3Q7JykKX3AoMywnYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDFERUI5Mjg5MDg3MzNERDgwMDEwRTlDRCAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWFByb2plY3QgIiVzIiAqLzsnLCB0ci5uYW1lKQpfcCgzLCdjb21wYXRpYmlsaXR5VmVyc2lvbiA9ICJYY29kZSAzLjIiOycpCl9wKDMsJ2hhc1NjYW5uZWRGb3JFbmNvZGluZ3MgPSAxOycpCl9wKDMsJ21haW5Hcm91cCA9ICVzIC8qICVzICovOycsIHRyLmlkLCB0ci5uYW1lKQpfcCgzLCdwcm9qZWN0RGlyUGF0aCA9ICIiOycpCmlmICN0ci5wcm9qZWN0cy5jaGlsZHJlbiA+IDAgdGhlbgpfcCgzLCdwcm9qZWN0UmVmZXJlbmNlcyA9ICgnKQpmb3IgXywgbm9kZSBpbiBpcGFpcnModHIucHJvamVjdHMuY2hpbGRyZW4pIGRvCl9wKDQsJ3snKQpfcCg1LCdQcm9kdWN0R3JvdXAgPSAlcyAvKiBQcm9kdWN0cyAqLzsnLCBub2RlLnByb2R1Y3Rncm91cGlkKQpfcCg1LCdQcm9qZWN0UmVmID0gJXMgLyogJXMgKi87Jywgbm9kZS5pZCwgcGF0aC5nZXRuYW1lKG5vZGUucGF0aCkpCl9wKDQsJ30sJykKZW5kCl9wKDMsJyk7JykKZW5kCl9wKDMsJ3Byb2plY3RSb290ID0gIiI7JykKX3AoMywndGFyZ2V0cyA9ICgnKQpmb3IgXywgbm9kZSBpbiBpcGFpcnModHIucHJvZHVjdHMuY2hpbGRyZW4pIGRvCl9wKDQsJyVzIC8qICVzICovLCcsIG5vZGUudGFyZ2V0aWQsIG5vZGUubmFtZSkKZW5kCl9wKDMsJyk7JykKX3AoMiwnfTsnKQpfcCgnLyogRW5kIFBCWFByb2plY3Qgc2VjdGlvbiAqLycpCl9wKCcnKQplbmQKZnVuY3Rpb24geGNvZGUuUEJYUmVmZXJlbmNlUHJveHkodHIpCmxvY2FsIHNldHRpbmdzID0ge30KdHJlZS50cmF2ZXJzZSh0ci5wcm9qZWN0cywgewpvbmxlYWYgPSBmdW5jdGlvbihub2RlKQpzZXR0aW5nc1tub2RlLmlkXSA9IGZ1bmN0aW9uKCkKX3AoMiwnJXMgLyogJXMgKi8gPSB7Jywgbm9kZS5pZCwgbm9kZS5uYW1lKQpfcCgzLCdpc2EgPSBQQlhSZWZlcmVuY2VQcm94eTsnKQpfcCgzLCdmaWxlVHlwZSA9ICVzOycsIHhjb2RlLmdldHRhcmdldHR5cGUobm9kZSkpCl9wKDMsJ3BhdGggPSAlczsnLCBzdHJpbmdpZnlTZXR0aW5nKG5vZGUubmFtZSkpCl9wKDMsJ3JlbW90ZVJlZiA9ICVzIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLzsnLCBub2RlLnBhcmVudC5wcm9kdWN0cHJveHlpZCkKX3AoMywnc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsnKQpfcCgyLCd9OycpCmVuZAplbmQKfSkKaWYgbm90IHRhYmxlLmlzZW1wdHkoc2V0dGluZ3MpIHRoZW4KX3AoJy8qIEJlZ2luIFBCWFJlZmVyZW5jZVByb3h5IHNlY3Rpb24gKi8nKQpwcmludFNldHRpbmdzVGFibGUoMiwgc2V0dGluZ3MpCl9wKCcvKiBFbmQgUEJYUmVmZXJlbmNlUHJveHkgc2VjdGlvbiAqLycpCl9wKCcnKQplbmQKZW5kCmZ1bmN0aW9uIHhjb2RlLlBCWFJlc291cmNlc0J1aWxkUGhhc2UodHIpCl9wKCcvKiBCZWdpbiBQQlhSZXNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8nKQpmb3IgXywgdGFyZ2V0IGluIGlwYWlycyh0ci5wcm9kdWN0cy5jaGlsZHJlbikgZG8KX3AoMiwnJXMgLyogUmVzb3VyY2VzICovID0geycsIHRhcmdldC5yZXNzdGFnZWlkKQpfcCgzLCdpc2EgPSBQQlhSZXNvdXJjZXNCdWlsZFBoYXNlOycpCl9wKDMsJ2J1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7JykKX3AoMywnZmlsZXMgPSAoJykKdHJlZS50cmF2ZXJzZSh0ciwgewpvbm5vZGUgPSBmdW5jdGlvbihub2RlKQppZiB4Y29kZS5nZXRidWlsZGNhdGVnb3J5KG5vZGUpID09ICJSZXNvdXJjZXMiIHRoZW4KX3AoNCwnJXMgLyogJXMgaW4gUmVzb3VyY2VzICovLCcsIG5vZGUuYnVpbGRpZCwgbm9kZS5uYW1lKQplbmQKZW5kCn0pCl9wKDMsJyk7JykKX3AoMywncnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7JykKX3AoMiwnfTsnKQplbmQKX3AoJy8qIEVuZCBQQlhSZXNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8nKQpfcCgnJykKZW5kCmZ1bmN0aW9uIHhjb2RlLlBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZSh0cikKbG9jYWwgd3JhcHBlcldyaXR0ZW4gPSBmYWxzZQpsb2NhbCBmdW5jdGlvbiBkb2Jsb2NrKGlkLCBuYW1lLCB3aGljaCkKbG9jYWwgcHJqY21kcyA9IHRyLnByb2plY3Rbd2hpY2hdCmxvY2FsIGNvbW1hbmRzID0gdGFibGUuam9pbihwcmpjbWRzLCB7fSkKZm9yIF8sIGNmZyBpbiBpcGFpcnModHIuY29uZmlncykgZG8KbG9jYWwgY2ZnY21kcyA9IGNmZ1t3aGljaF0KaWYgI2NmZ2NtZHMgPiAjcHJqY21kcyB0aGVuCnRhYmxlLmluc2VydChjb21tYW5kcywgJ2lmIFsgIiR7Q09ORklHVVJBVElPTn0iID0gIicgLi4gY2ZnLmJ1aWxkY2ZnIC4uICciIF07IHRoZW4nKQpmb3IgaSA9ICNwcmpjbWRzICsgMSwgI2NmZ2NtZHMgZG8KdGFibGUuaW5zZXJ0KGNvbW1hbmRzLCBjZmdjbWRzW2ldKQplbmQKdGFibGUuaW5zZXJ0KGNvbW1hbmRzLCAnZmknKQplbmQKZW5kCmlmICNjb21tYW5kcyA+IDAgdGhlbgpjb21tYW5kcyA9IG9zLnRyYW5zbGF0ZUNvbW1hbmRzKGNvbW1hbmRzLCBwLk1BQ09TWCkKaWYgbm90IHdyYXBwZXJXcml0dGVuIHRoZW4KX3AoJy8qIEJlZ2luIFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZSBzZWN0aW9uICovJykKd3JhcHBlcldyaXR0ZW4gPSB0cnVlCmVuZApfcCgyLCclcyAvKiAlcyAqLyA9IHsnLCBpZCwgbmFtZSkKX3AoMywnaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlOycpCl9wKDMsJ2J1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7JykKX3AoMywnZmlsZXMgPSAoJykKX3AoMywnKTsnKQpfcCgzLCdpbnB1dFBhdGhzID0gKCcpOwpfcCgzLCcpOycpOwpfcCgzLCduYW1lID0gJXM7JywgbmFtZSk7Cl9wKDMsJ291dHB1dFBhdGhzID0gKCcpOwpfcCgzLCcpOycpOwpfcCgzLCdydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsnKTsKX3AoMywnc2hlbGxQYXRoID0gL2Jpbi9zaDsnKTsKX3AoMywnc2hlbGxTY3JpcHQgPSAlczsnLCBzdHJpbmdpZnlTZXR0aW5nKHRhYmxlLmNvbmNhdChjb21tYW5kcywgJ1xuJykpKQpfcCgyLCd9OycpCmVuZAplbmQKZG9ibG9jaygiOTYwN0FFMTAxMEM4NTdFNTAwQ0QxMzc2IiwgIlByZWJ1aWxkIiwgInByZWJ1aWxkY29tbWFuZHMiKQpkb2Jsb2NrKCI5NjA3QUUzNTEwQzg1RTdFMDBDRDEzNzYiLCAiUHJlbGluayIsICJwcmVsaW5rY29tbWFuZHMiKQpkb2Jsb2NrKCI5NjA3QUUzNzEwQzg1RThGMDBDRDEzNzYiLCAiUG9zdGJ1aWxkIiwgInBvc3RidWlsZGNvbW1hbmRzIikKaWYgd3JhcHBlcldyaXR0ZW4gdGhlbgpfcCgnLyogRW5kIFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZSBzZWN0aW9uICovJykKZW5kCmVuZApmdW5jdGlvbiB4Y29kZS5QQlhTb3VyY2VzQnVpbGRQaGFzZSh0cikKX3AoJy8qIEJlZ2luIFBCWFNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8nKQpmb3IgXywgdGFyZ2V0IGluIGlwYWlycyh0ci5wcm9kdWN0cy5jaGlsZHJlbikgZG8KX3AoMiwnJXMgLyogU291cmNlcyAqLyA9IHsnLCB0YXJnZXQuc291cmNlc2lkKQpfcCgzLCdpc2EgPSBQQlhTb3VyY2VzQnVpbGRQaGFzZTsnKQpfcCgzLCdidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OycpCl9wKDMsJ2ZpbGVzID0gKCcpCnRyZWUudHJhdmVyc2UodHIsIHsKb25sZWFmID0gZnVuY3Rpb24obm9kZSkKaWYgeGNvZGUuZ2V0YnVpbGRjYXRlZ29yeShub2RlKSA9PSAiU291cmNlcyIgdGhlbgpfcCg0LCclcyAvKiAlcyBpbiBTb3VyY2VzICovLCcsIG5vZGUuYnVpbGRpZCwgbm9kZS5uYW1lKQplbmQKZW5kCn0pCl9wKDMsJyk7JykKX3AoMywncnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7JykKX3AoMiwnfTsnKQplbmQKX3AoJy8qIEVuZCBQQlhTb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICovJykKX3AoJycpCmVuZApmdW5jdGlvbiB4Y29kZS5QQlhWYXJpYW50R3JvdXAodHIpCmxvY2FsIHNldHRpbmdzID0ge30KdHJlZS50cmF2ZXJzZSh0ciwgewpvbmJyYW5jaCA9IGZ1bmN0aW9uKG5vZGUpCnNldHRpbmdzW25vZGUuaWRdID0gZnVuY3Rpb24oKQppZiBub2RlLmtpbmQgPT0gInZncm91cCIgdGhlbgpfcCgyLCclcyAvKiAlcyAqLyA9IHsnLCBub2RlLmlkLCBub2RlLm5hbWUpCl9wKDMsJ2lzYSA9IFBCWFZhcmlhbnRHcm91cDsnKQpfcCgzLCdjaGlsZHJlbiA9ICgnKQpmb3IgXywgbGFuZyBpbiBpcGFpcnMobm9kZS5jaGlsZHJlbikgZG8KX3AoNCwnJXMgLyogJXMgKi8sJywgbGFuZy5pZCwgbGFuZy5uYW1lKQplbmQKX3AoMywnKTsnKQpfcCgzLCduYW1lID0gJXM7Jywgbm9kZS5uYW1lKQpfcCgzLCdzb3VyY2VUcmVlID0gIjxncm91cD4iOycpCl9wKDIsJ307JykKZW5kCmVuZAplbmQKfSkKaWYgbm90IHRhYmxlLmlzZW1wdHkoc2V0dGluZ3MpIHRoZW4KX3AoJy8qIEJlZ2luIFBCWFZhcmlhbnRHcm91cCBzZWN0aW9uICovJykKcHJpbnRTZXR0aW5nc1RhYmxlKDIsIHNldHRpbmdzKQpfcCgnLyogRW5kIFBCWFZhcmlhbnRHcm91cCBzZWN0aW9uICovJykKX3AoJycpCmVuZAplbmQKZnVuY3Rpb24geGNvZGUuUEJYVGFyZ2V0RGVwZW5kZW5jeSh0cikKbG9jYWwgc2V0dGluZ3MgPSB7fQp0cmVlLnRyYXZlcnNlKHRyLnByb2plY3RzLCB7Cm9ubGVhZiA9IGZ1bmN0aW9uKG5vZGUpCnNldHRpbmdzW25vZGUucGFyZW50LnRhcmdldGRlcGVuZGlkXSA9IGZ1bmN0aW9uKCkKX3AoMiwnJXMgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLyA9IHsnLCBub2RlLnBhcmVudC50YXJnZXRkZXBlbmRpZCkKX3AoMywnaXNhID0gUEJYVGFyZ2V0RGVwZW5kZW5jeTsnKQpfcCgzLCduYW1lID0gJXM7Jywgc3RyaW5naWZ5U2V0dGluZyhub2RlLm5hbWUpKQpfcCgzLCd0YXJnZXRQcm94eSA9ICVzIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLzsnLCBub2RlLnBhcmVudC50YXJnZXRwcm94eWlkKQpfcCgyLCd9OycpCmVuZAplbmQKfSkKaWYgbm90IHRhYmxlLmlzZW1wdHkoc2V0dGluZ3MpIHRoZW4KX3AoJy8qIEJlZ2luIFBCWFRhcmdldERlcGVuZGVuY3kgc2VjdGlvbiAqLycpCnByaW50U2V0dGluZ3NUYWJsZSgyLCBzZXR0aW5ncykKX3AoJy8qIEVuZCBQQlhUYXJnZXREZXBlbmRlbmN5IHNlY3Rpb24gKi8nKQpfcCgnJykKZW5kCmVuZApmdW5jdGlvbiB4Y29kZS5YQ0J1aWxkQ29uZmlndXJhdGlvbl9UYXJnZXQodHIsIHRhcmdldCwgY2ZnKQpsb2NhbCBzZXR0aW5ncyA9IHt9CnNldHRpbmdzWydBTFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMnXSA9ICdOTycKaWYgbm90IGNmZy5mbGFncy5TeW1ib2xzIHRoZW4Kc2V0dGluZ3NbJ0RFQlVHX0lORk9STUFUSU9OX0ZPUk1BVCddID0gJ2R3YXJmLXdpdGgtZHN5bScKZW5kCmlmIGNmZy5raW5kIH49ICJTdGF0aWNMaWIiIGFuZCBjZmcuYnVpbGR0YXJnZXQucHJlZml4IH49ICcnIHRoZW4Kc2V0dGluZ3NbJ0VYRUNVVEFCTEVfUFJFRklYJ10gPSBjZmcuYnVpbGR0YXJnZXQucHJlZml4CmVuZApsb2NhbCBvdXRkaXIgPSBwYXRoLmdldHJlbGF0aXZlKHRyLnByb2plY3QubG9jYXRpb24sIHBhdGguZ2V0ZGlyZWN0b3J5KGNmZy5idWlsZHRhcmdldC5yZWxwYXRoKSkKaWYgb3V0ZGlyIH49ICIuIiB0aGVuCnNldHRpbmdzWydDT05GSUdVUkFUSU9OX0JVSUxEX0RJUiddID0gb3V0ZGlyCmVuZApzZXR0aW5nc1snR0NDX0RZTkFNSUNfTk9fUElDJ10gPSAnTk8nCmlmIHRyLmluZm9wbGlzdCB0aGVuCnNldHRpbmdzWydJTkZPUExJU1RfRklMRSddID0gY29uZmlnLmZpbmRmaWxlKGNmZywgcGF0aC5nZXRleHRlbnNpb24odHIuaW5mb3BsaXN0Lm5hbWUpKQplbmQKaW5zdGFsbHBhdGhzID0gewpDb25zb2xlQXBwID0gJy91c3IvbG9jYWwvYmluJywKV2luZG93ZWRBcHAgPSAnIiQoSE9NRSkvQXBwbGljYXRpb25zIicsClNoYXJlZExpYiA9ICcvdXNyL2xvY2FsL2xpYicsClN0YXRpY0xpYiA9ICcvdXNyL2xvY2FsL2xpYicsCn0Kc2V0dGluZ3NbJ0lOU1RBTExfUEFUSCddID0gaW5zdGFsbHBhdGhzW2NmZy5raW5kXQpsb2NhbCBmaWxlTmFtZUxpc3QgPSB7fQpsb2NhbCBmaWxlX3RyZWUgPSBwcm9qZWN0LmdldHNvdXJjZXRyZWUodHIucHJvamVjdCkKdHJlZS50cmF2ZXJzZSh0ciwgewpvbm5vZGUgPSBmdW5jdGlvbihub2RlKQppZiBub2RlLmJ1aWxkaWQgYW5kIG5vdCBub2RlLmlzUmVzb3VyY2UgYW5kIG5vZGUuYWJzcGF0aCB0aGVuCmxvY2FsIGZpbGVjZmcgPSBmaWxlY29uZmlnLmdldGNvbmZpZyhub2RlLCBjZmcpCmlmIGZpbGVjZmcgYW5kIGZpbGVjZmcuZmxhZ3MuRXhjbHVkZUZyb21CdWlsZCB0aGVuCnRhYmxlLmluc2VydChmaWxlTmFtZUxpc3QsIGVzY2FwZUFyZyhub2RlLm5hbWUpKQplbmQKZW5kCmVuZAp9KQppZiBub3QgdGFibGUuaXNlbXB0eShmaWxlTmFtZUxpc3QpIHRoZW4Kc2V0dGluZ3NbJ0VYQ0xVREVEX1NPVVJDRV9GSUxFX05BTUVTJ10gPSBmaWxlTmFtZUxpc3QKZW5kCnNldHRpbmdzWydQUk9EVUNUX05BTUUnXSA9IGNmZy5idWlsZHRhcmdldC5iYXNlbmFtZQpvdmVycmlkZVNldHRpbmdzKHNldHRpbmdzLCBjZmcueGNvZGVidWlsZHNldHRpbmdzKQpfcCgyLCclcyAvKiAlcyAqLyA9IHsnLCBjZmcueGNvZGUudGFyZ2V0aWQsIGNmZy5idWlsZGNmZykKX3AoMywnaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247JykKX3AoMywnYnVpbGRTZXR0aW5ncyA9IHsnKQpwcmludFNldHRpbmdzVGFibGUoNCwgc2V0dGluZ3MpCl9wKDMsJ307JykKcHJpbnRTZXR0aW5nKDMsICduYW1lJywgY2ZnLmJ1aWxkY2ZnKTsKX3AoMiwnfTsnKQplbmQKZnVuY3Rpb24geGNvZGUuWENCdWlsZENvbmZpZ3VyYXRpb25fUHJvamVjdCh0ciwgY2ZnKQpsb2NhbCBzZXR0aW5ncyA9IHt9CmxvY2FsIGFyY2hzID0gewpOYXRpdmUgPSAiJChOQVRJVkVfQVJDSF9BQ1RVQUwpIiwKeDg2ICAgID0gImkzODYiLAp4ODZfNjQgPSAieDg2XzY0IiwKVW5pdmVyc2FsMzIgPSAiJChBUkNIU19TVEFOREFSRF8zMl9CSVQpIiwKVW5pdmVyc2FsNjQgPSAiJChBUkNIU19TVEFOREFSRF82NF9CSVQpIiwKVW5pdmVyc2FsID0gIiQoQVJDSFNfU1RBTkRBUkRfMzJfNjRfQklUKSIsCn0Kc2V0dGluZ3NbJ0FSQ0hTJ10gPSBhcmNoc1tjZmcucGxhdGZvcm0gb3IgIk5hdGl2ZSJdCmxvY2FsIHRhcmdldGRpciA9IHBhdGguZ2V0ZGlyZWN0b3J5KGNmZy5idWlsZHRhcmdldC5yZWxwYXRoKQppZiB0YXJnZXRkaXIgfj0gIi4iIHRoZW4Kc2V0dGluZ3NbJ0NPTkZJR1VSQVRJT05fQlVJTERfRElSJ10gPSAnJChTWU1ST09UKScKZW5kCnNldHRpbmdzWydDT05GSUdVUkFUSU9OX1RFTVBfRElSJ10gPSAnJChPQkpST09UKScKaWYgY2ZnLmZsYWdzLlN5bWJvbHMgdGhlbgpzZXR0aW5nc1snQ09QWV9QSEFTRV9TVFJJUCddID0gJ05PJwplbmQKc2V0dGluZ3NbJ0dDQ19DX0xBTkdVQUdFX1NUQU5EQVJEJ10gPSAnZ251OTknCmlmIGNmZy5leGNlcHRpb25oYW5kbGluZyA9PSBwLk9GRiB0aGVuCnNldHRpbmdzWydHQ0NfRU5BQkxFX0NQUF9FWENFUFRJT05TJ10gPSAnTk8nCmVuZAppZiBjZmcucnR0aSA9PSBwLk9GRiB0aGVuCnNldHRpbmdzWydHQ0NfRU5BQkxFX0NQUF9SVFRJJ10gPSAnTk8nCmVuZAppZiBjZmcuZmxhZ3MuU3ltYm9scyBhbmQgbm90IGNmZy5mbGFncy5Ob0VkaXRBbmRDb250aW51ZSB0aGVuCnNldHRpbmdzWydHQ0NfRU5BQkxFX0ZJWF9BTkRfQ09OVElOVUUnXSA9ICdZRVMnCmVuZAppZiBjZmcuZXhjZXB0aW9uaGFuZGxpbmcgPT0gcC5PRkYgdGhlbgpzZXR0aW5nc1snR0NDX0VOQUJMRV9PQkpDX0VYQ0VQVElPTlMnXSA9ICdOTycKZW5kCmxvY2FsIG9wdGltaXplTWFwID0geyBPbiA9IDMsIFNpemUgPSAncycsIFNwZWVkID0gMywgRnVsbCA9ICdmYXN0JywgRGVidWcgPSAxIH0Kc2V0dGluZ3NbJ0dDQ19PUFRJTUlaQVRJT05fTEVWRUwnXSA9IG9wdGltaXplTWFwW2NmZy5vcHRpbWl6ZV0gb3IgMAppZiBjZmcucGNoaGVhZGVyIGFuZCBub3QgY2ZnLmZsYWdzLk5vUENIIHRoZW4Kc2V0dGluZ3NbJ0dDQ19QUkVDT01QSUxFX1BSRUZJWF9IRUFERVInXSA9ICdZRVMnCnNldHRpbmdzWydHQ0NfUFJFRklYX0hFQURFUiddID0gY2ZnLnBjaGhlYWRlcgplbmQKc2V0dGluZ3NbJ0dDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMnXSA9IGNmZy5kZWZpbmVzCnNldHRpbmdzWyJHQ0NfU1lNQk9MU19QUklWQVRFX0VYVEVSTiJdID0gJ05PJwppZiBjZmcuZmxhZ3MuRmF0YWxXYXJuaW5ncyB0aGVuCnNldHRpbmdzWydHQ0NfVFJFQVRfV0FSTklOR1NfQVNfRVJST1JTJ10gPSAnWUVTJwplbmQKc2V0dGluZ3NbJ0dDQ19XQVJOX0FCT1VUX1JFVFVSTl9UWVBFJ10gPSAnWUVTJwpzZXR0aW5nc1snR0NDX1dBUk5fVU5VU0VEX1ZBUklBQkxFJ10gPSAnWUVTJwpsb2NhbCBpbmNsdWRlZGlycyA9IHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGNmZy5pbmNsdWRlZGlycykKZm9yIGksdiBpbiBpcGFpcnMoaW5jbHVkZWRpcnMpIGRvCmNmZy5pbmNsdWRlZGlyc1tpXSA9IHByZW1ha2UucXVvdGVkKHYpCmVuZApzZXR0aW5nc1snVVNFUl9IRUFERVJfU0VBUkNIX1BBVEhTJ10gPSBjZmcuaW5jbHVkZWRpcnMKbG9jYWwgc3lzaW5jbHVkZWRpcnMgPSBwcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCBjZmcuc3lzaW5jbHVkZWRpcnMpCmZvciBpLHYgaW4gaXBhaXJzKHN5c2luY2x1ZGVkaXJzKSBkbwpjZmcuc3lzaW5jbHVkZWRpcnNbaV0gPSBwcmVtYWtlLnF1b3RlZCh2KQplbmQKaWYgbm90IHRhYmxlLmlzZW1wdHkoY2ZnLnN5c2luY2x1ZGVkaXJzKSB0aGVuCnRhYmxlLmluc2VydChjZmcuc3lzaW5jbHVkZWRpcnMsICIkKGluaGVyaXRlZCkiKQplbmQKc2V0dGluZ3NbJ0hFQURFUl9TRUFSQ0hfUEFUSFMnXSA9IGNmZy5zeXNpbmNsdWRlZGlycwpmb3IgaSx2IGluIGlwYWlycyhjZmcubGliZGlycykgZG8KY2ZnLmxpYmRpcnNbaV0gPSBwcmVtYWtlLnByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGNmZy5saWJkaXJzW2ldKQplbmQKc2V0dGluZ3NbJ0xJQlJBUllfU0VBUkNIX1BBVEhTJ10gPSBjZmcubGliZGlycwpsb2NhbCBvYmpEaXIgPSBwYXRoLmdldHJlbGF0aXZlKHRyLnByb2plY3QubG9jYXRpb24sIGNmZy5vYmpkaXIpCnNldHRpbmdzWydPQkpST09UJ10gPSBvYmpEaXIKc2V0dGluZ3NbJ09OTFlfQUNUSVZFX0FSQ0gnXSA9IGlpZihwcmVtYWtlLmNvbmZpZy5pc0RlYnVnQnVpbGQoY2ZnKSwgJ1lFUycsICdOTycpCmxvY2FsIGNoZWNrcyA9IHsKWyItZmZhc3QtbWF0aCJdICAgICAgICAgID0gY2ZnLmZsYWdzLkZsb2F0RmFzdCwKWyItZmZsb2F0LXN0b3JlIl0gICAgICAgID0gY2ZnLmZsYWdzLkZsb2F0U3RyaWN0LApbIi1mb21pdC1mcmFtZS1wb2ludGVyIl0gPSBjZmcuZmxhZ3MuTm9GcmFtZVBvaW50ZXIsCn0KbG9jYWwgZmxhZ3MgPSB7IH0KZm9yIGZsYWcsIGNoZWNrIGluIHBhaXJzKGNoZWNrcykgZG8KaWYgY2hlY2sgdGhlbgp0YWJsZS5pbnNlcnQoZmxhZ3MsIGZsYWcpCmVuZAplbmQKc2V0dGluZ3NbJ09USEVSX0NGTEFHUyddID0gdGFibGUuam9pbihmbGFncywgY2ZnLmJ1aWxkb3B0aW9ucykKZmxhZ3MgPSB7IH0KZm9yIF8sIGxpYiBpbiBpcGFpcnMoY29uZmlnLmdldGxpbmtzKGNmZywgInN5c3RlbSIpKSBkbwppZiBub3QgeGNvZGUuaXNmcmFtZXdvcmsobGliKSB0aGVuCnRhYmxlLmluc2VydChmbGFncywgIi1sIiAuLiBsaWIpCmVuZAplbmQKZm9yIF8sIGxpYiBpbiBpcGFpcnMoY29uZmlnLmdldGxpbmtzKGNmZywgImRlcGVuZGVuY2llcyIsICJvYmplY3QiKSkgZG8KaWYgKGxpYi5leHRlcm5hbCkgdGhlbgppZiBub3QgeGNvZGUuaXNmcmFtZXdvcmsobGliLmxpbmt0YXJnZXQuYmFzZW5hbWUpIHRoZW4KdGFibGUuaW5zZXJ0KGZsYWdzLCAiLWwiIC4uIGVzY2FwZUFyZyhsaWIubGlua3RhcmdldC5iYXNlbmFtZSkpCmVuZAplbmQKZW5kCnNldHRpbmdzWydPVEhFUl9MREZMQUdTJ10gPSB0YWJsZS5qb2luKGZsYWdzLCBjZmcubGlua29wdGlvbnMpCmlmIGNmZy5mbGFncy5TdGF0aWNSdW50aW1lIHRoZW4Kc2V0dGluZ3NbJ1NUQU5EQVJEX0NfUExVU19QTFVTX0xJQlJBUllfVFlQRSddID0gJ3N0YXRpYycKZW5kCmlmIHRhcmdldGRpciB+PSAiLiIgdGhlbgpzZXR0aW5nc1snU1lNUk9PVCddID0gcGF0aC5nZXRyZWxhdGl2ZSh0ci5wcm9qZWN0LmxvY2F0aW9uLCB0YXJnZXRkaXIpCmVuZAppZiBjZmcud2FybmluZ3MgPT0gIkV4dHJhIiB0aGVuCnNldHRpbmdzWydXQVJOSU5HX0NGTEFHUyddID0gJy1XYWxsIC1XZXh0cmEnCmVuZApvdmVycmlkZVNldHRpbmdzKHNldHRpbmdzLCBjZmcueGNvZGVidWlsZHNldHRpbmdzKQpfcCgyLCclcyAvKiAlcyAqLyA9IHsnLCBjZmcueGNvZGUucHJvamVjdGlkLCBjZmcuYnVpbGRjZmcpCl9wKDMsJ2lzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOycpCl9wKDMsJ2J1aWxkU2V0dGluZ3MgPSB7JykKcHJpbnRTZXR0aW5nc1RhYmxlKDQsIHNldHRpbmdzKQpfcCgzLCd9OycpCnByaW50U2V0dGluZygzLCAnbmFtZScsIGNmZy5idWlsZGNmZyk7Cl9wKDIsJ307JykKZW5kCmZ1bmN0aW9uIHhjb2RlLlhDQnVpbGRDb25maWd1cmF0aW9uKHRyKQpsb2NhbCBzZXR0aW5ncyA9IHt9CmZvciBfLCB0YXJnZXQgaW4gaXBhaXJzKHRyLnByb2R1Y3RzLmNoaWxkcmVuKSBkbwpmb3IgXywgY2ZnIGluIGlwYWlycyh0ci5jb25maWdzKSBkbwpzZXR0aW5nc1tjZmcueGNvZGUudGFyZ2V0aWRdID0gZnVuY3Rpb24oKQp4Y29kZS5YQ0J1aWxkQ29uZmlndXJhdGlvbl9UYXJnZXQodHIsIHRhcmdldCwgY2ZnKQplbmQKZW5kCmVuZApmb3IgXywgY2ZnIGluIGlwYWlycyh0ci5jb25maWdzKSBkbwpzZXR0aW5nc1tjZmcueGNvZGUucHJvamVjdGlkXSA9IGZ1bmN0aW9uKCkKeGNvZGUuWENCdWlsZENvbmZpZ3VyYXRpb25fUHJvamVjdCh0ciwgY2ZnKQplbmQKZW5kCmlmIG5vdCB0YWJsZS5pc2VtcHR5KHNldHRpbmdzKSB0aGVuCl9wKCcvKiBCZWdpbiBYQ0J1aWxkQ29uZmlndXJhdGlvbiBzZWN0aW9uICovJykKcHJpbnRTZXR0aW5nc1RhYmxlKDAsIHNldHRpbmdzKQpfcCgnLyogRW5kIFhDQnVpbGRDb25maWd1cmF0aW9uIHNlY3Rpb24gKi8nKQpfcCgnJykKZW5kCmVuZApmdW5jdGlvbiB4Y29kZS5YQ0J1aWxkQ29uZmlndXJhdGlvbkxpc3QodHIpCmxvY2FsIHdrcyA9IHRyLnByb2plY3Qud29ya3NwYWNlCmxvY2FsIGRlZmF1bHRDZmdOYW1lID0gc3RyaW5naWZ5U2V0dGluZyh0ci5jb25maWdzWzFdLmJ1aWxkY2ZnKQpsb2NhbCBzZXR0aW5ncyA9IHt9CmZvciBfLCB0YXJnZXQgaW4gaXBhaXJzKHRyLnByb2R1Y3RzLmNoaWxkcmVuKSBkbwpzZXR0aW5nc1t0YXJnZXQuY2Znc2VjdGlvbl0gPSBmdW5jdGlvbigpCl9wKDIsJyVzIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICIlcyIgKi8gPSB7JywgdGFyZ2V0LmNmZ3NlY3Rpb24sIHRhcmdldC5uYW1lKQpfcCgzLCdpc2EgPSBYQ0NvbmZpZ3VyYXRpb25MaXN0OycpCl9wKDMsJ2J1aWxkQ29uZmlndXJhdGlvbnMgPSAoJykKZm9yIF8sIGNmZyBpbiBpcGFpcnModHIuY29uZmlncykgZG8KX3AoNCwnJXMgLyogJXMgKi8sJywgY2ZnLnhjb2RlLnRhcmdldGlkLCBjZmcuYnVpbGRjZmcpCmVuZApfcCgzLCcpOycpCl9wKDMsJ2RlZmF1bHRDb25maWd1cmF0aW9uSXNWaXNpYmxlID0gMDsnKQpfcCgzLCdkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSAlczsnLCBkZWZhdWx0Q2ZnTmFtZSkKX3AoMiwnfTsnKQplbmQKZW5kCnNldHRpbmdzWycxREVCOTI4OTA4NzMzREQ4MDAxMEU5Q0QnXSA9IGZ1bmN0aW9uKCkKX3AoMiwnMURFQjkyODkwODczM0REODAwMTBFOUNEIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYUHJvamVjdCAiJXMiICovID0geycsIHRyLm5hbWUpCl9wKDMsJ2lzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7JykKX3AoMywnYnVpbGRDb25maWd1cmF0aW9ucyA9ICgnKQpmb3IgXywgY2ZnIGluIGlwYWlycyh0ci5jb25maWdzKSBkbwpfcCg0LCclcyAvKiAlcyAqLywnLCBjZmcueGNvZGUucHJvamVjdGlkLCBjZmcuYnVpbGRjZmcpCmVuZApfcCgzLCcpOycpCl9wKDMsJ2RlZmF1bHRDb25maWd1cmF0aW9uSXNWaXNpYmxlID0gMDsnKQpfcCgzLCdkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSAlczsnLCBkZWZhdWx0Q2ZnTmFtZSkKX3AoMiwnfTsnKQplbmQKX3AoJy8qIEJlZ2luIFhDQ29uZmlndXJhdGlvbkxpc3Qgc2VjdGlvbiAqLycpCnByaW50U2V0dGluZ3NUYWJsZSgyLCBzZXR0aW5ncykKX3AoJy8qIEVuZCBYQ0NvbmZpZ3VyYXRpb25MaXN0IHNlY3Rpb24gKi8nKQplbmQKAAAAAAAAbG9jYWwgcCA9IHByZW1ha2UKbG9jYWwgbSA9IHAubW9kdWxlcy54Y29kZQpsb2NhbCB4Y29kZSA9IHAubW9kdWxlcy54Y29kZQpsb2NhbCBwcm9qZWN0ID0gcC5wcm9qZWN0CmxvY2FsIGNvbmZpZyA9IHAuY29uZmlnCmxvY2FsIGZpbGVjb25maWcgPSBwLmZpbGVjb25maWcKbG9jYWwgdHJlZSA9IHAudHJlZQpmdW5jdGlvbiB4Y29kZS5idWlsZHByanRyZWUocHJqKQpsb2NhbCB0ciA9IHByb2plY3QuZ2V0c291cmNldHJlZShwcmosIG5pbCAsIGZhbHNlKQp0ci5wcm9qZWN0ID0gcHJqCnRyLmNvbmZpZ3MgPSB7fQpmb3IgY2ZnIGluIHByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCmNmZy54Y29kZSA9IHt9CmNmZy54Y29kZS50YXJnZXRpZCA9IHhjb2RlLm5ld2lkKHByai54Y29kZS5wcm9qZWN0bm9kZS5uYW1lLCBjZmcuYnVpbGRjZmcsICJ0YXJnZXQiKQpjZmcueGNvZGUucHJvamVjdGlkID0geGNvZGUubmV3aWQodHIubmFtZSwgY2ZnLmJ1aWxkY2ZnKQp0YWJsZS5pbnNlcnQodHIuY29uZmlncywgY2ZnKQplbmQKICAgICAgICAtLSBjb252ZXJ0IGxvY2FsaXplZCByZXNvdXJjZXMgZnJvbSB0aGVpciBmaWxlc3lzdGVtIGxheW91dCAoRW5nbGlzaC5scHJvai9NYWluTWVudS54aWIpCiB0cmVlLnRyYXZlcnNlKHRyLCB7CiBvbmJyYW5jaCA9IGZ1bmN0aW9uKG5vZGUpCiBpZiBwYXRoLmdldGV4dGVuc2lvbihub2RlLm5hbWUpID09ICIubHByb2oiIHRoZW4KIGxvY2FsIGxhbmcgPSBwYXRoLmdldGJhc2VuYW1lKG5vZGUubmFtZSkgIC0tICJFbmdsaXNoIiwgIkZyZW5jaCIsIGV0Yy4KIC0tIGNyZWF0ZSBhIG5ldyBsYW5ndWFnZSBncm91cCBmb3IgZWFjaCBmaWxlIGl0IGNvbnRhaW5zCiBmb3IgXywgZmlsZW5vZGUgaW4gaXBhaXJzKG5vZGUuY2hpbGRyZW4pIGRvCiBsb2NhbCBncnBub2RlID0gbm9kZS5wYXJlbnQuY2hpbGRyZW5bZmlsZW5vZGUubmFtZV0KIGlmIG5vdCBncnBub2RlIHRoZW4KIGdycG5vZGUgPSB0cmVlLmluc2VydChub2RlLnBhcmVudCwgdHJlZS5uZXcoZmlsZW5vZGUubmFtZSkpCiBncnBub2RlLmtpbmQgPSAidmdyb3VwIgogZW5kCiAtLSBjb252ZXJ0IHRoZSBmaWxlIG5vZGUgdG8gYSBsYW5ndWFnZSBub2RlIGFuZCBhZGQgdG8gdGhlIGdyb3VwCiBmaWxlbm9kZS5uYW1lID0gcGF0aC5nZXRiYXNlbmFtZShsYW5nKQogdHJlZS5pbnNlcnQoZ3Jwbm9kZSwgZmlsZW5vZGUpCiBlbmQKIHRyZWUucmVtb3ZlKG5vZGUpCiBlbmQKIGVuZAogfSkKICAgICAgICAtLSB0aGUgc3BlY2lhbCBmb2xkZXIgIkZyYW1ld29ya3MiIGxpc3RzIGFsbCBsaW5rZWQgZnJhbWV3b3Jrcwp0ci5mcmFtZXdvcmtzID0gdHJlZS5uZXcoIkZyYW1ld29ya3MiKQpmb3IgY2ZnIGluIHByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCmZvciBfLCBsaW5rIGluIGlwYWlycyhjb25maWcuZ2V0bGlua3MoY2ZnLCAic3lzdGVtIiwgImZ1bGxwYXRoIikpIGRvCmxvY2FsIG5hbWUgPSBwYXRoLmdldG5hbWUobGluaykKaWYgeGNvZGUuaXNmcmFtZXdvcmsobmFtZSkgYW5kIG5vdCB0ci5mcmFtZXdvcmtzLmNoaWxkcmVuW25hbWVdIHRoZW4Kbm9kZSA9IHRyZWUuaW5zZXJ0KHRyLmZyYW1ld29ya3MsIHRyZWUubmV3KG5hbWUpKQpub2RlLnBhdGggPSBsaW5rCiBlbmQKIGVuZAogZW5kCmlmICN0ci5mcmFtZXdvcmtzLmNoaWxkcmVuID4gMCB0aGVuCnRyZWUuaW5zZXJ0KHRyLCB0ci5mcmFtZXdvcmtzKQplbmQKIHRyLnByb2R1Y3RzID0gdHJlZS5pbnNlcnQodHIsIHRyZWUubmV3KCJQcm9kdWN0cyIpKQogdHIucHJvamVjdHMgPSB0cmVlLm5ldygiUHJvamVjdHMiKQogZm9yIF8sIGRlcCBpbiBpcGFpcnMocHJvamVjdC5nZXRkZXBlbmRlbmNpZXMocHJqLCAic2libGluZyIsICJvYmplY3QiKSkgZG8KIC0tIGNyZWF0ZSBhIGNoaWxkIG5vZGUgZm9yIHRoZSBkZXBlbmRlbmN5J3MgeGNvZGVwcm9qCiBsb2NhbCB4Y3BhdGggPSB4Y29kZS5nZXR4Y29kZXByb2puYW1lKGRlcCkKIGxvY2FsIHhjbm9kZSA9IHRyZWUuaW5zZXJ0KHRyLnByb2plY3RzLCB0cmVlLm5ldyhwYXRoLmdldG5hbWUoeGNwYXRoKSkpCiB4Y25vZGUucGF0aCA9IHhjcGF0aAogeGNub2RlLnByb2plY3QgPSBkZXAKIHhjbm9kZS5wcm9kdWN0Z3JvdXBpZCA9IHhjb2RlLm5ld2lkKHhjbm9kZS5uYW1lLCAicHJvZGdycCIpCiB4Y25vZGUucHJvZHVjdHByb3h5aWQgPSB4Y29kZS5uZXdpZCh4Y25vZGUubmFtZSwgInByb2Rwcm94IikKIHhjbm9kZS50YXJnZXRwcm94eWlkICA9IHhjb2RlLm5ld2lkKHhjbm9kZS5uYW1lLCAidGFyZ3Byb3giKQogeGNub2RlLnRhcmdldGRlcGVuZGlkID0geGNvZGUubmV3aWQoeGNub2RlLm5hbWUsICJ0YXJnZGVwIikKIGxvY2FsIGxwcmogPSBwcmVtYWtlLndvcmtzcGFjZS5maW5kcHJvamVjdChwcmoud29ya3NwYWNlLCBkZXAubmFtZSkKIGxvY2FsIGNmZyA9IHByb2plY3QuZmluZENsb3Nlc3RNYXRjaChscHJqLCBwcmouY29uZmlndXJhdGlvbnNbMV0pCiBub2RlID0gdHJlZS5pbnNlcnQoeGNub2RlLCB0cmVlLm5ldyhjZmcubGlua3RhcmdldC5uYW1lKSkKIG5vZGUucGF0aCA9IGNmZy5saW5rdGFyZ2V0LmZ1bGxwYXRoCiBub2RlLmNmZyA9IGNmZwplbmQKIGlmICN0ci5wcm9qZWN0cy5jaGlsZHJlbiA+IDAgdGhlbgogdHJlZS5pbnNlcnQodHIsIHRyLnByb2plY3RzKQogZW5kCiAgICAgICAgLS0gRmluYWwgc2V0dXAKIHRyZWUudHJhdmVyc2UodHIsIHsKIG9ubm9kZSA9IGZ1bmN0aW9uKG5vZGUpCiAtLSBhc3NpZ24gSURzIHRvIGV2ZXJ5IG5vZGUgaW4gdGhlIHRyZWUKIG5vZGUuaWQgPSB4Y29kZS5uZXdpZChub2RlLm5hbWUsIG5pbCwgbm9kZS5wYXRoKQogbm9kZS5pc1Jlc291cmNlID0geGNvZGUuaXNJdGVtUmVzb3VyY2UocHJqLCBub2RlKQogLS0gYXNzaWduIGJ1aWxkIElEcyB0byBidWlsZGFibGUgZmlsZXMKIGlmIHhjb2RlLmdldGJ1aWxkY2F0ZWdvcnkobm9kZSkgdGhlbgogbm9kZS5idWlsZGlkID0geGNvZGUubmV3aWQobm9kZS5uYW1lLCAiYnVpbGQiLCBub2RlLnBhdGgpCiBlbmQKIC0tIHJlbWVtYmVyIGtleSBmaWxlcyB0aGF0IGFyZSBuZWVkZWQgZWxzZXdoZXJlCiBpZiBzdHJpbmcuZW5kc3dpdGgobm9kZS5uYW1lLCAiSW5mby5wbGlzdCIpIHRoZW4KIHRyLmluZm9wbGlzdCA9IG5vZGUKIGVuZAogZW5kCiB9LCB0cnVlKQogICAgICAgIC0tIFBsdWcgaW4gdGhlIHByb2R1Y3Qgbm9kZSBpbnRvIHRoZSBQcm9kdWN0cyBmb2xkZXIgaW4gdGhlIHRyZWUuIFRoZSBub2RlCm5vZGUgPSB0cmVlLmluc2VydCh0ci5wcm9kdWN0cywgcHJqLnhjb2RlLnByb2plY3Rub2RlKQpub2RlLmtpbmQgPSAicHJvZHVjdCIKbm9kZS5wYXRoID0gbm9kZS5jZmcuYnVpbGR0YXJnZXQuZnVsbHBhdGgKbm9kZS5jZmdzZWN0aW9uID0geGNvZGUubmV3aWQobm9kZS5uYW1lLCAiY2ZnIikKbm9kZS5yZXNzdGFnZWlkID0geGNvZGUubmV3aWQobm9kZS5uYW1lLCAicmV6IikKbm9kZS5zb3VyY2VzaWQgID0geGNvZGUubmV3aWQobm9kZS5uYW1lLCAic3JjIikKbm9kZS5meHN0YWdlaWQgID0geGNvZGUubmV3aWQobm9kZS5uYW1lLCAiZnhzIikKcmV0dXJuIHRyCmVuZAptLmVsZW1lbnRzLnByb2plY3QgPSBmdW5jdGlvbihwcmopCnJldHVybiB7Cm0uaGVhZGVyLAp9CmVuZApmdW5jdGlvbiBtLmdlbmVyYXRlUHJvamVjdChwcmopCmxvY2FsIHRyID0geGNvZGUuYnVpbGRwcmp0cmVlKHByaikKcC5jYWxsQXJyYXkobS5lbGVtZW50cy5wcm9qZWN0LCBwcmopCnhjb2RlLlBCWEJ1aWxkRmlsZSh0cikKeGNvZGUuUEJYQ29udGFpbmVySXRlbVByb3h5KHRyKQp4Y29kZS5QQlhGaWxlUmVmZXJlbmNlKHRyKQp4Y29kZS5QQlhGcmFtZXdvcmtzQnVpbGRQaGFzZSh0cikKeGNvZGUuUEJYR3JvdXAodHIpCnhjb2RlLlBCWE5hdGl2ZVRhcmdldCh0cikKeGNvZGUuUEJYUHJvamVjdCh0cikKeGNvZGUuUEJYUmVmZXJlbmNlUHJveHkodHIpCnhjb2RlLlBCWFJlc291cmNlc0J1aWxkUGhhc2UodHIpCnhjb2RlLlBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZSh0cikKeGNvZGUuUEJYU291cmNlc0J1aWxkUGhhc2UodHIpCnhjb2RlLlBCWFRhcmdldERlcGVuZGVuY3kodHIpCnhjb2RlLlBCWFZhcmlhbnRHcm91cCh0cikKeGNvZGUuWENCdWlsZENvbmZpZ3VyYXRpb24odHIpCnhjb2RlLlhDQnVpbGRDb25maWd1cmF0aW9uTGlzdCh0cikKeGNvZGUuZm9vdGVyKHByaikKZW5kCmZ1bmN0aW9uIG0uaGVhZGVyKHByaikKcC53KCcvLyAhJCpVVEY4KiQhJykKcC5wdXNoKCd7JykKcC53KCdhcmNoaXZlVmVyc2lvbiA9IDE7JykKcC53KCdjbGFzc2VzID0geycpCnAudygnfTsnKQpwLncoJ29iamVjdFZlcnNpb24gPSA0NjsnKQpwLnB1c2goJ29iamVjdHMgPSB7JykKcC53KCkKZW5kCmZ1bmN0aW9uIHhjb2RlLmZvb3RlcihwcmopCnAucG9wKCd9OycpCnAudygncm9vdE9iamVjdCA9IDA4RkI3NzkzRkU4NDE1NURDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAqLzsnKQpwLnBvcCgnfScpCmVuZAoAbG9jYWwgc2hvcnRoZWxwICAgICA9ICJUeXBlICdwcmVtYWtlNSAtLWhlbHAnIGZvciBoZWxwIgpsb2NhbCB2ZXJzaW9uaGVscCAgID0gInByZW1ha2U1IChQcmVtYWtlIEJ1aWxkIFNjcmlwdCBHZW5lcmF0b3IpICVzIgpsb2NhbCBzdGFydFRpbWUgICAgID0gb3MuY2xvY2soKQpfUFJFTUFLRV9TVEFSVFRJTUUgPSBzdGFydFRpbWUKbG9jYWwgbW9kdWxlcyA9IGRvZmlsZSgiX21vZHVsZXMubHVhIikKbG9jYWwgbWFuaWZlc3QgPSBkb2ZpbGUoIl9tYW5pZmVzdC5sdWEiKQpmb3IgaSA9IDEsICNtYW5pZmVzdCBkbwpkb2ZpbGUobWFuaWZlc3RbaV0pCmVuZApsb2NhbCBwID0gcHJlbWFrZQpwLm1haW4gPSB7fQpsb2NhbCBtID0gcC5tYWluCm0uX3ByZWxvYWRlZCA9IHt9CmZ1bmN0aW9uIG0uaW5zdGFsbE1vZHVsZUxvYWRlcigpCnRhYmxlLmluc2VydChwYWNrYWdlLmxvYWRlcnMsIDIsIG0ubW9kdWxlTG9hZGVyKQplbmQKZnVuY3Rpb24gbS5tb2R1bGVMb2FkZXIobmFtZSkKbG9jYWwgZGlyID0gcGF0aC5nZXRkaXJlY3RvcnkobmFtZSkKbG9jYWwgYmFzZSA9IHBhdGguZ2V0bmFtZShuYW1lKQppZiBkaXIgfj0gIi4iIHRoZW4KZGlyID0gZGlyIC4uICIvIiAuLiBiYXNlCmVsc2UKZGlyID0gYmFzZQplbmQKbG9jYWwgZnVsbCA9IGRpciAuLiAiLyIgLi4gYmFzZSAuLiAiLmx1YSIKbG9jYWwgcGF0aHMgPSB7CiJtb2R1bGVzLyIgLi4gZnVsbCwKZnVsbCwKbmFtZSAuLiAiLmx1YSIKfQpmb3IgXywgcCBpbiBpcGFpcnMocGF0aHMpIGRvCmxvY2FsIGZpbGUgPSBvcy5sb2NhdGUocCkKaWYgZmlsZSB0aGVuCmxvY2FsIGNodW5rLCBlcnIgPSBsb2FkZmlsZShmaWxlKQppZiBjaHVuayB0aGVuCnJldHVybiBjaHVuawplbmQKaWYgZXJyIHRoZW4KcmV0dXJuICJcblx0bG9hZCBlcnJvciAiIC4uIGVycgplbmQKZW5kCmVuZApmb3IgXywgcCBpbiBpcGFpcnMocGF0aHMpIGRvCmxvY2FsIGNodW5rLCBlcnIgPSBsb2FkZmlsZSgiJC8iIC4uIHApCmlmIGNodW5rIHRoZW4KcmV0dXJuIGNodW5rCmVuZAplbmQKZW5kCmZ1bmN0aW9uIG0ucHJlcGFyZUVudmlyb25tZW50KCkKbWF0aC5yYW5kb21zZWVkKG9zLnRpbWUoKSkKX1BSRU1BS0VfRElSID0gcGF0aC5nZXRkaXJlY3RvcnkoX1BSRU1BS0VfQ09NTUFORCkKcHJlbWFrZS5wYXRoID0gcHJlbWFrZS5wYXRoIC4uICI7IiAuLiBfUFJFTUFLRV9ESVIgLi4gIjsiIC4uIF9NQUlOX1NDUklQVF9ESVIKZW5kCmZ1bmN0aW9uIG0ucHJlbG9hZE1vZHVsZXMoKQpmb3IgaSA9IDEsICNtb2R1bGVzIGRvCmxvY2FsIG5hbWUgPSBtb2R1bGVzW2ldCmxvY2FsIHByZWxvYWRlciA9IG5hbWUgLi4gIi9fcHJlbG9hZC5sdWEiCnByZWxvYWRlciA9IG9zLmxvY2F0ZSgibW9kdWxlcy8iIC4uIHByZWxvYWRlcikgb3Igb3MubG9jYXRlKHByZWxvYWRlcikKaWYgcHJlbG9hZGVyIHRoZW4KbS5fcHJlbG9hZGVkW25hbWVdID0gaW5jbHVkZShwcmVsb2FkZXIpCmlmIG5vdCBtLl9wcmVsb2FkZWRbbmFtZV0gdGhlbgpwLndhcm4oIm1vZHVsZSAnJXMnIHNob3VsZCByZXR1cm4gZnVuY3Rpb24gZnJvbSBfcHJlbG9hZC5sdWEiLCBuYW1lKQplbmQKZWxzZQpyZXF1aXJlKG5hbWUpCmVuZAplbmQKZW5kCmZ1bmN0aW9uIG0ucnVuU3lzdGVtU2NyaXB0KCkKZG9maWxlb3B0KF9PUFRJT05TWyJzeXN0ZW1zY3JpcHQiXSBvciB7ICJwcmVtYWtlNS1zeXN0ZW0ubHVhIiwgInByZW1ha2Utc3lzdGVtLmx1YSIgfSkKZmlsdGVyIHt9CmVuZApmdW5jdGlvbiBtLmxvY2F0ZVVzZXJTY3JpcHQoKQpsb2NhbCBkZWZhdWx0cyA9IHsgInByZW1ha2U1Lmx1YSIsICJwcmVtYWtlNC5sdWEiIH0KZm9yIGkgPSAxLCAjZGVmYXVsdHMgZG8KaWYgb3MuaXNmaWxlKGRlZmF1bHRzW2ldKSB0aGVuCl9NQUlOX1NDUklQVCA9IGRlZmF1bHRzW2ldCmJyZWFrCmVuZAplbmQKaWYgbm90IF9NQUlOX1NDUklQVCB0aGVuCl9NQUlOX1NDUklQVCA9IGRlZmF1bHRzWzFdCmVuZAppZiBfT1BUSU9OUy5maWxlIHRoZW4KX01BSU5fU0NSSVBUID0gX09QVElPTlMuZmlsZQplbmQKX01BSU5fU0NSSVBUID0gcGF0aC5nZXRhYnNvbHV0ZShfTUFJTl9TQ1JJUFQpCl9NQUlOX1NDUklQVF9ESVIgPSBwYXRoLmdldGRpcmVjdG9yeShfTUFJTl9TQ1JJUFQpCmVuZApmdW5jdGlvbiBtLnByZXBhcmVBY3Rpb24oKQppZiBfQUNUSU9OIGFuZCBfQUNUSU9OOmVuZHN3aXRoKCJuZyIpIHRoZW4KcHJlbWFrZS53YXJuT25jZShfQUNUSU9OLCAiJyVzJyBoYXMgYmVlbiBkZXByZWNhdGVkOyB1c2UgJyVzJyBpbnN0ZWFkIiwgX0FDVElPTiwgX0FDVElPTjpzdWIoMSwgLTMpKQplbmQKcHJlbWFrZS5hY3Rpb24uc2V0KF9BQ1RJT04pCmVuZApmdW5jdGlvbiBtLnJ1blVzZXJTY3JpcHQoKQppZiBvcy5pc2ZpbGUoX01BSU5fU0NSSVBUKSB0aGVuCmRvZmlsZShfTUFJTl9TQ1JJUFQpCmVuZAplbmQKZnVuY3Rpb24gbS5jaGVja0ludGVyYWN0aXZlKCkKaWYgX09QVElPTlMuaW50ZXJhY3RpdmUgdGhlbgpkZWJ1Zy5wcm9tcHQoKQplbmQKZW5kCmZ1bmN0aW9uIG0ucHJvY2Vzc0NvbW1hbmRMaW5lKCkKaWYgKF9PUFRJT05TWyJ2ZXJzaW9uIl0pIHRoZW4KcHJpbnRmKHZlcnNpb25oZWxwLCBfUFJFTUFLRV9WRVJTSU9OKQpvcy5leGl0KDApCmVuZAppZiAoX09QVElPTlNbImhlbHAiXSkgdGhlbgpwcmVtYWtlLnNob3doZWxwKCkKb3MuZXhpdCgxKQplbmQKb2ssIGVyciA9IHByZW1ha2Uub3B0aW9uLnZhbGlkYXRlKF9PUFRJT05TKQppZiBub3Qgb2sgdGhlbgpwcmludCgiRXJyb3I6ICIgLi4gZXJyKQpvcy5leGl0KDEpCmVuZAppZiBub3QgX09QVElPTlMuaW50ZXJhY3RpdmUgdGhlbgppZiBub3QgX0FDVElPTiB0aGVuCnByaW50KHNob3J0aGVscCkKb3MuZXhpdCgxKQplbmQKbG9jYWwgYWN0aW9uID0gcHJlbWFrZS5hY3Rpb24uY3VycmVudCgpCmlmIG5vdCBhY3Rpb24gdGhlbgpwcmludCgiRXJyb3I6IG5vIHN1Y2ggYWN0aW9uICciIC4uIF9BQ1RJT04gLi4gIiciKQpvcy5leGl0KDEpCmVuZAppZiBwLmFjdGlvbi5pc0NvbmZpZ3VyYWJsZSgpIGFuZCBub3Qgb3MuaXNmaWxlKF9NQUlOX1NDUklQVCkgdGhlbgpwcmludChzdHJpbmcuZm9ybWF0KCJObyBQcmVtYWtlIHNjcmlwdCAoJXMpIGZvdW5kISIsIHBhdGguZ2V0bmFtZShfTUFJTl9TQ1JJUFQpKSkKb3MuZXhpdCgxKQplbmQKZW5kCmVuZApmdW5jdGlvbiBtLnByZUJha2UoKQppZiBwLmFjdGlvbi5pc0NvbmZpZ3VyYWJsZSgpIHRoZW4KcHJpbnQoIkJ1aWxkaW5nIGNvbmZpZ3VyYXRpb25zLi4uIikKZW5kCmVuZApmdW5jdGlvbiBtLmJha2UoKQppZiBwLmFjdGlvbi5pc0NvbmZpZ3VyYWJsZSgpIHRoZW4KcHJlbWFrZS5vdmVuLmJha2UoKQplbmQKZW5kCmZ1bmN0aW9uIG0ucG9zdEJha2UoKQpsb2NhbCBmdW5jdGlvbiBzaG91bGRMb2FkKGZ1bmMpCmZvciB3a3MgaW4gcC5nbG9iYWwuZWFjaFdvcmtzcGFjZSgpIGRvCmZvciBwcmogaW4gcC53b3Jrc3BhY2UuZWFjaHByb2plY3Qod2tzKSBkbwpmb3IgY2ZnIGluIHAucHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KaWYgZnVuYyhjZmcpIHRoZW4KcmV0dXJuIHRydWUKZW5kCmVuZAplbmQKZW5kCmVuZApmb3IgbW9kdWxlLCBmdW5jIGluIHBhaXJzKG0uX3ByZWxvYWRlZCkgZG8KaWYgbm90IHBhY2thZ2UubG9hZGVkW21vZHVsZV0gYW5kIHNob3VsZExvYWQoZnVuYykgdGhlbgpyZXF1aXJlKG1vZHVsZSkKZW5kCmVuZAplbmQKZnVuY3Rpb24gbS52YWxpZGF0ZSgpCmlmIHAuYWN0aW9uLmlzQ29uZmlndXJhYmxlKCkgdGhlbgpwLmNvbnRhaW5lci52YWxpZGF0ZShwLmFwaS5yb290Q29udGFpbmVyKCkpCmVuZAplbmQKZnVuY3Rpb24gbS5wcmVBY3Rpb24oKQpsb2NhbCBhY3Rpb24gPSBwcmVtYWtlLmFjdGlvbi5jdXJyZW50KCkKcHJpbnRmKCJSdW5uaW5nIGFjdGlvbiAnJXMnLi4uIiwgYWN0aW9uLnRyaWdnZXIpCmVuZApmdW5jdGlvbiBtLmNhbGxBY3Rpb24oKQpsb2NhbCBhY3Rpb24gPSBwcmVtYWtlLmFjdGlvbi5jdXJyZW50KCkKcHJlbWFrZS5hY3Rpb24uY2FsbChhY3Rpb24udHJpZ2dlcikKZW5kCmZ1bmN0aW9uIG0ucG9zdEFjdGlvbigpCmlmIHAuYWN0aW9uLmlzQ29uZmlndXJhYmxlKCkgdGhlbgpsb2NhbCBkdXJhdGlvbiA9IG1hdGguZmxvb3IoKG9zLmNsb2NrKCkgLSBzdGFydFRpbWUpICogMTAwMCk7CnByaW50ZigiRG9uZSAoJWRtcykuIiwgZHVyYXRpb24pCmVuZAplbmQKbS5lbGVtZW50cyA9IHsKbS5pbnN0YWxsTW9kdWxlTG9hZGVyLAptLmxvY2F0ZVVzZXJTY3JpcHQsCm0ucHJlcGFyZUVudmlyb25tZW50LAptLnByZWxvYWRNb2R1bGVzLAptLnJ1blN5c3RlbVNjcmlwdCwKbS5wcmVwYXJlQWN0aW9uLAptLnJ1blVzZXJTY3JpcHQsCm0uY2hlY2tJbnRlcmFjdGl2ZSwKbS5wcm9jZXNzQ29tbWFuZExpbmUsCm0ucHJlQmFrZSwKbS5iYWtlLAptLnBvc3RCYWtlLAptLnZhbGlkYXRlLAptLnByZUFjdGlvbiwKbS5jYWxsQWN0aW9uLAptLnBvc3RBY3Rpb24sCn0KZnVuY3Rpb24gX3ByZW1ha2VfbWFpbigpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMpCnJldHVybiAwCmVuZAoAAAAAAAByZXR1cm4KewoiYmFzZS9fZm91bmRhdGlvbi5sdWEiLAoiYmFzZS9zdHJpbmcubHVhIiwKImJhc2UvdGFibGUubHVhIiwKImJhc2UvcGF0aC5sdWEiLAoiYmFzZS9vcy5sdWEiLAoiYmFzZS9pby5sdWEiLAoiYmFzZS90b29scy5sdWEiLAoiYmFzZS90cmVlLmx1YSIsCiJiYXNlL2dsb2JhbHMubHVhIiwKImJhc2Uvc2VtdmVyLmx1YSIsCiJiYXNlL2ZpZWxkLmx1YSIsCiJiYXNlL2NyaXRlcmlhLmx1YSIsCiJiYXNlL2RldG9rZW4ubHVhIiwKImJhc2UvY29uZmlnc2V0Lmx1YSIsCiJiYXNlL2NvbnRleHQubHVhIiwKImJhc2UvY29udGFpbmVyLmx1YSIsCiJiYXNlL29wdGlvbi5sdWEiLAoiYmFzZS9hY3Rpb24ubHVhIiwKImJhc2UvYXBpLmx1YSIsCiJiYXNlL2dsb2JhbC5sdWEiLAoiYmFzZS93b3Jrc3BhY2UubHVhIiwKImJhc2UvZ3JvdXAubHVhIiwKImJhc2UvcHJvamVjdC5sdWEiLAoiYmFzZS9jb25maWcubHVhIiwKImJhc2UvZmlsZWNvbmZpZy5sdWEiLAoiYmFzZS9ydWxlLmx1YSIsCiJiYXNlL292ZW4ubHVhIiwKImJhc2UvdmFsaWRhdGlvbi5sdWEiLAoiYmFzZS9wcmVtYWtlLmx1YSIsCiJiYXNlL2hlbHAubHVhIiwKInRvb2xzL2RvdG5ldC5sdWEiLAoidG9vbHMvZ2NjLmx1YSIsCiJ0b29scy9tc2MubHVhIiwKInRvb2xzL3NuYy5sdWEiLAoidG9vbHMvY2xhbmcubHVhIiwKImFjdGlvbnMvbWFrZS9fbWFrZS5sdWEiLAoiYWN0aW9ucy9tYWtlL21ha2Vfd29ya3NwYWNlLmx1YSIsCiJhY3Rpb25zL21ha2UvbWFrZV9jcHAubHVhIiwKImFjdGlvbnMvbWFrZS9tYWtlX2NzaGFycC5sdWEiLAoiYWN0aW9ucy9tYWtlL21ha2VfdXRpbGl0eS5sdWEiLAoiYWN0aW9ucy9tYWtlL21ha2VfbWFrZWZpbGUubHVhIiwKImFjdGlvbnMvdnN0dWRpby9fdnN0dWRpby5sdWEiLAoiYWN0aW9ucy92c3R1ZGlvL3ZzMjAwNS5sdWEiLAoiYWN0aW9ucy92c3R1ZGlvL3ZzMjAwOC5sdWEiLAoiYWN0aW9ucy92c3R1ZGlvL3ZzMjAweF92Y3Byb2oubHVhIiwKImFjdGlvbnMvdnN0dWRpby92czIwMHhfdmNwcm9qX3VzZXIubHVhIiwKImFjdGlvbnMvdnN0dWRpby92czIwMDVfc29sdXRpb24ubHVhIiwKImFjdGlvbnMvdnN0dWRpby92czIwMDVfY3Nwcm9qLmx1YSIsCiJhY3Rpb25zL3ZzdHVkaW8vdnMyMDA1X2NzcHJval91c2VyLmx1YSIsCiJhY3Rpb25zL3ZzdHVkaW8vdnMyMDEwLmx1YSIsCiJhY3Rpb25zL3ZzdHVkaW8vdnMyMDEwX3ZjeHByb2oubHVhIiwKImFjdGlvbnMvdnN0dWRpby92czIwMTBfdmN4cHJval91c2VyLmx1YSIsCiJhY3Rpb25zL3ZzdHVkaW8vdnMyMDEwX3ZjeHByb2pfZmlsdGVycy5sdWEiLAoiYWN0aW9ucy92c3R1ZGlvL3ZzMjAxMF9ydWxlc19wcm9wcy5sdWEiLAoiYWN0aW9ucy92c3R1ZGlvL3ZzMjAxMF9ydWxlc190YXJnZXRzLmx1YSIsCiJhY3Rpb25zL3ZzdHVkaW8vdnMyMDEwX3J1bGVzX3htbC5sdWEiLAoiYWN0aW9ucy92c3R1ZGlvL3ZzMjAxMi5sdWEiLAoiYWN0aW9ucy92c3R1ZGlvL3ZzMjAxMy5sdWEiLAoiYWN0aW9ucy92c3R1ZGlvL3ZzMjAxNS5sdWEiLAoiYWN0aW9ucy9jbGVhbi9fY2xlYW4ubHVhIiwKIl9wcmVtYWtlX2luaXQubHVhIiwKfQoAcmV0dXJuIHsieGNvZGUiLCAibW9ub2RldmVsb3AiLCAiY29kZWxpdGUiLCAiZCJ93BtGAPgbRgBJEAAA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DAwMDAwMDAwNDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PAAAQERISExMUFBQUFRUVFRYWFhYWFhYWFxcXFxcXFxcYGBgYGBgYGBgYGBgYGBgYGRkZGRkZGRkZGRkZGRkZGRoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxscHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHQABAgMEBQYHCAgJCQoKCwsMDAwMDQ0NDQ4ODg4PDw8PEBAQEBAQEBARERERERERERISEhISEhISExMTExMTExMUFBQUFBQUFBQUFBQUFBQUFRUVFRUVFRUVFRUVFRUVFRYWFhYWFhYWFhYWFhYWFhYXFxcXFxcXFxcXFxcXFxcXGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxwAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAAAAAEAAIABAAAAAgAAAAMAAAAEAAAABgAAAAgAAAAMAAAAEAAAABgAAAAgAAAAMAAAAEAAAABgAABpbmNvbXBhdGlibGUgdmVyc2lvbgAAAABidWZmZXIgZXJyb3IAAAAAaW5zdWZmaWNpZW50IG1lbW9yeQBkYXRhIGVycm9yAABzdHJlYW0gZXJyb3IAAAAAZmlsZSBlcnJvcgAAc3RyZWFtIGVuZAAAbmVlZCBkaWN0aW9uYXJ5ANg/TADMP0wAs+JFAMA/TACwP0wApD9MAJA/TACAP0wAaD9MALPiRQAgaW5mbGF0ZSAxLjIuOCBDb3B5cmlnaHQgMTk5NS0yMDEzIE1hcmsgQWRsZXIgAAADAAQABQAGAAcACAAJAAoACwANAA8AEQATABcAGwAfACMAKwAzADsAQwBTAGMAcwCDAKMAwwDjAAIBAAAAAAAAEAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgATABMAEwATABQAFAAUABQAFQAVABUAFQAQAEgATgAAAAEAAgADAAQABQAHAAkADQARABkAIQAxAEEAYQCBAMEAAQGBAQECAQMBBAEGAQgBDAEQARgBIAEwAUABYAAAAAAQABAAEAAQABEAEQASABIAEwATABQAFAAVABUAFgAWABcAFwAYABgAGQAZABoAGgAbABsAHAAcAB0AHQBAAEAAMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6AAAAADAxMjM0NTY3ODlBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWgAAAAAobmlsKQAAAChuaWwpAAAASTY0AEkzMgAuJWxkAAAAACVsZABlYXN5IGhhbmRsZSBhbHJlYWR5IHVzZWQgaW4gbXVsdGkgaGFuZGxlAAAAAFVua25vd24gZXJyb3IAAABTU0wgc2VydmVyIGNlcnRpZmljYXRlIHN0YXR1cyB2ZXJpZmljYXRpb24gRkFJTEVEAAAAU1NMIHB1YmxpYyBrZXkgZG9lcyBub3QgbWF0Y2ggcGlubmVkIHB1YmxpYyBrZXkAVGhlIG1heCBjb25uZWN0aW9uIGxpbWl0IGlzIHJlYWNoZWQAQ2h1bmsgY2FsbGJhY2sgZmFpbGVkAAAAVW5hYmxlIHRvIHBhcnNlIEZUUCBmaWxlIGxpc3QAAABSVFNQIHNlc3Npb24gZXJyb3IAAFJUU1AgQ1NlcSBtaXNtYXRjaCBvciBpbnZhbGlkIENTZXEAAFNvY2tldCBub3QgcmVhZHkgZm9yIHNlbmQvcmVjdgAARXJyb3IgaW4gdGhlIFNTSCBsYXllcgAAUmVtb3RlIGZpbGUgbm90IGZvdW5kAAAAQ2FsbGVyIG11c3QgcmVnaXN0ZXIgQ1VSTE9QVF9DT05WXyBjYWxsYmFjayBvcHRpb25zAENvbnZlcnNpb24gZmFpbGVkAAAAVEZUUDogTm8gc3VjaCB1c2VyAABSZW1vdGUgZmlsZSBhbHJlYWR5IGV4aXN0cwAAVEZUUDogVW5rbm93biB0cmFuc2ZlciBJRAAAAFRGVFA6IElsbGVnYWwgb3BlcmF0aW9uAERpc2sgZnVsbCBvciBhbGxvY2F0aW9uIGV4Y2VlZGVkAAAAAFRGVFA6IEFjY2VzcyBWaW9sYXRpb24AAFRGVFA6IEZpbGUgTm90IEZvdW5kAAAAAExvZ2luIGRlbmllZAAAAABTZW5kIGZhaWxlZCBzaW5jZSByZXdpbmRpbmcgb2YgdGhlIGRhdGEgc3RyZWFtIGZhaWxlZAAAAElzc3VlciBjaGVjayBhZ2FpbnN0IHBlZXIgY2VydGlmaWNhdGUgZmFpbGVkAAAAAEZhaWxlZCB0byBsb2FkIENSTCBmaWxlIChwYXRoPyBhY2Nlc3MgcmlnaHRzPywgZm9ybWF0PykARmFpbGVkIHRvIHNodXQgZG93biB0aGUgU1NMIGNvbm5lY3Rpb24AAFJlcXVlc3RlZCBTU0wgbGV2ZWwgZmFpbGVkAABNYXhpbXVtIGZpbGUgc2l6ZSBleGNlZWRlZAAASW52YWxpZCBMREFQIFVSTAAAAABVbnJlY29nbml6ZWQgb3IgYmFkIEhUVFAgQ29udGVudCBvciBUcmFuc2Zlci1FbmNvZGluZwAAAFByb2JsZW0gd2l0aCB0aGUgU1NMIENBIGNlcnQgKHBhdGg/IGFjY2VzcyByaWdodHM/KQBQZWVyIGNlcnRpZmljYXRlIGNhbm5vdCBiZSBhdXRoZW50aWNhdGVkIHdpdGggZ2l2ZW4gQ0EgY2VydGlmaWNhdGVzAENvdWxkbid0IHVzZSBzcGVjaWZpZWQgU1NMIGNpcGhlcgAAAFByb2JsZW0gd2l0aCB0aGUgbG9jYWwgU1NMIGNlcnRpZmljYXRlAABGYWlsdXJlIHdoZW4gcmVjZWl2aW5nIGRhdGEgZnJvbSB0aGUgcGVlcgAAAEZhaWxlZCBzZW5kaW5nIGRhdGEgdG8gdGhlIHBlZXIARmFpbGVkIHRvIGluaXRpYWxpc2UgU1NMIGNyeXB0byBlbmdpbmUAAENhbiBub3Qgc2V0IFNTTCBjcnlwdG8gZW5naW5lIGFzIGRlZmF1bHQAAAAAU1NMIGNyeXB0byBlbmdpbmUgbm90IGZvdW5kAFNlcnZlciByZXR1cm5lZCBub3RoaW5nIChubyBoZWFkZXJzLCBubyBkYXRhKQAAAFNTTCBwZWVyIGNlcnRpZmljYXRlIG9yIFNTSCByZW1vdGUga2V5IHdhcyBub3QgT0sAAABNYWxmb3JtZWQgdGVsbmV0IG9wdGlvbgBBbiB1bmtub3duIG9wdGlvbiB3YXMgcGFzc2VkIGluIHRvIGxpYmN1cmwAAE51bWJlciBvZiByZWRpcmVjdHMgaGl0IG1heGltdW0gYW1vdW50AABGYWlsZWQgYmluZGluZyBsb2NhbCBjb25uZWN0aW9uIGVuZABBIGxpYmN1cmwgZnVuY3Rpb24gd2FzIGdpdmVuIGEgYmFkIGFyZ3VtZW50AE9wZXJhdGlvbiB3YXMgYWJvcnRlZCBieSBhbiBhcHBsaWNhdGlvbiBjYWxsYmFjawAAAABBIHJlcXVpcmVkIGZ1bmN0aW9uIGluIHRoZSBsaWJyYXJ5IHdhcyBub3QgZm91bmQAAAAATERBUDogc2VhcmNoIGZhaWxlZABMREFQOiBjYW5ub3QgYmluZAAAAENvdWxkbid0IHJlYWQgYSBmaWxlOi8vIGZpbGUAAAAAQ291bGRuJ3QgcmVzdW1lIGRvd25sb2FkAAAAAFNTTCBjb25uZWN0IGVycm9yAAAASW50ZXJuYWwgcHJvYmxlbSBzZXR0aW5nIHVwIHRoZSBQT1NUAAAAAFJlcXVlc3RlZCByYW5nZSB3YXMgbm90IGRlbGl2ZXJlZCBieSB0aGUgc2VydmVyAEZUUDogY29tbWFuZCBSRVNUIGZhaWxlZAAAAABGVFA6IGNvbW1hbmQgUE9SVCBmYWlsZWQAAAAAVGltZW91dCB3YXMgcmVhY2hlZABPdXQgb2YgbWVtb3J5AAAARmFpbGVkIHRvIG9wZW4vcmVhZCBsb2NhbCBkYXRhIGZyb20gZmlsZS9hcHBsaWNhdGlvbgAAAABVcGxvYWQgZmFpbGVkIChhdCBzdGFydC9iZWZvcmUgaXQgdG9vayBvZmYpAEZhaWxlZCB3cml0aW5nIHJlY2VpdmVkIGRhdGEgdG8gZGlzay9hcHBsaWNhdGlvbgAAAABIVFRQIHJlc3BvbnNlIGNvZGUgc2FpZCBlcnJvcgAAAFF1b3RlIGNvbW1hbmQgcmV0dXJuZWQgZXJyb3IAAAAARlRQOiBjb3VsZG4ndCByZXRyaWV2ZSAoUkVUUiBmYWlsZWQpIHRoZSBzcGVjaWZpZWQgZmlsZQBUcmFuc2ZlcnJlZCBhIHBhcnRpYWwgZmlsZQAARlRQOiBjb3VsZG4ndCBzZXQgZmlsZSB0eXBlAEVycm9yIGluIHRoZSBIVFRQMiBmcmFtaW5nIGxheWVyAAAAAEZUUDogY2FuJ3QgZmlndXJlIG91dCB0aGUgaG9zdCBpbiB0aGUgUEFTViByZXNwb25zZQBGVFA6IHVua25vd24gMjI3IHJlc3BvbnNlIGZvcm1hdAAAAABGVFA6IHVua25vd24gUEFTViByZXBseQBGVFA6IHVua25vd24gUEFTUyByZXBseQBGVFA6IFRoZSBzZXJ2ZXIgZGlkIG5vdCBhY2NlcHQgdGhlIFBSRVQgY29tbWFuZC4AAAAARlRQOiBBY2NlcHRpbmcgc2VydmVyIGNvbm5lY3QgaGFzIHRpbWVkIG91dABGVFA6IFRoZSBzZXJ2ZXIgZmFpbGVkIHRvIGNvbm5lY3QgdG8gZGF0YSBwb3J0AABBY2Nlc3MgZGVuaWVkIHRvIHJlbW90ZSByZXNvdXJjZQAAAABGVFA6IHdlaXJkIHNlcnZlciByZXBseQBDb3VsZG4ndCBjb25uZWN0IHRvIHNlcnZlcgAAQ291bGRuJ3QgcmVzb2x2ZSBob3N0IG5hbWUAAENvdWxkbid0IHJlc29sdmUgcHJveHkgbmFtZQAAAAAAQSByZXF1ZXN0ZWQgZmVhdHVyZSwgcHJvdG9jb2wgb3Igb3B0aW9uIHdhcyBub3QgZm91bmQgYnVpbHQtaW4gaW4gdGhpcyBsaWJjdXJsIGR1ZSB0byBhIGJ1aWxkLXRpbWUgZGVjaXNpb24uAAAAAFVSTCB1c2luZyBiYWQvaWxsZWdhbCBmb3JtYXQgb3IgbWlzc2luZyBVUkwARmFpbGVkIGluaXRpYWxpemF0aW9uAAAAVW5zdXBwb3J0ZWQgcHJvdG9jb2wAAAAASG9zdCBub3QgZm91bmQAAEhvc3Qgbm90IGZvdW5kLCB0cnkgYWdhaW4AAABVbnJlY292ZXJhYmxlIGVycm9yIGluIGNhbGwgdG8gbmFtZXNlcnZlcgAAAE5vIGRhdGEgcmVjb3JkIG9mIHJlcXVlc3RlZCB0eXBlAAAAAERpc2Nvbm5lY3RlZAAAAABXaW5zb2NrIHZlcnNpb24gbm90IHN1cHBvcnRlZAAAAFdpbnNvY2sgbGlicmFyeSBub3QgaW5pdGlhbGlzZWQAV2luc29jayBsaWJyYXJ5IGlzIG5vdCByZWFkeQAAAABSZW1vdGUgZXJyb3IAAAAAU29tZXRoaW5nIGlzIHN0YWxlAABCYWQgcXVvdGEAAABUb28gbWFueSB1c2VycwAAUHJvY2VzcyBsaW1pdCByZWFjaGVkAAAATm90IGVtcHR5AAAASG9zdCB1bnJlYWNoYWJsZQAAAABIb3N0IGRvd24AAABOYW1lIHRvbyBsb25nAAAATG9vcD8/AABDb25uZWN0aW9uIHJlZnVzZWQAAFRpbWVkIG91dAAAAFRvbyBtYW55IHJlZmVyZW5jZXMAU29ja2V0IGhhcyBiZWVuIHNodXQgZG93bgAAAFNvY2tldCBpcyBub3QgY29ubmVjdGVkAFNvY2tldCBpcyBhbHJlYWR5IGNvbm5lY3RlZABObyBidWZmZXIgc3BhY2UAQ29ubmVjdGlvbiB3YXMgcmVzZXQAAAAAQ29ubmVjdGlvbiB3YXMgYWJvcnRlZAAATmV0d29yayBoYXMgYmVlbiByZXNldAAATmV0d29yayB1bnJlYWNoYWJsZQBOZXR3b3JrIGRvd24AAAAAQWRkcmVzcyBub3QgYXZhaWxhYmxlAAAAQWRkcmVzcyBhbHJlYWR5IGluIHVzZQAAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAAABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkAAAAAE9wZXJhdGlvbiBub3Qgc3VwcG9ydGVkAFNvY2tldCBpcyB1bnN1cHBvcnRlZAAAAFByb3RvY29sIGlzIHVuc3VwcG9ydGVkAFByb3RvY29sIG9wdGlvbiBpcyB1bnN1cHBvcnRlZAAAQmFkIHByb3RvY29sAAAAAEJhZCBtZXNzYWdlIHNpemUAAAAATmVlZCBkZXN0aW5hdGlvbiBhZGRyZXNzAAAAAERlc2NyaXB0b3IgaXMgbm90IGEgc29ja2V0AABCbG9ja2luZyBjYWxsIGluIHByb2dyZXNzAAAAQ2FsbCB3b3VsZCBibG9jawAAAABPdXQgb2YgZmlsZSBkZXNjcmlwdG9ycwBJbnZhbGlkIGFyZ3VtZW50cwAAAEJhZCBhcmd1bWVudAAAAABCYWQgYWNjZXNzAABCYWQgZmlsZQAAAABDYWxsIGludGVycnVwdGVkAAAAAFVua25vd24gZXJyb3IgJWQgKCUjeCkAAFNFQ19FX0lMTEVHQUxfTUVTU0FHRSAoMHglMDRYJTA0WCkgLSBUaGlzIGVycm9yIHVzdWFsbHkgb2NjdXJzIHdoZW4gYSBmYXRhbCBTU0wvVExTIGFsZXJ0IGlzIHJlY2VpdmVkIChlLmcuIGhhbmRzaGFrZSBmYWlsZWQpLiBNb3JlIGRldGFpbCBtYXkgYmUgYXZhaWxhYmxlIGluIHRoZSBXaW5kb3dzIFN5c3RlbSBldmVudCBsb2cuAAAAAFNFQ19JX0lOQ09NUExFVEVfQ1JFREVOVElBTFMAAAAAU0VDX0lfUkVORUdPVElBVEUAAABTRUNfSV9OT19MU0FfQ09OVEVYVAAAAABTRUNfSV9TSUdOQVRVUkVfTkVFREVEAABTRUNfSV9DT05URVhUX0VYUElSRUQAAABTRUNfSV9DT05USU5VRV9ORUVERUQAAABTRUNfSV9DT01QTEVURV9ORUVERUQAAABTRUNfSV9DT01QTEVURV9BTkRfQ09OVElOVUUAU0VDX0lfTE9DQUxfTE9HT04AAAAlcyAtICVzACVzICgweCUwNFglMDRYKQBDUllQVF9FX1JFVk9LRUQAU0VDX0VfV1JPTkdfUFJJTkNJUEFMAAAAU0VDX0VfV1JPTkdfQ1JFREVOVElBTF9IQU5ETEUAAABTRUNfRV9VTlRSVVNURURfUk9PVAAAAABTRUNfRV9VTlNVUFBPUlRFRF9QUkVBVVRIAAAAU0VDX0VfVU5TVVBQT1JURURfRlVOQ1RJT04AAFNFQ19FX1VOS05PV05fQ1JFREVOVElBTFMAAABTRUNfRV9VTkZJTklTSEVEX0NPTlRFWFRfREVMRVRFRAAAAABTRUNfRV9UT09fTUFOWV9QUklOQ0lQQUxTAAAAU0VDX0VfVElNRV9TS0VXAFNFQ19FX1RBUkdFVF9VTktOT1dOAAAAAFNFQ19FX1NUUk9OR19DUllQVE9fTk9UX1NVUFBPUlRFRAAAAFNFQ19FX1NNQVJUQ0FSRF9MT0dPTl9SRVFVSVJFRAAAU0VDX0VfU01BUlRDQVJEX0NFUlRfUkVWT0tFRAAAAABTRUNfRV9TTUFSVENBUkRfQ0VSVF9FWFBJUkVEAAAAAFNFQ19FX1NIVVRET1dOX0lOX1BST0dSRVNTAABTRUNfRV9TRUNVUklUWV9RT1NfRkFJTEVEAAAAU0VDX0VfU0VDUEtHX05PVF9GT1VORAAAU0VDX0VfUkVWT0NBVElPTl9PRkZMSU5FX0tEQwAAAABTRUNfRV9SRVZPQ0FUSU9OX09GRkxJTkVfQwAAU0VDX0VfUU9QX05PVF9TVVBQT1JURUQAU0VDX0VfUE9MSUNZX05MVE1fT05MWQAAU0VDX0VfUEtJTklUX05BTUVfTUlTTUFUQ0gAAFNFQ19FX1BLSU5JVF9DTElFTlRfRkFJTFVSRQBTRUNfRV9PVVRfT0ZfU0VRVUVOQ0UAAABTRUNfRV9OT19UR1RfUkVQTFkAAFNFQ19FX05PX1M0VV9QUk9UX1NVUFBPUlQAAABTRUNfRV9OT19QQV9EQVRBAAAAAFNFQ19FX05PX0tFUkJfS0VZAAAAU0VDX0VfTk9fSVBfQUREUkVTU0VTAAAAU0VDX0VfTk9fSU1QRVJTT05BVElPTgAAU0VDX0VfTk9fQ1JFREVOVElBTFMAAAAAU0VDX0VfTk9fQVVUSEVOVElDQVRJTkdfQVVUSE9SSVRZAAAAU0VDX0VfTk9UX09XTkVSAFNFQ19FX01VU1RfQkVfS0RDAAAAU0VDX0VfTVVMVElQTEVfQUNDT1VOVFMAU0VDX0VfTUVTU0FHRV9BTFRFUkVEAAAAU0VDX0VfTUFYX1JFRkVSUkFMU19FWENFRURFRAAAAABTRUNfRV9MT0dPTl9ERU5JRUQAAFNFQ19FX0tEQ19VTktOT1dOX0VUWVBFAFNFQ19FX0tEQ19VTkFCTEVfVE9fUkVGRVIAAABTRUNfRV9LRENfSU5WQUxJRF9SRVFVRVNUAAAAU0VDX0VfS0RDX0NFUlRfUkVWT0tFRAAAU0VDX0VfS0RDX0NFUlRfRVhQSVJFRAAAU0VDX0VfSVNTVUlOR19DQV9VTlRSVVNURURfS0RDAABTRUNfRV9JU1NVSU5HX0NBX1VOVFJVU1RFRAAAU0VDX0VfSU5WQUxJRF9UT0tFTgBTRUNfRV9JTlZBTElEX1BBUkFNRVRFUgBTRUNfRV9JTlZBTElEX0hBTkRMRQAAAABTRUNfRV9JTlRFUk5BTF9FUlJPUgAAAABTRUNfRV9JTlNVRkZJQ0lFTlRfTUVNT1JZAAAAU0VDX0VfSU5DT01QTEVURV9NRVNTQUdFAAAAAFNFQ19FX0lOQ09NUExFVEVfQ1JFREVOVElBTFMAAAAAU0VDX0VfSUxMRUdBTF9NRVNTQUdFAAAAU0VDX0VfRU5DUllQVF9GQUlMVVJFAAAAU0VDX0VfRE9XTkdSQURFX0RFVEVDVEVEAAAAAFNFQ19FX0RFTEVHQVRJT05fUkVRVUlSRUQAAABTRUNfRV9ERUxFR0FUSU9OX1BPTElDWQBTRUNfRV9ERUNSWVBUX0ZBSUxVUkUAAABTRUNfRV9DUllQVE9fU1lTVEVNX0lOVkFMSUQAU0VDX0VfQ1JPU1NSRUFMTV9ERUxFR0FUSU9OX0ZBSUxVUkUAU0VDX0VfQ09OVEVYVF9FWFBJUkVEAAAAU0VDX0VfQ0VSVF9XUk9OR19VU0FHRQAAU0VDX0VfQ0VSVF9VTktOT1dOAABTRUNfRV9DRVJUX0VYUElSRUQAAFNFQ19FX0NBTk5PVF9QQUNLAAAAU0VDX0VfQ0FOTk9UX0lOU1RBTEwAAAAAU0VDX0VfQlVGRkVSX1RPT19TTUFMTAAAU0VDX0VfQkFEX1BLR0lEAFNFQ19FX0JBRF9CSU5ESU5HUwAAU0VDX0VfQUxHT1JJVEhNX01JU01BVENIAAAAAEluaXRTZWN1cml0eUludGVyZmFjZUEAAHNlY3VyMzIuZGxsAHNlY3VyaXR5LmRsbAAAAABVbnJlY29nbml6ZWQgcGFyYW1ldGVyIHZhbHVlIHBhc3NlZCB2aWEgQ1VSTE9QVF9TU0xWRVJTSU9OAABXQVJOSU5HOiBVc2luZyB3ZWFrIHJhbmRvbSBzZWVkCgAAAAAlczolZAAAAEhvc3RuYW1lIGluIEROUyBjYWNoZSB3YXMgc3RhbGUsIHphcHBlZAoAAAAASG9zdG5hbWUgJXMgd2FzIGZvdW5kIGluIEROUyBjYWNoZQoAdGltZW91dCBvbiBuYW1lIGxvb2t1cCBpcyBub3Qgc3VwcG9ydGVkCgAAAABBZGRlZCAlczolZDolcyB0byBETlMgY2FjaGUKAAAAAEFkZHJlc3MgaW4gJyVzJyBmb3VuZCBpbGxlZ2FsIQoAQ291bGRuJ3QgcGFyc2UgQ1VSTE9QVF9SRVNPTFZFIGVudHJ5ICclcychCgAlMjU1W146XTolZDolMjU1cwAAAENvdWxkbid0IHBhcnNlIENVUkxPUFRfUkVTT0xWRSByZW1vdmFsIGVudHJ5ICclcychCgAlMjU1W146XTolZAA8bm8gcHJvdG9jb2w+AAAA4H1MACh+TAAAAAAAAAAAAMBcTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASFRUUAAAAAByY21kAAAAAENvbm5lY3RlZCB0byAlcyAoJXMpIHBvcnQgJWxkICgjJWxkKQoAAABJRE4gc3VwcG9ydCBub3QgcHJlc2VudCwgY2FuJ3QgcGFyc2UgVW5pY29kZSBkb21haW5zCgAAAFByb3RvY29sICIlcyIgbm90IHN1cHBvcnRlZCBvciBkaXNhYmxlZCBpbiBsaWJjdXJsAAAlSTY0dS0AACwgAAAqAAAAQUxMX1BST1hZAAAAYWxsX3Byb3h5AAAAaHR0cF9wcm94eQAAX3Byb3h5AABOT19QUk9YWQAAAABub19wcm94eQAAAABQb3J0IG51bWJlciBvdXQgb2YgcmFuZ2UAAAAAJXM6Ly8lcyVzJXM6JWh1JXMlcyVzAAAAWwAAAF0AAAA7dHlwZT0lYwAAAABJUHY2IG51bWVyaWNhbCBhZGRyZXNzIHVzZWQgaW4gVVJMIHdpdGhvdXQgYnJhY2tldHMAWyUqNDVbMDEyMzQ1Njc4OWFiY2RlZkFCQ0RFRjouXSVjAAAAQ291bGRuJ3QgZmluZCBob3N0ICVzIGluIHRoZSBfbmV0cmMgZmlsZTsgdXNpbmcgZGVmYXVsdHMKAAAAZnRwQGV4YW1wbGUuY29tAGFub255bW91cwAAAENvdWxkbid0IHJlc29sdmUgaG9zdCAnJXMnAABDb3VsZG4ndCByZXNvbHZlIHByb3h5ICclcycAVXNlci1BZ2VudDogJXMNCgAAAABTZXQtQ29va2llOgBSRUxPQUQAAEZMVVNIAAAAU0VTUwAAAABBTEwAaWRlbnRpdHkAAAAAQ1VSTE9QVF9TU0xfVkVSSUZZSE9TVCBubyBsb25nZXIgc3VwcG9ydHMgMSBhcyB2YWx1ZSEAAABDbG9zaW5nIGNvbm5lY3Rpb24gJWxkCgBDb25uZWN0aW9uICVsZCBzZWVtcyB0byBiZSBkZWFkIQoAAABNdWx0aXBsZXhlZCBjb25uZWN0aW9uIGZvdW5kIQoAAENvbm5lY3Rpb24gIyVsZCBpc24ndCBvcGVuIGVub3VnaCwgY2FuJ3QgcmV1c2UKAFBlbmFsaXplZCwgc2tpcAoAAAAAUGlwZSBpcyBmdWxsLCBza2lwICglenUpCgAAAFNlcnZlciBkb2Vzbid0IHN1cHBvcnQgbXVsdGktdXNlICh5ZXQpCgBTZXJ2ZXIgZG9lc24ndCBzdXBwb3J0IG11bHRpLXVzZSB5ZXQsIHdhaXQKAEZvdW5kIGJ1bmRsZSBmb3IgaG9zdCAlczogJXAKAAAAQ29ubmVjdGlvbiBjYWNoZSBpcyBmdWxsLCBjbG9zaW5nIHRoZSBvbGRlc3Qgb25lLgoAAE5vIHZhbGlkIHBvcnQgbnVtYmVyIGluIHByb3h5IHN0cmluZyAoJXMpCgAASW52YWxpZCBJUHY2IGFkZHJlc3MgZm9ybWF0CgAAAABQbGVhc2UgVVJMIGVuY29kZSAlJSBhcyAlJTI1LCBzZWUgUkZDIDY4NzQuCgAAAAAlMjUAc29ja3MAAABzb2NrczQAAHNvY2tzNGEAc29ja3M1AABzb2NrczVoADovLwBDb25uZWN0aW9uICMlbGQgdG8gaG9zdCAlcyBsZWZ0IGludGFjdAoAUmVidWlsdCBVUkwgdG86ICVzCgBwb3AzAAAAAFBPUDMuAAAAc210cAAAAABTTVRQLgAAAElNQVAAAAAASU1BUC4AAABMREFQAAAAAExEQVAuAAAARElDVAAAAABESUNULgAAAGZ0cABGVFAuAAAAADx1cmw+IG1hbGZvcm1lZAAlW14KLz9dJVteCl0AAAAAJTE1W14KOl06Ly8lW14KLz9dJVteCl0AJTE1W146XTolW14KXQAAAElsbGVnYWwgY2hhcmFjdGVycyBmb3VuZCBpbiBVUkwATlRMTS1wcm94eSBwaWNrZWQgQU5EIGF1dGggZG9uZSBzZXQsIGNsZWFyIHBpY2tlZCEKAE5UTE0gcGlja2VkIEFORCBhdXRoIGRvbmUgc2V0LCBjbGVhciBwaWNrZWQhCgAAAE5vIGNvbm5lY3Rpb25zIGF2YWlsYWJsZS4KAABObyBjb25uZWN0aW9ucyBhdmFpbGFibGUgaW4gY2FjaGUKAABObyBtb3JlIGNvbm5lY3Rpb25zIGFsbG93ZWQgdG8gaG9zdDogJWQKAAAAAFJlLXVzaW5nIGV4aXN0aW5nIGNvbm5lY3Rpb24hICgjJWxkKSB3aXRoICVzICVzCgAAAABob3N0AAAAAHByb3h5AAAAV2UgY2FuIHJldXNlLCBidXQgd2Ugd2FudCBhIG5ldyBjb25uZWN0aW9uIGFueXdheQoAAEZvdW5kIGNvbm5lY3Rpb24gJWxkLCB3aXRoIHJlcXVlc3RzIGluIHRoZSBwaXBlICglenUpCgAAbWVtb3J5IHNob3J0YWdlACVzOi8vJXMAAAAAAAAAAABJbnRlcm5hbCBlcnJvciByZW1vdmluZyBzcGxheSBub2RlID0gJWQKAAAAAEludGVybmFsIGVycm9yIGNsZWFyaW5nIHNwbGF5IG5vZGUgPSAlZAoAAAAAQ3VybF9wb2xsKCVkIGRzLCAlZCBtcykKAAAAAEluIHN0YXRlICVkIHdpdGggbm8gZWFzeV9jb25uLCBiYWlsIG91dCEKAAAASG9zdG5hbWUgd2FzIGZvdW5kIGluIEROUyBjYWNoZQoAAAAAT3BlcmF0aW9uIHRpbWVkIG91dCBhZnRlciAlbGQgbWlsbGlzZWNvbmRzIHdpdGggJUk2NGQgYnl0ZXMgcmVjZWl2ZWQAAAAAT3BlcmF0aW9uIHRpbWVkIG91dCBhZnRlciAlbGQgbWlsbGlzZWNvbmRzIHdpdGggJUk2NGQgb3V0IG9mICVJNjRkIGJ5dGVzIHJlY2VpdmVkAAAAQ29ubmVjdGlvbiB0aW1lZCBvdXQgYWZ0ZXIgJWxkIG1pbGxpc2Vjb25kcwBSZXNvbHZpbmcgdGltZWQgb3V0IGFmdGVyICVsZCBtaWxsaXNlY29uZHMAAFBpcGUgYnJva2U6IGhhbmRsZSAlcCwgdXJsID0gJXMKAAAAAAAAAACAhC5BKiAAPCAAPiAAeyAAfSAAeyAAfSAAAAAAWyVzICVzICVzXQAAZnJvbQAAAAB0bwAASGVhZGVyAABEYXRhAAAAAFNlbmQgZmFpbHVyZTogJXMAAAAAUmVjdiBmYWlsdXJlOiAlcwAAAABGYWlsZWQgd3JpdGluZyBoZWFkZXIAAABGYWlsZWQgd3JpdGluZyBib2R5ICglenUgIT0gJXp1KQAAAABXcml0ZSBjYWxsYmFjayBhc2tlZCBmb3IgUEFVU0Ugd2hlbiBub3Qgc3VwcG9ydGVkIQAAJXMgY29va2llICVzPSIlcyIgZm9yIGRvbWFpbiAlcywgcGF0aCAlcywgZXhwaXJlICVJNjRkCgBBZGRlZAAAAFJlcGxhY2VkAAAAAEZBTFNFAAAAVFJVRQAAAAAjSHR0cE9ubHlfAABleHBpcmVzAG1heC1hZ2UAdmVyc2lvbgBza2lwcGVkIGNvb2tpZSB3aXRoIGJhZCB0YWlsbWF0Y2ggZG9tYWluOiAlcwoAAAA6AAAAZG9tYWluAABodHRwb25seQAAAABzZWN1cmUAACUxMDIzW147DQogPV0gPSU0OTk5W147DQpdAAAlcyVzJXMJJXMJJXMJJXMJJUk2NGQJJXMJJXMAdW5rbm93bgAjCiMgRmF0YWwgbGliY3VybCBlcnJvcgoAAAAAd3QAACMgTmV0c2NhcGUgSFRUUCBDb29raWUgRmlsZQojIGh0dHA6Ly9jdXJsLmhheHguc2UvZG9jcy9odHRwLWNvb2tpZXMuaHRtbAojIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IGxpYmN1cmwhIEVkaXQgYXQgeW91ciBvd24gcmlzay4KCgBydAAAbm9uZQAAAABpZ25vcmluZyBmYWlsZWQgY29va2llX2luaXQgZm9yICVzCgBXQVJOSU5HOiBmYWlsZWQgdG8gc2F2ZSBjb29raWVzIGluICVzCgAAaG9zdCEAAABpZiEARmFpbGVkIHRvIHNldCBTSU9fS0VFUEFMSVZFX1ZBTFMgb24gZmQgJWQ6ICVkCgAARmFpbGVkIHRvIHNldCBTT19LRUVQQUxJVkUgb24gZmQgJWQKAAAAAGJpbmQgZmFpbGVkIHdpdGggZXJybm8gJWQ6ICVzAAAATG9jYWwgcG9ydDogJWh1CgAAAABnZXRzb2NrbmFtZSgpIGZhaWxlZCB3aXRoIGVycm5vICVkOiAlcwAAQmluZCB0byBsb2NhbCBwb3J0ICVodSBmYWlsZWQsIHRyeWluZyBuZXh0CgBDb3VsZG4ndCBiaW5kIHRvICclcycAAABOYW1lICclcycgZmFtaWx5ICVpIHJlc29sdmVkIHRvICclcycgZmFtaWx5ICVpCgBDb3VsZG4ndCBiaW5kIHRvIGludGVyZmFjZSAnJXMnAExvY2FsIEludGVyZmFjZSAlcyBpcyBpcCAlcyB1c2luZyBhZGRyZXNzIGZhbWlseSAlaQoAAAAAc3Nsb2MgaW5ldF9udG9wKCkgZmFpbGVkIHdpdGggZXJybm8gJWQ6ICVzAABzc3JlbSBpbmV0X250b3AoKSBmYWlsZWQgd2l0aCBlcnJubyAlZDogJXMAAGdldHBlZXJuYW1lKCkgZmFpbGVkIHdpdGggZXJybm8gJWQ6ICVzAABUQ1BfTk9ERUxBWSBzZXQKAAAAAENvdWxkIG5vdCBzZXQgVENQX05PREVMQVk6ICVzCgAASW1tZWRpYXRlIGNvbm5lY3QgZmFpbCBmb3IgJXM6ICVzCgAAICBUcnlpbmcgJXMuLi4KAHNhX2FkZHIgaW5ldF9udG9wKCkgZmFpbGVkIHdpdGggZXJybm8gJWQ6ICVzAAAAAENvbm5lY3Rpb24gdGltZS1vdXQARmFpbGVkIHRvIGNvbm5lY3QgdG8gJXMgcG9ydCAlbGQ6ICVzAAAAAGNvbm5lY3QgdG8gJXMgcG9ydCAlbGQgZmFpbGVkOiAlcwoAAENvbm5lY3Rpb24gZmFpbGVkCgAAQWZ0ZXIgJWxkbXMgY29ubmVjdCB0aW1lLCBtb3ZlIG9uIQoAAAAAAHNjaGFubmVsOiBmYWlsZWQgdG8gc2VuZCBpbml0aWFsIGhhbmRzaGFrZSBkYXRhOiBzZW50ICV6ZCBvZiAlbHUgYnl0ZXMAAHNjaGFubmVsOiBzZW50IGluaXRpYWwgaGFuZHNoYWtlIGRhdGE6IHNlbnQgJXpkIGJ5dGVzCgAAc2NoYW5uZWw6IHNlbmRpbmcgaW5pdGlhbCBoYW5kc2hha2UgZGF0YTogc2VuZGluZyAlbHUgYnl0ZXMuLi4KAHNjaGFubmVsOiBpbml0aWFsIEluaXRpYWxpemVTZWN1cml0eUNvbnRleHQgZmFpbGVkOiAlcwAAc2NoYW5uZWw6IHVzaW5nIElQIGFkZHJlc3MsIFNOSSBpcyBub3Qgc3VwcG9ydGVkIGJ5IE9TLgoAAAAAc2NoYW5uZWw6IEFjcXVpcmVDcmVkZW50aWFsc0hhbmRsZSBmYWlsZWQ6ICVzAAAAc2NoYW5uZWw6IFNOSSBvciBjZXJ0aWZpY2F0ZSBjaGVjayBmYWlsZWQ6ICVzAAAATWljcm9zb2Z0IFVuaWZpZWQgU2VjdXJpdHkgUHJvdG9jb2wgUHJvdmlkZXIAAAAAc2NoYW5uZWw6IHVuYWJsZSB0byBhbGxvY2F0ZSBtZW1vcnkAc2NoYW5uZWw6IHZlcmlmeWhvc3Qgc2V0dGluZyBwcmV2ZW50cyBTY2hhbm5lbCBmcm9tIGNvbXBhcmluZyB0aGUgc3VwcGxpZWQgdGFyZ2V0IG5hbWUgd2l0aCB0aGUgc3ViamVjdCBuYW1lcyBpbiBzZXJ2ZXIgY2VydGlmaWNhdGVzLiBBbHNvIGRpc2FibGVzIFNOSS4KAAAAc2NoYW5uZWw6IGRpc2FibGVkIHNlcnZlciBjZXJ0aWZpY2F0ZSByZXZvY2F0aW9uIGNoZWNrcwoAAAAAc2NoYW5uZWw6IGNoZWNraW5nIHNlcnZlciBjZXJ0aWZpY2F0ZSByZXZvY2F0aW9uCgAAAHNjaGFubmVsOiByZS11c2luZyBleGlzdGluZyBjcmVkZW50aWFsIGhhbmRsZQoAAHNjaGFubmVsOiBTU0wvVExTIGNvbm5lY3Rpb24gd2l0aCAlcyBwb3J0ICVodSAoc3RlcCAxLzMpCgAAAHNjaGFubmVsOiBTU0wvVExTIGhhbmRzaGFrZSBjb21wbGV0ZQoAAABzY2hhbm5lbDogZmFpbGVkIHRvIHNlbmQgbmV4dCBoYW5kc2hha2UgZGF0YTogc2VudCAlemQgb2YgJWx1IGJ5dGVzAHNjaGFubmVsOiBuZXh0IEluaXRpYWxpemVTZWN1cml0eUNvbnRleHQgZmFpbGVkOiAlcwBzY2hhbm5lbDogYSBjbGllbnQgY2VydGlmaWNhdGUgaGFzIGJlZW4gcmVxdWVzdGVkCgAAc2NoYW5uZWw6IHJlY2VpdmVkIGluY29tcGxldGUgbWVzc2FnZSwgbmVlZCBtb3JlIGRhdGEKAAAAAAAAc2NoYW5uZWw6IGZhaWxlZCB0byByZWNlaXZlIGhhbmRzaGFrZSwgU1NML1RMUyBjb25uZWN0aW9uIGZhaWxlZAAAAABzY2hhbm5lbDogZmFpbGVkIHRvIHJlY2VpdmUgaGFuZHNoYWtlLCBuZWVkIG1vcmUgZGF0YQoAAHNjaGFubmVsOiBlbmNyeXB0ZWQgZGF0YSBsZW5ndGg6ICVsdQoAAABzY2hhbm5lbDogc2VuZGluZyBuZXh0IGhhbmRzaGFrZSBkYXRhOiBzZW5kaW5nICVsdSBieXRlcy4uLgoAAAAAc2NoYW5uZWw6IGVuY3J5cHRlZCBkYXRhIGJ1ZmZlcjogb2Zmc2V0ICV6dSBsZW5ndGggJXp1CgBzY2hhbm5lbDogdW5hYmxlIHRvIHJlLWFsbG9jYXRlIG1lbW9yeQAAc2NoYW5uZWw6IFNTTC9UTFMgY29ubmVjdGlvbiB3aXRoICVzIHBvcnQgJWh1IChzdGVwIDIvMykKAAAAc2NoYW5uZWw6IHN0b3JlZCBjcmVkZW50aWFsIGhhbmRsZSBpbiBzZXNzaW9uIGNhY2hlCgAAAABzY2hhbm5lbDogZmFpbGVkIHRvIHN0b3JlIGNyZWRlbnRpYWwgaGFuZGxlAHNjaGFubmVsOiBvbGQgY3JlZGVudGlhbCBoYW5kbGUgaXMgc3RhbGUsIHJlbW92aW5nCgBzY2hhbm5lbDogaW5jcmVtZW50ZWQgY3JlZGVudGlhbCBoYW5kbGUgcmVmY291bnQgPSAlZAoAAHNjaGFubmVsOiBmYWlsZWQgdG8gc2V0dXAgc3RyZWFtIG9yaWVudGF0aW9uAAAAAHNjaGFubmVsOiBmYWlsZWQgdG8gc2V0dXAgbWVtb3J5IGFsbG9jYXRpb24Ac2NoYW5uZWw6IGZhaWxlZCB0byBzZXR1cCBjb25maWRlbnRpYWxpdHkAAABzY2hhbm5lbDogZmFpbGVkIHRvIHNldHVwIHJlcGxheSBkZXRlY3Rpb24AAHNjaGFubmVsOiBmYWlsZWQgdG8gc2V0dXAgc2VxdWVuY2UgZGV0ZWN0aW9uAAAAAHNjaGFubmVsOiBTU0wvVExTIGNvbm5lY3Rpb24gd2l0aCAlcyBwb3J0ICVodSAoc3RlcCAzLzMpCgAAAHNlbGVjdC9wb2xsIG9uIFNTTCBzb2NrZXQsIGVycm5vOiAlZAAAAABzY2hhbm5lbDogdGltZWQgb3V0IHNlbmRpbmcgZGF0YSAoYnl0ZXMgc2VudDogJXpkKQAAc2NoYW5uZWw6IGRlY3J5cHRlZCBkYXRhIHJldHVybmVkICV6dQoAAHNjaGFubmVsOiBzZXJ2ZXIgY2xvc2VkIGFicnVwdGx5IChtaXNzaW5nIGNsb3NlX25vdGlmeSkKAAAAAHNjaGFubmVsOiByZW5lZ290aWF0aW9uIGZhaWxlZAoAc2NoYW5uZWw6IGNhbid0IHJlbm9nb3RpYXRlLCBlbmNyeXB0ZWQgZGF0YSBhdmFpbGFibGUKAABzY2hhbm5lbDogY2FuJ3QgcmVub2dvdGlhdGUsIGFuIGVycm9yIGlzIHBlbmRpbmcKAAAAc2NoYW5uZWw6IGZhaWxlZCB0byByZWFkIGRhdGEgZnJvbSBzZXJ2ZXI6ICVzCgAAc2NoYW5uZWw6IGZhaWxlZCB0byBkZWNyeXB0IGRhdGEsIG5lZWQgbW9yZSBkYXRhCgAAAHNjaGFubmVsOiBzY2hhbm5lbF9yZWN2IGNsZWFudXAKAAAAAHNjaGFubmVsOiBkZWNyeXB0ZWQgZGF0YSBidWZmZXI6IG9mZnNldCAlenUgbGVuZ3RoICV6dQoAc2NoYW5uZWw6IFNTTC9UTFMgY29ubmVjdGlvbiByZW5lZ290aWF0ZWQKAABzY2hhbm5lbDogcmVuZWdvdGlhdGluZyBTU0wvVExTIGNvbm5lY3Rpb24KAHNjaGFubmVsOiByZW1vdGUgcGFydHkgcmVxdWVzdHMgcmVuZWdvdGlhdGlvbgoAAHNjaGFubmVsOiBlbmNyeXB0ZWQgZGF0YSBjYWNoZWQ6IG9mZnNldCAlenUgbGVuZ3RoICV6dQoAc2NoYW5uZWw6IGRlY3J5cHRlZCBkYXRhIGNhY2hlZDogb2Zmc2V0ICV6dSBsZW5ndGggJXp1CgBzY2hhbm5lbDogZGVjcnlwdGVkIGRhdGEgYWRkZWQ6ICV6dQoAAAAAc2NoYW5uZWw6IGRlY3J5cHRlZCBkYXRhIGxlbmd0aDogJWx1CgAAAHNjaGFubmVsOiBlbmNyeXB0ZWQgZGF0YSBnb3QgJXpkCgAAAHNjaGFubmVsOiBzZXJ2ZXIgY2xvc2VkIHRoZSBjb25uZWN0aW9uCgBzY2hhbm5lbDogQ3VybF9yZWFkX3BsYWluIHJldHVybmVkIGVycm9yICVkCgAAAABzY2hhbm5lbDogQ3VybF9yZWFkX3BsYWluIHJldHVybmVkIENVUkxFX1JFQ1ZfRVJST1IKAAAAAHNjaGFubmVsOiBDdXJsX3JlYWRfcGxhaW4gcmV0dXJuZWQgQ1VSTEVfQUdBSU4KAHNjaGFubmVsOiBlbmNkYXRhX2J1ZmZlciByZXNpemVkICV6dQoAAABzY2hhbm5lbDogc2VydmVyIGluZGljYXRlZCBzaHV0ZG93biBpbiBhIHByaW9yIGNhbGwKAAAAAHNjaGFubmVsOiBhbiB1bnJlY292ZXJhYmxlIGVycm9yIG9jY3VycmVkIGluIGEgcHJpb3IgY2FsbAoAAHNjaGFubmVsOiBlbm91Z2ggZGVjcnlwdGVkIGRhdGEgaXMgYWxyZWFkeSBhdmFpbGFibGUKAAAAc2NoYW5uZWw6IGNsaWVudCB3YW50cyB0byByZWFkICV6dSBieXRlcwoAAABzY2hhbm5lbDogY2xlYXIgY3JlZGVudGlhbCBoYW5kbGUKAABzY2hhbm5lbDogZGVjcmVtZW50ZWQgY3JlZGVudGlhbCBoYW5kbGUgcmVmY291bnQgPSAlZAoAAHNjaGFubmVsOiBjbGVhciBzZWN1cml0eSBjb250ZXh0IGhhbmRsZQoAAAAAc2NoYW5uZWw6IGZhaWxlZCB0byBzZW5kIGNsb3NlIG1zZzogJXMgKGJ5dGVzIHdyaXR0ZW46ICV6ZCkKAAAAAHNjaGFubmVsOiBBcHBseUNvbnRyb2xUb2tlbiBmYWlsdXJlOiAlcwBzY2hhbm5lbDogc2h1dHRpbmcgZG93biBTU0wvVExTIGNvbm5lY3Rpb24gd2l0aCAlcyBwb3J0ICVodQoAAAAAU1NML1RMUyBjb25uZWN0aW9uIHRpbWVvdXQAAHNlbGVjdC9wb2xsIG9uIFNTTC9UTFMgc29ja2V0LCBlcnJubzogJWQAAAAAJTdJNjRkZAAlM0k2NGRkICUwMkk2NGRoAAAAACUySTY0ZDolMDJJNjRkOiUwMkk2NGQAAC0tOi0tOi0tAAAAACU0STY0ZFAAJTRJNjRkVAAlNEk2NGRHACUySTY0ZC4lMEk2NGRHAAAlNEk2NGRNACUySTY0ZC4lMEk2NGRNAAAlNEk2NGRrACU1STY0ZAAADSUzSTY0ZCAlcyAgJTNJNjRkICVzICAlM0k2NGQgJXMgICVzICAlcyAlcyAlcyAlcyAlcwAAAAAgICUlIFRvdGFsICAgICUlIFJlY2VpdmVkICUlIFhmZXJkICBBdmVyYWdlIFNwZWVkICAgVGltZSAgICBUaW1lICAgICBUaW1lICBDdXJyZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERsb2FkICBVcGxvYWQgICBUb3RhbCAgIFNwZW50ICAgIExlZnQgIFNwZWVkCgAAACoqIFJlc3VtaW5nIHRyYW5zZmVyIGZyb20gYnl0ZSBwb3NpdGlvbiAlSTY0ZAoAAENhbGxiYWNrIGFib3J0ZWQAAAAAQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLwAAAAAAAAAAQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXwAAAAAlYyVjPT0AACVjJWMlYz0AJWMlYyVjJWMAAAAAJhtDAFsbQwB0G0MACAAAAEAAAAAQAAAAJhtDAFsbQwB0G0MACAAAABAAAAAlZC4lZC4lZC4lZAAlbHgAZ2V0YWRkcmluZm8oMykgZmFpbGVkIGZvciAlczolZAoAAAAAJWQAAEhUVFBTAAAAAAAAACRdTACxJ0MA9jxDAKk0QwAAAAAAmzlDAAAAAAAAAAAAAAAAACg0QwAAAAAAAAAAAAAAAAAAAAAAUAAAAAEAAACAAAAAAAAAANR9TACxJ0MA9jxDAKk0QwAAAAAAmzlDAEA0QwAAAAAAZjRDACg0QwAAAAAAAAAAAAAAAAAAAAAAuwEAAAIAAACBAAAAJXNBdXRob3JpemF0aW9uOiBCYXNpYyAlcw0KAFByb3h5LQAAJXM6JXMAAABSZXdpbmQgc3RyZWFtIGFmdGVyIHNlbmQKAAAATlRMTSBzZW5kLCBjbG9zZSBpbnN0ZWFkIG9mIHNlbmRpbmcgJUk2NGQgYnl0ZXMKAAAAACVzIGF1dGggdXNpbmcgJXMgd2l0aCB1c2VyICclcycKAAAAAFNlcnZlcgAAUHJveHkAAABBdXRob3JpemF0aW9uOgAAQmFzaWMAAABQcm94eS1hdXRob3JpemF0aW9uOgAAAABEaWdlc3QAAE5UTE0AAAAATmVnb3RpYXRlAAAAQXV0aGVudGljYXRpb24gcHJvYmxlbS4gSWdub3JpbmcgdGhpcy4KAElnbm9yaW5nIGR1cGxpY2F0ZSBkaWdlc3QgYXV0aCBoZWFkZXIuCgBFbXB0eSByZXBseSBmcm9tIHNlcnZlcgBIVFRQLwAAAEZhaWxlZCB0byBhbGxvYyBtZW1vcnkgZm9yIGJpZyBoZWFkZXIhAABBdm9pZGVkIGdpYW50IHJlYWxsb2MgZm9yIGhlYWRlciAobWF4IGlzICVkKSEAAABUaGUgcmVxdWVzdGVkIFVSTCByZXR1cm5lZCBlcnJvcjogJWQAAAAAVGhlIHJlcXVlc3RlZCBVUkwgcmV0dXJuZWQgZXJyb3I6ICVzAAAAAEV4cGVjdDogMTAwLWNvbnRpbnVlDQoAADEwMC1jb250aW51ZQAAAABFeHBlY3Q6AENvbm5lY3Rpb24AAENvbnRlbnQtTGVuZ3RoAABDb250ZW50LVR5cGU6AAAASG9zdDoAAAAlcw0KAAAAAElmLVVubW9kaWZpZWQtU2luY2U6ICVzDQoAAABMYXN0LU1vZGlmaWVkOiAlcw0KAElmLU1vZGlmaWVkLVNpbmNlOiAlcw0KACVzLCAlMDJkICVzICU0ZCAlMDJkOiUwMmQ6JTAyZCBHTVQAAEludmFsaWQgVElNRVZBTFVFAAAAdXBsb2FkIGNvbXBsZXRlbHkgc2VudCBvZmY6ICVJNjRkIG91dCBvZiAlSTY0ZCBieXRlcwoAAABGYWlsZWQgc2VuZGluZyBIVFRQIFBPU1QgcmVxdWVzdAAAAAAwDQoNCgAAACV4DQoAAAAAQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQNCgAAAENvbnRlbnQtTGVuZ3RoOiAwDQoNCgAAAEZhaWxlZCBzZW5kaW5nIFBPU1QgcmVxdWVzdABDb3VsZCBub3QgZ2V0IENvbnRlbnQtVHlwZSBoZWFkZXIgbGluZSEASW50ZXJuYWwgSFRUUCBQT1NUIGVycm9yIQAAAEZhaWxlZCBzZW5kaW5nIFBVVCByZXF1ZXN0AABDb250ZW50LUxlbmd0aDogJUk2NGQNCgBDb250ZW50LUxlbmd0aDoAOyAAAEZhaWxlZCBzZW5kaW5nIEhUVFAgcmVxdWVzdAAlcyVzPSVzAENvb2tpZTogAAAAACVzIEhUVFAvJXMNCiVzJXMlcyVzJXMlcyVzJXMlcyVzJXMAAFByb3h5LUNvbm5lY3Rpb246IEtlZXAtQWxpdmUNCgAAUHJveHktQ29ubmVjdGlvbjoAAABmdHA6Ly8lczolc0AlcwAAJXMgADEuMAAxLjEAQ29udGVudC1SYW5nZTogYnl0ZXMgJXMvJUk2NGQNCgBDb250ZW50LVJhbmdlOiBieXRlcyAlcyVJNjRkLyVJNjRkDQoAAAAAQ29udGVudC1SYW5nZTogYnl0ZXMgMC0lSTY0ZC8lSTY0ZA0KAAAAAENvbnRlbnQtUmFuZ2U6AABSYW5nZTogYnl0ZXM9JXMNCgAAAFJhbmdlOgAAQ291bGQgb25seSByZWFkICVJNjRkIGJ5dGVzIGZyb20gdGhlIGlucHV0AABGaWxlIGFscmVhZHkgY29tcGxldGVseSB1cGxvYWRlZAAAAABIb3N0OiAlcyVzJXM6JWh1DQoAAEhvc3Q6ICVzJXMlcw0KAABDb3VsZCBub3Qgc2VlayBzdHJlYW0AAABBY2NlcHQ6ICovKg0KAAAAQWNjZXB0OgA7dHlwZT0AAGZ0cDovLwAAVHJhbnNmZXItRW5jb2Rpbmc6IGNodW5rZWQNCgAAAABDaHVua3kgdXBsb2FkIGlzIG5vdCBzdXBwb3J0ZWQgYnkgSFRUUCAxLjAAAGNodW5rZWQAVHJhbnNmZXItRW5jb2Rpbmc6AABBY2NlcHQtRW5jb2Rpbmc6ICVzDQoAAABBY2NlcHQtRW5jb2Rpbmc6AAAAAENvb2tpZToAUmVmZXJlcjogJXMNCgAAAFJlZmVyZXI6AAAAAFVzZXItQWdlbnQ6AEdFVABQT1NUAAAAAFBVVABIRUFEAAAAAEtlZXAgc2VuZGluZyBkYXRhIHRvIGdldCB0b3NzZWQgYXdheSEKAABIVFRQIGVycm9yIGJlZm9yZSBlbmQgb2Ygc2VuZCwgc3RvcCBzZW5kaW5nCgAAAABDb25uZWN0aW9uIGNsb3N1cmUgd2hpbGUgbmVnb3RpYXRpbmcgYXV0aCAoSFRUUCAxLjA/KQoAAG5vIGNodW5rLCBubyBjbG9zZSwgbm8gc2l6ZS4gQXNzdW1lIGNsb3NlIHRvIHNpZ25hbCBlbmQKAAAAAFJlY2VpdmVkIDEwMQoAAABMb2NhdGlvbjoAAABQcm94eS1hdXRoZW50aWNhdGU6AFdXVy1BdXRoZW50aWNhdGU6AAAATGFzdC1Nb2RpZmllZDoAAENvbnRlbnQtRW5jb2Rpbmc6AAAAeC1nemlwAABnemlwAAAAAGRlZmxhdGUASFRUUC8xLjAgY29ubmVjdGlvbiBzZXQgdG8ga2VlcCBhbGl2ZSEKAENvbm5lY3Rpb246AEhUVFAvMS4xIHByb3h5IGNvbm5lY3Rpb24gc2V0IGNsb3NlIQoAAABIVFRQLzEuMCBwcm94eSBjb25uZWN0aW9uIHNldCB0byBrZWVwIGFsaXZlIQoAAABrZWVwLWFsaXZlAABTZXJ2ZXI6AE5lZ2F0aXZlIGNvbnRlbnQtbGVuZ3RoOiAlSTY0ZCwgY2xvc2luZyBhZnRlciB0cmFuc2ZlcgoASFRUUCAxLjAsIGFzc3VtZSBjbG9zZSBhZnRlciBib2R5CgAAIFJUU1AvJWQuJWQgJTNkACBIVFRQICUzZAAAAEx5aW5nIHNlcnZlciwgbm90IHNlcnZpbmcgSFRUUC8yCgAAACBIVFRQLyVkLiVkICVkAAAAAAAAQ29ubjogJWxkICglcCkgUmVjZWl2ZSBwaXBlIHdlaWdodDogKCVJNjRkLyV6dSksIHBlbmFsaXplZDogJXMKAFNpdGUgJXM6JWQgaXMgcGlwZWxpbmUgYmxhY2tsaXN0ZWQKAFNlcnZlciAlcyBpcyBibGFja2xpc3RlZAoAAABGYWlsZWQgdG8gc2VuZCBTT0NLUzQgY29ubmVjdCByZXF1ZXN0LgAARmFpbGVkIHRvIHJlY2VpdmUgU09DS1M0IGNvbm5lY3QgcmVxdWVzdCBhY2suAAAAU09DS1M0JXMgcmVxdWVzdCBncmFudGVkLgoAAGEAAABDYW4ndCBjb21wbGV0ZSBTT0NLUzQgY29ubmVjdGlvbiB0byAlZC4lZC4lZC4lZDolZC4gKCVkKSwgcmVxdWVzdCByZWplY3RlZCBvciBmYWlsZWQuAAAAQ2FuJ3QgY29tcGxldGUgU09DS1M0IGNvbm5lY3Rpb24gdG8gJWQuJWQuJWQuJWQ6JWQuICglZCksIHJlcXVlc3QgcmVqZWN0ZWQgYmVjYXVzZSBTT0NLUyBzZXJ2ZXIgY2Fubm90IGNvbm5lY3QgdG8gaWRlbnRkIG9uIHRoZSBjbGllbnQuAENhbid0IGNvbXBsZXRlIFNPQ0tTNCBjb25uZWN0aW9uIHRvICVkLiVkLiVkLiVkOiVkLiAoJWQpLCByZXF1ZXN0IHJlamVjdGVkIGJlY2F1c2UgdGhlIGNsaWVudCBwcm9ncmFtIGFuZCBpZGVudGQgcmVwb3J0IGRpZmZlcmVudCB1c2VyLWlkcy4AAAAAAENhbid0IGNvbXBsZXRlIFNPQ0tTNCBjb25uZWN0aW9uIHRvICVkLiVkLiVkLiVkOiVkLiAoJWQpLCBVbmtub3duLgAAU09DS1M0IHJlcGx5IGhhcyB3cm9uZyB2ZXJzaW9uLCB2ZXJzaW9uIHNob3VsZCBiZSA0LgAAAABUb28gbG9uZyBTT0NLUyBwcm94eSBuYW1lLCBjYW4ndCB1c2UhCgAARmFpbGVkIHRvIHJlc29sdmUgIiVzIiBmb3IgU09DS1M0IGNvbm5lY3QuAABTT0NLUzQgY29ubmVjdCB0byAlcyAobG9jYWxseSByZXNvbHZlZCkKAAAAACVodS4laHUuJWh1LiVodQBTT0NLUzQgY29tbXVuaWNhdGlvbiB0byAlczolZAoAAFVuYWJsZSB0byBzZW5kIGluaXRpYWwgU09DS1M1IHJlcXVlc3QuAABVbmFibGUgdG8gcmVjZWl2ZSBpbml0aWFsIFNPQ0tTNSByZXNwb25zZS4AAFVuZG9jdW1lbnRlZCBTT0NLUzUgbW9kZSBhdHRlbXB0ZWQgdG8gYmUgdXNlZCBieSBzZXJ2ZXIuAAAAAAAAAABObyBhdXRoZW50aWNhdGlvbiBtZXRob2Qgd2FzIGFjY2VwdGFibGUuIChJdCBpcyBxdWl0ZSBsaWtlbHkgdGhhdCB0aGUgU09DS1M1IHNlcnZlciB3YW50ZWQgYSB1c2VybmFtZS9wYXNzd29yZCwgc2luY2Ugbm9uZSB3YXMgc3VwcGxpZWQgdG8gdGhlIHNlcnZlciBvbiB0aGlzIGNvbm5lY3Rpb24uKQAATm8gYXV0aGVudGljYXRpb24gbWV0aG9kIHdhcyBhY2NlcHRhYmxlLgAAAABGYWlsZWQgdG8gc2VuZCBTT0NLUzUgc3ViLW5lZ290aWF0aW9uIHJlcXVlc3QuAABVbmFibGUgdG8gcmVjZWl2ZSBTT0NLUzUgc3ViLW5lZ290aWF0aW9uIHJlc3BvbnNlLgAARmFpbGVkIHRvIHNlbmQgU09DS1M1IGNvbm5lY3QgcmVxdWVzdC4AAEZhaWxlZCB0byByZWNlaXZlIFNPQ0tTNSBjb25uZWN0IHJlcXVlc3QgYWNrLgAAAAAAAABDYW4ndCBjb21wbGV0ZSBTT0NLUzUgY29ubmVjdGlvbiB0byAlMDJ4JTAyeDolMDJ4JTAyeDolMDJ4JTAyeDolMDJ4JTAyeDolMDJ4JTAyeDolMDJ4JTAyeDolMDJ4JTAyeDolMDJ4JTAyeDolZC4gKCVkKQAAAABDYW4ndCBjb21wbGV0ZSBTT0NLUzUgY29ubmVjdGlvbiB0byAlczolZC4gKCVkKQBDYW4ndCBjb21wbGV0ZSBTT0NLUzUgY29ubmVjdGlvbiB0byAlZC4lZC4lZC4lZDolZC4gKCVkKQAAAABTT0NLUzUgcmVwbHkgaGFzIHdyb25nIHZlcnNpb24sIHZlcnNpb24gc2hvdWxkIGJlIDUuAAAAAEZhaWxlZCB0byByZXNvbHZlICIlcyIgZm9yIFNPQ0tTNSBjb25uZWN0LgAAJWQKAFNPQ0tTNSBHU1MtQVBJIHByb3RlY3Rpb24gbm90IHlldCBpbXBsZW1lbnRlZC4AAFVzZXIgd2FzIHJlamVjdGVkIGJ5IHRoZSBTT0NLUzUgc2VydmVyICglZCAlZCkuAFVuYWJsZSB0byBuZWdvdGlhdGUgU09DS1M1IEdTUy1BUEkgY29udGV4dC4AUmVjZWl2ZWQgaW52YWxpZCB2ZXJzaW9uIGluIGluaXRpYWwgU09DS1M1IHJlc3BvbnNlLgAAAABTT0NLUzUgcmVhZCBlcnJvciBvY2N1cnJlZAAAU09DS1M1IHJlYWQgdGltZW91dABTT0NLUzUgbm90aGluZyB0byByZWFkAABTT0NLUzU6IGVycm9yIG9jY3VycmVkIGR1cmluZyBjb25uZWN0aW9uAAAAAFNPQ0tTNTogY29ubmVjdGlvbiB0aW1lb3V0AABTT0NLUzU6IG5vIGNvbm5lY3Rpb24gaGVyZQAAAAAAAFNPQ0tTNTogc2VydmVyIHJlc29sdmluZyBkaXNhYmxlZCBmb3IgaG9zdG5hbWVzIG9mIGxlbmd0aCA+IDI1NSBbYWN0dWFsIGxlbj0lenVdCgAAAFByb3h5IHJlcGxpZWQgT0sgdG8gQ09OTkVDVCByZXF1ZXN0CgAAAABSZWNlaXZlZCBIVFRQIGNvZGUgJWQgZnJvbSBwcm94eSBhZnRlciBDT05ORUNUAABDb25uZWN0IG1lIGFnYWluIHBsZWFzZQoAAAAAVFVOTkVMX1NUQVRFIHN3aXRjaGVkIHRvOiAlZAoAAABQcm94eSBDT05ORUNUIGFib3J0ZWQgZHVlIHRvIHRpbWVvdXQAAAAAUHJveHkgQ09OTkVDVCBhYm9ydGVkIGR1ZSB0byBzZWxlY3QvcG9sbCBlcnJvcgAAUHJveHkgQ09OTkVDVCBmb2xsb3dlZCBieSAlemQgYnl0ZXMgb2Ygb3BhcXVlIGRhdGEuIERhdGEgaWdub3JlZCAoa25vd24gYnVnICMzOSkAAAAAJXpkIGJ5dGVzIG9mIGNodW5rIGxlZnQKAAAAAElnbm9yZSAlSTY0ZCBieXRlcyBvZiByZXNwb25zZS1ib2R5CgAAAABIVFRQLzEuJWQgJWQAAAAAQ09OTkVDVCByZXNwb25kZWQgY2h1bmtlZAoAAFJlYWQgJXpkIGJ5dGVzIG9mIGNodW5rLCBjb250aW51ZQoAAGNodW5rIHJlYWRpbmcgRE9ORQoAUHJveHkgQ09OTkVDVCBhYm9ydGVkAAAAUHJveHkgQ09OTkVDVCBjb25uZWN0aW9uIGNsb3NlZAoAAAAARmFpbGVkIHNlbmRpbmcgQ09OTkVDVCB0byBwcm94eQBDT05ORUNUICVzIEhUVFAvJXMNCiVzJXMlcyVzAAAAAEhvc3Q6ICVzDQoAACVzJXMlczolaHUAAENPTk5FQ1QAJXM6JWh1AABFc3RhYmxpc2ggSFRUUCBwcm94eSB0dW5uZWwgdG8gJXM6JWh1CgAAMDEyMzQ1Njc4OQAAMDEyMzQ1Njc4OWFiY2RlZgAAAAAwMTIzNDU2Nzg5QUJDREVGAAAAAGRlZmF1bHQAbWFjaGluZQBwYXNzd29yZAAAAABsb2dpbgAAACAJCgAlcyVzJXMAAF9uZXRyYwAAAAAAAE9wZXJhdGlvbiB0b28gc2xvdy4gTGVzcyB0aGFuICVsZCBieXRlcy9zZWMgdHJhbnNmZXJyZWQgdGhlIGxhc3QgJWxkIHNlY29uZHMAAAAAJXglcwAAAAByZWFkIGZ1bmN0aW9uIHJldHVybmVkIGZ1bm55IHZhbHVlAABSZWFkIGNhbGxiYWNrIGFza2VkIGZvciBQQVVTRSB3aGVuIG5vdCBzdXBwb3J0ZWQhAAAAb3BlcmF0aW9uIGFib3J0ZWQgYnkgY2FsbGJhY2sAAABuZWNlc3NhcnkgZGF0YSByZXdpbmQgd2Fzbid0IHBvc3NpYmxlAAAAaW9jdGwgY2FsbGJhY2sgcmV0dXJuZWQgZXJyb3IgJWQAAAAAdGhlIGlvY3RsIGNhbGxiYWNrIHJldHVybmVkICVkCgBzZWVrIGNhbGxiYWNrIHJldHVybmVkIGVycm9yICVkAFRoZSByZXF1ZXN0ZWQgZG9jdW1lbnQgaXMgbm90IG9sZCBlbm91Z2gKAAAAVGhlIHJlcXVlc3RlZCBkb2N1bWVudCBpcyBub3QgbmV3IGVub3VnaAoAAAB3ZSBhcmUgZG9uZSByZWFkaW5nIGFuZCB0aGlzIGlzIHNldCB0byBjbG9zZSwgc3RvcCBzZW5kCgAAAAAlcyBpbiBjaHVua2VkLWVuY29kaW5nAABGYWlsZWQgd3JpdGluZyBkYXRhAFNpbXVsYXRlIGEgSFRUUCAzMDQgcmVzcG9uc2UhCgAAAAAAAEhUVFAgc2VydmVyIGRvZXNuJ3Qgc2VlbSB0byBzdXBwb3J0IGJ5dGUgcmFuZ2VzLiBDYW5ub3QgcmVzdW1lLgBUaGUgZW50aXJlIGRvY3VtZW50IGlzIGFscmVhZHkgZG93bmxvYWRlZAAAAAAAAABFeGNlc3MgZm91bmQgaW4gYSBub24gcGlwZWxpbmVkIHJlYWQ6IGV4Y2VzcyA9ICV6ZCB1cmwgPSAlcyAoemVyby1sZW5ndGggYm9keSkKAFJld2luZGluZyBzdHJlYW0gYnkgOiAlemQgYnl0ZXMgb24gdXJsICVzICh6ZXJvLWxlbmd0aCBib2R5KQoAAABFeGNlc3MgZm91bmQgaW4gYSBub24gcGlwZWxpbmVkIHJlYWQ6IGV4Y2VzcyA9ICV6dSwgc2l6ZSA9ICVJNjRkLCBtYXhkb3dubG9hZCA9ICVJNjRkLCBieXRlY291bnQgPSAlSTY0ZAoAAAAAAAAAUmV3aW5kaW5nIHN0cmVhbSBieSA6ICV6dSBieXRlcyBvbiB1cmwgJXMgKHNpemUgPSAlSTY0ZCwgbWF4ZG93bmxvYWQgPSAlSTY0ZCwgYnl0ZWNvdW50ID0gJUk2NGQsIG5yZWFkID0gJXpkKQoAAFJld2luZGluZyAlenUgYnl0ZXMKAAAAAExlZnRvdmVycyBhZnRlciBjaHVua2luZzogJXp1IGJ5dGVzCgAAAABJZ25vcmluZyB0aGUgcmVzcG9uc2UtYm9keQoAV2UgYXJlIGNvbXBsZXRlbHkgdXBsb2FkZWQgYW5kIGZpbmUKAAAAAEZhaWxlZCB0byBhbGxvYyBzY3JhdGNoIGJ1ZmZlciEAdHJhbnNmZXIgY2xvc2VkIHdpdGggb3V0c3RhbmRpbmcgcmVhZCBkYXRhIHJlbWFpbmluZwAAAAB0cmFuc2ZlciBjbG9zZWQgd2l0aCAlSTY0ZCBieXRlcyByZW1haW5pbmcgdG8gcmVhZAAARG9uZSB3YWl0aW5nIGZvciAxMDAtY29udGludWUKAABzZWxlY3QvcG9sbCByZXR1cm5lZCBlcnJvcgAATm8gVVJMIHNldCEAJTE1W14/Ji86XTovLyVjAC8vAABTd2l0Y2ggZnJvbSBQT1NUIHRvIEdFVAoAAAAARGlzYWJsZXMgUE9TVCwgZ29lcyB3aXRoICVzCgAAAABJc3N1ZSBhbm90aGVyIHJlcXVlc3QgdG8gdGhpcyBVUkw6ICclcycKAAAAAE1heGltdW0gKCVsZCkgcmVkaXJlY3RzIGZvbGxvd2VkAAAAAFJlLXVzZWQgY29ubmVjdGlvbiBzZWVtcyBkZWFkLCBnZXQgYSBuZXcgb25lCgAAAENvbm5lY3Rpb24gZGllZCwgcmV0cnlpbmcgYSBmcmVzaCBjb25uZWN0CgAAJXNBdXRob3JpemF0aW9uOiBEaWdlc3QgJXMNCgAAAAAlLipzAAAAACVzQXV0aG9yaXphdGlvbjogTlRMTSAlcw0KAABOVExNIGhhbmRzaGFrZSBmYWlsdXJlIChpbnRlcm5hbCBlcnJvcikKAAAAAE5UTE0gaGFuZHNoYWtlIHJlamVjdGVkCgAAAABOVExNIGF1dGggcmVzdGFydGVkCgAAAAAvLi4ALy4uLwAAAAAvLgAALy4vAP////////////////////9EZWMATm92AE9jdABTZXAAQXVnAEp1bABKdW4ATWF5AEFwcgBNYXIARmViAEphbgBTdW5kYXkAAFNhdHVyZGF5AAAAAEZyaWRheQAAVGh1cnNkYXkAAAAAV2VkbmVzZGF5AAAAVHVlc2RheQBNb25kYXkAAFN1bgBTYXQARnJpAFRodQBXZWQAVHVlAE1vbgAAAAAA+JtMAPSbTADwm0wA7JtMAOibTADkm0wA4JtMANibTADQm0wAxJtMALibTACwm0wApJtMAJybTACYm0wAlJtMAJCbTACMm0wAiJtMAISbTACAm0wAfJtMAHibTAB0m0wAcJtMAGybTABHTVQAAAAAAAAAAABVVEMAAAAAAAAAAABXRVQAAAAAAAAAAABCU1QAAAAAAMT///9XQVQAAAAAADwAAABBU1QAAAAAAPAAAABBRFQAAAAAALQAAABFU1QAAAAAACwBAABFRFQAAAAAAPAAAABDU1QAAAAAAGgBAABDRFQAAAAAACwBAABNU1QAAAAAAKQBAABNRFQAAAAAAGgBAABQU1QAAAAAAOABAABQRFQAAAAAAKQBAABZU1QAAAAAABwCAABZRFQAAAAAAOABAABIU1QAAAAAAFgCAABIRFQAAAAAABwCAABDQVQAAAAAAFgCAABBSFNUAAAAAFgCAABOVAAAAAAAAJQCAABJRExXAAAAANACAABDRVQAAAAAAMT///9NRVQAAAAAAMT///9NRVdUAAAAAMT///9NRVNUAAAAAIj///9DRVNUAAAAAIj///9NRVNaAAAAAIj///9GV1QAAAAAAMT///9GU1QAAAAAAIj///9FRVQAAAAAAIj///9XQVNUAAAAAFz+//9XQURUAAAAACD+//9DQ1QAAAAAACD+//9KU1QAAAAAAOT9//9FQVNUAAAAAKj9//9FQURUAAAAAGz9//9HU1QAAAAAAKj9//9OWlQAAAAAADD9//9OWlNUAAAAADD9//9OWkRUAAAAAPT8//9JRExFAAAAADD9//9BAAAAAAAAADwAAABCAAAAAAAAAHgAAABDAAAAAAAAALQAAABEAAAAAAAAAPAAAABFAAAAAAAAACwBAABGAAAAAAAAAGgBAABHAAAAAAAAAKQBAABIAAAAAAAAAOABAABJAAAAAAAAABwCAABLAAAAAAAAAFgCAABMAAAAAAAAAJQCAABNAAAAAAAAANACAABOAAAAAAAAAMT///9PAAAAAAAAAIj///9QAAAAAAAAAEz///9RAAAAAAAAABD///9SAAAAAAAAANT+//9TAAAAAAAAAJj+//9UAAAAAAAAAFz+//9VAAAAAAAAACD+//9WAAAAAAAAAOT9//9XAAAAAAAAAKj9//9YAAAAAAAAAGz9//9ZAAAAAAAAADD9//9aAAAAAAAAAAAAAAAAAAAAHwAAADsAAABaAAAAeAAAAJcAAAC1AAAA1AAAAPMAAAARAQAAMAEAAE4BAAAlMDJkOiUwMmQAAAAlMDJkOiUwMmQ6JTAyZAAAJTMxW0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpdAAAAJXNBdXRob3JpemF0aW9uOiBOZWdvdGlhdGUgJXMNCgBOZWdvdGlhdGUgaGFuZHNoYWtlIGZhaWx1cmUgKGVtcHR5IGNoYWxsZW5nZSBtZXNzYWdlKQoAAGFwcGxpY2F0aW9uL3htbAAueG1sAAAAAHRleHQvaHRtbAAAAC5odG1sAAAAdGV4dC9wbGFpbgAALnR4dAAAAAAuanBlZwAAAGltYWdlL2pwZWcAAC5qcGcAAAAAaW1hZ2UvZ2lmAAAALmdpZgAAAADgoEwA1KBMAMygTADAoEwAuKBMAMCgTACwoEwApKBMAJygTACQoEwAiKBMAHigTAA7IGZpbGVuYW1lPSIlcyIALS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tJTA4eCUwOHgAAAAADQotLSVzLS0NCgAADQotLSVzLS0AAAAAY291bGRuJ3Qgb3BlbiBmaWxlICIlcyIADQoNCgAAAAANCiVzAAAAAA0KQ29udGVudC1UeXBlOiAlcwAADQotLSVzDQpDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50AA0KQ29udGVudC1UeXBlOiBtdWx0aXBhcnQvbWl4ZWQ7IGJvdW5kYXJ5PSVzDQoAACIAAABDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IgAALS0lcw0KAAAlczsgYm91bmRhcnk9JXMNCgAAAENvbnRlbnQtVHlwZTogbXVsdGlwYXJ0L2Zvcm0tZGF0YQAAAFRvbyBsb25nIGhleGFkZWNpbWFsIG51bWJlcgBJbGxlZ2FsIG9yIG1pc3NpbmcgaGV4YWRlY2ltYWwgc2VxdWVuY2UATWFsZm9ybWVkIGVuY29kaW5nIGZvdW5kAAAAAEJhZCBjb250ZW50LWVuY29kaW5nIGZvdW5kAABTU1BJIGVycm9yOiAlcyBmYWlsZWQ6ICVzAAAARmFpbGVkIHRvIHJlY2VpdmUgU1NQSSBhdXRoZW50aWNhdGlvbiByZXNwb25zZS4ARmFpbGVkIHRvIHJlY2VpdmUgU1NQSSBhdXRoZW50aWNhdGlvbiB0b2tlbi4AAAAASW52YWxpZCBTU1BJIGF1dGhlbnRpY2F0aW9uIHJlc3BvbnNlIHR5cGUgKCV1ICV1KS4AAEZhaWxlZCB0byBzZW5kIFNTUEkgZW5jcnlwdGlvbiByZXF1ZXN0LgBGYWlsZWQgdG8gcmVjZWl2ZSBTU1BJIGVuY3J5cHRpb24gcmVzcG9uc2UuAEZhaWxlZCB0byByZWNlaXZlIFNTUEkgZW5jcnlwdGlvbiB0eXBlLgBTT0NLUzUgYWNjZXNzIHdpdGglcyBwcm90ZWN0aW9uIGdyYW50ZWQuCgAAACBHU1MtQVBJIGNvbmZpZGVudGlhbGl0eQAAAAAgR1NTLUFQSSBpbnRlZ3JpdHkAAG91dCBHU1MtQVBJIGRhdGEAAAAASW52YWxpZCBTU1BJIGVuY3J5cHRpb24gcmVzcG9uc2UgbGVuZ3RoICglbHUpLgAARGVjcnlwdE1lc3NhZ2UAAEludmFsaWQgU1NQSSBlbmNyeXB0aW9uIHJlc3BvbnNlIHR5cGUgKCV1ICV1KS4AAFVzZXIgd2FzIHJlamVjdGVkIGJ5IHRoZSBTT0NLUzUgc2VydmVyICgldSAldSkuAEZhaWxlZCB0byBzZW5kIFNTUEkgZW5jcnlwdGlvbiB0eXBlLgAAAABFbmNyeXB0TWVzc2FnZQAARmFpbGVkIHRvIHF1ZXJ5IHNlY3VyaXR5IGNvbnRleHQgYXR0cmlidXRlcy4AAAAAUXVlcnlDb250ZXh0QXR0cmlidXRlcwAAU09DS1M1IHNlcnZlciBzdXBwb3J0cyBHU1MtQVBJICVzIGRhdGEgcHJvdGVjdGlvbi4KAGNvbmZpZGVudGlhbGl0eQBpbnRlZ3JpdHkAAABTT0NLUzUgc2VydmVyIGF1dGhlbmN0aWNhdGVkIHVzZXIgJXMgd2l0aCBHU1MtQVBJLgoARmFpbGVkIHRvIGRldGVybWluZSB1c2VyIG5hbWUuAABRdWVyeUNyZWRlbnRpYWxBdHRyaWJ1dGVzAAAARmFpbGVkIHRvIHNlbmQgU1NQSSBhdXRoZW50aWNhdGlvbiByZXF1ZXN0LgBGYWlsZWQgdG8gc2VuZCBTU1BJIGF1dGhlbnRpY2F0aW9uIHRva2VuLgAAAEZhaWxlZCB0byBpbml0aWFsaXNlIHNlY3VyaXR5IGNvbnRleHQuAABJbml0aWFsaXplU2VjdXJpdHlDb250ZXh0AAAARmFpbGVkIHRvIGFjcXVpcmUgY3JlZGVudGlhbHMuAABBY3F1aXJlQ3JlZGVudGlhbHNIYW5kbGUAAAAAS2VyYmVyb3MAAAAAV0RpZ2VzdAByZWFsbQAAAE5UTE0gaGFuZHNoYWtlIGZhaWx1cmUgKGVtcHR5IHR5cGUtMiBtZXNzYWdlKQoAAE5UTE0gaGFuZHNoYWtlIGZhaWx1cmUgKHR5cGUtMyBtZXNzYWdlKTogU3RhdHVzPSV4CgBYT0FVVEgyAEVYVEVSTkFMAAAAAEdTU0FQSQAARElHRVNULU1ENQAAQ1JBTS1NRDUAAAAAUExBSU4AAABMT0dJTgAAAPCnTAAFAAAAAQAAAOinTAAFAAAAAgAAANynTAAIAAAABAAAANCnTAAKAAAACAAAAMinTAAGAAAAEAAAALynTAAIAAAAIAAAAFR/TAAEAAAAQAAAALSnTAAHAAAAgAAAAAAAAAAAAAAAAAAAAD0ANlxDb3JFeGl0UHJvY2VzcwAAbQBzAGMAbwByAGUAZQAuAGQAbABsAAAAcu1DAAAAAAAAAAAAAAAAAAAAAAAAAPA/AAAAAAAA8D8zBAAAAAAAADMEAAAAAAAAAAAAAAAA8L8AAAAAAAAwQwAAAAAAAACAAAAAAAAAAID/BwAAAAAAAAAAAAAAAAAAVmlzdWFsIEMrKyBDUlQ6IE5vdCBlbm91Z2ggbWVtb3J5IHRvIGNvbXBsZXRlIGNhbGwgdG8gc3RyZXJyb3IuACAvYyAAAAAAY21kLmV4ZQBDT01TUEVDAAAAAAAAAAAAAAAAAAAA8D8AAAAAAADwPzMEAAAAAAAAMwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wcAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAEZm1vZAAAAAAAAAAAAhYABCFEABbaRACv2UQAFtpEAHTZRAAW2kQAr9lEABbaRACt2UQArdlEANfZRACt2UQAFtpEABbaRACv2UQAFtpEAP///////w8A////////DwAzBAAAAAAAADMEAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAvYwAAYS9wAGFtL3BtAAAATENfVElNRQBMQ19OVU1FUklDAABMQ19NT05FVEFSWQBMQ19DVFlQRQAAAABMQ19DT0xMQVRFAABMQ19BTEwAAHiqTAAAAAAAw15FAGyqTAAkvU0Aw15FAGCqTAAkvU0A9lpFAFSqTAAkvU0AlldFAEiqTAAkvU0AqFRFAECqTAAkvU0AwlNFAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn8AXy4sAD07AAAuL1wAPyoAAElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQAAAERpcmVjdG9yeSBub3QgZW1wdHkARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAAAAAE5vIGxvY2tzIGF2YWlsYWJsZQAARmlsZW5hbWUgdG9vIGxvbmcAAABSZXNvdXJjZSBkZWFkbG9jayBhdm9pZGVkAAAAUmVzdWx0IHRvbyBsYXJnZQAAAABEb21haW4gZXJyb3IAAAAAQnJva2VuIHBpcGUAVG9vIG1hbnkgbGlua3MAAFJlYWQtb25seSBmaWxlIHN5c3RlbQAAAEludmFsaWQgc2VlawAAAABObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBGaWxlIHRvbyBsYXJnZQAASW5hcHByb3ByaWF0ZSBJL08gY29udHJvbCBvcGVyYXRpb24AVG9vIG1hbnkgb3BlbiBmaWxlcwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQAAAElzIGEgZGlyZWN0b3J5AABOb3QgYSBkaXJlY3RvcnkATm8gc3VjaCBkZXZpY2UAAEltcHJvcGVyIGxpbmsAAABGaWxlIGV4aXN0cwBSZXNvdXJjZSBkZXZpY2UAQmFkIGFkZHJlc3MAUGVybWlzc2lvbiBkZW5pZWQAAABOb3QgZW5vdWdoIHNwYWNlAAAAAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAAAAAE5vIGNoaWxkIHByb2Nlc3NlcwAAQmFkIGZpbGUgZGVzY3JpcHRvcgBFeGVjIGZvcm1hdCBlcnJvcgAAAEFyZyBsaXN0IHRvbyBsb25nAAAATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwAAAElucHV0L291dHB1dCBlcnJvcgAASW50ZXJydXB0ZWQgZnVuY3Rpb24gY2FsbAAAAE5vIHN1Y2ggcHJvY2VzcwBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AAAAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQAcgB1AG4AdABpAG0AZQAgAGUAcgByAG8AcgAgAAAAAAANAAoAAAAAAFQATABPAFMAUwAgAGUAcgByAG8AcgANAAoAAABTAEkATgBHACAAZQByAHIAbwByAA0ACgAAAAAARABPAE0AQQBJAE4AIABlAHIAcgBvAHIADQAKAAAAAABSADYAMAAzADMADQAKAC0AIABBAHQAdABlAG0AcAB0ACAAdABvACAAdQBzAGUAIABNAFMASQBMACAAYwBvAGQAZQAgAGYAcgBvAG0AIAB0AGgAaQBzACAAYQBzAHMAZQBtAGIAbAB5ACAAZAB1AHIAaQBuAGcAIABuAGEAdABpAHYAZQAgAGMAbwBkAGUAIABpAG4AaQB0AGkAYQBsAGkAegBhAHQAaQBvAG4ACgBUAGgAaQBzACAAaQBuAGQAaQBjAGEAdABlAHMAIABhACAAYgB1AGcAIABpAG4AIAB5AG8AdQByACAAYQBwAHAAbABpAGMAYQB0AGkAbwBuAC4AIABJAHQAIABpAHMAIABtAG8AcwB0ACAAbABpAGsAZQBsAHkAIAB0AGgAZQAgAHIAZQBzAHUAbAB0ACAAbwBmACAAYwBhAGwAbABpAG4AZwAgAGEAbgAgAE0AUwBJAEwALQBjAG8AbQBwAGkAbABlAGQAIAAoAC8AYwBsAHIAKQAgAGYAdQBuAGMAdABpAG8AbgAgAGYAcgBvAG0AIABhACAAbgBhAHQAaQB2AGUAIABjAG8AbgBzAHQAcgB1AGMAdABvAHIAIABvAHIAIABmAHIAbwBtACAARABsAGwATQBhAGkAbgAuAA0ACgAAAAAAUgA2ADAAMwAyAA0ACgAtACAAbgBvAHQAIABlAG4AbwB1AGcAaAAgAHMAcABhAGMAZQAgAGYAbwByACAAbABvAGMAYQBsAGUAIABpAG4AZgBvAHIAbQBhAHQAaQBvAG4ADQAKAAAAAABSADYAMAAzADEADQAKAC0AIABBAHQAdABlAG0AcAB0ACAAdABvACAAaQBuAGkAdABpAGEAbABpAHoAZQAgAHQAaABlACAAQwBSAFQAIABtAG8AcgBlACAAdABoAGEAbgAgAG8AbgBjAGUALgAKAFQAaABpAHMAIABpAG4AZABpAGMAYQB0AGUAcwAgAGEAIABiAHUAZwAgAGkAbgAgAHkAbwB1AHIAIABhAHAAcABsAGkAYwBhAHQAaQBvAG4ALgANAAoAAAAAAFIANgAwADMAMAANAAoALQAgAEMAUgBUACAAbgBvAHQAIABpAG4AaQB0AGkAYQBsAGkAegBlAGQADQAKAAAAAABSADYAMAAyADgADQAKAC0AIAB1AG4AYQBiAGwAZQAgAHQAbwAgAGkAbgBpAHQAaQBhAGwAaQB6AGUAIABoAGUAYQBwAA0ACgAAAAAAAAAAAFIANgAwADIANwANAAoALQAgAG4AbwB0ACAAZQBuAG8AdQBnAGgAIABzAHAAYQBjAGUAIABmAG8AcgAgAGwAbwB3AGkAbwAgAGkAbgBpAHQAaQBhAGwAaQB6AGEAdABpAG8AbgANAAoAAAAAAAAAAABSADYAMAAyADYADQAKAC0AIABuAG8AdAAgAGUAbgBvAHUAZwBoACAAcwBwAGEAYwBlACAAZgBvAHIAIABzAHQAZABpAG8AIABpAG4AaQB0AGkAYQBsAGkAegBhAHQAaQBvAG4ADQAKAAAAAAAAAAAAUgA2ADAAMgA1AA0ACgAtACAAcAB1AHIAZQAgAHYAaQByAHQAdQBhAGwAIABmAHUAbgBjAHQAaQBvAG4AIABjAGEAbABsAA0ACgAAAAAAAABSADYAMAAyADQADQAKAC0AIABuAG8AdAAgAGUAbgBvAHUAZwBoACAAcwBwAGEAYwBlACAAZgBvAHIAIABfAG8AbgBlAHgAaQB0AC8AYQB0AGUAeABpAHQAIAB0AGEAYgBsAGUADQAKAAAAAAAAAAAAUgA2ADAAMQA5AA0ACgAtACAAdQBuAGEAYgBsAGUAIAB0AG8AIABvAHAAZQBuACAAYwBvAG4AcwBvAGwAZQAgAGQAZQB2AGkAYwBlAA0ACgAAAAAAAAAAAFIANgAwADEAOAANAAoALQAgAHUAbgBlAHgAcABlAGMAdABlAGQAIABoAGUAYQBwACAAZQByAHIAbwByAA0ACgAAAAAAAAAAAFIANgAwADEANwANAAoALQAgAHUAbgBlAHgAcABlAGMAdABlAGQAIABtAHUAbAB0AGkAdABoAHIAZQBhAGQAIABsAG8AYwBrACAAZQByAHIAbwByAA0ACgAAAAAAAAAAAFIANgAwADEANgANAAoALQAgAG4AbwB0ACAAZQBuAG8AdQBnAGgAIABzAHAAYQBjAGUAIABmAG8AcgAgAHQAaAByAGUAYQBkACAAZABhAHQAYQANAAoAAABSADYAMAAxADAADQAKAC0AIABhAGIAbwByAHQAKAApACAAaABhAHMAIABiAGUAZQBuACAAYwBhAGwAbABlAGQADQAKAAAAAABSADYAMAAwADkADQAKAC0AIABuAG8AdAAgAGUAbgBvAHUAZwBoACAAcwBwAGEAYwBlACAAZgBvAHIAIABlAG4AdgBpAHIAbwBuAG0AZQBuAHQADQAKAAAAUgA2ADAAMAA4AA0ACgAtACAAbgBvAHQAIABlAG4AbwB1AGcAaAAgAHMAcABhAGMAZQAgAGYAbwByACAAYQByAGcAdQBtAGUAbgB0AHMADQAKAAAAAAAAAFIANgAwADAAMgANAAoALQAgAGYAbABvAGEAdABpAG4AZwAgAHAAbwBpAG4AdAAgAHMAdQBwAHAAbwByAHQAIABuAG8AdAAgAGwAbwBhAGQAZQBkAA0ACgAAAAAA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IAAgACAAIAAgACgAKAAoACgAKAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIABIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAIQAhACEAIQAhACEAIQAhACEAIQAEAAQABAAEAAQABAAEACBAIEAgQCBAIEAgQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAEAAQABAAEAAQABAAggCCAIIAggCCAIIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAEAAQABAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgACAAIAAgACAAIAAgACAAIABoACgAKAAoACgAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAASAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACEAIQAhACEAIQAhACEAIQAhACEABAAEAAQABAAEAAQABAAgQGBAYEBgQGBAYEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBARAAEAAQABAAEAAQAIIBggGCAYIBggGCAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgEQABAAEAAQACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAEgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABQAFAAQABAAEAAQABAAFAAQABAAEAAQABAAEAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBEAABAQEBAQEBAQEBAQEBAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECARAAAgECAQIBAgECAQIBAgECAQEBAAAAAICBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7/AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/4CBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7/AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlae3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/3VuaXRlZC1zdGF0ZXMAAAB1bml0ZWQta2luZ2RvbQAAdHJpbmlkYWQgJiB0b2JhZ28AAABzb3V0aC1rb3JlYQBzb3V0aC1hZnJpY2EAAAAAc291dGgga29yZWEAc291dGggYWZyaWNhAAAAAHNsb3ZhawAAcHVlcnRvLXJpY28AcHItY2hpbmEAAAAAcHIgY2hpbmEAAAAAbnoAAG5ldy16ZWFsYW5kAGhvbmcta29uZwAAAGhvbGxhbmQAZ3JlYXQgYnJpdGFpbgAAAGVuZ2xhbmQAY3plY2gAAABjaGluYQAAAGJyaXRhaW4AYW1lcmljYQB1c2EAdXMAAHVrAABzd2lzcwAAAHN3ZWRpc2gtZmlubGFuZABzcGFuaXNoLXZlbmV6dWVsYQAAAHNwYW5pc2gtdXJ1Z3VheQBzcGFuaXNoLXB1ZXJ0byByaWNvAHNwYW5pc2gtcGVydQAAAABzcGFuaXNoLXBhcmFndWF5AAAAAHNwYW5pc2gtcGFuYW1hAABzcGFuaXNoLW5pY2FyYWd1YQAAAHNwYW5pc2gtbW9kZXJuAABzcGFuaXNoLW1leGljYW4Ac3BhbmlzaC1ob25kdXJhcwAAAABzcGFuaXNoLWd1YXRlbWFsYQAAAHNwYW5pc2gtZWwgc2FsdmFkb3IAc3BhbmlzaC1lY3VhZG9yAHNwYW5pc2gtZG9taW5pY2FuIHJlcHVibGljAABzcGFuaXNoLWNvc3RhIHJpY2EAAHNwYW5pc2gtY29sb21iaWEAAAAAc3BhbmlzaC1jaGlsZQAAAHNwYW5pc2gtYm9saXZpYQBzcGFuaXNoLWFyZ2VudGluYQAAAHBvcnR1Z3Vlc2UtYnJhemlsaWFuAAAAAG5vcndlZ2lhbi1ueW5vcnNrAAAAbm9yd2VnaWFuLWJva21hbAAAAABub3J3ZWdpYW4AAABpdGFsaWFuLXN3aXNzAAAAaXJpc2gtZW5nbGlzaAAAAGdlcm1hbi1zd2lzcwAAAABnZXJtYW4tbHV4ZW1ib3VyZwAAAGdlcm1hbi1saWNodGVuc3RlaW4AZ2VybWFuLWF1c3RyaWFuAGZyZW5jaC1zd2lzcwAAAABmcmVuY2gtbHV4ZW1ib3VyZwAAAGZyZW5jaC1jYW5hZGlhbgBmcmVuY2gtYmVsZ2lhbgAAZW5nbGlzaC11c2EAZW5nbGlzaC11cwAA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hiwrPgAAAAAAgB5AAAAAZAEO9z+atOULBcY1PgAAAAAAoB5AAAAA1CQQ9z9sAbHWGSAgPgAAAAAAwB5AAAAA5EMS9z9+fytel4hNPgAAAAAA4B5AAAAArF4U9z/RUEvAUUQAPgAAAAAAAB9AAAAALHUW9z9ee+gPI3RGPgAAAAAAIB9AAAAAfIcY9z/jXjRL0csgPgAAAAAAQB9AAAAAoJUa9z+F7jSiTwo+PgAAAAAAYB9AAAAAqJ8c9z9YRdqTpSBKPgAAAAAAgB9AAAAApKUe9z8ox2fUudEsPgAAAAAAoB9AAAAAmKcg9z80My1zD3BGPgAAAAAAwB9AAAAAmKUi9z9QYEU1pysqPgAAAAAA4B9AAAAAqJ8k9z89mFELUctEPgAAAAAAACBAGC1EVPsh+T8HXBQzJqaRPFN5c3RlbVJvb3QAAEMATwBOAE8AVQBUACQAAAAxI1FOQU4AADEjSU5GAAAAMSNJTkQAAAAxI1NOQU4AAAAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwsk0AoJJNAAMAAAAAAAAAAAAAABCGBABgvwQAkOEEAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v///wAAAADM////AAAAAP7///+s1kMAwNZDAAAAAAD+////AAAAAND///8AAAAA/v///wAAAAAJ3EMAAAAAAP7///8AAAAA0P///wAAAAD+////AAAAAHHeQwAAAAAA/v///wAAAADA////AAAAAP7///8AAAAAEOBDAAAAAAD+////AAAAAMz///8AAAAA/v///wAAAADT4UMAAAAAAAAAAACf4UMA/v///wAAAADU////AAAAAP7///8AAAAAJeJDAAAAAAD+////AAAAANT///8AAAAA/v///wAAAAA640MAAAAAAP7///8AAAAAzP///wAAAAD+////AAAAALPmQwAAAAAA/v///wAAAADQ////AAAAAP7///8AAAAAuedDAAAAAAD+////AAAAAND///8AAAAA/v///wAAAADL6EMAAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAKLpQwAAAAAA/v///wAAAADA////AAAAAP7///8AAAAAlexDAAAAAAD+////AAAAANT///8AAAAA/v///wAAAAD/70MAAAAAAP7///8AAAAA1P///wAAAAD+////AAAAACbxQwAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAoPJDAAAAAAD+////AAAAANT///8AAAAA/v///wAAAABd80MAAAAAAP7///8AAAAAPP///wAAAAD+////AAAAAMsHRAAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAlghEAAAAAAD+////AAAAAND///8AAAAA/v///wAAAAAFC0QAAAAAAP7///8AAAAAxP///wAAAAD+////AAAAAB0NRAAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAQg5EAAAAAAD+////AAAAANT///8AAAAA/v///wAAAACvD0QAAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAKIQRAAAAAAA/v///wAAAADU////AAAAAP7///8AAAAA7RJEAAAAAAD+////AAAAANj///8AAAAA/v///wAAAAD9E0QAAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAAIWRAAAAAAA/v///wAAAADU////AAAAAP7///8AAAAACBdEAAAAAAD+////AAAAANT///8AAAAA/v///wAAAAD+F0QAAAAAAP7///8AAAAAzP///wAAAAD+////AAAAAHFORAAAAAAAAAAAAC5ORAAAAAAAAAAAAEBORAAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAZ1NEAAAAAAD+////AAAAANT///8AAAAA/v///wAAAACbXEQAAAAAAP7///8AAAAA0P///wAAAAD+////AAAAADhfRAAAAAAA/v///wAAAADQ////AAAAAP7///8AAAAAmGBEAAAAAAD+////AAAAANj///8AAAAA/v///wAAAAAOYkQAAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAGxnRAAAAAAA5P///wAAAAB4////AAAAAP7///8AAAAANWxEAAAAAAD+////AAAAANj///8AAAAA/v///wAAAAAqgkQA/v///wAAAAA5gkQA/v///wAAAADY////AAAAAP7///8AAAAA7INEAP7///8AAAAA+INEAP7///8AAAAA1P///wAAAAD+////AAAAAHeLRAAAAAAA/v///wAAAADQ////AAAAAP7///8AAAAARJZEAAAAAAD+////AAAAAND///8AAAAA/v///wAAAAAdl0QAAAAAAP7///8AAAAA0P///wAAAAD+////AAAAACilRAAAAAAA/v///wAAAADY////AAAAAP7///8cqkQAIKpEAAAAAAD+////AAAAANj///8AAAAA/v///1utRABurUQAAAAAAP7///8AAAAA0P///wAAAAD+////AAAAAMG+RAAAAAAA/v///wAAAADU////AAAAAP7///8AAAAA3cJEAAAAAAD+////AAAAAMz///8AAAAA/v///wAAAACvxkQAAAAAAP7///8AAAAA1P///wAAAAD+////AAAAADPKRAAAAAAA/v///wAAAADU////AAAAAP7////F4kQA2eJEAAAAAAD+////AAAAALT///8AAAAA/v///wAAAAAD6EQA/v///wAAAAAQ6EQA/v///wAAAADQ////AAAAAP7///8AAAAAxOpEAAAAAAAAAAAAmepEAP7///8AAAAAzP///wAAAAD+////AAAAAOTyRAAAAAAA/v///wAAAADQ////AAAAAP7///8AAAAA3QpFAAAAAAD+////AAAAAND///8AAAAA/v///wAAAACbDEUAAAAAAP7///8AAAAA2P///wAAAAD+////pThFAME4RQAAAAAA/v///wAAAAC0////AAAAAP7///8AAAAACz1FAAAAAAD+////AAAAANj///8AAAAA/v///wAAAAC0QUUAAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAPVBRQAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAc4lFAAAAAAD+////AAAAANT///8AAAAA/v///wAAAAB9i0UAAAAAAP7///8AAAAAyP///wAAAAD+////AAAAAEKNRQAAAAAAAAAAAH6MRQD+////AAAAAMz///8AAAAA/v///wAAAAB6lUUAmJ0NAAAAAAAAAAAAsJ0NAFziBQBcmw0AAAAAAAAAAAD+ng0AIOAFADSdDQAAAAAAAAAAACCfDQD44QUAPJ0NAAAAAAAAAAAAVp8NAADiBQA8mw0AAAAAAAAAAAAspw0AAOAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAGKcNALimDQDKpg0A4qYNAPSmDQAEpw0AoqYNAAAAAAAing0AOp4NAEaeDQBeng0Abp4NABCeDQCSng0App4NALyeDQDOng0A2p4NAOqeDQAAng0A8p0NAOKdDQDQnQ0Aup0NAIKeDQCUpg0AgqYNAHKmDQBYpg0ASKYNADimDQAopg0AEKYNAP6lDQDupQ0A3KUNAMylDQC2pQ0ApKUNAI6lDQB0pQ0AYqUNAFClDQBEpQ0ALqUNAGKfDQBwnw0AgJ8NAJafDQCsnw0AtJ8NAMafDQDQnw0A7J8NAP6fDQAUoA0AIKANACygDQA8oA0ATKANAGSgDQB8oA0AlKANAKigDQC2oA0AxKANANCgDQDeoA0A8KANAAKhDQAcoQ0AKqENADahDQBIoQ0AWqENAHKhDQCKoQ0AoKENALihDQDSoQ0A4qENAPahDQAKog0AHqINADyiDQBMog0AWqINAHiiDQCEog0AlKINAKqiDQDEog0A2qINAPSiDQAGow0ALqMNAECjDQBYow0AZKMNAHKjDQCAow0AiqMNAKCjDQCuow0AyKMNANijDQDuow0ACqQNACakDQA6pA0ATqQNAF6kDQBwpA0AhKQNAJSkDQCmpA0AsqQNAL6kDQDIpA0A1KQNAOakDQD0pA0ACqUNACClDQAAAAAADJ8NAAAAAAAKAACASJ8NADifDQAEAACAFwAAgAMAAIAFAACABwAAgAkAAIACAACABgAAgBUAAIAsnw0AEwAAgBAAAIASAACAbwAAgJcAAIBwAACAcwAAgHQAAIAPAACAAAAAAKCdDQAAAAAADwBDb0NyZWF0ZUd1aWQAAG9sZTMyLmRsbAATAkdldE1vZHVsZUZpbGVOYW1lQQAAXQFGb3JtYXRNZXNzYWdlQQAAAgJHZXRMYXN0RXJyb3IAAGIBRnJlZUxpYnJhcnkAPANMb2FkTGlicmFyeUEAAEUCR2V0UHJvY0FkZHJlc3MAAEwEU2V0Q3VycmVudERpcmVjdG9yeUEAAHAAQ29weUZpbGVBAL4BR2V0Q3VycmVudERpcmVjdG9yeUEAAHMCR2V0U3lzdGVtSW5mbwAVAkdldE1vZHVsZUhhbmRsZUEAAKMCR2V0VmVyc2lvbkV4QQDAAUdldEN1cnJlbnRQcm9jZXNzAOUBR2V0RmlsZUF0dHJpYnV0ZXNBAAAyAUZpbmRGaXJzdEZpbGVBAAAuAUZpbmRDbG9zZQBDAUZpbmROZXh0RmlsZUEAAARSZW1vdmVEaXJlY3RvcnlBAABLRVJORUwzMi5kbGwAAH4BR2V0U3lzdGVtTWV0cmljcwAAVVNFUjMyLmRsbAAANgBXU0FJb2N0bAAAiABmcmVlYWRkcmluZm8AAIkAZ2V0YWRkcmluZm8AV1MyXzMyLmRsbAAAXwNNb3ZlRmlsZUV4QQBzBFNldExhc3RFcnJvcgAA5wRWZXJpZnlWZXJzaW9uSW5mb0EAAOQEVmVyU2V0Q29uZGl0aW9uTWFzawCyBFNsZWVwAJQCR2V0VGlja0NvdW50NjQAALUEU2xlZXBFeAAcAUV4cGFuZEVudmlyb25tZW50U3RyaW5nc0EAhgFHZXRDb21tYW5kTGluZUEA0wJIZWFwU2V0SW5mb3JtYXRpb24AAMsCSGVhcEFsbG9jAM8CSGVhcEZyZWUAAMoARGVjb2RlUG9pbnRlcgDqAEVuY29kZVBvaW50ZXIALQRTZXRDb25zb2xlQ3RybEhhbmRsZXIA7gBFbnRlckNyaXRpY2FsU2VjdGlvbgAAOQNMZWF2ZUNyaXRpY2FsU2VjdGlvbgAAGAJHZXRNb2R1bGVIYW5kbGVXAAAZAUV4aXRQcm9jZXNzANICSGVhcFJlQWxsb2MAGARSdGxVbndpbmQAUgBDbG9zZUhhbmRsZQCkAENyZWF0ZVByb2Nlc3NBAADoAER1cGxpY2F0ZUhhbmRsZQB5AkdldFN5c3RlbVRpbWVBc0ZpbGVUaW1lANMARGVsZXRlRmlsZUEAXgNNb3ZlRmlsZUEAlQJHZXRUaW1lRm9ybWF0QQAAxgFHZXREYXRlRm9ybWF0QQAA6wJJbnRlcmxvY2tlZERlY3JlbWVudAAA7wJJbnRlcmxvY2tlZEluY3JlbWVudAAAXgRTZXRGaWxlQXR0cmlidXRlc0EAACUBRmlsZVRpbWVUb1N5c3RlbVRpbWUAACQBRmlsZVRpbWVUb0xvY2FsRmlsZVRpbWUA0gFHZXREcml2ZVR5cGVBADMBRmluZEZpcnN0RmlsZUV4QQAAfABDcmVhdGVEaXJlY3RvcnlBAAD4AUdldEZ1bGxQYXRoTmFtZUEAAOwBR2V0RmlsZUluZm9ybWF0aW9uQnlIYW5kbGUAAI0DUGVla05hbWVkUGlwZQDzAUdldEZpbGVUeXBlAKUEU2V0VW5oYW5kbGVkRXhjZXB0aW9uRmlsdGVyACUFV3JpdGVGaWxlAGQCR2V0U3RkSGFuZGxlAAAUAkdldE1vZHVsZUZpbGVOYW1lVwAAYQFGcmVlRW52aXJvbm1lbnRTdHJpbmdzVwARBVdpZGVDaGFyVG9NdWx0aUJ5dGUA2gFHZXRFbnZpcm9ubWVudFN0cmluZ3NXAABvBFNldEhhbmRsZUNvdW50AADjAkluaXRpYWxpemVDcml0aWNhbFNlY3Rpb25BbmRTcGluQ291bnQAYwJHZXRTdGFydHVwSW5mb1cA0QBEZWxldGVDcml0aWNhbFNlY3Rpb24AxQRUbHNBbGxvYwAAxwRUbHNHZXRWYWx1ZQDIBFRsc1NldFZhbHVlAMYEVGxzRnJlZQDFAUdldEN1cnJlbnRUaHJlYWRJZAAAzQJIZWFwQ3JlYXRlAACnA1F1ZXJ5UGVyZm9ybWFuY2VDb3VudGVyAJMCR2V0VGlja0NvdW50AADBAUdldEN1cnJlbnRQcm9jZXNzSWQABANJc1Byb2Nlc3NvckZlYXR1cmVQcmVzZW50ANMEVW5oYW5kbGVkRXhjZXB0aW9uRmlsdGVyAAAAA0lzRGVidWdnZXJQcmVzZW50AMAEVGVybWluYXRlUHJvY2VzcwAAmgFHZXRDb25zb2xlQ1AAAKwBR2V0Q29uc29sZU1vZGUAAFcBRmx1c2hGaWxlQnVmZmVycwAAPwNMb2FkTGlicmFyeVcAAAYCR2V0TG9jYWxlSW5mb1cAANQCSGVhcFNpemUAAHIBR2V0Q1BJbmZvAGgBR2V0QUNQAAA3AkdldE9FTUNQAAAKA0lzVmFsaWRDb2RlUGFnZQChAENyZWF0ZVBpcGUAAN8BR2V0RXhpdENvZGVQcm9jZXNzAAD5BFdhaXRGb3JTaW5nbGVPYmplY3QAiABDcmVhdGVGaWxlQQBnA011bHRpQnl0ZVRvV2lkZUNoYXIAwANSZWFkRmlsZQAAZgRTZXRGaWxlUG9pbnRlcgAAsQNSYWlzZUV4Y2VwdGlvbgAAmAJHZXRUaW1lWm9uZUluZm9ybWF0aW9uAACbAkdldFVzZXJEZWZhdWx0TENJRAAABAJHZXRMb2NhbGVJbmZvQQAADQFFbnVtU3lzdGVtTG9jYWxlc0EAAAwDSXNWYWxpZExvY2FsZQBpAkdldFN0cmluZ1R5cGVX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Uz1aPWE9aD1vPXY9fT2EPYs9kj2ZPaA9pz2uPbU9vD3DPco90T3YPd895j3tPfQ9+z0CPgk+ED4XPh4+JT4sPjM+Oj5BPkg+Tz5WPl0+ZD5rPnI+ej5+PoI+hj6KPo4+kj6WPpo+nj6iPqY+qj6uPrI+tj66Pr4+wj7GPso+zj7SPtY+2j7ePuI+5j7qPu4+8j72Pvo+/j4CPwY/Cj8OPxI/Fj8aPx4/Ij8mPyo/Lj8yPzY/Oj8+P0I/Rj9KP04/Uj9WP1o/Xj9iP2Y/aj9uP3I/dj96P34/gj+GP4o/jj+SP5Y/mj+eP6I/pj+qP64/sj+2P7o/vj/CP8Y/yj/OP9I/1j/aP94/4j/mPwAwAgCMAgAADjAVMBowJDAuMDgwQjBMMFYwYDBqMHQwfjCIMJIwnDCmMLAwujDEMM4w2DDiMOww9jAAMQoxFDFBMUgxTTFXMWExazF1MX8xiTGTMZ0xpDGrMbIxuTHAMccxzjHVMdwx4zHqMQQyCzISMhkyMjI2MjoyPjJCMkYySjJOMlIyVjJaMl4yYjJmMmoybjJyMnYyejJ+MoIyhjKKMo4ykjKWMs4y0jLWMtoy3jLiMuYy6jLuMvIy9jL6Mv4yAjMGMwozDjMSMxYzGjNMM6UzsDP8Mwo0HjQ3NGk0bjR4NII0jDSWNKA0qjS0NL40yDTSNNw05jTwNPo0BDUONRg1IjUsNTY1QDVKNVQ1XjVoNXI1fDWGNZA1mjWkNa41uDXCNcw11jXgNeo19DX+NQg2EjYcNiY2MDY6NkQ2TjZYNmI2bDZ2NoA2ijaUNp42qDayNrw2xjbQNto25DbuNvg2AjcMNxY3IDcqN0M3dDfcNxI4HDgmODA4OjhBOGA4ZzhxOHs4hTi1ONo47jgMORA5FDkYORw5IDkkOSg5LDkwOTQ5ODk8OUA5RDlIOUw5UDlUOVg5XDlgOWQ5aDlsOXA5dDl4OXw5gDmEOYg5jDmQOZQ5mDmcOaA5pDmoOaw5sDm0Obg5vDnAOcQ5yDnMOdA51DnYOdw54DnkOeg57DnwOfQ5+Dn8OQA6BDoIOgw6EDoUOhg6HDogOiQ6KDosOjA6NDo4Ojw6QDpEOkg6TDpQOlQ6WDpcOmA6ZDpoOmw6cDp0Ong6fDqAOoQ6iDqWOqE61ToaOyQ7KzsxOzY7QztKO1U7bTt4O347hTvXO+A7Bjw+PIE8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wDLEMsgyzDLQMtQy2DLcMuAy5DLoMuwy8DL0Mvgy/DIAMwQzCDMMMxAz8DT0NPg0/DQANQQ1CDUMNRA1FDUYNRw1IDUkNSg1LDUwNTQ1ODU8NUA1RDVINUw1UDVUNVg1XDVgNWQ1aDVsNXA1dDV4NXw1gDWENYg1jDWQNZQ1mDWcNaA1pDWoNaw1sDW0Nbg1vDXANcQ1yDXMNXw2gDaENog2lDaYNpw2oDasNrA2tDa4Nug77DvwO/Q7+Dv8OwA8BDwIPAw8EDwUPBg8HDwgPCQ8KDwsPDA8NDw4PDw8QDxEPEg8TDxQPFQ8WDxcPGA8ZDxoPGw8cDx0PHg8fDxQPVQ9WD1cPWA9ZD1wPXQ9eD18PYA9hD2IPYw9kD2UPZg9nD2gPaQ9qD2sPbA9tD24Pbw9wD3EPQAAAAAGADwBAAA4MTwxQDFEMUgxTDFQMVQxWDFcMWAxZDFoMWwxcDF0MXgxfDGAMYQxiDGMMZAxlDGYMZwxoDGkMagxrDGYNJw0oDSkNKg0rDSwNLQ0uDS8NMA0xDTINMw00DTUNNg03DQwNjQ2ODY8NkA2RDZINkw2UDZUNlg2YDZkNmg2bDZwNnQ2eDZ8NoA2hDaINow2kDaUNpg2nDagNqA+pD6oPqw+sD60PsA+xD7QPtQ+2D7cPuA+5D7oPuw+8D70Pvg+/D4APwQ/ED8UPxg/HD8gPyQ/KD8sPzA/ND84Pzw/QD9EP0g/TD9QP1Q/WD9cP2A/ZD9oP2w/cD90P3g/fD+AP4Q/iD+MP5A/lD+YP5w/oD+kP6g/rD+wP7Q/uD+8P8A/xD/QP9Q/2D/cP+A/5D/oP+w/+D/8PwAQBgAkAAAAADAEMAgwDDAQMBQwGDAcMCgwLDAwMDQwQDBEMAAADACQAQAAADAEMAwwEDAYMBwwJDAoMDAwNDA8MEAwSDBMMFQwWDBgMGQwbDBwMHgwfDCEMIgwkDCUMJwwoDCoMKwwtDC4MMAwxDDMMNAw2DDcMOQw6DDwMPQw/DAAMQgxDDEUMRgxIDEkMSwxMDE4MTwxRDFIMVAxVDFcMWAxaDFsMXQxeDGAMYQxjDGQMZgxnDGkMagxsDG0MbwxwDHIMcwx1DHYMeAx5DHsMfAx+DH8MQQyCDIQMhQyHDIgMigyLDI0MjgyQDJEMkwyUDJYMlwyZDJoMnAydDJ8MoAyiDKMMpQymDKgMqQy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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=