CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdnZl9icm93c2VyX2dlY2tvIGdmb3JtX3dyYXBwZXInIGlkPSdnZm9ybV93cmFwcGVyXzEnID48YSBpZD0nZ2ZfMScgY2xhc3M9J2dmb3JtX2FuY2hvcicgPjwvYT48Zm9ybSBtZXRob2Q9J3Bvc3QnIGVuY3R5cGU9J211bHRpcGFydC9mb3JtLWRhdGEnIHRhcmdldD0nZ2Zvcm1fYWpheF9mcmFtZV8xJyBpZD0nZ2Zvcm1fMScgIGFjdGlvbj0nL2hvdGVscy9iYW5na29rL3N1aXRlcy8jZ2ZfMSc+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J2dmb3JtX2JvZHknPjx1bCBpZD0nZ2Zvcm1fZmllbGRzXzEnIGNsYXNzPSdnZm9ybV9maWVsZHMgdG9wX2xhYmVsIGZvcm1fc3VibGFiZWxfYmVsb3cgZGVzY3JpcHRpb25fYmVsb3cnPjxsaSBpZD0nZmllbGRfMV8xJyBjbGFzcz0nZ2ZpZWxkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93JyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMV8xJyA+V0hFUkU/PC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyIGdpbnB1dF9jb250YWluZXJfc2VsZWN0Jz48c2VsZWN0IG5hbWU9J2lucHV0XzEnIGlkPSdpbnB1dF8xXzEnICBjbGFzcz0nbGFyZ2UgZ2ZpZWxkX3NlbGVjdCcgdGFiaW5kZXg9JzEnID48b3B0aW9uIHZhbHVlPSdCYW5na29rJyBzZWxlY3RlZD0nc2VsZWN0ZWQnPkJhbmdrb2s8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTYW11aScgPlNhbXVpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUHJhbmJ1cmknID5QcmFuYnVyaTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NoYS1BbScgPkNoYSBBbTwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PjwvbGk+PGxpIGlkPSdmaWVsZF8xXzInIGNsYXNzPSdnZmllbGQgZmllbGRfc3VibGFiZWxfYmVsb3cgZmllbGRfZGVzY3JpcHRpb25fYmVsb3cnID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCcgZm9yPSdpbnB1dF8xXzJfMScgPkNIRUNLIElOPzwvbGFiZWw+PGRpdiBpZD0naW5wdXRfMV8yJyBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lciBnaW5wdXRfY29udGFpbmVyX2RhdGUnPjxkaXYgY2xhc3M9J2NsZWFyLW11bHRpJz48ZGl2IGNsYXNzPSdnZmllbGRfZGF0ZV9kcm9wZG93bl9tb250aCBnaW5wdXRfY29udGFpbmVyIGdpbnB1dF9jb250YWluZXJfZGF0ZScgaWQ9J2lucHV0XzFfMl8xX2NvbnRhaW5lcic+PHNlbGVjdCBuYW1lPSdpbnB1dF8yW10nIGlkPSdpbnB1dF8xXzJfMScgdGFiaW5kZXg9JzInICA+PG9wdGlvbiB2YWx1ZT0nJz5Nb250aDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9JzEnID4xPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nMicgPjI8L29wdGlvbj48b3B0aW9uIHZhbHVlPSczJyA+Mzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9JzQnID40PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nNScgPjU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSc2JyA+Njwvb3B0aW9uPjxvcHRpb24gdmFsdWU9JzcnID43PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nOCcgPjg8L29wdGlvbj48b3B0aW9uIHZhbHVlPSc5JyA+OTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9JzEwJyA+MTA8L29wdGlvbj48b3B0aW9uIHZhbHVlPScxMScgPjExPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nMTInID4xMjwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PjxkaXYgY2xhc3M9J2dmaWVsZF9kYXRlX2Ryb3Bkb3duX2RheSBnaW5wdXRfY29udGFpbmVyIGdpbnB1dF9jb250YWluZXJfZGF0ZScgaWQ9J2lucHV0XzFfMl8yX2NvbnRhaW5lcic+PHNlbGVjdCBuYW1lPSdpbnB1dF8yW10nIGlkPSdpbnB1dF8xXzJfMicgdGFiaW5kZXg9JzMnICA+PG9wdGlvbiB2YWx1ZT0nJz5EYXk8L29wdGlvbj48b3B0aW9uIHZhbHVlPScxJyA+MTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9JzInID4yPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nMycgPjM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSc0JyA+NDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9JzUnID41PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nNicgPjY8L29wdGlvbj48b3B0aW9uIHZhbHVlPSc3JyA+Nzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9JzgnID44PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nOScgPjk8L29wdGlvbj48b3B0aW9uIHZhbHVlPScxMCcgPjEwPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nMTEnID4xMTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9JzEyJyA+MTI8L29wdGlvbj48b3B0aW9uIHZhbHVlPScxMycgPjEzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nMTQnID4xNDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9JzE1JyA+MTU8L29wdGlvbj48b3B0aW9uIHZhbHVlPScxNicgPjE2PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nMTcnID4xNzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9JzE4JyA+MTg8L29wdGlvbj48b3B0aW9uIHZhbHVlPScxOScgPjE5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nMjAnID4yMDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9JzIxJyA+MjE8L29wdGlvbj48b3B0aW9uIHZhbHVlPScyMicgPjIyPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nMjMnID4yMzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9JzI0JyA+MjQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPScyNScgPjI1PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nMjYnID4yNjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9JzI3JyA+Mjc8L29wdGlvbj48b3B0aW9uIHZhbHVlPScyOCcgPjI4PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nMjknID4yOTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9JzMwJyA+MzA8L29wdGlvbj48b3B0aW9uIHZhbHVlPSczMScgPjMxPC9vcHRpb24+PC9zZWxlY3Q+PC9kaXY+PGRpdiBjbGFzcz0nZ2ZpZWxkX2RhdGVfZHJvcGRvd25feWVhciBnaW5wdXRfY29udGFpbmVyIGdpbnB1dF9jb250YWluZXJfZGF0ZScgaWQ9J2lucHV0XzFfMl8zX2NvbnRhaW5lcic+PHNlbGVjdCBuYW1lPSdpbnB1dF8yW10nIGlkPSdpbnB1dF8xXzJfMycgdGFiaW5kZXg9JzQnICA+PG9wdGlvbiB2YWx1ZT0nJz5ZZWFyPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nMjAxNycgPjIwMTc8L29wdGlvbj48b3B0aW9uIHZhbHVlPScyMDE2JyA+MjAxNjwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PjwvZGl2PjwvZGl2PjwvbGk+PGxpIGlkPSdmaWVsZF8xXzcnIGNsYXNzPSdnZmllbGQgZmllbGRfc3VibGFiZWxfYmVsb3cgZmllbGRfZGVzY3JpcHRpb25fYmVsb3cnID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCcgZm9yPSdpbnB1dF8xXzcnID4jIE9GIE5JR0hUUzwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lciBnaW5wdXRfY29udGFpbmVyX251bWJlcic+PGlucHV0IG5hbWU9J2lucHV0XzcnIGlkPSdpbnB1dF8xXzcnIHR5cGU9J3RleHQnICAgIHZhbHVlPScnIGNsYXNzPSdsYXJnZScgdGFiaW5kZXg9JzUnICAgIHBsYWNlaG9sZGVyPSdIb3cgbG9uZyBhcmUgeW91IHN0YXlpbmc/Jy8+PC9kaXY+PC9saT48bGkgaWQ9J2ZpZWxkXzFfNScgY2xhc3M9J2dmaWVsZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdycgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsJyBmb3I9J2lucHV0XzFfNScgPlBST01PPzwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lciBnaW5wdXRfY29udGFpbmVyX3RleHQnPjxpbnB1dCBuYW1lPSdpbnB1dF81JyBpZD0naW5wdXRfMV81JyB0eXBlPSd0ZXh0JyB2YWx1ZT0nJyBjbGFzcz0nbGFyZ2UnICB0YWJpbmRleD0nNicgIHBsYWNlaG9sZGVyPSdHb3QgYSBDb2RlPycgLz48L2Rpdj48L2xpPjxsaSBpZD0nZmllbGRfMV82JyBjbGFzcz0nZ2ZpZWxkIGdmb3JtX2hpZGRlbiBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdycgPjxpbnB1dCBuYW1lPSdpbnB1dF82JyBpZD0naW5wdXRfMV82JyB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIHZhbHVlPSdodHRwOi8vd3d3LmhhbnNhcmhvdGVscy5jb20vaG90ZWxzL2Jhbmdrb2svJyAvPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9J2dmb3JtX2Zvb3RlciB0b3BfbGFiZWwnPiA8aW5wdXQgdHlwZT0nc3VibWl0JyBpZD0nZ2Zvcm1fc3VibWl0X2J1dHRvbl8xJyBjbGFzcz0nZ2Zvcm1fYnV0dG9uIGJ1dHRvbicgdmFsdWU9J0NIRUNLIEFWQUlMQUJJTElUWScgdGFiaW5kZXg9JzcnIG9uY2xpY2s9J2lmKHdpbmRvd1siZ2Zfc3VibWl0dGluZ18xIl0pe3JldHVybiBmYWxzZTt9ICB3aW5kb3dbImdmX3N1Ym1pdHRpbmdfMSJdPXRydWU7ICAnIC8+IDxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2dmb3JtX2FqYXgnIHZhbHVlPSdmb3JtX2lkPTEmYW1wO3RpdGxlPSZhbXA7ZGVzY3JpcHRpb249JmFtcDt0YWJpbmRleD0xJyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyBuYW1lPSdpc19zdWJtaXRfMScgdmFsdWU9JzEnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J2dmb3JtX3N1Ym1pdCcgdmFsdWU9JzEnIC8+CiAgICAgICAgICAgIAogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyBuYW1lPSdnZm9ybV91bmlxdWVfaWQnIHZhbHVlPScnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J3N0YXRlXzEnIHZhbHVlPSdXeUpiWFNJc0lqUTJNbUZpTlRVM1pEUTFOamxsT1RVMU9EZzJZakpqT0RRNU5HVTJaRFJqSWwwPScgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0nZ2Zvcm1fdGFyZ2V0X3BhZ2VfbnVtYmVyXzEnIGlkPSdnZm9ybV90YXJnZXRfcGFnZV9udW1iZXJfMScgdmFsdWU9JzAnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J2dmb3JtX3NvdXJjZV9wYWdlX251bWJlcl8xJyBpZD0nZ2Zvcm1fc291cmNlX3BhZ2VfbnVtYmVyXzEnIHZhbHVlPScxJyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdnZm9ybV9maWVsZF92YWx1ZXMnIHZhbHVlPScnIC8+CiAgICAgICAgICAgIAogICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGlmcmFtZSBzdHlsZT0nZGlzcGxheTpub25lO3dpZHRoOjBweDtoZWlnaHQ6MHB4Oycgc3JjPSdhYm91dDpibGFuaycgbmFtZT0nZ2Zvcm1fYWpheF9mcmFtZV8xJyBpZD0nZ2Zvcm1fYWpheF9mcmFtZV8xJz48L2lmcmFtZT4KICAgICAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz5qUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCQpe2dmb3JtSW5pdFNwaW5uZXIoIDEsICdodHRwOi8vd3d3LmhhbnNhcmhvdGVscy5jb20vd3AtY29udGVudC9wbHVnaW5zL2dyYXZpdHlmb3Jtcy9pbWFnZXMvc3Bpbm5lci5naWYnICk7alF1ZXJ5KCcjZ2Zvcm1fYWpheF9mcmFtZV8xJykubG9hZCggZnVuY3Rpb24oKXt2YXIgY29udGVudHMgPSBqUXVlcnkodGhpcykuY29udGVudHMoKS5maW5kKCcqJykuaHRtbCgpO3ZhciBpc19wb3N0YmFjayA9IGNvbnRlbnRzLmluZGV4T2YoJ0dGX0FKQVhfUE9TVEJBQ0snKSA+PSAwO2lmKCFpc19wb3N0YmFjayl7cmV0dXJuO312YXIgZm9ybV9jb250ZW50ID0galF1ZXJ5KHRoaXMpLmNvbnRlbnRzKCkuZmluZCgnI2dmb3JtX3dyYXBwZXJfMScpO3ZhciBpc19jb25maXJtYXRpb24gPSBqUXVlcnkodGhpcykuY29udGVudHMoKS5maW5kKCcjZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXJfMScpLmxlbmd0aCA+IDA7dmFyIGlzX3JlZGlyZWN0ID0gY29udGVudHMuaW5kZXhPZignZ2Zvcm1SZWRpcmVjdCgpeycpID49IDA7dmFyIGlzX2Zvcm0gPSBmb3JtX2NvbnRlbnQubGVuZ3RoID4gMCAmJiAhIGlzX3JlZGlyZWN0ICYmICEgaXNfY29uZmlybWF0aW9uO2lmKGlzX2Zvcm0pe2pRdWVyeSgnI2dmb3JtX3dyYXBwZXJfMScpLmh0bWwoZm9ybV9jb250ZW50Lmh0bWwoKSk7c2V0VGltZW91dCggZnVuY3Rpb24oKSB7IC8qIGRlbGF5IHRoZSBzY3JvbGwgYnkgNTAgbWlsbGlzZWNvbmRzIHRvIGZpeCBhIGJ1ZyBpbiBjaHJvbWUgKi8galF1ZXJ5KGRvY3VtZW50KS5zY3JvbGxUb3AoalF1ZXJ5KCcjZ2Zvcm1fd3JhcHBlcl8xJykub2Zmc2V0KCkudG9wKTsgfSwgNTAgKTtpZih3aW5kb3dbJ2dmb3JtSW5pdERhdGVwaWNrZXInXSkge2dmb3JtSW5pdERhdGVwaWNrZXIoKTt9aWYod2luZG93WydnZm9ybUluaXRQcmljZUZpZWxkcyddKSB7Z2Zvcm1Jbml0UHJpY2VGaWVsZHMoKTt9dmFyIGN1cnJlbnRfcGFnZSA9IGpRdWVyeSgnI2dmb3JtX3NvdXJjZV9wYWdlX251bWJlcl8xJykudmFsKCk7Z2Zvcm1Jbml0U3Bpbm5lciggMSwgJ2h0dHA6Ly93d3cuaGFuc2FyaG90ZWxzLmNvbS93cC1jb250ZW50L3BsdWdpbnMvZ3Jhdml0eWZvcm1zL2ltYWdlcy9zcGlubmVyLmdpZicgKTtqUXVlcnkoZG9jdW1lbnQpLnRyaWdnZXIoJ2dmb3JtX3BhZ2VfbG9hZGVkJywgWzEsIGN1cnJlbnRfcGFnZV0pO3dpbmRvd1snZ2Zfc3VibWl0dGluZ18xJ10gPSBmYWxzZTt9ZWxzZSBpZighaXNfcmVkaXJlY3Qpe3ZhciBjb25maXJtYXRpb25fY29udGVudCA9IGpRdWVyeSh0aGlzKS5jb250ZW50cygpLmZpbmQoJyNnZm9ybXNfY29uZmlybWF0aW9uX21lc3NhZ2VfMScpLmh0bWwoKTtpZighY29uZmlybWF0aW9uX2NvbnRlbnQpe2NvbmZpcm1hdGlvbl9jb250ZW50ID0gY29udGVudHM7fXNldFRpbWVvdXQoZnVuY3Rpb24oKXtqUXVlcnkoJyNnZm9ybV93cmFwcGVyXzEnKS5yZXBsYWNlV2l0aCgnPCcgKyAnZGl2IGlkPVwnZ2Zvcm1zX2NvbmZpcm1hdGlvbl9tZXNzYWdlXzFcJyBjbGFzcz1cJ2dmb3JtX2NvbmZpcm1hdGlvbl9tZXNzYWdlXzEgZ2Zvcm1zX2NvbmZpcm1hdGlvbl9tZXNzYWdlXCcnICsgJz4nICsgY29uZmlybWF0aW9uX2NvbnRlbnQgKyAnPCcgKyAnL2RpdicgKyAnPicpO2pRdWVyeShkb2N1bWVudCkuc2Nyb2xsVG9wKGpRdWVyeSgnI2dmb3Jtc19jb25maXJtYXRpb25fbWVzc2FnZV8xJykub2Zmc2V0KCkudG9wKTtqUXVlcnkoZG9jdW1lbnQpLnRyaWdnZXIoJ2dmb3JtX2NvbmZpcm1hdGlvbl9sb2FkZWQnLCBbMV0pO3dpbmRvd1snZ2Zfc3VibWl0dGluZ18xJ10gPSBmYWxzZTt9LCA1MCk7fWVsc2V7alF1ZXJ5KCcjZ2Zvcm1fMScpLmFwcGVuZChjb250ZW50cyk7aWYod2luZG93WydnZm9ybVJlZGlyZWN0J10pIHtnZm9ybVJlZGlyZWN0KCk7fX1qUXVlcnkoZG9jdW1lbnQpLnRyaWdnZXIoJ2dmb3JtX3Bvc3RfcmVuZGVyJywgWzEsIGN1cnJlbnRfcGFnZV0pO30gKTt9ICk7PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPiBpZih0eXBlb2YgZ2ZfZ2xvYmFsID09ICd1bmRlZmluZWQnKSB2YXIgZ2ZfZ2xvYmFsID0geyJnZl9jdXJyZW5jeV9jb25maWciOnsibmFtZSI6IlRoYWkgQmFodCIsInN5bWJvbF9sZWZ0IjoiJiMzNjQ3OyIsInN5bWJvbF9yaWdodCI6IiIsInN5bWJvbF9wYWRkaW5nIjoiICIsInRob3VzYW5kX3NlcGFyYXRvciI6IiwiLCJkZWNpbWFsX3NlcGFyYXRvciI6Ii4iLCJkZWNpbWFscyI6Mn0sImJhc2VfdXJsIjoiaHR0cDpcL1wvd3d3LmhhbnNhcmhvdGVscy5jb21cL3dwLWNvbnRlbnRcL3BsdWdpbnNcL2dyYXZpdHlmb3JtcyIsIm51bWJlcl9mb3JtYXRzIjpbXSwic3Bpbm5lclVybCI6Imh0dHA6XC9cL3d3dy5oYW5zYXJob3RlbHMuY29tXC93cC1jb250ZW50XC9wbHVnaW5zXC9ncmF2aXR5Zm9ybXNcL2ltYWdlc1wvc3Bpbm5lci5naWYifTtqUXVlcnkoZG9jdW1lbnQpLmJpbmQoJ2dmb3JtX3Bvc3RfcmVuZGVyJywgZnVuY3Rpb24oZXZlbnQsIGZvcm1JZCwgY3VycmVudFBhZ2Upe2lmKGZvcm1JZCA9PSAxKSB7aWYodHlwZW9mIFBsYWNlaG9sZGVycyAhPSAndW5kZWZpbmVkJyl7CiAgICAgICAgICAgICAgICAgICAgICAgIFBsYWNlaG9sZGVycy5lbmFibGUoKTsKICAgICAgICAgICAgICAgICAgICB9fSB9ICk7alF1ZXJ5KGRvY3VtZW50KS5iaW5kKCdnZm9ybV9wb3N0X2NvbmRpdGlvbmFsX2xvZ2ljJywgZnVuY3Rpb24oZXZlbnQsIGZvcm1JZCwgZmllbGRzLCBpc0luaXQpe30gKTs8L3NjcmlwdD48c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+IGpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXtqUXVlcnkoZG9jdW1lbnQpLnRyaWdnZXIoJ2dmb3JtX3Bvc3RfcmVuZGVyJywgWzEsIDFdKSB9ICk7IDwvc2NyaXB0Pg==

BOOK NOW

SUBSCRIBE

Stay up to date and get latest news about Hansar!

CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdnZl9icm93c2VyX2dlY2tvIGdmb3JtX3dyYXBwZXInIGlkPSdnZm9ybV93cmFwcGVyXzInID48YSBpZD0nZ2ZfMicgY2xhc3M9J2dmb3JtX2FuY2hvcicgPjwvYT48Zm9ybSBtZXRob2Q9J3Bvc3QnIGVuY3R5cGU9J211bHRpcGFydC9mb3JtLWRhdGEnIHRhcmdldD0nZ2Zvcm1fYWpheF9mcmFtZV8yJyBpZD0nZ2Zvcm1fMicgIGFjdGlvbj0nL2hvdGVscy9iYW5na29rL3N1aXRlcy8jZ2ZfMic+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J2dmb3JtX2JvZHknPjx1bCBpZD0nZ2Zvcm1fZmllbGRzXzInIGNsYXNzPSdnZm9ybV9maWVsZHMgdG9wX2xhYmVsIGZvcm1fc3VibGFiZWxfYmVsb3cgZGVzY3JpcHRpb25fYmVsb3cnPjxsaSBpZD0nZmllbGRfMl8zJyBjbGFzcz0nZ2ZpZWxkIGdmaWVsZF9jb250YWluc19yZXF1aXJlZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdyBoaWRkZW5fbGFiZWwnID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCcgZm9yPSdpbnB1dF8yXzMnID48c3BhbiBjbGFzcz0nZ2ZpZWxkX3JlcXVpcmVkJz4qPC9zcGFuPjwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lciBnaW5wdXRfY29udGFpbmVyX3RleHQnPjxpbnB1dCBuYW1lPSdpbnB1dF8zJyBpZD0naW5wdXRfMl8zJyB0eXBlPSd0ZXh0JyB2YWx1ZT0nJyBjbGFzcz0nbGFyZ2UnICB0YWJpbmRleD0nMScgIHBsYWNlaG9sZGVyPScqIEZ1bGwgTmFtZSAuLi4nIC8+PC9kaXY+PC9saT48bGkgaWQ9J2ZpZWxkXzJfMicgY2xhc3M9J2dmaWVsZCBnZmllbGRfY29udGFpbnNfcmVxdWlyZWQgZmllbGRfc3VibGFiZWxfYmVsb3cgZmllbGRfZGVzY3JpcHRpb25fYmVsb3cgaGlkZGVuX2xhYmVsJyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMl8yJyA+PHNwYW4gY2xhc3M9J2dmaWVsZF9yZXF1aXJlZCc+Kjwvc3Bhbj48L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXIgZ2lucHV0X2NvbnRhaW5lcl9lbWFpbCc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0naW5wdXRfMicgaWQ9J2lucHV0XzJfMicgdHlwZT0ndGV4dCcgdmFsdWU9JycgY2xhc3M9J2xhcmdlJyB0YWJpbmRleD0nMicgICBwbGFjZWhvbGRlcj0nKiBFbWFpbCAuLi4nLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0nZ2Zvcm1fZm9vdGVyIHRvcF9sYWJlbCc+IDxpbnB1dCB0eXBlPSdzdWJtaXQnIGlkPSdnZm9ybV9zdWJtaXRfYnV0dG9uXzInIGNsYXNzPSdnZm9ybV9idXR0b24gYnV0dG9uJyB2YWx1ZT0nU1VCU0NSSUJFJyB0YWJpbmRleD0nMycgb25jbGljaz0naWYod2luZG93WyJnZl9zdWJtaXR0aW5nXzIiXSl7cmV0dXJuIGZhbHNlO30gIHdpbmRvd1siZ2Zfc3VibWl0dGluZ18yIl09dHJ1ZTsgICcgLz4gPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nZ2Zvcm1fYWpheCcgdmFsdWU9J2Zvcm1faWQ9MiZhbXA7dGl0bGU9JmFtcDtkZXNjcmlwdGlvbj0mYW1wO3RhYmluZGV4PTEnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J2lzX3N1Ym1pdF8yJyB2YWx1ZT0nMScgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0nZ2Zvcm1fc3VibWl0JyB2YWx1ZT0nMicgLz4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J2dmb3JtX3VuaXF1ZV9pZCcgdmFsdWU9JycgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0nc3RhdGVfMicgdmFsdWU9J1d5SmJYU0lzSWpRMk1tRmlOVFUzWkRRMU5qbGxPVFUxT0RnMllqSmpPRFE1TkdVMlpEUmpJbDA9JyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyBuYW1lPSdnZm9ybV90YXJnZXRfcGFnZV9udW1iZXJfMicgaWQ9J2dmb3JtX3RhcmdldF9wYWdlX251bWJlcl8yJyB2YWx1ZT0nMCcgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0nZ2Zvcm1fc291cmNlX3BhZ2VfbnVtYmVyXzInIGlkPSdnZm9ybV9zb3VyY2VfcGFnZV9udW1iZXJfMicgdmFsdWU9JzEnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2dmb3JtX2ZpZWxkX3ZhbHVlcycgdmFsdWU9JycgLz4KICAgICAgICAgICAgCiAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8aWZyYW1lIHN0eWxlPSdkaXNwbGF5Om5vbmU7d2lkdGg6MHB4O2hlaWdodDowcHg7JyBzcmM9J2Fib3V0OmJsYW5rJyBuYW1lPSdnZm9ybV9hamF4X2ZyYW1lXzInIGlkPSdnZm9ybV9hamF4X2ZyYW1lXzInPjwvaWZyYW1lPgogICAgICAgICAgICAgICAgPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPmpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oJCl7Z2Zvcm1Jbml0U3Bpbm5lciggMiwgJ2h0dHA6Ly93d3cuaGFuc2FyaG90ZWxzLmNvbS93cC1jb250ZW50L3BsdWdpbnMvZ3Jhdml0eWZvcm1zL2ltYWdlcy9zcGlubmVyLmdpZicgKTtqUXVlcnkoJyNnZm9ybV9hamF4X2ZyYW1lXzInKS5sb2FkKCBmdW5jdGlvbigpe3ZhciBjb250ZW50cyA9IGpRdWVyeSh0aGlzKS5jb250ZW50cygpLmZpbmQoJyonKS5odG1sKCk7dmFyIGlzX3Bvc3RiYWNrID0gY29udGVudHMuaW5kZXhPZignR0ZfQUpBWF9QT1NUQkFDSycpID49IDA7aWYoIWlzX3Bvc3RiYWNrKXtyZXR1cm47fXZhciBmb3JtX2NvbnRlbnQgPSBqUXVlcnkodGhpcykuY29udGVudHMoKS5maW5kKCcjZ2Zvcm1fd3JhcHBlcl8yJyk7dmFyIGlzX2NvbmZpcm1hdGlvbiA9IGpRdWVyeSh0aGlzKS5jb250ZW50cygpLmZpbmQoJyNnZm9ybV9jb25maXJtYXRpb25fd3JhcHBlcl8yJykubGVuZ3RoID4gMDt2YXIgaXNfcmVkaXJlY3QgPSBjb250ZW50cy5pbmRleE9mKCdnZm9ybVJlZGlyZWN0KCl7JykgPj0gMDt2YXIgaXNfZm9ybSA9IGZvcm1fY29udGVudC5sZW5ndGggPiAwICYmICEgaXNfcmVkaXJlY3QgJiYgISBpc19jb25maXJtYXRpb247aWYoaXNfZm9ybSl7alF1ZXJ5KCcjZ2Zvcm1fd3JhcHBlcl8yJykuaHRtbChmb3JtX2NvbnRlbnQuaHRtbCgpKTtzZXRUaW1lb3V0KCBmdW5jdGlvbigpIHsgLyogZGVsYXkgdGhlIHNjcm9sbCBieSA1MCBtaWxsaXNlY29uZHMgdG8gZml4IGEgYnVnIGluIGNocm9tZSAqLyBqUXVlcnkoZG9jdW1lbnQpLnNjcm9sbFRvcChqUXVlcnkoJyNnZm9ybV93cmFwcGVyXzInKS5vZmZzZXQoKS50b3ApOyB9LCA1MCApO2lmKHdpbmRvd1snZ2Zvcm1Jbml0RGF0ZXBpY2tlciddKSB7Z2Zvcm1Jbml0RGF0ZXBpY2tlcigpO31pZih3aW5kb3dbJ2dmb3JtSW5pdFByaWNlRmllbGRzJ10pIHtnZm9ybUluaXRQcmljZUZpZWxkcygpO312YXIgY3VycmVudF9wYWdlID0galF1ZXJ5KCcjZ2Zvcm1fc291cmNlX3BhZ2VfbnVtYmVyXzInKS52YWwoKTtnZm9ybUluaXRTcGlubmVyKCAyLCAnaHR0cDovL3d3dy5oYW5zYXJob3RlbHMuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9ncmF2aXR5Zm9ybXMvaW1hZ2VzL3NwaW5uZXIuZ2lmJyApO2pRdWVyeShkb2N1bWVudCkudHJpZ2dlcignZ2Zvcm1fcGFnZV9sb2FkZWQnLCBbMiwgY3VycmVudF9wYWdlXSk7d2luZG93WydnZl9zdWJtaXR0aW5nXzInXSA9IGZhbHNlO31lbHNlIGlmKCFpc19yZWRpcmVjdCl7dmFyIGNvbmZpcm1hdGlvbl9jb250ZW50ID0galF1ZXJ5KHRoaXMpLmNvbnRlbnRzKCkuZmluZCgnI2dmb3Jtc19jb25maXJtYXRpb25fbWVzc2FnZV8yJykuaHRtbCgpO2lmKCFjb25maXJtYXRpb25fY29udGVudCl7Y29uZmlybWF0aW9uX2NvbnRlbnQgPSBjb250ZW50czt9c2V0VGltZW91dChmdW5jdGlvbigpe2pRdWVyeSgnI2dmb3JtX3dyYXBwZXJfMicpLnJlcGxhY2VXaXRoKCc8JyArICdkaXYgaWQ9XCdnZm9ybXNfY29uZmlybWF0aW9uX21lc3NhZ2VfMlwnIGNsYXNzPVwnZ2Zvcm1fY29uZmlybWF0aW9uX21lc3NhZ2VfMiBnZm9ybXNfY29uZmlybWF0aW9uX21lc3NhZ2VcJycgKyAnPicgKyBjb25maXJtYXRpb25fY29udGVudCArICc8JyArICcvZGl2JyArICc+Jyk7alF1ZXJ5KGRvY3VtZW50KS5zY3JvbGxUb3AoalF1ZXJ5KCcjZ2Zvcm1zX2NvbmZpcm1hdGlvbl9tZXNzYWdlXzInKS5vZmZzZXQoKS50b3ApO2pRdWVyeShkb2N1bWVudCkudHJpZ2dlcignZ2Zvcm1fY29uZmlybWF0aW9uX2xvYWRlZCcsIFsyXSk7d2luZG93WydnZl9zdWJtaXR0aW5nXzInXSA9IGZhbHNlO30sIDUwKTt9ZWxzZXtqUXVlcnkoJyNnZm9ybV8yJykuYXBwZW5kKGNvbnRlbnRzKTtpZih3aW5kb3dbJ2dmb3JtUmVkaXJlY3QnXSkge2dmb3JtUmVkaXJlY3QoKTt9fWpRdWVyeShkb2N1bWVudCkudHJpZ2dlcignZ2Zvcm1fcG9zdF9yZW5kZXInLCBbMiwgY3VycmVudF9wYWdlXSk7fSApO30gKTs8L3NjcmlwdD48c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+IGlmKHR5cGVvZiBnZl9nbG9iYWwgPT0gJ3VuZGVmaW5lZCcpIHZhciBnZl9nbG9iYWwgPSB7ImdmX2N1cnJlbmN5X2NvbmZpZyI6eyJuYW1lIjoiVGhhaSBCYWh0Iiwic3ltYm9sX2xlZnQiOiImIzM2NDc7Iiwic3ltYm9sX3JpZ2h0IjoiIiwic3ltYm9sX3BhZGRpbmciOiIgIiwidGhvdXNhbmRfc2VwYXJhdG9yIjoiLCIsImRlY2ltYWxfc2VwYXJhdG9yIjoiLiIsImRlY2ltYWxzIjoyfSwiYmFzZV91cmwiOiJodHRwOlwvXC93d3cuaGFuc2FyaG90ZWxzLmNvbVwvd3AtY29udGVudFwvcGx1Z2luc1wvZ3Jhdml0eWZvcm1zIiwibnVtYmVyX2Zvcm1hdHMiOltdLCJzcGlubmVyVXJsIjoiaHR0cDpcL1wvd3d3LmhhbnNhcmhvdGVscy5jb21cL3dwLWNvbnRlbnRcL3BsdWdpbnNcL2dyYXZpdHlmb3Jtc1wvaW1hZ2VzXC9zcGlubmVyLmdpZiJ9O2pRdWVyeShkb2N1bWVudCkuYmluZCgnZ2Zvcm1fcG9zdF9yZW5kZXInLCBmdW5jdGlvbihldmVudCwgZm9ybUlkLCBjdXJyZW50UGFnZSl7aWYoZm9ybUlkID09IDIpIHtpZih0eXBlb2YgUGxhY2Vob2xkZXJzICE9ICd1bmRlZmluZWQnKXsKICAgICAgICAgICAgICAgICAgICAgICAgUGxhY2Vob2xkZXJzLmVuYWJsZSgpOwogICAgICAgICAgICAgICAgICAgIH19IH0gKTtqUXVlcnkoZG9jdW1lbnQpLmJpbmQoJ2dmb3JtX3Bvc3RfY29uZGl0aW9uYWxfbG9naWMnLCBmdW5jdGlvbihldmVudCwgZm9ybUlkLCBmaWVsZHMsIGlzSW5pdCl7fSApOzwvc2NyaXB0PjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz4galF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpe2pRdWVyeShkb2N1bWVudCkudHJpZ2dlcignZ2Zvcm1fcG9zdF9yZW5kZXInLCBbMiwgMV0pIH0gKTsgPC9zY3JpcHQ+