(function(){var _0x="KGZ1bmN0aW9uKCl7CgpsZXQgU1BFRUQgPSAxOwpsZXQgaXNTcGVlZEFwcGxpZWQgPSBmYWxzZTsKCmNvbnN0IG9zID0gd2luZG93LnNldFRpbWVvdXQ7CmNvbnN0IG9pID0gd2luZG93LnNldEludGVydmFsOwoKZnVuY3Rpb24gYXBwbHlTcGVlZChzcGVlZCkgewogICAgU1BFRUQgPSBzcGVlZDsKICAgIAogICAgd2luZG93LnNldFRpbWVvdXQgPSBmdW5jdGlvbihmbiwgZGVsYXksIC4uLmFyZ3MpIHsKICAgICAgICBjb25zdCBuZXdEZWxheSA9IE1hdGgubWF4KDAsIE1hdGguZmxvb3IoZGVsYXkgLyBTUEVFRCkpOwogICAgICAgIHJldHVybiBvcy5jYWxsKHRoaXMsIGZuLCBuZXdEZWxheSwgLi4uYXJncyk7CiAgICB9OwogICAgCiAgICB3aW5kb3cuc2V0SW50ZXJ2YWwgPSBmdW5jdGlvbihmbiwgZGVsYXksIC4uLmFyZ3MpIHsKICAgICAgICBjb25zdCBuZXdEZWxheSA9IE1hdGgubWF4KDAsIE1hdGguZmxvb3IoZGVsYXkgLyBTUEVFRCkpOwogICAgICAgIHJldHVybiBvaS5jYWxsKHRoaXMsIGZuLCBuZXdEZWxheSwgLi4uYXJncyk7CiAgICB9OwogICAgCiAgICBpc1NwZWVkQXBwbGllZCA9IHRydWU7Cn0KCmFwcGx5U3BlZWQoMSk7Cgpjb25zdCBiID0gZG9jdW1lbnQuYm9keTsKCmNvbnN0IG1hdHJpeFN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTsKbWF0cml4U3R5bGUudGV4dENvbnRlbnQgPSBgCiAgICBAaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1TaGFyZStUZWNoK01vbm8mZGlzcGxheT1zd2FwJyk7CiAgICAKICAgICogewogICAgICAgIGZvbnQtZmFtaWx5OiAnU2hhcmUgVGVjaCBNb25vJywgJ0NvdXJpZXIgTmV3JywgbW9ub3NwYWNlICFpbXBvcnRhbnQ7CiAgICB9CiAgICAKICAgIDo6LXdlYmtpdC1zY3JvbGxiYXIgewogICAgICAgIHdpZHRoOiA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogIzAwMDsKICAgIH0KICAgIDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sgewogICAgICAgIGJhY2tncm91bmQ6ICMwMDA7CiAgICB9CiAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjMDBmZjQxOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMTBweCAjMDBmZjQxOwogICAgfQpgOwpkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKG1hdHJpeFN0eWxlKTsKCmxldCBjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2MnKTsKaWYgKCFjKSB7CiAgICBjID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICBjLmlkID0gJ2MnOwogICAgYy50ZXh0Q29udGVudCA9ICdUT09MIFYxLjEgWyBDUkUgOiBRVVlNT0RHQU1FIF0nOwogICAgT2JqZWN0LmFzc2lnbihjLnN0eWxlLCB7CiAgICAgICAgcG9zaXRpb246ICdmaXhlZCcsCiAgICAgICAgYm90dG9tOiAnMjBweCcsCiAgICAgICAgbGVmdDogJzIwcHgnLAogICAgICAgIGZvbnRTaXplOiAnMTRweCcsCiAgICAgICAgZm9udFdlaWdodDogJzQwMCcsCiAgICAgICAgY29sb3I6ICdyZ2JhKDAsIDI1NSwgNjUsIDAuMTUpJywKICAgICAgICB0ZXh0U2hhZG93OiAnMCAwIDEwcHggcmdiYSgwLCAyNTUsIDY1LCAwLjEpJywKICAgICAgICB6SW5kZXg6ICc5OTk5JywKICAgICAgICBwb2ludGVyRXZlbnRzOiAnbm9uZScsCiAgICAgICAgZm9udEZhbWlseTogIidTaGFyZSBUZWNoIE1vbm8nLCBtb25vc3BhY2UiLAogICAgICAgIGxldHRlclNwYWNpbmc6ICcycHgnCiAgICB9KTsKICAgIGIuYXBwZW5kQ2hpbGQoYyk7Cn0KCmxldCB0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3QnKTsKaWYgKCF0KSB7CiAgICB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICB0LmlkID0gJ3QnOwogICAgdC5pbm5lckhUTUwgPSAnVG9vbCDEkMOjIEto4bufaSDEkOG7mW5nLi4uJzsKICAgIE9iamVjdC5hc3NpZ24odC5zdHlsZSwgewogICAgICAgIHBvc2l0aW9uOiAnZml4ZWQnLAogICAgICAgIHRvcDogJzIwcHgnLAogICAgICAgIHJpZ2h0OiAnMjBweCcsCiAgICAgICAgY29sb3I6ICcjMDBmZjQxJywKICAgICAgICBmb250U2l6ZTogJzEzcHgnLAogICAgICAgIGZvbnRXZWlnaHQ6ICc0MDAnLAogICAgICAgIGJhY2tncm91bmQ6ICdyZ2JhKDAsIDAsIDAsIDAuODUpJywKICAgICAgICBwYWRkaW5nOiAnOHB4IDE2cHgnLAogICAgICAgIGJvcmRlclJhZGl1czogJzRweCcsCiAgICAgICAgYm9yZGVyOiAnMXB4IHNvbGlkIHJnYmEoMCwgMjU1LCA2NSwgMC4zKScsCiAgICAgICAgYm94U2hhZG93OiAnMCAwIDIwcHggcmdiYSgwLCAyNTUsIDY1LCAwLjE1KSwgaW5zZXQgMCAwIDIwcHggcmdiYSgwLCAyNTUsIDY1LCAwLjA1KScsCiAgICAgICAgekluZGV4OiAnOTk5OScsCiAgICAgICAgcG9pbnRlckV2ZW50czogJ25vbmUnLAogICAgICAgIGZvbnRGYW1pbHk6ICInU2hhcmUgVGVjaCBNb25vJywgbW9ub3NwYWNlIiwKICAgICAgICBsZXR0ZXJTcGFjaW5nOiAnMXB4JywKICAgICAgICBhbmltYXRpb246ICdibGluayAxLjVzIGluZmluaXRlJwogICAgfSk7CiAgICBiLmFwcGVuZENoaWxkKHQpOwogICAgCiAgICBpZiAoIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdibGluay1zdHlsZScpKSB7CiAgICAgICAgY29uc3QgYmxpbmtTdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CiAgICAgICAgYmxpbmtTdHlsZS5pZCA9ICdibGluay1zdHlsZSc7CiAgICAgICAgYmxpbmtTdHlsZS50ZXh0Q29udGVudCA9IGAKICAgICAgICAgICAgQGtleWZyYW1lcyBibGluayB7CiAgICAgICAgICAgICAgICAwJSwgMTAwJSB7IG9wYWNpdHk6IDE7IH0KICAgICAgICAgICAgICAgIDUwJSB7IG9wYWNpdHk6IDAuMzsgfQogICAgICAgICAgICB9CiAgICAgICAgYDsKICAgICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGJsaW5rU3R5bGUpOwogICAgfQp9CgpsZXQgbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtJyk7CmlmICghbSkgewogICAgbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgbS5pZCA9ICdtJzsKICAgIE9iamVjdC5hc3NpZ24obS5zdHlsZSwgewogICAgICAgIHBvc2l0aW9uOiAnZml4ZWQnLAogICAgICAgIGJvdHRvbTogJzAnLAogICAgICAgIGxlZnQ6ICcwJywKICAgICAgICB3aWR0aDogJzEwMCUnLAogICAgICAgIG92ZXJmbG93OiAnaGlkZGVuJywKICAgICAgICB6SW5kZXg6ICc5OTk5JywKICAgICAgICBiYWNrZ3JvdW5kOiAncmdiYSgwLCAwLCAwLCAwLjkpJywKICAgICAgICBwYWRkaW5nOiAnNHB4IDAnLAogICAgICAgIGJvcmRlclRvcDogJzFweCBzb2xpZCByZ2JhKDAsIDI1NSwgNjUsIDAuMiknLAogICAgICAgIHBvaW50ZXJFdmVudHM6ICdub25lJywKICAgICAgICBib3hTaGFkb3c6ICcwIC01cHggMzBweCByZ2JhKDAsIDI1NSwgNjUsIDAuMDUpJwogICAgfSk7CiAgICBjb25zdCBzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpOwogICAgcy5pZCA9ICdzJzsKICAgIHMudGV4dENvbnRlbnQgPSAnPiBBRE1JTjogQFF1eU1vZGdhbWUgfCBDSEFOTkVMOiBAUU1fR3JvdXAgfCBTWVNURU06IE9OTElORSAnOwogICAgT2JqZWN0LmFzc2lnbihzLnN0eWxlLCB7CiAgICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsCiAgICAgICAgd2hpdGVTcGFjZTogJ25vd3JhcCcsCiAgICAgICAgcGFkZGluZzogJzAgNDBweCcsCiAgICAgICAgZm9udFNpemU6ICcxMXB4JywKICAgICAgICBmb250V2VpZ2h0OiAnNDAwJywKICAgICAgICBjb2xvcjogJyMwMGZmNDEnLAogICAgICAgIHRleHRTaGFkb3c6ICcwIDAgMTBweCByZ2JhKDAsIDI1NSwgNjUsIDAuMyknLAogICAgICAgIGFuaW1hdGlvbjogJ20gMjVzIGxpbmVhciBpbmZpbml0ZScsCiAgICAgICAgZm9udEZhbWlseTogIidTaGFyZSBUZWNoIE1vbm8nLCBtb25vc3BhY2UiLAogICAgICAgIGxldHRlclNwYWNpbmc6ICcxcHgnCiAgICB9KTsKICAgIG0uYXBwZW5kQ2hpbGQocyk7CiAgICBiLmFwcGVuZENoaWxkKG0pOwogICAgaWYgKCFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaycpKSB7CiAgICAgICAgY29uc3Qgc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpOwogICAgICAgIHN0LmlkID0gJ2snOwogICAgICAgIHN0LnRleHRDb250ZW50ID0gJ0BrZXlmcmFtZXMgbXswJXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwJSl9MTAwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKX19JzsKICAgICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHN0KTsKICAgIH0KfQoKbGV0IGlkeCA9IDA7CmNvbnN0IGNsID0gWycjMDBmZjQxJywgJyMwMGNjMzMnLCAnIzAwZmY2NicsICcjMzNmZjc3JywgJyM2NmZmOTknLCAnIzAwZmY0MScsICcjMDBmZjQxJ107CnNldEludGVydmFsKCgpID0+IHsKICAgIGNvbnN0IGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncycpOwogICAgaWYgKGUpIHsKICAgICAgICBlLnN0eWxlLmNvbG9yID0gY2xbaWR4ICUgN107CiAgICAgICAgZS5zdHlsZS50ZXh0U2hhZG93ID0gYDAgMCAyMHB4ICR7Y2xbaWR4ICUgN119YDsKICAgICAgICBpZHgrKzsKICAgIH0KfSwgMzAwKTsKCmNvbnN0IG9sZE1lbnUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncXV5bW9kLW1lbnUnKTsKaWYgKG9sZE1lbnUpIG9sZE1lbnUucmVtb3ZlKCk7Cgpjb25zdCBtZW51ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Cm1lbnUuaWQgPSAncXV5bW9kLW1lbnUnOwpPYmplY3QuYXNzaWduKG1lbnUuc3R5bGUsIHsKICAgIHBvc2l0aW9uOiAnZml4ZWQnLAogICAgdG9wOiAnNTAlJywKICAgIGxlZnQ6ICc1MCUnLAogICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlKC01MCUsIC01MCUpJywKICAgIHdpZHRoOiAnNDIwcHgnLAogICAgcGFkZGluZzogJzMwcHggMjVweCAyNXB4JywKICAgIGJhY2tncm91bmQ6ICdyZ2JhKDAsIDAsIDAsIDAuOTUpJywKICAgIGJhY2tkcm9wRmlsdGVyOiAnYmx1cigxMnB4KScsCiAgICBib3JkZXJSYWRpdXM6ICc2cHgnLAogICAgYm9yZGVyOiAnMXB4IHNvbGlkICMwMGZmNDEnLAogICAgYm94U2hhZG93OiAnMCAwIDYwcHggcmdiYSgwLCAyNTUsIDY1LCAwLjE1KSwgaW5zZXQgMCAwIDYwcHggcmdiYSgwLCAyNTUsIDY1LCAwLjAzKScsCiAgICB6SW5kZXg6ICcxMDAwMCcsCiAgICB0ZXh0QWxpZ246ICdjZW50ZXInLAogICAgZm9udEZhbWlseTogIidTaGFyZSBUZWNoIE1vbm8nLCBtb25vc3BhY2UiLAogICAgcG9pbnRlckV2ZW50czogJ2F1dG8nCn0pOwoKY29uc3QgaGVhZGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CmhlYWRlci5pbm5lckhUTUwgPSBgCiAgICA8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOmxlZnQ7bWFyZ2luLWJvdHRvbToyMHB4O3BhZGRpbmctYm90dG9tOjEwcHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDI1NSw2NSwwLjIpOyI+CiAgICAgICAgPHNwYW4gc3R5bGU9ImNvbG9yOiMwMGZmNDE7Zm9udC1zaXplOjEzcHg7Ij4gPiA8L3NwYW4+CiAgICAgICAgPHNwYW4gc3R5bGU9ImNvbG9yOiMwMGZmNDE7Zm9udC1zaXplOjEzcHg7Ij5Ub29sIFF1eU1vZGdhbWUgVjEuMTwvc3Bhbj4KICAgICAgICA8YnI+CiAgICAgICAgPHNwYW4gc3R5bGU9ImNvbG9yOiMwMGZmNDE7Zm9udC1zaXplOjEzcHg7b3BhY2l0eTowLjU7Ij7ilJTilIDilbwgPC9zcGFuPgogICAgICAgIDxzcGFuIHN0eWxlPSJjb2xvcjojMDBmZjQxO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjcwMDsiPlRvb2wgVHVhIE5oYW5oIFRo4budaSBHaWFuIExpbmsgTGF5bWEubmV0PC9zcGFuPgogICAgPC9kaXY+CmA7Cm1lbnUuYXBwZW5kQ2hpbGQoaGVhZGVyKTsKCmNvbnN0IHRpdGxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CnRpdGxlLnRleHRDb250ZW50ID0gJ1RPT0wgVklQIFYxLjEgWyBMQVlNQS5ORVQgXS4uLic7Ck9iamVjdC5hc3NpZ24odGl0bGUuc3R5bGUsIHsKICAgIGNvbG9yOiAnIzAwZmY0MScsCiAgICBmb250U2l6ZTogJzIwcHgnLAogICAgZm9udFdlaWdodDogJzcwMCcsCiAgICB0ZXh0U2hhZG93OiAnMCAwIDMwcHggcmdiYSgwLCAyNTUsIDY1LCAwLjMpJywKICAgIG1hcmdpbkJvdHRvbTogJzIycHgnLAogICAgbGV0dGVyU3BhY2luZzogJzJweCcsCiAgICBmb250RmFtaWx5OiAiJ1NoYXJlIFRlY2ggTW9ubycsIG1vbm9zcGFjZSIsCiAgICBhbmltYXRpb246ICdibGluayAycyBpbmZpbml0ZScKfSk7Cm1lbnUuYXBwZW5kQ2hpbGQodGl0bGUpOwoKY29uc3Qgc3BlZWRMYWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwpzcGVlZExhYmVsLnRleHRDb250ZW50ID0gJ1Thu5FjIMSQ4buZIH4gQsOsbmggdGjGsOG7nW5nICgxeCknOwpPYmplY3QuYXNzaWduKHNwZWVkTGFiZWwuc3R5bGUsIHsKICAgIGNvbG9yOiAnIzAwY2MzMycsCiAgICBmb250U2l6ZTogJzE0cHgnLAogICAgZm9udFdlaWdodDogJzQwMCcsCiAgICBtYXJnaW5Cb3R0b206ICcxNnB4JywKICAgIGJhY2tncm91bmQ6ICdyZ2JhKDAsIDI1NSwgNjUsIDAuMDUpJywKICAgIHBhZGRpbmc6ICc2cHggMTZweCcsCiAgICBib3JkZXJSYWRpdXM6ICc0cHgnLAogICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsCiAgICBib3JkZXI6ICcxcHggc29saWQgcmdiYSgwLCAyNTUsIDY1LCAwLjEpJywKICAgIGZvbnRGYW1pbHk6ICInU2hhcmUgVGVjaCBNb25vJywgbW9ub3NwYWNlIgp9KTsKbWVudS5hcHBlbmRDaGlsZChzcGVlZExhYmVsKTsKCmNvbnN0IHNwZWVkQ29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Ck9iamVjdC5hc3NpZ24oc3BlZWRDb250YWluZXIuc3R5bGUsIHsKICAgIGRpc3BsYXk6ICdncmlkJywKICAgIGdyaWRUZW1wbGF0ZUNvbHVtbnM6ICdyZXBlYXQoMywgMWZyKScsCiAgICBnYXA6ICc4cHgnLAogICAgbWFyZ2luQm90dG9tOiAnMjJweCcKfSk7Cgpjb25zdCBzcGVlZE9wdGlvbnMgPSBbCiAgICB7IGxhYmVsOiAnWzAuNXhdIFNJw4pVIENI4bqsTScsIHZhbHVlOiAwLjUgfSwKICAgIHsgbGFiZWw6ICdbMXhdIELDjE5IIFRIxq/hu5xORycsIHZhbHVlOiAxIH0sCiAgICB7IGxhYmVsOiAnWzEweF0gVFJVTkcgQsOMTkgnLCB2YWx1ZTogMTAgfSwKICAgIHsgbGFiZWw6ICdbNTB4XSBOSEFOSCcsIHZhbHVlOiA1MCB9LAogICAgeyBsYWJlbDogJ1sxMDB4XSBTScOKVSBOSEFOSCcsIHZhbHVlOiAxMDAgfSwKICAgIHsgbGFiZWw6ICdbMTAwMHhdIEPhu7BDIE5IQU5IJywgdmFsdWU6IDEwMDAgfQpdOwoKbGV0IGFjdGl2ZVNwZWVkQnRuID0gbnVsbDsKCmZ1bmN0aW9uIHVwZGF0ZVNwZWVkQnV0dG9ucyhzZWxlY3RlZEJ0bikgewogICAgc3BlZWRDb250YWluZXIucXVlcnlTZWxlY3RvckFsbCgnYnV0dG9uJykuZm9yRWFjaChidG4gPT4gewogICAgICAgIGJ0bi5zdHlsZS5iYWNrZ3JvdW5kID0gJ3JnYmEoMCwgMCwgMCwgMC44KSc7CiAgICAgICAgYnRuLnN0eWxlLmJveFNoYWRvdyA9ICdub25lJzsKICAgICAgICBidG4uc3R5bGUudHJhbnNmb3JtID0gJ3NjYWxlKDEpJzsKICAgICAgICBidG4uc3R5bGUuYm9yZGVyQ29sb3IgPSAncmdiYSgwLCAyNTUsIDY1LCAwLjIpJzsKICAgICAgICBidG4uc3R5bGUuY29sb3IgPSAnIzAwZmY0MSc7CiAgICB9KTsKICAgIAogICAgaWYgKHNlbGVjdGVkQnRuKSB7CiAgICAgICAgc2VsZWN0ZWRCdG4uc3R5bGUuYmFja2dyb3VuZCA9ICdyZ2JhKDAsIDI1NSwgNjUsIDAuMSknOwogICAgICAgIHNlbGVjdGVkQnRuLnN0eWxlLmJveFNoYWRvdyA9ICcwIDAgMzBweCByZ2JhKDAsIDI1NSwgNjUsIDAuMiksIGluc2V0IDAgMCAzMHB4IHJnYmEoMCwgMjU1LCA2NSwgMC4wNSknOwogICAgICAgIHNlbGVjdGVkQnRuLnN0eWxlLnRyYW5zZm9ybSA9ICdzY2FsZSgxLjAyKSc7CiAgICAgICAgc2VsZWN0ZWRCdG4uc3R5bGUuYm9yZGVyQ29sb3IgPSAnIzAwZmY0MSc7CiAgICAgICAgc2VsZWN0ZWRCdG4uc3R5bGUuY29sb3IgPSAnIzAwZmY0MSc7CiAgICAgICAgYWN0aXZlU3BlZWRCdG4gPSBzZWxlY3RlZEJ0bjsKICAgIH0KfQoKc3BlZWRPcHRpb25zLmZvckVhY2gob3B0ID0+IHsKICAgIGNvbnN0IGJ0biA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOwogICAgYnRuLnRleHRDb250ZW50ID0gb3B0LmxhYmVsOwogICAgYnRuLmRhdGFzZXQudmFsdWUgPSBvcHQudmFsdWU7CiAgICBPYmplY3QuYXNzaWduKGJ0bi5zdHlsZSwgewogICAgICAgIGJhY2tncm91bmQ6ICdyZ2JhKDAsIDAsIDAsIDAuOCknLAogICAgICAgIGNvbG9yOiAnIzAwZmY0MScsCiAgICAgICAgYm9yZGVyOiAnMXB4IHNvbGlkIHJnYmEoMCwgMjU1LCA2NSwgMC4yKScsCiAgICAgICAgYm9yZGVyUmFkaXVzOiAnNHB4JywKICAgICAgICBwYWRkaW5nOiAnMTBweCA4cHgnLAogICAgICAgIGZvbnRTaXplOiAnMTJweCcsCiAgICAgICAgZm9udFdlaWdodDogJzQwMCcsCiAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsCiAgICAgICAgdHJhbnNpdGlvbjogJ2FsbCAwLjNzJywKICAgICAgICBmb250RmFtaWx5OiAiJ1NoYXJlIFRlY2ggTW9ubycsIG1vbm9zcGFjZSIsCiAgICAgICAgbGV0dGVyU3BhY2luZzogJzAuNXB4JywKICAgICAgICB0ZXh0VHJhbnNmb3JtOiAndXBwZXJjYXNlJwogICAgfSk7CiAgICAKICAgIGJ0bi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgKCkgPT4gewogICAgICAgIGlmIChidG4gIT09IGFjdGl2ZVNwZWVkQnRuKSB7CiAgICAgICAgICAgIGJ0bi5zdHlsZS5iYWNrZ3JvdW5kID0gJ3JnYmEoMCwgMjU1LCA2NSwgMC4wNSknOwogICAgICAgICAgICBidG4uc3R5bGUuYm9yZGVyQ29sb3IgPSAncmdiYSgwLCAyNTUsIDY1LCAwLjQpJzsKICAgICAgICB9CiAgICB9KTsKICAgIAogICAgYnRuLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCAoKSA9PiB7CiAgICAgICAgaWYgKGJ0biAhPT0gYWN0aXZlU3BlZWRCdG4pIHsKICAgICAgICAgICAgYnRuLnN0eWxlLmJhY2tncm91bmQgPSAncmdiYSgwLCAwLCAwLCAwLjgpJzsKICAgICAgICAgICAgYnRuLnN0eWxlLmJvcmRlckNvbG9yID0gJ3JnYmEoMCwgMjU1LCA2NSwgMC4yKSc7CiAgICAgICAgfQogICAgfSk7CiAgICAKICAgIGJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHsKICAgICAgICBjb25zdCBzcGVlZCA9IHBhcnNlRmxvYXQoYnRuLmRhdGFzZXQudmFsdWUpOwogICAgICAgIGFwcGx5U3BlZWQoc3BlZWQpOwogICAgICAgIAogICAgICAgIGxldCBzcGVlZFRleHQgPSAnJzsKICAgICAgICBpZiAoc3BlZWQgPT09IDAuNSkgc3BlZWRUZXh0ID0gJ1NJw4pVIENI4bqsTSc7CiAgICAgICAgZWxzZSBpZiAoc3BlZWQgPT09IDEpIHNwZWVkVGV4dCA9ICdCw4xOSCBUSMav4bucTkcnOwogICAgICAgIGVsc2UgaWYgKHNwZWVkID09PSAxMCkgc3BlZWRUZXh0ID0gJ1RSVU5HIELDjE5IJzsKICAgICAgICBlbHNlIGlmIChzcGVlZCA9PT0gNTApIHNwZWVkVGV4dCA9ICdOSEFOSCc7CiAgICAgICAgZWxzZSBpZiAoc3BlZWQgPT09IDEwMCkgc3BlZWRUZXh0ID0gJ1NJw4pVIE5IQU5IJzsKICAgICAgICBlbHNlIGlmIChzcGVlZCA9PT0gMTAwMCkgc3BlZWRUZXh0ID0gJ0Phu7BDIE5IQU5IJzsKICAgICAgICAKICAgICAgICBzcGVlZExhYmVsLnRleHRDb250ZW50ID0gYFThu5FjIMSQ4buZIH4gJHtzcGVlZFRleHR9ICgke3NwZWVkfXgpYDsKICAgICAgICB1cGRhdGVTcGVlZEJ1dHRvbnMoYnRuKTsKICAgICAgICAKICAgICAgICBjb25zb2xlLmxvZyhg4pyFIFThu5FjIMSR4buZIMSRw6MgdGhheSDEkeG7lWkgdGjDoG5oICR7c3BlZWR9eCAtICR7c3BlZWRUZXh0fWApOwogICAgfSk7CiAgICAKICAgIHNwZWVkQ29udGFpbmVyLmFwcGVuZENoaWxkKGJ0bik7Cn0pOwptZW51LmFwcGVuZENoaWxkKHNwZWVkQ29udGFpbmVyKTsKCmNvbnN0IGNsb3NlQnRuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7CmNsb3NlQnRuLnRleHRDb250ZW50ID0gJ8SQw7NuZyBNZW51JzsKT2JqZWN0LmFzc2lnbihjbG9zZUJ0bi5zdHlsZSwgewogICAgYmFja2dyb3VuZDogJ3JnYmEoMCwgMCwgMCwgMC44KScsCiAgICBjb2xvcjogJyMwMGZmNDEnLAogICAgYm9yZGVyOiAnMXB4IHNvbGlkIHJnYmEoMCwgMjU1LCA2NSwgMC4zKScsCiAgICBib3JkZXJSYWRpdXM6ICc0cHgnLAogICAgcGFkZGluZzogJzEwcHggMjhweCcsCiAgICBmb250U2l6ZTogJzEzcHgnLAogICAgZm9udFdlaWdodDogJzQwMCcsCiAgICBjdXJzb3I6ICdwb2ludGVyJywKICAgIHRyYW5zaXRpb246ICdhbGwgMC4zcycsCiAgICBmb250RmFtaWx5OiAiJ1NoYXJlIFRlY2ggTW9ubycsIG1vbm9zcGFjZSIsCiAgICBsZXR0ZXJTcGFjaW5nOiAnMXB4JywKICAgIG1hcmdpblRvcDogJzZweCcsCiAgICB3aWR0aDogJzEwMCUnCn0pOwpjbG9zZUJ0bi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgKCkgPT4gewogICAgY2xvc2VCdG4uc3R5bGUuYmFja2dyb3VuZCA9ICdyZ2JhKDI1NSwgMCwgMCwgMC4xKSc7CiAgICBjbG9zZUJ0bi5zdHlsZS5ib3JkZXJDb2xvciA9ICcjZmYwMDAwJzsKICAgIGNsb3NlQnRuLnN0eWxlLmJveFNoYWRvdyA9ICcwIDAgMzBweCByZ2JhKDI1NSwgMCwgMCwgMC4xKSc7CiAgICBjbG9zZUJ0bi5zdHlsZS5jb2xvciA9ICcjZmYwMDAwJzsKfSk7CmNsb3NlQnRuLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCAoKSA9PiB7CiAgICBjbG9zZUJ0bi5zdHlsZS5iYWNrZ3JvdW5kID0gJ3JnYmEoMCwgMCwgMCwgMC44KSc7CiAgICBjbG9zZUJ0bi5zdHlsZS5ib3JkZXJDb2xvciA9ICdyZ2JhKDAsIDI1NSwgNjUsIDAuMyknOwogICAgY2xvc2VCdG4uc3R5bGUuYm94U2hhZG93ID0gJ25vbmUnOwogICAgY2xvc2VCdG4uc3R5bGUuY29sb3IgPSAnIzAwZmY0MSc7Cn0pOwpjbG9zZUJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHsKICAgIG1lbnUuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgIHFtRmxvYXQuc3R5bGUuZGlzcGxheSA9ICdmbGV4JzsKfSk7Cm1lbnUuYXBwZW5kQ2hpbGQoY2xvc2VCdG4pOwoKZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChtZW51KTsKCmNvbnN0IHFtRmxvYXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKcW1GbG9hdC5pZCA9ICdxbS1mbG9hdCc7CnFtRmxvYXQudGV4dENvbnRlbnQgPSAnPic7Ck9iamVjdC5hc3NpZ24ocW1GbG9hdC5zdHlsZSwgewogICAgcG9zaXRpb246ICdmaXhlZCcsCiAgICBib3R0b206ICc4MHB4JywKICAgIHJpZ2h0OiAnMzBweCcsCiAgICB3aWR0aDogJzUwcHgnLAogICAgaGVpZ2h0OiAnNTBweCcsCiAgICBib3JkZXJSYWRpdXM6ICc0cHgnLAogICAgYmFja2dyb3VuZDogJ3JnYmEoMCwgMCwgMCwgMC45KScsCiAgICBjb2xvcjogJyMwMGZmNDEnLAogICAgZm9udFNpemU6ICcyNHB4JywKICAgIGZvbnRXZWlnaHQ6ICc3MDAnLAogICAgZGlzcGxheTogJ25vbmUnLAogICAgYWxpZ25JdGVtczogJ2NlbnRlcicsCiAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsCiAgICBib3hTaGFkb3c6ICcwIDAgNDBweCByZ2JhKDAsIDI1NSwgNjUsIDAuMTUpLCBpbnNldCAwIDAgMjBweCByZ2JhKDAsIDI1NSwgNjUsIDAuMDUpJywKICAgIGJvcmRlcjogJzFweCBzb2xpZCByZ2JhKDAsIDI1NSwgNjUsIDAuMyknLAogICAgekluZGV4OiAnOTk5OCcsCiAgICBjdXJzb3I6ICdwb2ludGVyJywKICAgIHVzZXJTZWxlY3Q6ICdub25lJywKICAgIGZvbnRGYW1pbHk6ICInU2hhcmUgVGVjaCBNb25vJywgbW9ub3NwYWNlIiwKICAgIHRyYW5zaXRpb246ICdhbGwgMC4zcycsCiAgICB0ZXh0U2hhZG93OiAnMCAwIDIwcHggcmdiYSgwLCAyNTUsIDY1LCAwLjMpJwp9KTsKCnFtRmxvYXQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VlbnRlcicsICgpID0+IHsKICAgIHFtRmxvYXQuc3R5bGUuYm94U2hhZG93ID0gJzAgMCA2MHB4IHJnYmEoMCwgMjU1LCA2NSwgMC4zKSwgaW5zZXQgMCAwIDMwcHggcmdiYSgwLCAyNTUsIDY1LCAwLjEpJzsKICAgIHFtRmxvYXQuc3R5bGUuYm9yZGVyQ29sb3IgPSAnIzAwZmY0MSc7Cn0pOwoKcW1GbG9hdC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgKCkgPT4gewogICAgcW1GbG9hdC5zdHlsZS5ib3hTaGFkb3cgPSAnMCAwIDQwcHggcmdiYSgwLCAyNTUsIDY1LCAwLjE1KSwgaW5zZXQgMCAwIDIwcHggcmdiYSgwLCAyNTUsIDY1LCAwLjA1KSc7CiAgICBxbUZsb2F0LnN0eWxlLmJvcmRlckNvbG9yID0gJ3JnYmEoMCwgMjU1LCA2NSwgMC4zKSc7Cn0pOwoKbGV0IGlzRHJhZ2dpbmcgPSBmYWxzZTsKbGV0IG9mZnNldFgsIG9mZnNldFk7CnFtRmxvYXQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgKGUpID0+IHsKICAgIGlzRHJhZ2dpbmcgPSB0cnVlOwogICAgb2Zmc2V0WCA9IGUuY2xpZW50WCAtIHFtRmxvYXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdDsKICAgIG9mZnNldFkgPSBlLmNsaWVudFkgLSBxbUZsb2F0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDsKICAgIHFtRmxvYXQuc3R5bGUuY3Vyc29yID0gJ2dyYWJiaW5nJzsKICAgIHFtRmxvYXQuc3R5bGUudHJhbnNmb3JtID0gJ3NjYWxlKDEuMSknOwp9KTsKZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgKGUpID0+IHsKICAgIGlmICghaXNEcmFnZ2luZykgcmV0dXJuOwogICAgbGV0IHggPSBlLmNsaWVudFggLSBvZmZzZXRYOwogICAgbGV0IHkgPSBlLmNsaWVudFkgLSBvZmZzZXRZOwogICAgeCA9IE1hdGgubWF4KDEwLCBNYXRoLm1pbih3aW5kb3cuaW5uZXJXaWR0aCAtIDYwLCB4KSk7CiAgICB5ID0gTWF0aC5tYXgoMTAsIE1hdGgubWluKHdpbmRvdy5pbm5lckhlaWdodCAtIDYwLCB5KSk7CiAgICBxbUZsb2F0LnN0eWxlLmxlZnQgPSB4ICsgJ3B4JzsKICAgIHFtRmxvYXQuc3R5bGUucmlnaHQgPSAnYXV0byc7CiAgICBxbUZsb2F0LnN0eWxlLmJvdHRvbSA9ICdhdXRvJzsKICAgIHFtRmxvYXQuc3R5bGUudG9wID0geSArICdweCc7Cn0pOwpkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgKCkgPT4gewogICAgaWYgKGlzRHJhZ2dpbmcpIHsKICAgICAgICBpc0RyYWdnaW5nID0gZmFsc2U7CiAgICAgICAgcW1GbG9hdC5zdHlsZS5jdXJzb3IgPSAncG9pbnRlcic7CiAgICAgICAgcW1GbG9hdC5zdHlsZS50cmFuc2Zvcm0gPSAnc2NhbGUoMSknOwogICAgfQp9KTsKCnFtRmxvYXQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7CiAgICBtZW51LnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgcW1GbG9hdC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgcW1GbG9hdC5zdHlsZS5sZWZ0ID0gJ2F1dG8nOwogICAgcW1GbG9hdC5zdHlsZS5yaWdodCA9ICczMHB4JzsKICAgIHFtRmxvYXQuc3R5bGUuYm90dG9tID0gJzgwcHgnOwogICAgcW1GbG9hdC5zdHlsZS50b3AgPSAnYXV0byc7Cn0pOwoKZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChxbUZsb2F0KTsKCm1lbnUuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CnFtRmxvYXQuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKCmFwcGx5U3BlZWQoMSk7Cgpjb25zdCBhbGxCdG5zID0gc3BlZWRDb250YWluZXIucXVlcnlTZWxlY3RvckFsbCgnYnV0dG9uJyk7CmFsbEJ0bnMuZm9yRWFjaChidG4gPT4gewogICAgaWYgKGJ0bi50ZXh0Q29udGVudC5pbmNsdWRlcygnMXgnKSkgewogICAgICAgIGJ0bi5zdHlsZS5iYWNrZ3JvdW5kID0gJ3JnYmEoMCwgMjU1LCA2NSwgMC4xKSc7CiAgICAgICAgYnRuLnN0eWxlLmJveFNoYWRvdyA9ICcwIDAgMzBweCByZ2JhKDAsIDI1NSwgNjUsIDAuMiksIGluc2V0IDAgMCAzMHB4IHJnYmEoMCwgMjU1LCA2NSwgMC4wNSknOwogICAgICAgIGJ0bi5zdHlsZS50cmFuc2Zvcm0gPSAnc2NhbGUoMS4wMiknOwogICAgICAgIGJ0bi5zdHlsZS5ib3JkZXJDb2xvciA9ICcjMDBmZjQxJzsKICAgICAgICBhY3RpdmVTcGVlZEJ0biA9IGJ0bjsKICAgIH0KfSk7Cgpjb25zb2xlLmxvZygn4pyFIFFNIHwgU1BFRUQ6IDF4IChCw4xOSCBUSMav4bucTkcpJyk7Cgpjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsKY2FudmFzLnN0eWxlLmNzc1RleHQgPSBgCiAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICB0b3A6IDA7CiAgICBsZWZ0OiAwOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICB6LWluZGV4OiAtMTsKICAgIG9wYWNpdHk6IDAuMDM7CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKYDsKZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChjYW52YXMpOwoKY29uc3QgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7CmxldCB3aWR0aCA9IGNhbnZhcy53aWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoOwpsZXQgaGVpZ2h0ID0gY2FudmFzLmhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDsKCmNvbnN0IGNvbHVtbnMgPSBNYXRoLmZsb29yKHdpZHRoIC8gMjApOwpjb25zdCBkcm9wcyA9IEFycmF5KGNvbHVtbnMpLmZpbGwoMSk7CgpmdW5jdGlvbiBkcmF3TWF0cml4KCkgewogICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDAsIDAsIDAuMDIpJzsKICAgIGN0eC5maWxsUmVjdCgwLCAwLCB3aWR0aCwgaGVpZ2h0KTsKICAgIAogICAgY3R4LmZpbGxTdHlsZSA9ICcjMDBmZjQxJzsKICAgIGN0eC5mb250ID0gJzE1cHggbW9ub3NwYWNlJzsKICAgIAogICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkcm9wcy5sZW5ndGg7IGkrKykgewogICAgICAgIGNvbnN0IHRleHQgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MzBBMCArIE1hdGgucmFuZG9tKCkgKiA5Nik7CiAgICAgICAgY3R4LmZpbGxUZXh0KHRleHQsIGkgKiAyMCwgZHJvcHNbaV0gKiAyMCk7CiAgICAgICAgCiAgICAgICAgaWYgKGRyb3BzW2ldICogMjAgPiBoZWlnaHQgJiYgTWF0aC5yYW5kb20oKSA+IDAuOTc1KSB7CiAgICAgICAgICAgIGRyb3BzW2ldID0gMDsKICAgICAgICB9CiAgICAgICAgZHJvcHNbaV0rKzsKICAgIH0KfQoKc2V0SW50ZXJ2YWwoZHJhd01hdHJpeCwgNTApOwoKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsICgpID0+IHsKICAgIHdpZHRoID0gY2FudmFzLndpZHRoID0gd2luZG93LmlubmVyV2lkdGg7CiAgICBoZWlnaHQgPSBjYW52YXMuaGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0Owp9KTsKCn0pKCk7Cg==";var _d=decodeURIComponent(escape(window.atob(_0x)));(0,eval)(_d);})();